diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8eec48778..666d95477 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,3 +73,8 @@ jobs: - name: Run protocol tests run: | make generate-protocol-tests test-protocols + + - name: Type-check protocol test stubs + if: ${{ matrix.python-version == '3.12' }} + run: | + make typecheck-protocols diff --git a/Makefile b/Makefile index 030ff9e1d..206bd4a19 100644 --- a/Makefile +++ b/Makefile @@ -24,11 +24,20 @@ build-java: ## Builds and tests the Java code generation packages without modify test-protocols: ## Generates and runs protocol tests for all supported protocols. cd codegen && ./gradlew :protocol-test:clean :protocol-test:build + uv pip install -e packages/smithy-test @set -e; for projection_dir in codegen/protocol-test/build/smithyprojections/protocol-test/*/python-client-codegen; do \ uv pip install "$$projection_dir"; \ uv run pytest "$$projection_dir"; \ done +# pyright's wrapper imports typing_extensions, which fails to import on 3.15 +# (removed typing.no_type_check_decorator); run the stub type-check on 3.12 only. +typecheck-protocols: ## Type-checks the generated protocol-test stub fixtures with pyright. + @set -e; for projection_dir in codegen/protocol-test/build/smithyprojections/protocol-test/*/python-client-codegen; do \ + uv pip install "$$projection_dir"; \ + uv run pyright "$$projection_dir/tests/_typecheck.py"; \ + done + generate-protocol-tests: ## Generates protocol-test clients, copies them to ./codegen-output, and asserts no git diff. cd codegen && ./gradlew :protocol-test:clean :protocol-test:build diff --git a/codegen-output/aws-json-1-0/pyproject.toml b/codegen-output/aws-json-1-0/pyproject.toml index de6d7aa27..6be5d91e9 100644 --- a/codegen-output/aws-json-1-0/pyproject.toml +++ b/codegen-output/aws-json-1-0/pyproject.toml @@ -53,6 +53,9 @@ reportUnusedVariable = false reportUnnecessaryComparison = false reportUnusedClass = false enableExperimentalFeatures = true +# models.py is the dynamic runtime; models.pyi carries the typed +# surface for consumers, so don't type-check the implementation body. +exclude = ["**/models.py"] [tool.ruff] target-version = "py312" diff --git a/codegen-output/aws-json-1-0/src/awsjson10/_private/schemas.py b/codegen-output/aws-json-1-0/src/awsjson10/_private/schemas.py index a64823a4a..eb59791f8 100644 --- a/codegen-output/aws-json-1-0/src/awsjson10/_private/schemas.py +++ b/codegen-output/aws-json-1-0/src/awsjson10/_private/schemas.py @@ -19,11 +19,14 @@ _TL = "TopLevel" _N = "Nested" _CTPI = "ContentTypeParametersInput" +_smi = "smithy.api#input" _v = "value" _CTPO = "ContentTypeParametersOutput" +_smit = "smithy.api#output" _CTP = "ContentTypeParameters" _TE = "TestEnum" _FOO = "FOO" +_sV = "smithy.api#enumValue" _BAR = "BAR" _BAZ = "BAZ" _TIE = "TestIntEnum" @@ -81,11 +84,11 @@ _sU = "smithy.api#Unit" _EOO = "EndpointOperationOutput" _EO = "EndpointOperation" -_smi = "smithy.api#endpoint" +_smith = "smithy.api#endpoint" _EWHLOI = "EndpointWithHostLabelOperationInput" _la = "label" _sL = "smithy.api#hostLabel" -_smit = "smithy.api#required" +_smithy = "smithy.api#required" _EWHLOO = "EndpointWithHostLabelOperationOutput" _EWHLO = "EndpointWithHostLabelOperation" _FE = "FooError" @@ -100,16 +103,20 @@ _HWPO = "HostWithPathOperation" n1 = "aws.protocoltests.shared" _FEo = "FooEnum" +_B = "Baz" +_Ba = "Bar" +_v__ = "1" _ZERO = "ZERO" +_v___ = "0" _IE = "IntegerEnum" _A = "A" -_B = "B" +_B_ = "B" _C = "C" _SL = "StringList" _SM = "StringMap" _GS = "GreetingStruct" _MU = "MyUnion" -_sV = "stringValue" +_sVt = "stringValue" _bV = "booleanValue" _nV = "numberValue" _bVl = "blobValue" @@ -118,7 +125,7 @@ _iEV = "intEnumValue" _lV = "listValue" _mV = "mapValue" -_sVt = "structureValue" +_sVtr = "structureValue" _JUI = "JsonUnionsInput" _co = "contents" _JUO = "JsonUnionsOutput" @@ -203,9 +210,16 @@ ((3, 0), (COMPLEX_NESTED_ERROR_DATA, 0)), ) -CONTENT_TYPE_PARAMETERS_INPUT: StaticSchema = (18, n0, _CTPI, 0, (_v,), ((7, 0),)) +CONTENT_TYPE_PARAMETERS_INPUT: StaticSchema = ( + 18, + n0, + _CTPI, + {_smi: None}, + (_v,), + ((7, 0),), +) -CONTENT_TYPE_PARAMETERS_OUTPUT: StaticSchema = (18, n0, _CTPO, 0) +CONTENT_TYPE_PARAMETERS_OUTPUT: StaticSchema = (18, n0, _CTPO, {_smit: None}) CONTENT_TYPE_PARAMETERS: StaticOperationSchema = ( 23, @@ -223,10 +237,17 @@ _TE, 0, (_FOO, _BAR, _BAZ), - ((-1, 0), (-1, 0), (-1, 0)), + ((-1, {_sV: _FOO}), (-1, {_sV: _BAR}), (-1, {_sV: _BAZ})), ) -TEST_INT_ENUM: StaticSchema = (15, n0, _TIE, 0, (_ONE, _TWO), ((-1, 0), (-1, 0))) +TEST_INT_ENUM: StaticSchema = ( + 15, + n0, + _TIE, + 0, + (_ONE, _TWO), + ((-1, {_sV: 1}), (-1, {_sV: 2})), +) TEST_STRING_LIST: StaticSchema = (16, n0, _TSL, 0, (_m,), ((3, 0),)) @@ -271,7 +292,7 @@ (3, {_s: _h}), (2, {_s: True}), (TEST_STRING_LIST, {_s: ()}), - (13, {_s: None}), + (13, {_s: MappingProxyType[str, object]({})}), (13, {_s: _h}), (13, {_s: True}), (13, {_s: ()}), @@ -284,7 +305,7 @@ (8, {_s: 100}), (9, {_s: 1.0}), (10, {_s: 1.0}), - (TEST_STRING_MAP, {_s: None}), + (TEST_STRING_MAP, {_s: MappingProxyType[str, object]({})}), (TEST_ENUM, {_s: _FOO}), (TEST_INT_ENUM, {_s: 1}), (3, {_s: _v_}), @@ -314,9 +335,9 @@ DIALOG_MAP: StaticSchema = (17, n0, _DM, 0, (_k, _v), ((3, 0), (DIALOG, 0))) -EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT: StaticSchema = (18, n0, _EIAEOI, 0) +EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT: StaticSchema = (18, n0, _EIAEOI, {_smi: None}) -EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT: StaticSchema = (18, n0, _EIAEOO, 0) +EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT: StaticSchema = (18, n0, _EIAEOO, {_smit: None}) EMPTY_INPUT_AND_EMPTY_OUTPUT: StaticOperationSchema = ( 23, @@ -328,15 +349,15 @@ (), ) -ENDPOINT_OPERATION_INPUT: StaticSchema = (18, n0, _EOI, {_sSI: _sU}) +ENDPOINT_OPERATION_INPUT: StaticSchema = (18, n0, _EOI, {_sSI: _sU, _smi: None}) -ENDPOINT_OPERATION_OUTPUT: StaticSchema = (18, n0, _EOO, {_sSI: _sU}) +ENDPOINT_OPERATION_OUTPUT: StaticSchema = (18, n0, _EOO, {_sSI: _sU, _smit: None}) ENDPOINT_OPERATION: StaticOperationSchema = ( 23, n0, _EO, - {_smi: MappingProxyType({"hostPrefix": "foo."})}, + {_smith: MappingProxyType({"hostPrefix": "foo."})}, ENDPOINT_OPERATION_INPUT, ENDPOINT_OPERATION_OUTPUT, (), @@ -346,18 +367,23 @@ 18, n0, _EWHLOI, - 0, + {_smi: None}, (_la,), ((3, 257),), ) -ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT: StaticSchema = (18, n0, _EWHLOO, {_sSI: _sU}) +ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT: StaticSchema = ( + 18, + n0, + _EWHLOO, + {_sSI: _sU, _smit: None}, +) ENDPOINT_WITH_HOST_LABEL_OPERATION: StaticOperationSchema = ( 23, n0, _EWHLO, - {_smi: MappingProxyType({"hostPrefix": "foo.{label}."})}, + {_smith: MappingProxyType({"hostPrefix": "foo.{label}."})}, ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT, ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT, (), @@ -365,9 +391,23 @@ FOO_ERROR: StaticSchema = (18, n0, _FE, {_sm: _se}) -GREETING_WITH_ERRORS_INPUT: StaticSchema = (18, n0, _GWEI, 0, (_g,), ((3, 0),)) +GREETING_WITH_ERRORS_INPUT: StaticSchema = ( + 18, + n0, + _GWEI, + {_smi: None}, + (_g,), + ((3, 0),), +) -GREETING_WITH_ERRORS_OUTPUT: StaticSchema = (18, n0, _GWEO, 0, (_g,), ((3, 0),)) +GREETING_WITH_ERRORS_OUTPUT: StaticSchema = ( + 18, + n0, + _GWEO, + {_smit: None}, + (_g,), + ((3, 0),), +) INVALID_GREETING: StaticSchema = (18, n0, _IG, {_sm: _c}, (_M,), ((3, 0),)) @@ -381,9 +421,14 @@ (INVALID_GREETING, COMPLEX_ERROR, FOO_ERROR), ) -HOST_WITH_PATH_OPERATION_INPUT: StaticSchema = (18, n0, _HWPOI, {_sSI: _sU}) +HOST_WITH_PATH_OPERATION_INPUT: StaticSchema = (18, n0, _HWPOI, {_sSI: _sU, _smi: None}) -HOST_WITH_PATH_OPERATION_OUTPUT: StaticSchema = (18, n0, _HWPOO, {_sSI: _sU}) +HOST_WITH_PATH_OPERATION_OUTPUT: StaticSchema = ( + 18, + n0, + _HWPOO, + {_sSI: _sU, _smit: None}, +) HOST_WITH_PATH_OPERATION: StaticOperationSchema = ( 23, @@ -401,10 +446,23 @@ _FEo, 0, (_FOO, _BAZ, _BAR, _ONE, _ZERO), - ((-1, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 0)), + ( + (-1, {_sV: _F}), + (-1, {_sV: _B}), + (-1, {_sV: _Ba}), + (-1, {_sV: _v__}), + (-1, {_sV: _v___}), + ), ) -INTEGER_ENUM: StaticSchema = (15, n1, _IE, 0, (_A, _B, _C), ((-1, 0), (-1, 0), (-1, 0))) +INTEGER_ENUM: StaticSchema = ( + 15, + n1, + _IE, + 0, + (_A, _B_, _C), + ((-1, {_sV: 1}), (-1, {_sV: 2}), (-1, {_sV: 3})), +) STRING_LIST: StaticSchema = (16, n1, _SL, 0, (_m,), ((3, 0),)) @@ -417,7 +475,7 @@ n0, _MU, 0, - (_sV, _bV, _nV, _bVl, _tV, _eV, _iEV, _lV, _mV, _sVt), + (_sVt, _bV, _nV, _bVl, _tV, _eV, _iEV, _lV, _mV, _sVtr), ( (3, 0), (2, 0), @@ -432,9 +490,16 @@ ), ) -JSON_UNIONS_INPUT: StaticSchema = (18, n0, _JUI, 0, (_co,), ((MY_UNION, 0),)) +JSON_UNIONS_INPUT: StaticSchema = (18, n0, _JUI, {_smi: None}, (_co,), ((MY_UNION, 0),)) -JSON_UNIONS_OUTPUT: StaticSchema = (18, n0, _JUO, 0, (_co,), ((MY_UNION, 0),)) +JSON_UNIONS_OUTPUT: StaticSchema = ( + 18, + n0, + _JUO, + {_smit: None}, + (_co,), + ((MY_UNION, 0),), +) JSON_UNIONS: StaticOperationSchema = ( 23, @@ -446,9 +511,14 @@ (), ) -NO_INPUT_AND_NO_OUTPUT_INPUT: StaticSchema = (18, n0, _NIANOI, {_sSI: _sU}) +NO_INPUT_AND_NO_OUTPUT_INPUT: StaticSchema = (18, n0, _NIANOI, {_sSI: _sU, _smi: None}) -NO_INPUT_AND_NO_OUTPUT_OUTPUT: StaticSchema = (18, n0, _NIANOO, {_sSI: _sU}) +NO_INPUT_AND_NO_OUTPUT_OUTPUT: StaticSchema = ( + 18, + n0, + _NIANOO, + {_sSI: _sU, _smit: None}, +) NO_INPUT_AND_NO_OUTPUT: StaticOperationSchema = ( 23, @@ -460,9 +530,9 @@ (), ) -NO_INPUT_AND_OUTPUT_INPUT: StaticSchema = (18, n0, _NIAOI, {_sSI: _sU}) +NO_INPUT_AND_OUTPUT_INPUT: StaticSchema = (18, n0, _NIAOI, {_sSI: _sU, _smi: None}) -NO_INPUT_AND_OUTPUT_OUTPUT: StaticSchema = (18, n0, _NIAOO, 0) +NO_INPUT_AND_OUTPUT_OUTPUT: StaticSchema = (18, n0, _NIAOO, {_smit: None}) NO_INPUT_AND_OUTPUT: StaticOperationSchema = ( 23, @@ -478,7 +548,7 @@ 18, n0, _OWDI, - 0, + {_smi: None}, (_d, _cOD, _tLD, _oTLD), ((DEFAULTS, 0), (CLIENT_OPTIONAL_DEFAULTS, 0), (3, {_s: _h}), (7, {_s: 0})), ) @@ -487,7 +557,7 @@ 18, n0, _OWDO, - 0, + {_smit: None}, ( _dS, _dB, @@ -522,7 +592,7 @@ (3, {_s: _h}), (2, {_s: True}), (TEST_STRING_LIST, {_s: ()}), - (13, {_s: None}), + (13, {_s: MappingProxyType[str, object]({})}), (13, {_s: _h}), (13, {_s: True}), (13, {_s: ()}), @@ -535,7 +605,7 @@ (8, {_s: 100}), (9, {_s: 1.0}), (10, {_s: 1.0}), - (TEST_STRING_MAP, {_s: None}), + (TEST_STRING_MAP, {_s: MappingProxyType[str, object]({})}), (TEST_ENUM, {_s: _FOO}), (TEST_INT_ENUM, {_s: 1}), (3, {_s: _v_}), @@ -566,14 +636,18 @@ _TL, 0, (_di, _dLi, _dMi), - ((DIALOG, 1), (DIALOG_LIST, {_s: ()}), (DIALOG_MAP, {_s: None})), + ( + (DIALOG, 1), + (DIALOG_LIST, {_s: ()}), + (DIALOG_MAP, {_s: MappingProxyType[str, object]({})}), + ), ) OPERATION_WITH_NESTED_STRUCTURE_INPUT: StaticSchema = ( 18, n0, _OWNSI, - 0, + {_smi: None}, (_tL,), ((TOP_LEVEL, 1),), ) @@ -582,9 +656,13 @@ 18, n0, _OWNSO, - 0, + {_smit: None}, (_di, _dLi, _dMi), - ((DIALOG, 1), (DIALOG_LIST, {_s: ()}), (DIALOG_MAP, {_s: None})), + ( + (DIALOG, 1), + (DIALOG_LIST, {_s: ()}), + (DIALOG_MAP, {_s: MappingProxyType[str, object]({})}), + ), ) OPERATION_WITH_NESTED_STRUCTURE: StaticOperationSchema = ( @@ -597,7 +675,12 @@ (), ) -OPERATION_WITH_REQUIRED_MEMBERS_INPUT: StaticSchema = (18, n0, _OWRMI, {_sSI: _sU}) +OPERATION_WITH_REQUIRED_MEMBERS_INPUT: StaticSchema = ( + 18, + n0, + _OWRMI, + {_sSI: _sU, _smi: None}, +) REQUIRED_STRING_LIST: StaticSchema = (16, n0, _RSL, 0, (_m,), ((3, 0),)) @@ -607,7 +690,7 @@ 18, n0, _OWRMO, - 0, + {_smit: None}, (_rS, _rB, _rL, _rT, _rBe, _rBeq, _rSe, _rI, _rLe, _rF, _rD, _rM), ( (3, 1), @@ -639,7 +722,7 @@ 18, n0, _OWRMWDI, - {_sSI: _sU}, + {_sSI: _sU, _smi: None}, ) REQUIRED_ENUM: StaticSchema = ( @@ -648,32 +731,39 @@ _RE, 0, (_FOO, _BAR, _BAZ), - ((-1, 0), (-1, 0), (-1, 0)), + ((-1, {_sV: _FOO}), (-1, {_sV: _BAR}), (-1, {_sV: _BAZ})), ) -REQUIRED_INT_ENUM: StaticSchema = (15, n0, _RIE, 0, (_ONE, _TWO), ((-1, 0), (-1, 0))) +REQUIRED_INT_ENUM: StaticSchema = ( + 15, + n0, + _RIE, + 0, + (_ONE, _TWO), + ((-1, {_sV: 1}), (-1, {_sV: 2})), +) OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS_OUTPUT: StaticSchema = ( 18, n0, _OWRMWDO, - 0, + {_smit: None}, (_rS, _rB, _rL, _rT, _rBe, _rBeq, _rSe, _rI, _rLe, _rF, _rD, _rM, _rE, _rIE), ( - (3, {_s: _h, _smit: None}), - (2, {_s: True, _smit: None}), - (REQUIRED_STRING_LIST, {_s: (), _smit: None}), - (4, {_s: 1, _smit: None}), - (1, {_s: _YY, _smit: None}), - (5, {_s: 1, _smit: None}), - (6, {_s: 1, _smit: None}), - (7, {_s: 10, _smit: None}), - (8, {_s: 100, _smit: None}), - (9, {_s: 1.0, _smit: None}), - (10, {_s: 1.0, _smit: None}), - (REQUIRED_STRING_MAP, {_s: None, _smit: None}), - (REQUIRED_ENUM, {_s: _FOO, _smit: None}), - (REQUIRED_INT_ENUM, {_s: 1, _smit: None}), + (3, {_s: _h, _smithy: None}), + (2, {_s: True, _smithy: None}), + (REQUIRED_STRING_LIST, {_s: (), _smithy: None}), + (4, {_s: 1, _smithy: None}), + (1, {_s: _YY, _smithy: None}), + (5, {_s: 1, _smithy: None}), + (6, {_s: 1, _smithy: None}), + (7, {_s: 10, _smithy: None}), + (8, {_s: 100, _smithy: None}), + (9, {_s: 1.0, _smithy: None}), + (10, {_s: 1.0, _smithy: None}), + (REQUIRED_STRING_MAP, {_s: MappingProxyType[str, object]({}), _smithy: None}), + (REQUIRED_ENUM, {_s: _FOO, _smithy: None}), + (REQUIRED_INT_ENUM, {_s: 1, _smithy: None}), ), ) @@ -691,12 +781,17 @@ 18, n0, _PWCEI, - 0, + {_smi: None}, (_e, _da), ((3, {_sH: _CE_}), (3, 0)), ) -PUT_WITH_CONTENT_ENCODING_OUTPUT: StaticSchema = (18, n0, _PWCEO, {_sSI: _sU}) +PUT_WITH_CONTENT_ENCODING_OUTPUT: StaticSchema = ( + 18, + n0, + _PWCEO, + {_sSI: _sU, _smit: None}, +) PUT_WITH_CONTENT_ENCODING: StaticOperationSchema = ( 23, @@ -708,9 +803,19 @@ (), ) -QUERY_INCOMPATIBLE_OPERATION_INPUT: StaticSchema = (18, n0, _QIOI, {_sSI: _sU}) +QUERY_INCOMPATIBLE_OPERATION_INPUT: StaticSchema = ( + 18, + n0, + _QIOI, + {_sSI: _sU, _smi: None}, +) -QUERY_INCOMPATIBLE_OPERATION_OUTPUT: StaticSchema = (18, n0, _QIOO, {_sSI: _sU}) +QUERY_INCOMPATIBLE_OPERATION_OUTPUT: StaticSchema = ( + 18, + n0, + _QIOO, + {_sSI: _sU, _smit: None}, +) QUERY_INCOMPATIBLE_OPERATION: StaticOperationSchema = ( 23, @@ -726,7 +831,7 @@ 18, n0, _SSPI, - 0, + {_smi: None}, (_fV, _dV), ((9, 0), (10, 0)), ) @@ -735,7 +840,7 @@ 18, n0, _SSPO, - 0, + {_smit: None}, (_fV, _dV), ((9, 0), (10, 0)), ) diff --git a/codegen-output/aws-json-1-0/src/awsjson10/client.py b/codegen-output/aws-json-1-0/src/awsjson10/client.py index 5f9cb2388..82ca65f44 100644 --- a/codegen-output/aws-json-1-0/src/awsjson10/client.py +++ b/codegen-output/aws-json-1-0/src/awsjson10/client.py @@ -1,5 +1,7 @@ # Code generated by smithy-python-codegen DO NOT EDIT. +from __future__ import annotations + from copy import deepcopy import logging from typing import Any, cast @@ -18,56 +20,62 @@ from .config import AsyncJSONRPC10Config, Plugin from .models import ( CONTENT_TYPE_PARAMETERS, - ContentTypeParametersInput, - ContentTypeParametersOutput, EMPTY_INPUT_AND_EMPTY_OUTPUT, ENDPOINT_OPERATION, ENDPOINT_WITH_HOST_LABEL_OPERATION, - EmptyInputAndEmptyOutputInput, - EmptyInputAndEmptyOutputOutput, - EndpointOperationInput, - EndpointOperationOutput, - EndpointWithHostLabelOperationInput, - EndpointWithHostLabelOperationOutput, GREETING_WITH_ERRORS, - GreetingWithErrorsInput, - GreetingWithErrorsOutput, HOST_WITH_PATH_OPERATION, - HostWithPathOperationInput, - HostWithPathOperationOutput, JSON_UNIONS, - JsonUnionsInput, - JsonUnionsOutput, NO_INPUT_AND_NO_OUTPUT, NO_INPUT_AND_OUTPUT, - NoInputAndNoOutputInput, - NoInputAndNoOutputOutput, - NoInputAndOutputInput, - NoInputAndOutputOutput, OPERATION_WITH_DEFAULTS, OPERATION_WITH_NESTED_STRUCTURE, OPERATION_WITH_REQUIRED_MEMBERS, OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS, - OperationWithDefaultsInput, - OperationWithDefaultsOutput, - OperationWithNestedStructureInput, - OperationWithNestedStructureOutput, - OperationWithRequiredMembersInput, - OperationWithRequiredMembersOutput, - OperationWithRequiredMembersWithDefaultsInput, - OperationWithRequiredMembersWithDefaultsOutput, PUT_WITH_CONTENT_ENCODING, - PutWithContentEncodingInput, - PutWithContentEncodingOutput, QUERY_INCOMPATIBLE_OPERATION, - QueryIncompatibleOperationInput, - QueryIncompatibleOperationOutput, SIMPLE_SCALAR_PROPERTIES, - SimpleScalarPropertiesInput, - SimpleScalarPropertiesOutput, ) from .user_agent import aws_user_agent_plugin +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from .models import ( + ContentTypeParametersInput, + ContentTypeParametersOutput, + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HostWithPathOperationInput, + HostWithPathOperationOutput, + JsonUnionsInput, + JsonUnionsOutput, + NoInputAndNoOutputInput, + NoInputAndNoOutputOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + OperationWithDefaultsInput, + OperationWithDefaultsOutput, + OperationWithNestedStructureInput, + OperationWithNestedStructureOutput, + OperationWithRequiredMembersInput, + OperationWithRequiredMembersOutput, + OperationWithRequiredMembersWithDefaultsInput, + OperationWithRequiredMembersWithDefaultsOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, + QueryIncompatibleOperationInput, + QueryIncompatibleOperationOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + ) + logger = logging.getLogger(__name__) diff --git a/codegen-output/aws-json-1-0/src/awsjson10/config.py b/codegen-output/aws-json-1-0/src/awsjson10/config.py index 1696a93d0..dd232cff4 100644 --- a/codegen-output/aws-json-1-0/src/awsjson10/config.py +++ b/codegen-output/aws-json-1-0/src/awsjson10/config.py @@ -1,7 +1,16 @@ # Code generated by smithy-python-codegen DO NOT EDIT. from dataclasses import dataclass, field -from typing import Any, Callable, ClassVar, Self, TypeAlias, Union, Unpack +from typing import ( + Any, + Callable, + ClassVar, + Self, + TYPE_CHECKING, + TypeAlias, + Union, + Unpack, +) from smithy_aws_core.aio.protocols import AwsJson10ClientProtocol from smithy_aws_core.auth import SigV4AuthScheme @@ -21,84 +30,99 @@ ) from smithy_core.aio.interfaces.auth import AuthScheme from smithy_core.aio.interfaces.identity import IdentityResolver -from smithy_core.interceptors import Interceptor from smithy_core.interfaces.auth import AuthSchemeResolver from smithy_core.shapes import ShapeID from smithy_http.aio.aiohttp import AIOHTTPClient from .auth import HTTPAuthSchemeResolver -from .models import ( - ContentTypeParametersInput, - ContentTypeParametersOutput, - EmptyInputAndEmptyOutputInput, - EmptyInputAndEmptyOutputOutput, - EndpointOperationInput, - EndpointOperationOutput, - EndpointWithHostLabelOperationInput, - EndpointWithHostLabelOperationOutput, - GreetingWithErrorsInput, - GreetingWithErrorsOutput, - HostWithPathOperationInput, - HostWithPathOperationOutput, - JsonUnionsInput, - JsonUnionsOutput, - NoInputAndNoOutputInput, - NoInputAndNoOutputOutput, - NoInputAndOutputInput, - NoInputAndOutputOutput, - OperationWithDefaultsInput, - OperationWithDefaultsOutput, - OperationWithNestedStructureInput, - OperationWithNestedStructureOutput, - OperationWithRequiredMembersInput, - OperationWithRequiredMembersOutput, - OperationWithRequiredMembersWithDefaultsInput, - OperationWithRequiredMembersWithDefaultsOutput, - PutWithContentEncodingInput, - PutWithContentEncodingOutput, - QueryIncompatibleOperationInput, - QueryIncompatibleOperationOutput, - SimpleScalarPropertiesInput, - SimpleScalarPropertiesOutput, -) -_ServiceInterceptor = Union[ - Interceptor[ContentTypeParametersInput, ContentTypeParametersOutput, Any, Any], - Interceptor[ - EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput, Any, Any - ], - Interceptor[EndpointOperationInput, EndpointOperationOutput, Any, Any], - Interceptor[ +if TYPE_CHECKING: + from smithy_core.interceptors import Interceptor + from .models import ( + ContentTypeParametersInput, + ContentTypeParametersOutput, + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, EndpointWithHostLabelOperationInput, EndpointWithHostLabelOperationOutput, - Any, - Any, - ], - Interceptor[GreetingWithErrorsInput, GreetingWithErrorsOutput, Any, Any], - Interceptor[HostWithPathOperationInput, HostWithPathOperationOutput, Any, Any], - Interceptor[JsonUnionsInput, JsonUnionsOutput, Any, Any], - Interceptor[NoInputAndNoOutputInput, NoInputAndNoOutputOutput, Any, Any], - Interceptor[NoInputAndOutputInput, NoInputAndOutputOutput, Any, Any], - Interceptor[OperationWithDefaultsInput, OperationWithDefaultsOutput, Any, Any], - Interceptor[ - OperationWithNestedStructureInput, OperationWithNestedStructureOutput, Any, Any - ], - Interceptor[ - OperationWithRequiredMembersInput, OperationWithRequiredMembersOutput, Any, Any - ], - Interceptor[ + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HostWithPathOperationInput, + HostWithPathOperationOutput, + JsonUnionsInput, + JsonUnionsOutput, + NoInputAndNoOutputInput, + NoInputAndNoOutputOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + OperationWithDefaultsInput, + OperationWithDefaultsOutput, + OperationWithNestedStructureInput, + OperationWithNestedStructureOutput, + OperationWithRequiredMembersInput, + OperationWithRequiredMembersOutput, OperationWithRequiredMembersWithDefaultsInput, OperationWithRequiredMembersWithDefaultsOutput, - Any, - Any, - ], - Interceptor[PutWithContentEncodingInput, PutWithContentEncodingOutput, Any, Any], - Interceptor[ - QueryIncompatibleOperationInput, QueryIncompatibleOperationOutput, Any, Any - ], - Interceptor[SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput, Any, Any], -] + PutWithContentEncodingInput, + PutWithContentEncodingOutput, + QueryIncompatibleOperationInput, + QueryIncompatibleOperationOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + ) + + _ServiceInterceptor = Union[ + Interceptor[ContentTypeParametersInput, ContentTypeParametersOutput, Any, Any], + Interceptor[ + EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput, Any, Any + ], + Interceptor[EndpointOperationInput, EndpointOperationOutput, Any, Any], + Interceptor[ + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + Any, + Any, + ], + Interceptor[GreetingWithErrorsInput, GreetingWithErrorsOutput, Any, Any], + Interceptor[HostWithPathOperationInput, HostWithPathOperationOutput, Any, Any], + Interceptor[JsonUnionsInput, JsonUnionsOutput, Any, Any], + Interceptor[NoInputAndNoOutputInput, NoInputAndNoOutputOutput, Any, Any], + Interceptor[NoInputAndOutputInput, NoInputAndOutputOutput, Any, Any], + Interceptor[OperationWithDefaultsInput, OperationWithDefaultsOutput, Any, Any], + Interceptor[ + OperationWithNestedStructureInput, + OperationWithNestedStructureOutput, + Any, + Any, + ], + Interceptor[ + OperationWithRequiredMembersInput, + OperationWithRequiredMembersOutput, + Any, + Any, + ], + Interceptor[ + OperationWithRequiredMembersWithDefaultsInput, + OperationWithRequiredMembersWithDefaultsOutput, + Any, + Any, + ], + Interceptor[ + PutWithContentEncodingInput, PutWithContentEncodingOutput, Any, Any + ], + Interceptor[ + QueryIncompatibleOperationInput, QueryIncompatibleOperationOutput, Any, Any + ], + Interceptor[ + SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput, Any, Any + ], + ] +else: + _ServiceInterceptor = Any + _PROTOCOL_SETTINGS = ProtocolSettings( namespace="aws.protocoltests.json10", service_target="JsonRpc10" ) diff --git a/codegen-output/aws-json-1-0/src/awsjson10/models.py b/codegen-output/aws-json-1-0/src/awsjson10/models.py index 735ff1bee..974578dec 100644 --- a/codegen-output/aws-json-1-0/src/awsjson10/models.py +++ b/codegen-output/aws-json-1-0/src/awsjson10/models.py @@ -1,88 +1,31 @@ # Code generated by smithy-python-codegen DO NOT EDIT. -from base64 import b64decode -from dataclasses import dataclass, field -from datetime import datetime, timezone -from enum import IntEnum, StrEnum -import logging -from typing import Any, Literal, Self, Union - -from smithy_core._schema_compact import hydrate -from smithy_core.deserializers import ShapeDeserializer -from smithy_core.documents import Document, TypeRegistry -from smithy_core.exceptions import ModeledError, SerializationError -from smithy_core.response import EMPTY_RESPONSE_METADATA, ResponseMetadata -from smithy_core.schemas import APIOperation, Schema -from smithy_core.serializers import ShapeSerializer +from ._private import schemas as _schemas +from smithy_core._dynamic_models import ModelRegistry +from smithy_core.exceptions import ModeledError +from smithy_core.schemas import APIOperation from smithy_core.shapes import ShapeID -from smithy_core.types import UnknownEnumMixin from ._private.schemas import ( - CLIENT_OPTIONAL_DEFAULTS as _SCHEMA_CLIENT_OPTIONAL_DEFAULTS, - COMPLEX_ERROR as _SCHEMA_COMPLEX_ERROR, - COMPLEX_NESTED_ERROR_DATA as _SCHEMA_COMPLEX_NESTED_ERROR_DATA, CONTENT_TYPE_PARAMETERS as _SCHEMA_CONTENT_TYPE_PARAMETERS, - CONTENT_TYPE_PARAMETERS_INPUT as _SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT, - CONTENT_TYPE_PARAMETERS_OUTPUT as _SCHEMA_CONTENT_TYPE_PARAMETERS_OUTPUT, - DEFAULTS as _SCHEMA_DEFAULTS, - DIALOG as _SCHEMA_DIALOG, EMPTY_INPUT_AND_EMPTY_OUTPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT, - EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT, - EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT, ENDPOINT_OPERATION as _SCHEMA_ENDPOINT_OPERATION, - ENDPOINT_OPERATION_INPUT as _SCHEMA_ENDPOINT_OPERATION_INPUT, - ENDPOINT_OPERATION_OUTPUT as _SCHEMA_ENDPOINT_OPERATION_OUTPUT, ENDPOINT_WITH_HOST_LABEL_OPERATION as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, - ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT, - ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT, - FAREWELL as _SCHEMA_FAREWELL, - FOO_ERROR as _SCHEMA_FOO_ERROR, - GREETING_STRUCT as _SCHEMA_GREETING_STRUCT, GREETING_WITH_ERRORS as _SCHEMA_GREETING_WITH_ERRORS, - GREETING_WITH_ERRORS_INPUT as _SCHEMA_GREETING_WITH_ERRORS_INPUT, - GREETING_WITH_ERRORS_OUTPUT as _SCHEMA_GREETING_WITH_ERRORS_OUTPUT, HOST_WITH_PATH_OPERATION as _SCHEMA_HOST_WITH_PATH_OPERATION, - HOST_WITH_PATH_OPERATION_INPUT as _SCHEMA_HOST_WITH_PATH_OPERATION_INPUT, - HOST_WITH_PATH_OPERATION_OUTPUT as _SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT, - INVALID_GREETING as _SCHEMA_INVALID_GREETING, JSON_UNIONS as _SCHEMA_JSON_UNIONS, - JSON_UNIONS_INPUT as _SCHEMA_JSON_UNIONS_INPUT, - JSON_UNIONS_OUTPUT as _SCHEMA_JSON_UNIONS_OUTPUT, - MY_UNION as _SCHEMA_MY_UNION, NO_INPUT_AND_NO_OUTPUT as _SCHEMA_NO_INPUT_AND_NO_OUTPUT, - NO_INPUT_AND_NO_OUTPUT_INPUT as _SCHEMA_NO_INPUT_AND_NO_OUTPUT_INPUT, - NO_INPUT_AND_NO_OUTPUT_OUTPUT as _SCHEMA_NO_INPUT_AND_NO_OUTPUT_OUTPUT, NO_INPUT_AND_OUTPUT as _SCHEMA_NO_INPUT_AND_OUTPUT, - NO_INPUT_AND_OUTPUT_INPUT as _SCHEMA_NO_INPUT_AND_OUTPUT_INPUT, - NO_INPUT_AND_OUTPUT_OUTPUT as _SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT, OPERATION_WITH_DEFAULTS as _SCHEMA_OPERATION_WITH_DEFAULTS, - OPERATION_WITH_DEFAULTS_INPUT as _SCHEMA_OPERATION_WITH_DEFAULTS_INPUT, - OPERATION_WITH_DEFAULTS_OUTPUT as _SCHEMA_OPERATION_WITH_DEFAULTS_OUTPUT, OPERATION_WITH_NESTED_STRUCTURE as _SCHEMA_OPERATION_WITH_NESTED_STRUCTURE, - OPERATION_WITH_NESTED_STRUCTURE_INPUT as _SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_INPUT, - OPERATION_WITH_NESTED_STRUCTURE_OUTPUT as _SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_OUTPUT, OPERATION_WITH_REQUIRED_MEMBERS as _SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS, - OPERATION_WITH_REQUIRED_MEMBERS_INPUT as _SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_INPUT, - OPERATION_WITH_REQUIRED_MEMBERS_OUTPUT as _SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_OUTPUT, OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS as _SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS, - OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS_INPUT as _SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS_INPUT, - OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS_OUTPUT as _SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS_OUTPUT, PUT_WITH_CONTENT_ENCODING as _SCHEMA_PUT_WITH_CONTENT_ENCODING, - PUT_WITH_CONTENT_ENCODING_INPUT as _SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT, - PUT_WITH_CONTENT_ENCODING_OUTPUT as _SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT, QUERY_INCOMPATIBLE_OPERATION as _SCHEMA_QUERY_INCOMPATIBLE_OPERATION, - QUERY_INCOMPATIBLE_OPERATION_INPUT as _SCHEMA_QUERY_INCOMPATIBLE_OPERATION_INPUT, - QUERY_INCOMPATIBLE_OPERATION_OUTPUT as _SCHEMA_QUERY_INCOMPATIBLE_OPERATION_OUTPUT, SIMPLE_SCALAR_PROPERTIES as _SCHEMA_SIMPLE_SCALAR_PROPERTIES, - SIMPLE_SCALAR_PROPERTIES_INPUT as _SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT, - SIMPLE_SCALAR_PROPERTIES_OUTPUT as _SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT, - TOP_LEVEL as _SCHEMA_TOP_LEVEL, ) -logger = logging.getLogger(__name__) - - class ServiceError(ModeledError): """ Base error for all errors in the service. @@ -92,2842 +35,244 @@ class ServiceError(ModeledError): """ -@dataclass(kw_only=True) -class ClientOptionalDefaults: - """Dataclass for ClientOptionalDefaults structure.""" - - member: int = 0 - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CLIENT_OPTIONAL_DEFAULTS), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_CLIENT_OPTIONAL_DEFAULTS).members_by_index - if self.member is not None: - serializer.write_integer(members[0], self.member) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CLIENT_OPTIONAL_DEFAULTS) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["member"] = de.read_integer(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ComplexNestedErrorData: - """Dataclass for ComplexNestedErrorData structure.""" - - foo: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ComplexError(ServiceError): - """This error is thrown when a request is invalid.""" - - fault: Literal["client", "server"] | None = "client" - - top_level: str | None = None - - nested: ComplexNestedErrorData | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_COMPLEX_ERROR), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_COMPLEX_ERROR).members_by_index - if self.top_level is not None: - serializer.write_string(members[0], self.top_level) - - if self.nested is not None: - serializer.write_struct(members[1], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_COMPLEX_ERROR) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["top_level"] = de.read_string(members[0]) - - case 1: - kwargs["nested"] = ComplexNestedErrorData.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ContentTypeParametersInput: - """Dataclass for ContentTypeParametersInput structure.""" - - value: int | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT).members_by_index - if self.value is not None: - serializer.write_integer(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["value"] = de.read_integer(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ContentTypeParametersOutput: - """Dataclass for ContentTypeParametersOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_OUTPUT) +_registry = ModelRegistry( + _schemas, + renames={}, + index={ + "ClientOptionalDefaults": "CLIENT_OPTIONAL_DEFAULTS", + "ComplexError": "COMPLEX_ERROR", + "ComplexNestedErrorData": "COMPLEX_NESTED_ERROR_DATA", + "ContentTypeParametersInput": "CONTENT_TYPE_PARAMETERS_INPUT", + "ContentTypeParametersOutput": "CONTENT_TYPE_PARAMETERS_OUTPUT", + "Defaults": "DEFAULTS", + "Dialog": "DIALOG", + "EmptyInputAndEmptyOutputInput": "EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT", + "EmptyInputAndEmptyOutputOutput": "EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT", + "EndpointOperationInput": "ENDPOINT_OPERATION_INPUT", + "EndpointOperationOutput": "ENDPOINT_OPERATION_OUTPUT", + "EndpointWithHostLabelOperationInput": "ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT", + "EndpointWithHostLabelOperationOutput": "ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT", + "Farewell": "FAREWELL", + "FooError": "FOO_ERROR", + "GreetingWithErrorsInput": "GREETING_WITH_ERRORS_INPUT", + "GreetingWithErrorsOutput": "GREETING_WITH_ERRORS_OUTPUT", + "HostWithPathOperationInput": "HOST_WITH_PATH_OPERATION_INPUT", + "HostWithPathOperationOutput": "HOST_WITH_PATH_OPERATION_OUTPUT", + "InvalidGreeting": "INVALID_GREETING", + "JsonUnionsInput": "JSON_UNIONS_INPUT", + "JsonUnionsOutput": "JSON_UNIONS_OUTPUT", + "MyUnion": "MY_UNION", + "MyUnionStringValue": "MY_UNION", + "MyUnionBooleanValue": "MY_UNION", + "MyUnionNumberValue": "MY_UNION", + "MyUnionBlobValue": "MY_UNION", + "MyUnionTimestampValue": "MY_UNION", + "MyUnionEnumValue": "MY_UNION", + "MyUnionIntEnumValue": "MY_UNION", + "MyUnionListValue": "MY_UNION", + "MyUnionMapValue": "MY_UNION", + "MyUnionStructureValue": "MY_UNION", + "MyUnionUnknown": "MY_UNION", + "NoInputAndNoOutputInput": "NO_INPUT_AND_NO_OUTPUT_INPUT", + "NoInputAndNoOutputOutput": "NO_INPUT_AND_NO_OUTPUT_OUTPUT", + "NoInputAndOutputInput": "NO_INPUT_AND_OUTPUT_INPUT", + "NoInputAndOutputOutput": "NO_INPUT_AND_OUTPUT_OUTPUT", + "OperationWithDefaultsInput": "OPERATION_WITH_DEFAULTS_INPUT", + "OperationWithDefaultsOutput": "OPERATION_WITH_DEFAULTS_OUTPUT", + "OperationWithNestedStructureInput": "OPERATION_WITH_NESTED_STRUCTURE_INPUT", + "OperationWithNestedStructureOutput": "OPERATION_WITH_NESTED_STRUCTURE_OUTPUT", + "OperationWithRequiredMembersInput": "OPERATION_WITH_REQUIRED_MEMBERS_INPUT", + "OperationWithRequiredMembersOutput": "OPERATION_WITH_REQUIRED_MEMBERS_OUTPUT", + "OperationWithRequiredMembersWithDefaultsInput": "OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS_INPUT", + "OperationWithRequiredMembersWithDefaultsOutput": "OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS_OUTPUT", + "PutWithContentEncodingInput": "PUT_WITH_CONTENT_ENCODING_INPUT", + "PutWithContentEncodingOutput": "PUT_WITH_CONTENT_ENCODING_OUTPUT", + "QueryIncompatibleOperationInput": "QUERY_INCOMPATIBLE_OPERATION_INPUT", + "QueryIncompatibleOperationOutput": "QUERY_INCOMPATIBLE_OPERATION_OUTPUT", + "RequiredEnum": "REQUIRED_ENUM", + "RequiredIntEnum": "REQUIRED_INT_ENUM", + "SimpleScalarPropertiesInput": "SIMPLE_SCALAR_PROPERTIES_INPUT", + "SimpleScalarPropertiesOutput": "SIMPLE_SCALAR_PROPERTIES_OUTPUT", + "TestEnum": "TEST_ENUM", + "TestIntEnum": "TEST_INT_ENUM", + "TopLevel": "TOP_LEVEL", + "FooEnum": "FOO_ENUM", + "GreetingStruct": "GREETING_STRUCT", + "IntegerEnum": "INTEGER_ENUM", + }, + shape_names=frozenset( + { + "ClientOptionalDefaults", + "ComplexError", + "ComplexNestedErrorData", + "ContentTypeParametersInput", + "ContentTypeParametersOutput", + "Defaults", + "Dialog", + "EmptyInputAndEmptyOutputInput", + "EmptyInputAndEmptyOutputOutput", + "EndpointOperationInput", + "EndpointOperationOutput", + "EndpointWithHostLabelOperationInput", + "EndpointWithHostLabelOperationOutput", + "Farewell", + "FooEnum", + "FooError", + "GreetingStruct", + "GreetingWithErrorsInput", + "GreetingWithErrorsOutput", + "HostWithPathOperationInput", + "HostWithPathOperationOutput", + "IntegerEnum", + "InvalidGreeting", + "JsonUnionsInput", + "JsonUnionsOutput", + "MyUnion", + "NoInputAndNoOutputInput", + "NoInputAndNoOutputOutput", + "NoInputAndOutputInput", + "NoInputAndOutputOutput", + "OperationWithDefaultsInput", + "OperationWithDefaultsOutput", + "OperationWithNestedStructureInput", + "OperationWithNestedStructureOutput", + "OperationWithRequiredMembersInput", + "OperationWithRequiredMembersOutput", + "OperationWithRequiredMembersWithDefaultsInput", + "OperationWithRequiredMembersWithDefaultsOutput", + "PutWithContentEncodingInput", + "PutWithContentEncodingOutput", + "QueryIncompatibleOperationInput", + "QueryIncompatibleOperationOutput", + "RequiredEnum", + "RequiredIntEnum", + "SimpleScalarPropertiesInput", + "SimpleScalarPropertiesOutput", + "TestEnum", + "TestIntEnum", + "TopLevel", + } + ), + service_error="ServiceError", +) - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +def __getattr__(name: str): + return _registry.build(name) CONTENT_TYPE_PARAMETERS = APIOperation( - input=ContentTypeParametersInput, - output=ContentTypeParametersOutput, static_schema=_SCHEMA_CONTENT_TYPE_PARAMETERS, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -class TestEnum(UnknownEnumMixin, StrEnum): - FOO = "FOO" - BAR = "BAR" - BAZ = "BAZ" - - -class TestIntEnum(UnknownEnumMixin, IntEnum): - ONE = 1 - TWO = 2 - - -def _serialize_test_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_test_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_test_string_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_test_string_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class Defaults: - """Dataclass for Defaults structure.""" - - default_string: str = "hi" - - default_boolean: bool = True - - default_list: list[str] = field(default_factory=list[str]) - - default_document_map: Document = field(default_factory=lambda: Document(dict())) - - default_document_string: Document = field(default_factory=lambda: Document("hi")) - - default_document_boolean: Document = field(default_factory=lambda: Document(True)) - - default_document_list: Document = field(default_factory=lambda: Document(list())) - - default_null_document: Document = field(default_factory=lambda: Document(None)) - - default_timestamp: datetime = datetime(1970, 1, 1, 0, 0, 0, 0, timezone.utc) - - default_blob: bytes = b64decode("YWJj") - - default_byte: int = 1 - - default_short: int = 1 - - default_integer: int = 10 - - default_long: int = 100 - - default_float: float = 1.0 - - default_double: float = 1.0 - - default_map: dict[str, str] = field(default_factory=dict[str, str]) - - default_enum: str = TestEnum("FOO") - - default_int_enum: int = TestIntEnum(1) - - empty_string: str = "" - - false_boolean: bool = False - - empty_blob: bytes = b64decode("") - - zero_byte: int = 0 - - zero_short: int = 0 - - zero_integer: int = 0 - - zero_long: int = 0 - - zero_float: float = 0.0 - - zero_double: float = 0.0 - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DEFAULTS), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DEFAULTS).members_by_index - serializer.write_string(members[0], self.default_string) - serializer.write_boolean(members[1], self.default_boolean) - _serialize_test_string_list(serializer, members[2], self.default_list) - serializer.write_document(members[3], self.default_document_map) - serializer.write_document(members[4], self.default_document_string) - serializer.write_document(members[5], self.default_document_boolean) - serializer.write_document(members[6], self.default_document_list) - serializer.write_document(members[7], self.default_null_document) - serializer.write_timestamp(members[8], self.default_timestamp) - serializer.write_blob(members[9], self.default_blob) - serializer.write_byte(members[10], self.default_byte) - serializer.write_short(members[11], self.default_short) - serializer.write_integer(members[12], self.default_integer) - serializer.write_long(members[13], self.default_long) - serializer.write_float(members[14], self.default_float) - serializer.write_double(members[15], self.default_double) - _serialize_test_string_map(serializer, members[16], self.default_map) - serializer.write_string(members[17], self.default_enum) - serializer.write_integer(members[18], self.default_int_enum) - serializer.write_string(members[19], self.empty_string) - serializer.write_boolean(members[20], self.false_boolean) - serializer.write_blob(members[21], self.empty_blob) - serializer.write_byte(members[22], self.zero_byte) - serializer.write_short(members[23], self.zero_short) - serializer.write_integer(members[24], self.zero_integer) - serializer.write_long(members[25], self.zero_long) - serializer.write_float(members[26], self.zero_float) - serializer.write_double(members[27], self.zero_double) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DEFAULTS) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["default_string"] = de.read_string(members[0]) - - case 1: - kwargs["default_boolean"] = de.read_boolean(members[1]) - - case 2: - kwargs["default_list"] = _deserialize_test_string_list( - de, members[2] - ) - - case 3: - kwargs["default_document_map"] = de.read_document(members[3]) - - case 4: - kwargs["default_document_string"] = de.read_document(members[4]) - - case 5: - kwargs["default_document_boolean"] = de.read_document(members[5]) - - case 6: - kwargs["default_document_list"] = de.read_document(members[6]) - - case 7: - kwargs["default_null_document"] = de.read_document(members[7]) - - case 8: - kwargs["default_timestamp"] = de.read_timestamp(members[8]) - - case 9: - kwargs["default_blob"] = de.read_blob(members[9]) - - case 10: - kwargs["default_byte"] = de.read_byte(members[10]) - - case 11: - kwargs["default_short"] = de.read_short(members[11]) - - case 12: - kwargs["default_integer"] = de.read_integer(members[12]) - - case 13: - kwargs["default_long"] = de.read_long(members[13]) - - case 14: - kwargs["default_float"] = de.read_float(members[14]) - - case 15: - kwargs["default_double"] = de.read_double(members[15]) - - case 16: - kwargs["default_map"] = _deserialize_test_string_map( - de, members[16] - ) - - case 17: - kwargs["default_enum"] = TestEnum(de.read_string(members[17])) - - case 18: - kwargs["default_int_enum"] = TestIntEnum( - de.read_integer(members[18]) - ) - - case 19: - kwargs["empty_string"] = de.read_string(members[19]) - - case 20: - kwargs["false_boolean"] = de.read_boolean(members[20]) - - case 21: - kwargs["empty_blob"] = de.read_blob(members[21]) - - case 22: - kwargs["zero_byte"] = de.read_byte(members[22]) - - case 23: - kwargs["zero_short"] = de.read_short(members[23]) - - case 24: - kwargs["zero_integer"] = de.read_integer(members[24]) - - case 25: - kwargs["zero_long"] = de.read_long(members[25]) - - case 26: - kwargs["zero_float"] = de.read_float(members[26]) - - case 27: - kwargs["zero_double"] = de.read_double(members[27]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class Farewell: - """Dataclass for Farewell structure.""" - - phrase: str = "bye" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FAREWELL), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_FAREWELL).members_by_index - serializer.write_string(members[0], self.phrase) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FAREWELL) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["phrase"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class Dialog: - """Dataclass for Dialog structure.""" - - language: str | None = None - - greeting: str = "hi" - - farewell: Farewell | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DIALOG), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DIALOG).members_by_index - if self.language is not None: - serializer.write_string(members[0], self.language) - - serializer.write_string(members[1], self.greeting) - if self.farewell is not None: - serializer.write_struct(members[2], self.farewell) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DIALOG) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["language"] = de.read_string(members[0]) - - case 1: - kwargs["greeting"] = de.read_string(members[1]) - - case 2: - kwargs["farewell"] = Farewell.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - @classmethod - def _smithy_default(cls) -> Self: - return cls() - - -def _serialize_dialog_list( - serializer: ShapeSerializer, schema: Schema, value: list[Dialog] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_struct(member_schema, e) - - -def _deserialize_dialog_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[Dialog]: - result: list[Dialog] = [] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(Dialog.deserialize(d)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_dialog_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, Dialog] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_struct(value_schema, v)) - - -def _deserialize_dialog_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, Dialog]: - result: dict[str, Dialog] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = Dialog.deserialize(d) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class EmptyInputAndEmptyOutputInput: - """Dataclass for EmptyInputAndEmptyOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EmptyInputAndEmptyOutputOutput: - """Dataclass for EmptyInputAndEmptyOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - EMPTY_INPUT_AND_EMPTY_OUTPUT = APIOperation( - input=EmptyInputAndEmptyOutputInput, - output=EmptyInputAndEmptyOutputOutput, static_schema=_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class EndpointOperationInput: - """Dataclass for EndpointOperationInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ENDPOINT_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_OPERATION_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EndpointOperationOutput: - """Dataclass for EndpointOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ENDPOINT_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - ENDPOINT_OPERATION = APIOperation( - input=EndpointOperationInput, - output=EndpointOperationOutput, static_schema=_SCHEMA_ENDPOINT_OPERATION, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) +ENDPOINT_WITH_HOST_LABEL_OPERATION = APIOperation( + static_schema=_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -@dataclass(kw_only=True) -class EndpointWithHostLabelOperationInput: - """Dataclass for EndpointWithHostLabelOperationInput structure.""" +GREETING_WITH_ERRORS = APIOperation( + static_schema=_SCHEMA_GREETING_WITH_ERRORS, + model_registry=_registry, + error_ids=[ + ShapeID("aws.protocoltests.json10#InvalidGreeting"), + ShapeID("aws.protocoltests.json10#ComplexError"), + ShapeID("aws.protocoltests.json10#FooError"), + ], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - label: str | None = None +HOST_WITH_PATH_OPERATION = APIOperation( + static_schema=_SCHEMA_HOST_WITH_PATH_OPERATION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT), self - ) +JSON_UNIONS = APIOperation( + static_schema=_SCHEMA_JSON_UNIONS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT - ).members_by_index - if self.label is not None: - serializer.write_string(members[0], self.label) +NO_INPUT_AND_NO_OUTPUT = APIOperation( + static_schema=_SCHEMA_NO_INPUT_AND_NO_OUTPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) +NO_INPUT_AND_OUTPUT = APIOperation( + static_schema=_SCHEMA_NO_INPUT_AND_OUTPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT) - members = schema.members_by_index +OPERATION_WITH_DEFAULTS = APIOperation( + static_schema=_SCHEMA_OPERATION_WITH_DEFAULTS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["label"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EndpointWithHostLabelOperationOutput: - """Dataclass for EndpointWithHostLabelOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -ENDPOINT_WITH_HOST_LABEL_OPERATION = APIOperation( - input=EndpointWithHostLabelOperationInput, - output=EndpointWithHostLabelOperationOutput, - static_schema=_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class FooError(ServiceError): - """ - This error has test cases that test some of the dark corners of Amazon - service framework history. It should only be implemented by clients. - """ - - fault: Literal["client", "server"] | None = "server" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FOO_ERROR), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FOO_ERROR) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class GreetingWithErrorsInput: - """Dataclass for GreetingWithErrorsInput structure.""" - - greeting: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT).members_by_index - if self.greeting is not None: - serializer.write_string(members[0], self.greeting) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["greeting"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class GreetingWithErrorsOutput: - """Dataclass for GreetingWithErrorsOutput structure.""" - - greeting: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT).members_by_index - if self.greeting is not None: - serializer.write_string(members[0], self.greeting) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["greeting"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class InvalidGreeting(ServiceError): - """This error is thrown when an invalid greeting value is provided.""" - - fault: Literal["client", "server"] | None = "client" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_INVALID_GREETING), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_INVALID_GREETING).members_by_index - if self.message is not None: - serializer.write_string(members[0], self.message) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INVALID_GREETING) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["message"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -GREETING_WITH_ERRORS = APIOperation( - input=GreetingWithErrorsInput, - output=GreetingWithErrorsOutput, - static_schema=_SCHEMA_GREETING_WITH_ERRORS, - error_registry=TypeRegistry( - { - ShapeID("aws.protocoltests.json10#InvalidGreeting"): InvalidGreeting, - ShapeID("aws.protocoltests.json10#ComplexError"): ComplexError, - ShapeID("aws.protocoltests.json10#FooError"): FooError, - } - ), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HostWithPathOperationInput: - """Dataclass for HostWithPathOperationInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HostWithPathOperationOutput: - """Dataclass for HostWithPathOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HOST_WITH_PATH_OPERATION = APIOperation( - input=HostWithPathOperationInput, - output=HostWithPathOperationOutput, - static_schema=_SCHEMA_HOST_WITH_PATH_OPERATION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -class FooEnum(UnknownEnumMixin, StrEnum): - FOO = "Foo" - BAZ = "Baz" - BAR = "Bar" - ONE = "1" - ZERO = "0" - - -class IntegerEnum(UnknownEnumMixin, IntEnum): - A = 1 - B = 2 - C = 3 - - -def _serialize_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_string_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_string_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class GreetingStruct: - """Dataclass for GreetingStruct structure.""" - - hi: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_STRUCT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_STRUCT).members_by_index - if self.hi is not None: - serializer.write_string(members[0], self.hi) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_STRUCT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["hi"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass -class MyUnionStringValue: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_string(members[0])) - - -@dataclass -class MyUnionBooleanValue: - value: bool - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_boolean(members[1], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_boolean(members[1])) - - -@dataclass -class MyUnionNumberValue: - value: int - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_integer(members[2], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_integer(members[2])) - - -@dataclass -class MyUnionBlobValue: - value: bytes - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_blob(members[3], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_blob(members[3])) - - -@dataclass -class MyUnionTimestampValue: - value: datetime - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_timestamp(members[4], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_timestamp(members[4])) - - -@dataclass -class MyUnionEnumValue: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_string(members[5], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=FooEnum(deserializer.read_string(members[5]))) - - -@dataclass -class MyUnionIntEnumValue: - value: int - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_integer(members[6], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=IntegerEnum(deserializer.read_integer(members[6]))) - - -@dataclass -class MyUnionListValue: - value: list[str] - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - _serialize_string_list(serializer, members[7], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=_deserialize_string_list(deserializer, members[7])) - - -@dataclass -class MyUnionMapValue: - value: dict[str, str] - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - _serialize_string_map(serializer, members[8], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=_deserialize_string_map(deserializer, members[8])) - - -@dataclass -class MyUnionStructureValue: - value: GreetingStruct - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_struct(members[9], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=GreetingStruct.deserialize(deserializer)) - - -@dataclass -class MyUnionUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -MyUnion = Union[ - MyUnionStringValue - | MyUnionBooleanValue - | MyUnionNumberValue - | MyUnionBlobValue - | MyUnionTimestampValue - | MyUnionEnumValue - | MyUnionIntEnumValue - | MyUnionListValue - | MyUnionMapValue - | MyUnionStructureValue - | MyUnionUnknown -] -"""A union with a representative set of types for members.""" - - -class _MyUnionDeserializer: - _result: MyUnion | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> MyUnion: - self._result = None - deserializer.read_struct(hydrate(_SCHEMA_MY_UNION), self._consumer) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(MyUnionStringValue.deserialize(de)) - - case 1: - self._set_result(MyUnionBooleanValue.deserialize(de)) - - case 2: - self._set_result(MyUnionNumberValue.deserialize(de)) - - case 3: - self._set_result(MyUnionBlobValue.deserialize(de)) - - case 4: - self._set_result(MyUnionTimestampValue.deserialize(de)) - - case 5: - self._set_result(MyUnionEnumValue.deserialize(de)) - - case 6: - self._set_result(MyUnionIntEnumValue.deserialize(de)) - - case 7: - self._set_result(MyUnionListValue.deserialize(de)) - - case 8: - self._set_result(MyUnionMapValue.deserialize(de)) - - case 9: - self._set_result(MyUnionStructureValue.deserialize(de)) - - case _: - self._set_result(MyUnionUnknown(tag=schema.expect_member_name())) - - def _set_result(self, value: MyUnion) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -@dataclass(kw_only=True) -class JsonUnionsInput: - """Dataclass for JsonUnionsInput structure.""" - - contents: MyUnion | None = None - """A union with a representative set of types for members.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_UNIONS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_UNIONS_INPUT).members_by_index - if self.contents is not None: - serializer.write_struct(members[0], self.contents) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_UNIONS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["contents"] = _MyUnionDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class JsonUnionsOutput: - """Dataclass for JsonUnionsOutput structure.""" - - contents: MyUnion | None = None - """A union with a representative set of types for members.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_UNIONS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_UNIONS_OUTPUT).members_by_index - if self.contents is not None: - serializer.write_struct(members[0], self.contents) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_UNIONS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["contents"] = _MyUnionDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -JSON_UNIONS = APIOperation( - input=JsonUnionsInput, - output=JsonUnionsOutput, - static_schema=_SCHEMA_JSON_UNIONS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NoInputAndNoOutputInput: - """Dataclass for NoInputAndNoOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NoInputAndNoOutputOutput: - """Dataclass for NoInputAndNoOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NO_INPUT_AND_NO_OUTPUT = APIOperation( - input=NoInputAndNoOutputInput, - output=NoInputAndNoOutputOutput, - static_schema=_SCHEMA_NO_INPUT_AND_NO_OUTPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NoInputAndOutputInput: - """Dataclass for NoInputAndOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NoInputAndOutputOutput: - """Dataclass for NoInputAndOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NO_INPUT_AND_OUTPUT = APIOperation( - input=NoInputAndOutputInput, - output=NoInputAndOutputOutput, - static_schema=_SCHEMA_NO_INPUT_AND_OUTPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class OperationWithDefaultsInput: - """Dataclass for OperationWithDefaultsInput structure.""" - - defaults: Defaults | None = None - - client_optional_defaults: ClientOptionalDefaults | None = None - - top_level_default: str = "hi" - - other_top_level_default: int = 0 - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_INPUT).members_by_index - if self.defaults is not None: - serializer.write_struct(members[0], self.defaults) - - if self.client_optional_defaults is not None: - serializer.write_struct(members[1], self.client_optional_defaults) - - if self.top_level_default is not None: - serializer.write_string(members[2], self.top_level_default) - - if self.other_top_level_default is not None: - serializer.write_integer(members[3], self.other_top_level_default) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["defaults"] = Defaults.deserialize(de) - - case 1: - kwargs["client_optional_defaults"] = ( - ClientOptionalDefaults.deserialize(de) - ) - - case 2: - kwargs["top_level_default"] = de.read_string(members[2]) - - case 3: - kwargs["other_top_level_default"] = de.read_integer(members[3]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class OperationWithDefaultsOutput: - """Dataclass for OperationWithDefaultsOutput structure.""" - - default_string: str = "hi" - - default_boolean: bool = True - - default_list: list[str] = field(default_factory=list[str]) - - default_document_map: Document = field(default_factory=lambda: Document(dict())) - - default_document_string: Document = field(default_factory=lambda: Document("hi")) - - default_document_boolean: Document = field(default_factory=lambda: Document(True)) - - default_document_list: Document = field(default_factory=lambda: Document(list())) - - default_null_document: Document = field(default_factory=lambda: Document(None)) - - default_timestamp: datetime = datetime(1970, 1, 1, 0, 0, 0, 0, timezone.utc) - - default_blob: bytes = b64decode("YWJj") - - default_byte: int = 1 - - default_short: int = 1 - - default_integer: int = 10 - - default_long: int = 100 - - default_float: float = 1.0 - - default_double: float = 1.0 - - default_map: dict[str, str] = field(default_factory=dict[str, str]) - - default_enum: str = TestEnum("FOO") - - default_int_enum: int = TestIntEnum(1) - - empty_string: str = "" - - false_boolean: bool = False - - empty_blob: bytes = b64decode("") - - zero_byte: int = 0 - - zero_short: int = 0 - - zero_integer: int = 0 - - zero_long: int = 0 - - zero_float: float = 0.0 - - zero_double: float = 0.0 - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_OUTPUT).members_by_index - serializer.write_string(members[0], self.default_string) - serializer.write_boolean(members[1], self.default_boolean) - _serialize_test_string_list(serializer, members[2], self.default_list) - serializer.write_document(members[3], self.default_document_map) - serializer.write_document(members[4], self.default_document_string) - serializer.write_document(members[5], self.default_document_boolean) - serializer.write_document(members[6], self.default_document_list) - serializer.write_document(members[7], self.default_null_document) - serializer.write_timestamp(members[8], self.default_timestamp) - serializer.write_blob(members[9], self.default_blob) - serializer.write_byte(members[10], self.default_byte) - serializer.write_short(members[11], self.default_short) - serializer.write_integer(members[12], self.default_integer) - serializer.write_long(members[13], self.default_long) - serializer.write_float(members[14], self.default_float) - serializer.write_double(members[15], self.default_double) - _serialize_test_string_map(serializer, members[16], self.default_map) - serializer.write_string(members[17], self.default_enum) - serializer.write_integer(members[18], self.default_int_enum) - serializer.write_string(members[19], self.empty_string) - serializer.write_boolean(members[20], self.false_boolean) - serializer.write_blob(members[21], self.empty_blob) - serializer.write_byte(members[22], self.zero_byte) - serializer.write_short(members[23], self.zero_short) - serializer.write_integer(members[24], self.zero_integer) - serializer.write_long(members[25], self.zero_long) - serializer.write_float(members[26], self.zero_float) - serializer.write_double(members[27], self.zero_double) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["default_string"] = de.read_string(members[0]) - - case 1: - kwargs["default_boolean"] = de.read_boolean(members[1]) - - case 2: - kwargs["default_list"] = _deserialize_test_string_list( - de, members[2] - ) - - case 3: - kwargs["default_document_map"] = de.read_document(members[3]) - - case 4: - kwargs["default_document_string"] = de.read_document(members[4]) - - case 5: - kwargs["default_document_boolean"] = de.read_document(members[5]) - - case 6: - kwargs["default_document_list"] = de.read_document(members[6]) - - case 7: - kwargs["default_null_document"] = de.read_document(members[7]) - - case 8: - kwargs["default_timestamp"] = de.read_timestamp(members[8]) - - case 9: - kwargs["default_blob"] = de.read_blob(members[9]) - - case 10: - kwargs["default_byte"] = de.read_byte(members[10]) - - case 11: - kwargs["default_short"] = de.read_short(members[11]) - - case 12: - kwargs["default_integer"] = de.read_integer(members[12]) - - case 13: - kwargs["default_long"] = de.read_long(members[13]) - - case 14: - kwargs["default_float"] = de.read_float(members[14]) - - case 15: - kwargs["default_double"] = de.read_double(members[15]) - - case 16: - kwargs["default_map"] = _deserialize_test_string_map( - de, members[16] - ) - - case 17: - kwargs["default_enum"] = TestEnum(de.read_string(members[17])) - - case 18: - kwargs["default_int_enum"] = TestIntEnum( - de.read_integer(members[18]) - ) - - case 19: - kwargs["empty_string"] = de.read_string(members[19]) - - case 20: - kwargs["false_boolean"] = de.read_boolean(members[20]) - - case 21: - kwargs["empty_blob"] = de.read_blob(members[21]) - - case 22: - kwargs["zero_byte"] = de.read_byte(members[22]) - - case 23: - kwargs["zero_short"] = de.read_short(members[23]) - - case 24: - kwargs["zero_integer"] = de.read_integer(members[24]) - - case 25: - kwargs["zero_long"] = de.read_long(members[25]) - - case 26: - kwargs["zero_float"] = de.read_float(members[26]) - - case 27: - kwargs["zero_double"] = de.read_double(members[27]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -OPERATION_WITH_DEFAULTS = APIOperation( - input=OperationWithDefaultsInput, - output=OperationWithDefaultsOutput, - static_schema=_SCHEMA_OPERATION_WITH_DEFAULTS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class TopLevel: - """Dataclass for TopLevel structure.""" - - dialog: Dialog - - dialog_list: list[Dialog] = field(default_factory=list[Dialog]) - - dialog_map: dict[str, Dialog] = field(default_factory=dict[str, Dialog]) - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TOP_LEVEL), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TOP_LEVEL).members_by_index - serializer.write_struct(members[0], self.dialog) - _serialize_dialog_list(serializer, members[1], self.dialog_list) - _serialize_dialog_map(serializer, members[2], self.dialog_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TOP_LEVEL) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["dialog"] = Dialog.deserialize(de) - - case 1: - kwargs["dialog_list"] = _deserialize_dialog_list(de, members[1]) - - case 2: - kwargs["dialog_map"] = _deserialize_dialog_map(de, members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - if "dialog" not in kwargs: - kwargs["dialog"] = Dialog._smithy_default() - return kwargs - - -@dataclass(kw_only=True) -class OperationWithNestedStructureInput: - """Dataclass for OperationWithNestedStructureInput structure.""" - - top_level: TopLevel | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_INPUT - ).members_by_index - if self.top_level is not None: - serializer.write_struct(members[0], self.top_level) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["top_level"] = TopLevel.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class OperationWithNestedStructureOutput: - """Dataclass for OperationWithNestedStructureOutput structure.""" - - dialog: Dialog - - dialog_list: list[Dialog] = field(default_factory=list[Dialog]) - - dialog_map: dict[str, Dialog] = field(default_factory=dict[str, Dialog]) - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_OUTPUT - ).members_by_index - serializer.write_struct(members[0], self.dialog) - _serialize_dialog_list(serializer, members[1], self.dialog_list) - _serialize_dialog_map(serializer, members[2], self.dialog_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["dialog"] = Dialog.deserialize(de) - - case 1: - kwargs["dialog_list"] = _deserialize_dialog_list(de, members[1]) - - case 2: - kwargs["dialog_map"] = _deserialize_dialog_map(de, members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - if "dialog" not in kwargs: - kwargs["dialog"] = Dialog._smithy_default() - return kwargs - - -OPERATION_WITH_NESTED_STRUCTURE = APIOperation( - input=OperationWithNestedStructureInput, - output=OperationWithNestedStructureOutput, - static_schema=_SCHEMA_OPERATION_WITH_NESTED_STRUCTURE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class OperationWithRequiredMembersInput: - """Dataclass for OperationWithRequiredMembersInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_required_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_required_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_required_string_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_required_string_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class OperationWithRequiredMembersOutput: - """Dataclass for OperationWithRequiredMembersOutput structure.""" - - required_string: str - - required_boolean: bool - - required_list: list[str] - - required_timestamp: datetime - - required_blob: bytes - - required_byte: int - - required_short: int - - required_integer: int - - required_long: int - - required_float: float - - required_double: float - - required_map: dict[str, str] - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_OUTPUT - ).members_by_index - serializer.write_string(members[0], self.required_string) - serializer.write_boolean(members[1], self.required_boolean) - _serialize_required_string_list(serializer, members[2], self.required_list) - serializer.write_timestamp(members[3], self.required_timestamp) - serializer.write_blob(members[4], self.required_blob) - serializer.write_byte(members[5], self.required_byte) - serializer.write_short(members[6], self.required_short) - serializer.write_integer(members[7], self.required_integer) - serializer.write_long(members[8], self.required_long) - serializer.write_float(members[9], self.required_float) - serializer.write_double(members[10], self.required_double) - _serialize_required_string_map(serializer, members[11], self.required_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["required_string"] = de.read_string(members[0]) - - case 1: - kwargs["required_boolean"] = de.read_boolean(members[1]) - - case 2: - kwargs["required_list"] = _deserialize_required_string_list( - de, members[2] - ) - - case 3: - kwargs["required_timestamp"] = de.read_timestamp(members[3]) - - case 4: - kwargs["required_blob"] = de.read_blob(members[4]) - - case 5: - kwargs["required_byte"] = de.read_byte(members[5]) - - case 6: - kwargs["required_short"] = de.read_short(members[6]) - - case 7: - kwargs["required_integer"] = de.read_integer(members[7]) - - case 8: - kwargs["required_long"] = de.read_long(members[8]) - - case 9: - kwargs["required_float"] = de.read_float(members[9]) - - case 10: - kwargs["required_double"] = de.read_double(members[10]) - - case 11: - kwargs["required_map"] = _deserialize_required_string_map( - de, members[11] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - if "required_string" not in kwargs: - kwargs["required_string"] = "" - if "required_boolean" not in kwargs: - kwargs["required_boolean"] = False - if "required_list" not in kwargs: - kwargs["required_list"] = [] - if "required_timestamp" not in kwargs: - kwargs["required_timestamp"] = datetime.fromtimestamp(0, tz=timezone.utc) - if "required_blob" not in kwargs: - kwargs["required_blob"] = b"" - if "required_byte" not in kwargs: - kwargs["required_byte"] = 0 - if "required_short" not in kwargs: - kwargs["required_short"] = 0 - if "required_integer" not in kwargs: - kwargs["required_integer"] = 0 - if "required_long" not in kwargs: - kwargs["required_long"] = 0 - if "required_float" not in kwargs: - kwargs["required_float"] = 0.0 - if "required_double" not in kwargs: - kwargs["required_double"] = 0.0 - if "required_map" not in kwargs: - kwargs["required_map"] = {} - return kwargs - - -OPERATION_WITH_REQUIRED_MEMBERS = APIOperation( - input=OperationWithRequiredMembersInput, - output=OperationWithRequiredMembersOutput, - static_schema=_SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class OperationWithRequiredMembersWithDefaultsInput: - """Dataclass for OperationWithRequiredMembersWithDefaultsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -class RequiredEnum(UnknownEnumMixin, StrEnum): - FOO = "FOO" - BAR = "BAR" - BAZ = "BAZ" - - -class RequiredIntEnum(UnknownEnumMixin, IntEnum): - ONE = 1 - TWO = 2 - - -@dataclass(kw_only=True) -class OperationWithRequiredMembersWithDefaultsOutput: - """Dataclass for OperationWithRequiredMembersWithDefaultsOutput structure.""" - - required_string: str = "hi" - - required_boolean: bool = True - - required_list: list[str] = field(default_factory=list[str]) - - required_timestamp: datetime = datetime(1970, 1, 1, 0, 0, 1, 0, timezone.utc) - - required_blob: bytes = b64decode("YmxvYg==") - - required_byte: int = 1 - - required_short: int = 1 - - required_integer: int = 10 - - required_long: int = 100 - - required_float: float = 1.0 - - required_double: float = 1.0 - - required_map: dict[str, str] = field(default_factory=dict[str, str]) - - required_enum: str = RequiredEnum("FOO") - - required_int_enum: int = RequiredIntEnum(1) - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS_OUTPUT - ).members_by_index - serializer.write_string(members[0], self.required_string) - serializer.write_boolean(members[1], self.required_boolean) - _serialize_required_string_list(serializer, members[2], self.required_list) - serializer.write_timestamp(members[3], self.required_timestamp) - serializer.write_blob(members[4], self.required_blob) - serializer.write_byte(members[5], self.required_byte) - serializer.write_short(members[6], self.required_short) - serializer.write_integer(members[7], self.required_integer) - serializer.write_long(members[8], self.required_long) - serializer.write_float(members[9], self.required_float) - serializer.write_double(members[10], self.required_double) - _serialize_required_string_map(serializer, members[11], self.required_map) - serializer.write_string(members[12], self.required_enum) - serializer.write_integer(members[13], self.required_int_enum) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["required_string"] = de.read_string(members[0]) - - case 1: - kwargs["required_boolean"] = de.read_boolean(members[1]) - - case 2: - kwargs["required_list"] = _deserialize_required_string_list( - de, members[2] - ) - - case 3: - kwargs["required_timestamp"] = de.read_timestamp(members[3]) - - case 4: - kwargs["required_blob"] = de.read_blob(members[4]) - - case 5: - kwargs["required_byte"] = de.read_byte(members[5]) - - case 6: - kwargs["required_short"] = de.read_short(members[6]) - - case 7: - kwargs["required_integer"] = de.read_integer(members[7]) - - case 8: - kwargs["required_long"] = de.read_long(members[8]) - - case 9: - kwargs["required_float"] = de.read_float(members[9]) - - case 10: - kwargs["required_double"] = de.read_double(members[10]) - - case 11: - kwargs["required_map"] = _deserialize_required_string_map( - de, members[11] - ) - - case 12: - kwargs["required_enum"] = RequiredEnum(de.read_string(members[12])) - - case 13: - kwargs["required_int_enum"] = RequiredIntEnum( - de.read_integer(members[13]) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +OPERATION_WITH_NESTED_STRUCTURE = APIOperation( + static_schema=_SCHEMA_OPERATION_WITH_NESTED_STRUCTURE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +OPERATION_WITH_REQUIRED_MEMBERS = APIOperation( + static_schema=_SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS = APIOperation( - input=OperationWithRequiredMembersWithDefaultsInput, - output=OperationWithRequiredMembersWithDefaultsOutput, static_schema=_SCHEMA_OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class PutWithContentEncodingInput: - """Dataclass for PutWithContentEncodingInput structure.""" - - encoding: str | None = None - - data: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT).members_by_index - if self.encoding is not None: - serializer.write_string(members[0], self.encoding) - - if self.data is not None: - serializer.write_string(members[1], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["encoding"] = de.read_string(members[0]) - - case 1: - kwargs["data"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class PutWithContentEncodingOutput: - """Dataclass for PutWithContentEncodingOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - PUT_WITH_CONTENT_ENCODING = APIOperation( - input=PutWithContentEncodingInput, - output=PutWithContentEncodingOutput, static_schema=_SCHEMA_PUT_WITH_CONTENT_ENCODING, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class QueryIncompatibleOperationInput: - """Dataclass for QueryIncompatibleOperationInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_QUERY_INCOMPATIBLE_OPERATION_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_INCOMPATIBLE_OPERATION_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryIncompatibleOperationOutput: - """Dataclass for QueryIncompatibleOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_QUERY_INCOMPATIBLE_OPERATION_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_INCOMPATIBLE_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - QUERY_INCOMPATIBLE_OPERATION = APIOperation( - input=QueryIncompatibleOperationInput, - output=QueryIncompatibleOperationOutput, static_schema=_SCHEMA_QUERY_INCOMPATIBLE_OPERATION, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class SimpleScalarPropertiesInput: - """Dataclass for SimpleScalarPropertiesInput structure.""" - - float_value: float | None = None - - double_value: float | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT).members_by_index - if self.float_value is not None: - serializer.write_float(members[0], self.float_value) - - if self.double_value is not None: - serializer.write_double(members[1], self.double_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["float_value"] = de.read_float(members[0]) - - case 1: - kwargs["double_value"] = de.read_double(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SimpleScalarPropertiesOutput: - """Dataclass for SimpleScalarPropertiesOutput structure.""" - - float_value: float | None = None - - double_value: float | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT).members_by_index - if self.float_value is not None: - serializer.write_float(members[0], self.float_value) - - if self.double_value is not None: - serializer.write_double(members[1], self.double_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["float_value"] = de.read_float(members[0]) - - case 1: - kwargs["double_value"] = de.read_double(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - SIMPLE_SCALAR_PROPERTIES = APIOperation( - input=SimpleScalarPropertiesInput, - output=SimpleScalarPropertiesOutput, static_schema=_SCHEMA_SIMPLE_SCALAR_PROPERTIES, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) diff --git a/codegen-output/aws-json-1-0/src/awsjson10/models.pyi b/codegen-output/aws-json-1-0/src/awsjson10/models.pyi new file mode 100644 index 000000000..32887dd14 --- /dev/null +++ b/codegen-output/aws-json-1-0/src/awsjson10/models.pyi @@ -0,0 +1,420 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from dataclasses import dataclass +from datetime import datetime +from enum import IntEnum, StrEnum +from typing import Self, Union + +from smithy_core.deserializers import ShapeDeserializer +from smithy_core.documents import Document +from smithy_core.exceptions import ModeledError +from smithy_core.response import ResponseMetadata +from smithy_core.schemas import APIOperation +from smithy_core.serializers import ShapeSerializer +from smithy_core.types import UnknownEnumMixin + +class _SerdeShape: + def serialize(self, serializer: ShapeSerializer) -> None: ... + def serialize_members(self, serializer: ShapeSerializer) -> None: ... + @classmethod + def deserialize(cls, deserializer: ShapeDeserializer) -> Self: ... + +class ServiceError(ModeledError): ... + +@dataclass(kw_only=True) +class ClientOptionalDefaults(_SerdeShape): + member: int | None = ... + +@dataclass(kw_only=True) +class ComplexError(ServiceError, _SerdeShape): + top_level: str | None = ... + nested: ComplexNestedErrorData | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ComplexNestedErrorData(_SerdeShape): + foo: str | None = ... + +@dataclass(kw_only=True) +class ContentTypeParametersInput(_SerdeShape): + value: int | None = ... + +@dataclass(kw_only=True) +class ContentTypeParametersOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class Defaults(_SerdeShape): + default_string: str | None = ... + default_boolean: bool | None = ... + default_list: list[str] | None = ... + default_document_map: Document | None = ... + default_document_string: Document | None = ... + default_document_boolean: Document | None = ... + default_document_list: Document | None = ... + default_null_document: Document | None = ... + default_timestamp: datetime | None = ... + default_blob: bytes | None = ... + default_byte: int | None = ... + default_short: int | None = ... + default_integer: int | None = ... + default_long: int | None = ... + default_float: float | None = ... + default_double: float | None = ... + default_map: dict[str, str] | None = ... + default_enum: str | None = ... + default_int_enum: int | None = ... + empty_string: str | None = ... + false_boolean: bool | None = ... + empty_blob: bytes | None = ... + zero_byte: int | None = ... + zero_short: int | None = ... + zero_integer: int | None = ... + zero_long: int | None = ... + zero_float: float | None = ... + zero_double: float | None = ... + +@dataclass(kw_only=True) +class Dialog(_SerdeShape): + language: str | None = ... + greeting: str | None = ... + farewell: Farewell | None = ... + +@dataclass(kw_only=True) +class EmptyInputAndEmptyOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class EmptyInputAndEmptyOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EndpointOperationInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class EndpointOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EndpointWithHostLabelOperationInput(_SerdeShape): + label: str | None = ... + +@dataclass(kw_only=True) +class EndpointWithHostLabelOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class Farewell(_SerdeShape): + phrase: str | None = ... + +@dataclass(kw_only=True) +class FooError(ServiceError, _SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class GreetingWithErrorsInput(_SerdeShape): + greeting: str | None = ... + +@dataclass(kw_only=True) +class GreetingWithErrorsOutput(_SerdeShape): + greeting: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HostWithPathOperationInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class HostWithPathOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class InvalidGreeting(ServiceError, _SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class JsonUnionsInput(_SerdeShape): + contents: MyUnion | None = ... + +@dataclass(kw_only=True) +class JsonUnionsOutput(_SerdeShape): + contents: MyUnion | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass +class MyUnionStringValue(_SerdeShape): + value: str + +@dataclass +class MyUnionBooleanValue(_SerdeShape): + value: bool + +@dataclass +class MyUnionNumberValue(_SerdeShape): + value: int + +@dataclass +class MyUnionBlobValue(_SerdeShape): + value: bytes + +@dataclass +class MyUnionTimestampValue(_SerdeShape): + value: datetime + +@dataclass +class MyUnionEnumValue(_SerdeShape): + value: str + +@dataclass +class MyUnionIntEnumValue(_SerdeShape): + value: int + +@dataclass +class MyUnionListValue(_SerdeShape): + value: list[str] + +@dataclass +class MyUnionMapValue(_SerdeShape): + value: dict[str, str] + +@dataclass +class MyUnionStructureValue(_SerdeShape): + value: GreetingStruct + +@dataclass +class MyUnionUnknown(_SerdeShape): + tag: str + +MyUnion = Union[ + MyUnionStringValue + | MyUnionBooleanValue + | MyUnionNumberValue + | MyUnionBlobValue + | MyUnionTimestampValue + | MyUnionEnumValue + | MyUnionIntEnumValue + | MyUnionListValue + | MyUnionMapValue + | MyUnionStructureValue + | MyUnionUnknown +] + +class _MyUnionDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> MyUnion: ... + +@dataclass(kw_only=True) +class NoInputAndNoOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class NoInputAndNoOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NoInputAndOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class NoInputAndOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class OperationWithDefaultsInput(_SerdeShape): + defaults: Defaults | None = ... + client_optional_defaults: ClientOptionalDefaults | None = ... + top_level_default: str | None = ... + other_top_level_default: int | None = ... + +@dataclass(kw_only=True) +class OperationWithDefaultsOutput(_SerdeShape): + default_string: str | None = ... + default_boolean: bool | None = ... + default_list: list[str] | None = ... + default_document_map: Document | None = ... + default_document_string: Document | None = ... + default_document_boolean: Document | None = ... + default_document_list: Document | None = ... + default_null_document: Document | None = ... + default_timestamp: datetime | None = ... + default_blob: bytes | None = ... + default_byte: int | None = ... + default_short: int | None = ... + default_integer: int | None = ... + default_long: int | None = ... + default_float: float | None = ... + default_double: float | None = ... + default_map: dict[str, str] | None = ... + default_enum: str | None = ... + default_int_enum: int | None = ... + empty_string: str | None = ... + false_boolean: bool | None = ... + empty_blob: bytes | None = ... + zero_byte: int | None = ... + zero_short: int | None = ... + zero_integer: int | None = ... + zero_long: int | None = ... + zero_float: float | None = ... + zero_double: float | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class OperationWithNestedStructureInput(_SerdeShape): + top_level: TopLevel | None = ... + +@dataclass(kw_only=True) +class OperationWithNestedStructureOutput(_SerdeShape): + dialog: Dialog + dialog_list: list[Dialog] | None = ... + dialog_map: dict[str, Dialog] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class OperationWithRequiredMembersInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class OperationWithRequiredMembersOutput(_SerdeShape): + required_string: str + required_boolean: bool + required_list: list[str] + required_timestamp: datetime + required_blob: bytes + required_byte: int + required_short: int + required_integer: int + required_long: int + required_float: float + required_double: float + required_map: dict[str, str] + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class OperationWithRequiredMembersWithDefaultsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class OperationWithRequiredMembersWithDefaultsOutput(_SerdeShape): + required_string: str | None = ... + required_boolean: bool | None = ... + required_list: list[str] | None = ... + required_timestamp: datetime | None = ... + required_blob: bytes | None = ... + required_byte: int | None = ... + required_short: int | None = ... + required_integer: int | None = ... + required_long: int | None = ... + required_float: float | None = ... + required_double: float | None = ... + required_map: dict[str, str] | None = ... + required_enum: str | None = ... + required_int_enum: int | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class PutWithContentEncodingInput(_SerdeShape): + encoding: str | None = ... + data: str | None = ... + +@dataclass(kw_only=True) +class PutWithContentEncodingOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class QueryIncompatibleOperationInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class QueryIncompatibleOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +class RequiredEnum(UnknownEnumMixin, StrEnum): + FOO = "FOO" + BAR = "BAR" + BAZ = "BAZ" + +class RequiredIntEnum(UnknownEnumMixin, IntEnum): + ONE = 1 + TWO = 2 + +@dataclass(kw_only=True) +class SimpleScalarPropertiesInput(_SerdeShape): + float_value: float | None = ... + double_value: float | None = ... + +@dataclass(kw_only=True) +class SimpleScalarPropertiesOutput(_SerdeShape): + float_value: float | None = ... + double_value: float | None = ... + response_metadata: ResponseMetadata = ... + +class TestEnum(UnknownEnumMixin, StrEnum): + FOO = "FOO" + BAR = "BAR" + BAZ = "BAZ" + +class TestIntEnum(UnknownEnumMixin, IntEnum): + ONE = 1 + TWO = 2 + +@dataclass(kw_only=True) +class TopLevel(_SerdeShape): + dialog: Dialog + dialog_list: list[Dialog] | None = ... + dialog_map: dict[str, Dialog] | None = ... + +class FooEnum(UnknownEnumMixin, StrEnum): + FOO = "Foo" + BAZ = "Baz" + BAR = "Bar" + ONE = "1" + ZERO = "0" + +@dataclass(kw_only=True) +class GreetingStruct(_SerdeShape): + hi: str | None = ... + +class IntegerEnum(UnknownEnumMixin, IntEnum): + A = 1 + B = 2 + C = 3 + +CONTENT_TYPE_PARAMETERS: APIOperation[ + ContentTypeParametersInput, ContentTypeParametersOutput +] +EMPTY_INPUT_AND_EMPTY_OUTPUT: APIOperation[ + EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput +] +ENDPOINT_OPERATION: APIOperation[EndpointOperationInput, EndpointOperationOutput] +ENDPOINT_WITH_HOST_LABEL_OPERATION: APIOperation[ + EndpointWithHostLabelOperationInput, EndpointWithHostLabelOperationOutput +] +GREETING_WITH_ERRORS: APIOperation[GreetingWithErrorsInput, GreetingWithErrorsOutput] +HOST_WITH_PATH_OPERATION: APIOperation[ + HostWithPathOperationInput, HostWithPathOperationOutput +] +JSON_UNIONS: APIOperation[JsonUnionsInput, JsonUnionsOutput] +NO_INPUT_AND_NO_OUTPUT: APIOperation[NoInputAndNoOutputInput, NoInputAndNoOutputOutput] +NO_INPUT_AND_OUTPUT: APIOperation[NoInputAndOutputInput, NoInputAndOutputOutput] +OPERATION_WITH_DEFAULTS: APIOperation[ + OperationWithDefaultsInput, OperationWithDefaultsOutput +] +OPERATION_WITH_NESTED_STRUCTURE: APIOperation[ + OperationWithNestedStructureInput, OperationWithNestedStructureOutput +] +OPERATION_WITH_REQUIRED_MEMBERS: APIOperation[ + OperationWithRequiredMembersInput, OperationWithRequiredMembersOutput +] +OPERATION_WITH_REQUIRED_MEMBERS_WITH_DEFAULTS: APIOperation[ + OperationWithRequiredMembersWithDefaultsInput, + OperationWithRequiredMembersWithDefaultsOutput, +] +PUT_WITH_CONTENT_ENCODING: APIOperation[ + PutWithContentEncodingInput, PutWithContentEncodingOutput +] +QUERY_INCOMPATIBLE_OPERATION: APIOperation[ + QueryIncompatibleOperationInput, QueryIncompatibleOperationOutput +] +SIMPLE_SCALAR_PROPERTIES: APIOperation[ + SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput +] diff --git a/codegen-output/aws-json-1-0/tests/_typecheck.py b/codegen-output/aws-json-1-0/tests/_typecheck.py new file mode 100644 index 000000000..30be662d5 --- /dev/null +++ b/codegen-output/aws-json-1-0/tests/_typecheck.py @@ -0,0 +1,104 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from typing import Any + +from awsjson10.models import ( + ClientOptionalDefaults, + ComplexNestedErrorData, + ContentTypeParametersInput, + ContentTypeParametersOutput, + Defaults, + Dialog, + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + Farewell, + GreetingStruct, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HostWithPathOperationInput, + HostWithPathOperationOutput, + JsonUnionsInput, + JsonUnionsOutput, + NoInputAndNoOutputInput, + NoInputAndNoOutputOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + OperationWithDefaultsInput, + OperationWithDefaultsOutput, + OperationWithNestedStructureInput, + OperationWithNestedStructureOutput, + OperationWithRequiredMembersInput, + OperationWithRequiredMembersOutput, + OperationWithRequiredMembersWithDefaultsInput, + OperationWithRequiredMembersWithDefaultsOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, + QueryIncompatibleOperationInput, + QueryIncompatibleOperationOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + TopLevel, +) + + +# Static type fixture: pyright over this validates models.pyi. +# Not executed as a test; it only needs to type-check. + +_: Any = ... + +ClientOptionalDefaults() +ComplexNestedErrorData() +ContentTypeParametersInput() +ContentTypeParametersOutput() +Defaults() +Dialog() +EmptyInputAndEmptyOutputInput() +EmptyInputAndEmptyOutputOutput() +EndpointOperationInput() +EndpointOperationOutput() +EndpointWithHostLabelOperationInput() +EndpointWithHostLabelOperationOutput() +Farewell() +GreetingWithErrorsInput() +GreetingWithErrorsOutput() +HostWithPathOperationInput() +HostWithPathOperationOutput() +JsonUnionsInput() +JsonUnionsOutput() +NoInputAndNoOutputInput() +NoInputAndNoOutputOutput() +NoInputAndOutputInput() +NoInputAndOutputOutput() +OperationWithDefaultsInput() +OperationWithDefaultsOutput() +OperationWithNestedStructureInput() +OperationWithNestedStructureOutput(dialog=_) +OperationWithRequiredMembersInput() +OperationWithRequiredMembersOutput( + required_string=_, + required_boolean=_, + required_list=_, + required_timestamp=_, + required_blob=_, + required_byte=_, + required_short=_, + required_integer=_, + required_long=_, + required_float=_, + required_double=_, + required_map=_, +) +OperationWithRequiredMembersWithDefaultsInput() +OperationWithRequiredMembersWithDefaultsOutput() +PutWithContentEncodingInput() +PutWithContentEncodingOutput() +QueryIncompatibleOperationInput() +QueryIncompatibleOperationOutput() +SimpleScalarPropertiesInput() +SimpleScalarPropertiesOutput() +TopLevel(dialog=_) +GreetingStruct() diff --git a/codegen-output/aws-json-1-0/tests/test_model_conformance.py b/codegen-output/aws-json-1-0/tests/test_model_conformance.py new file mode 100644 index 000000000..833805b09 --- /dev/null +++ b/codegen-output/aws-json-1-0/tests/test_model_conformance.py @@ -0,0 +1,13 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from pathlib import Path + +from smithy_test import verify_models + +from awsjson10 import models as _models +from awsjson10._private import schemas as _schemas + + +def test_model_conformance() -> None: + pyi = Path(_models.__file__).with_suffix(".pyi") + verify_models(_models, _schemas, pyi_path=str(pyi) if pyi.exists() else None) diff --git a/codegen-output/aws-json-1-1/pyproject.toml b/codegen-output/aws-json-1-1/pyproject.toml index a9b718abf..60313efa0 100644 --- a/codegen-output/aws-json-1-1/pyproject.toml +++ b/codegen-output/aws-json-1-1/pyproject.toml @@ -53,6 +53,9 @@ reportUnusedVariable = false reportUnnecessaryComparison = false reportUnusedClass = false enableExperimentalFeatures = true +# models.py is the dynamic runtime; models.pyi carries the typed +# surface for consumers, so don't type-check the implementation body. +exclude = ["**/models.py"] [tool.ruff] target-version = "py312" diff --git a/codegen-output/aws-json-1-1/src/awsjson11/_private/schemas.py b/codegen-output/aws-json-1-1/src/awsjson11/_private/schemas.py index f803767ad..27ec863a0 100644 --- a/codegen-output/aws-json-1-1/src/awsjson11/_private/schemas.py +++ b/codegen-output/aws-json-1-1/src/awsjson11/_private/schemas.py @@ -16,8 +16,10 @@ _TL = "TopLevel" _N = "Nested" _CTPI = "ContentTypeParametersInput" +_sm = "smithy.api#input" _v = "value" _CTPO = "ContentTypeParametersOutput" +_smi = "smithy.api#output" _CTP = "ContentTypeParameters" _DOI = "DatetimeOffsetsInput" _sSI = "smithy.synthetic#originalShapeId" @@ -37,12 +39,12 @@ _EOIn = "EndpointOperationInput" _EOOn = "EndpointOperationOutput" _EOn = "EndpointOperation" -_sm = "smithy.api#endpoint" +_smit = "smithy.api#endpoint" _EWHLOI = "EndpointWithHostLabelOperationInput" _aHLI = "aws.protocoltests.json#HostLabelInput" _l = "label" _sL = "smithy.api#hostLabel" -_smi = "smithy.api#required" +_smith = "smithy.api#required" _EWHLOO = "EndpointWithHostLabelOperationOutput" _EWHLO = "EndpointWithHostLabelOperation" _JV = "JsonValue" @@ -79,10 +81,15 @@ _HWPO = "HostWithPathOperation" _FEo = "FooEnum" _FOO = "FOO" +_sV = "smithy.api#enumValue" _BAZ = "BAZ" +_B = "Baz" _BAR = "BAR" +_Ba = "Bar" _ONE = "ONE" +_v_ = "1" _ZERO = "ZERO" +_v__ = "0" _FEL = "FooEnumList" _FEM = "FooEnumMap" _FES = "FooEnumSet" @@ -98,7 +105,7 @@ _JE = "JsonEnums" _IE = "IntegerEnum" _A = "A" -_B = "B" +_B_ = "B" _C = "C" _IEL = "IntegerEnumList" _IEM = "IntegerEnumMap" @@ -118,7 +125,7 @@ _GS = "GreetingStruct" _h = "hi" _MU = "MyUnion" -_sV = "stringValue" +_sVt = "stringValue" _bV = "booleanValue" _nV = "numberValue" _bVl = "blobValue" @@ -126,7 +133,7 @@ _eV = "enumValue" _lV = "listValue" _mV = "mapValue" -_sVt = "structureValue" +_sVtr = "structureValue" _JUI = "JsonUnionsInput" _aUIO = "aws.protocoltests.json#UnionInputOutput" _co = "contents" @@ -160,7 +167,7 @@ _SSPO = "SimpleScalarPropertiesOutput" _SSP = "SimpleScalarProperties" _SSL = "SparseStringList" -_smit = "smithy.api#sparse" +_smithy = "smithy.api#sparse" _SSM = "SparseStringMap" _SNOI = "SparseNullsOperationInput" _aSNOIO = "aws.protocoltests.json#SparseNullsOperationInputOutput" @@ -217,9 +224,16 @@ ((3, 0), (COMPLEX_NESTED_ERROR_DATA, 0)), ) -CONTENT_TYPE_PARAMETERS_INPUT: StaticSchema = (18, n0, _CTPI, 0, (_v,), ((7, 0),)) +CONTENT_TYPE_PARAMETERS_INPUT: StaticSchema = ( + 18, + n0, + _CTPI, + {_sm: None}, + (_v,), + ((7, 0),), +) -CONTENT_TYPE_PARAMETERS_OUTPUT: StaticSchema = (18, n0, _CTPO, 0) +CONTENT_TYPE_PARAMETERS_OUTPUT: StaticSchema = (18, n0, _CTPO, {_smi: None}) CONTENT_TYPE_PARAMETERS: StaticOperationSchema = ( 23, @@ -231,11 +245,18 @@ (), ) -DATETIME_OFFSETS_INPUT: StaticSchema = (18, n0, _DOI, {_sSI: _sU}) +DATETIME_OFFSETS_INPUT: StaticSchema = (18, n0, _DOI, {_sSI: _sU, _sm: None}) DATE_TIME: StaticSchema = (4, n1, _DT, {_sF: _dt}) -DATETIME_OFFSETS_OUTPUT: StaticSchema = (18, n0, _DOO, 0, (_d,), ((DATE_TIME, 0),)) +DATETIME_OFFSETS_OUTPUT: StaticSchema = ( + 18, + n0, + _DOO, + {_smi: None}, + (_d,), + ((DATE_TIME, 0),), +) DATETIME_OFFSETS: StaticOperationSchema = ( 23, @@ -249,9 +270,9 @@ DOCUMENT: StaticSchema = (13, n0, _D, 0) -EMPTY_OPERATION_INPUT: StaticSchema = (18, n0, _EOI, {_sSI: _sU}) +EMPTY_OPERATION_INPUT: StaticSchema = (18, n0, _EOI, {_sSI: _sU, _sm: None}) -EMPTY_OPERATION_OUTPUT: StaticSchema = (18, n0, _EOO, {_sSI: _sU}) +EMPTY_OPERATION_OUTPUT: StaticSchema = (18, n0, _EOO, {_sSI: _sU, _smi: None}) EMPTY_OPERATION: StaticOperationSchema = ( 23, @@ -265,15 +286,15 @@ EMPTY_STRUCT: StaticSchema = (18, n0, _ES, 0) -ENDPOINT_OPERATION_INPUT: StaticSchema = (18, n0, _EOIn, {_sSI: _sU}) +ENDPOINT_OPERATION_INPUT: StaticSchema = (18, n0, _EOIn, {_sSI: _sU, _sm: None}) -ENDPOINT_OPERATION_OUTPUT: StaticSchema = (18, n0, _EOOn, {_sSI: _sU}) +ENDPOINT_OPERATION_OUTPUT: StaticSchema = (18, n0, _EOOn, {_sSI: _sU, _smi: None}) ENDPOINT_OPERATION: StaticOperationSchema = ( 23, n0, _EOn, - {_sm: MappingProxyType({"hostPrefix": "foo."})}, + {_smit: MappingProxyType({"hostPrefix": "foo."})}, ENDPOINT_OPERATION_INPUT, ENDPOINT_OPERATION_OUTPUT, (), @@ -283,18 +304,23 @@ 18, n0, _EWHLOI, - {_sSI: _aHLI}, + {_sSI: _aHLI, _sm: None}, (_l,), ((3, 257),), ) -ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT: StaticSchema = (18, n0, _EWHLOO, {_sSI: _sU}) +ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT: StaticSchema = ( + 18, + n0, + _EWHLOO, + {_sSI: _sU, _smi: None}, +) ENDPOINT_WITH_HOST_LABEL_OPERATION: StaticOperationSchema = ( 23, n0, _EWHLO, - {_sm: MappingProxyType({"hostPrefix": "foo.{label}."})}, + {_smit: MappingProxyType({"hostPrefix": "foo.{label}."})}, ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT, ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT, (), @@ -361,9 +387,16 @@ FOO_ERROR: StaticSchema = (18, n0, _FE, {_s: _se}) -FRACTIONAL_SECONDS_INPUT: StaticSchema = (18, n0, _FSI, {_sSI: _sU}) +FRACTIONAL_SECONDS_INPUT: StaticSchema = (18, n0, _FSI, {_sSI: _sU, _sm: None}) -FRACTIONAL_SECONDS_OUTPUT: StaticSchema = (18, n0, _FSO, 0, (_d,), ((DATE_TIME, 0),)) +FRACTIONAL_SECONDS_OUTPUT: StaticSchema = ( + 18, + n0, + _FSO, + {_smi: None}, + (_d,), + ((DATE_TIME, 0),), +) FRACTIONAL_SECONDS: StaticOperationSchema = ( 23, @@ -375,9 +408,16 @@ (), ) -GREETING_WITH_ERRORS_INPUT: StaticSchema = (18, n0, _GWEI, {_sSI: _sU}) +GREETING_WITH_ERRORS_INPUT: StaticSchema = (18, n0, _GWEI, {_sSI: _sU, _sm: None}) -GREETING_WITH_ERRORS_OUTPUT: StaticSchema = (18, n0, _GWEO, 0, (_g,), ((3, 0),)) +GREETING_WITH_ERRORS_OUTPUT: StaticSchema = ( + 18, + n0, + _GWEO, + {_smi: None}, + (_g,), + ((3, 0),), +) INVALID_GREETING: StaticSchema = (18, n0, _IG, {_s: _c}, (_M,), ((3, 0),)) @@ -391,9 +431,14 @@ (INVALID_GREETING, COMPLEX_ERROR, FOO_ERROR), ) -HOST_WITH_PATH_OPERATION_INPUT: StaticSchema = (18, n0, _HWPOI, {_sSI: _sU}) +HOST_WITH_PATH_OPERATION_INPUT: StaticSchema = (18, n0, _HWPOI, {_sSI: _sU, _sm: None}) -HOST_WITH_PATH_OPERATION_OUTPUT: StaticSchema = (18, n0, _HWPOO, {_sSI: _sU}) +HOST_WITH_PATH_OPERATION_OUTPUT: StaticSchema = ( + 18, + n0, + _HWPOO, + {_sSI: _sU, _smi: None}, +) HOST_WITH_PATH_OPERATION: StaticOperationSchema = ( 23, @@ -411,7 +456,13 @@ _FEo, 0, (_FOO, _BAZ, _BAR, _ONE, _ZERO), - ((-1, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 0)), + ( + (-1, {_sV: _F}), + (-1, {_sV: _B}), + (-1, {_sV: _Ba}), + (-1, {_sV: _v_}), + (-1, {_sV: _v__}), + ), ) FOO_ENUM_LIST: StaticSchema = (16, n1, _FEL, 0, (_m,), ((FOO_ENUM, 0),)) @@ -424,7 +475,7 @@ 18, n0, _JEI, - {_sSI: _aJEIO}, + {_sSI: _aJEIO, _sm: None}, (_fE, _fEo, _fEoo, _fEL, _fES, _fEM), ( (FOO_ENUM, 0), @@ -440,7 +491,7 @@ 18, n0, _JEO, - {_sSI: _aJEIO}, + {_sSI: _aJEIO, _smi: None}, (_fE, _fEo, _fEoo, _fEL, _fES, _fEM), ( (FOO_ENUM, 0), @@ -462,7 +513,14 @@ (), ) -INTEGER_ENUM: StaticSchema = (15, n1, _IE, 0, (_A, _B, _C), ((-1, 0), (-1, 0), (-1, 0))) +INTEGER_ENUM: StaticSchema = ( + 15, + n1, + _IE, + 0, + (_A, _B_, _C), + ((-1, {_sV: 1}), (-1, {_sV: 2}), (-1, {_sV: 3})), +) INTEGER_ENUM_LIST: StaticSchema = (16, n1, _IEL, 0, (_m,), ((INTEGER_ENUM, 0),)) @@ -481,7 +539,7 @@ 18, n0, _JIEI, - {_sSI: _aJIEIO}, + {_sSI: _aJIEIO, _sm: None}, (_iE, _iEn, _iEnt, _iEL, _iES, _iEM), ( (INTEGER_ENUM, 0), @@ -497,7 +555,7 @@ 18, n0, _JIEO, - {_sSI: _aJIEIO}, + {_sSI: _aJIEIO, _smi: None}, (_iE, _iEn, _iEnt, _iEL, _iES, _iEM), ( (INTEGER_ENUM, 0), @@ -530,7 +588,7 @@ n0, _MU, 0, - (_sV, _bV, _nV, _bVl, _tV, _eV, _lV, _mV, _sVt), + (_sVt, _bV, _nV, _bVl, _tV, _eV, _lV, _mV, _sVtr), ( (3, 0), (2, 0), @@ -548,7 +606,7 @@ 18, n0, _JUI, - {_sSI: _aUIO}, + {_sSI: _aUIO, _sm: None}, (_co,), ((MY_UNION, 0),), ) @@ -557,7 +615,7 @@ 18, n0, _JUO, - {_sSI: _aUIO}, + {_sSI: _aUIO, _smi: None}, (_co,), ((MY_UNION, 0),), ) @@ -572,9 +630,23 @@ (), ) -NULL_OPERATION_INPUT: StaticSchema = (18, n0, _NOI, {_sSI: _aNOIO}, (_st,), ((3, 0),)) +NULL_OPERATION_INPUT: StaticSchema = ( + 18, + n0, + _NOI, + {_sSI: _aNOIO, _sm: None}, + (_st,), + ((3, 0),), +) -NULL_OPERATION_OUTPUT: StaticSchema = (18, n0, _NOO, {_sSI: _aNOIO}, (_st,), ((3, 0),)) +NULL_OPERATION_OUTPUT: StaticSchema = ( + 18, + n0, + _NOO, + {_sSI: _aNOIO, _smi: None}, + (_st,), + ((3, 0),), +) NULL_OPERATION: StaticOperationSchema = ( 23, @@ -590,7 +662,7 @@ 18, n0, _OWOIOI, - 0, + {_sm: None}, (_V,), ((3, 0),), ) @@ -599,7 +671,7 @@ 18, n0, _OWOIOO, - 0, + {_smi: None}, (_V,), ((3, 0),), ) @@ -618,7 +690,7 @@ 18, n0, _PAGIDI, - {_sSI: _aPAGIDIO}, + {_sSI: _aPAGIDIO, _sm: None}, (_iD,), ((DOCUMENT, 0),), ) @@ -627,7 +699,7 @@ 18, n0, _PAGIDO, - {_sSI: _aPAGIDIO}, + {_sSI: _aPAGIDIO, _smi: None}, (_iD,), ((DOCUMENT, 0),), ) @@ -646,12 +718,17 @@ 18, n0, _PWCEI, - 0, + {_sm: None}, (_e, _da), ((3, {_sH: _CE_}), (3, 0)), ) -PUT_WITH_CONTENT_ENCODING_OUTPUT: StaticSchema = (18, n0, _PWCEO, {_sSI: _sU}) +PUT_WITH_CONTENT_ENCODING_OUTPUT: StaticSchema = ( + 18, + n0, + _PWCEO, + {_sSI: _sU, _smi: None}, +) PUT_WITH_CONTENT_ENCODING: StaticOperationSchema = ( 23, @@ -667,7 +744,7 @@ 18, n0, _SSPI, - {_sSI: _aSSPIO}, + {_sSI: _aSSPIO, _sm: None}, (_fV, _dV), ((9, 0), (10, 0)), ) @@ -676,7 +753,7 @@ 18, n0, _SSPO, - {_sSI: _aSSPIO}, + {_sSI: _aSSPIO, _smi: None}, (_fV, _dV), ((9, 0), (10, 0)), ) @@ -699,7 +776,7 @@ 18, n0, _SNOI, - {_sSI: _aSNOIO}, + {_sSI: _aSNOIO, _sm: None}, (_sSL, _sSM), ((SPARSE_STRING_LIST, 0), (SPARSE_STRING_MAP, 0)), ) @@ -708,7 +785,7 @@ 18, n0, _SNOO, - {_sSI: _aSNOIO}, + {_sSI: _aSNOIO, _smi: None}, (_sSL, _sSM), ((SPARSE_STRING_LIST, 0), (SPARSE_STRING_MAP, 0)), ) @@ -818,7 +895,7 @@ 18, n0, _KSOI, - {_sSI: _aKS}, + {_sSI: _aKS, _sm: None}, ( _Bl, _Bo, @@ -881,7 +958,7 @@ 18, n0, _KSOO, - {_sSI: _aKS}, + {_sSI: _aKS, _smi: None}, ( _Bl, _Bo, diff --git a/codegen-output/aws-json-1-1/src/awsjson11/client.py b/codegen-output/aws-json-1-1/src/awsjson11/client.py index 897d043d3..e81bca09d 100644 --- a/codegen-output/aws-json-1-1/src/awsjson11/client.py +++ b/codegen-output/aws-json-1-1/src/awsjson11/client.py @@ -1,5 +1,7 @@ # Code generated by smithy-python-codegen DO NOT EDIT. +from __future__ import annotations + from copy import deepcopy import logging from typing import Any, cast @@ -18,62 +20,68 @@ from .config import AsyncJsonProtocolConfig, Plugin from .models import ( CONTENT_TYPE_PARAMETERS, - ContentTypeParametersInput, - ContentTypeParametersOutput, DATETIME_OFFSETS, - DatetimeOffsetsInput, - DatetimeOffsetsOutput, EMPTY_OPERATION, ENDPOINT_OPERATION, ENDPOINT_WITH_HOST_LABEL_OPERATION, - EmptyOperationInput, - EmptyOperationOutput, - EndpointOperationInput, - EndpointOperationOutput, - EndpointWithHostLabelOperationInput, - EndpointWithHostLabelOperationOutput, FRACTIONAL_SECONDS, - FractionalSecondsInput, - FractionalSecondsOutput, GREETING_WITH_ERRORS, - GreetingWithErrorsInput, - GreetingWithErrorsOutput, HOST_WITH_PATH_OPERATION, - HostWithPathOperationInput, - HostWithPathOperationOutput, JSON_ENUMS, JSON_INT_ENUMS, JSON_UNIONS, - JsonEnumsInput, - JsonEnumsOutput, - JsonIntEnumsInput, - JsonIntEnumsOutput, - JsonUnionsInput, - JsonUnionsOutput, KITCHEN_SINK_OPERATION, - KitchenSinkOperationInput, - KitchenSinkOperationOutput, NULL_OPERATION, - NullOperationInput, - NullOperationOutput, OPERATION_WITH_OPTIONAL_INPUT_OUTPUT, - OperationWithOptionalInputOutputInput, - OperationWithOptionalInputOutputOutput, PUT_AND_GET_INLINE_DOCUMENTS, PUT_WITH_CONTENT_ENCODING, - PutAndGetInlineDocumentsInput, - PutAndGetInlineDocumentsOutput, - PutWithContentEncodingInput, - PutWithContentEncodingOutput, SIMPLE_SCALAR_PROPERTIES, SPARSE_NULLS_OPERATION, - SimpleScalarPropertiesInput, - SimpleScalarPropertiesOutput, - SparseNullsOperationInput, - SparseNullsOperationOutput, ) from .user_agent import aws_user_agent_plugin +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from .models import ( + ContentTypeParametersInput, + ContentTypeParametersOutput, + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + EmptyOperationInput, + EmptyOperationOutput, + EndpointOperationInput, + EndpointOperationOutput, + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HostWithPathOperationInput, + HostWithPathOperationOutput, + JsonEnumsInput, + JsonEnumsOutput, + JsonIntEnumsInput, + JsonIntEnumsOutput, + JsonUnionsInput, + JsonUnionsOutput, + KitchenSinkOperationInput, + KitchenSinkOperationOutput, + NullOperationInput, + NullOperationOutput, + OperationWithOptionalInputOutputInput, + OperationWithOptionalInputOutputOutput, + PutAndGetInlineDocumentsInput, + PutAndGetInlineDocumentsOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + SparseNullsOperationInput, + SparseNullsOperationOutput, + ) + logger = logging.getLogger(__name__) diff --git a/codegen-output/aws-json-1-1/src/awsjson11/config.py b/codegen-output/aws-json-1-1/src/awsjson11/config.py index bbbeb3e1e..7a8e0b041 100644 --- a/codegen-output/aws-json-1-1/src/awsjson11/config.py +++ b/codegen-output/aws-json-1-1/src/awsjson11/config.py @@ -1,7 +1,16 @@ # Code generated by smithy-python-codegen DO NOT EDIT. from dataclasses import dataclass, field -from typing import Any, Callable, ClassVar, Self, TypeAlias, Union, Unpack +from typing import ( + Any, + Callable, + ClassVar, + Self, + TYPE_CHECKING, + TypeAlias, + Union, + Unpack, +) from smithy_aws_core.aio.protocols import AwsJson11ClientProtocol from smithy_aws_core.auth import SigV4AuthScheme @@ -21,84 +30,93 @@ ) from smithy_core.aio.interfaces.auth import AuthScheme from smithy_core.aio.interfaces.identity import IdentityResolver -from smithy_core.interceptors import Interceptor from smithy_core.interfaces.auth import AuthSchemeResolver from smithy_core.shapes import ShapeID from smithy_http.aio.aiohttp import AIOHTTPClient from .auth import HTTPAuthSchemeResolver -from .models import ( - ContentTypeParametersInput, - ContentTypeParametersOutput, - DatetimeOffsetsInput, - DatetimeOffsetsOutput, - EmptyOperationInput, - EmptyOperationOutput, - EndpointOperationInput, - EndpointOperationOutput, - EndpointWithHostLabelOperationInput, - EndpointWithHostLabelOperationOutput, - FractionalSecondsInput, - FractionalSecondsOutput, - GreetingWithErrorsInput, - GreetingWithErrorsOutput, - HostWithPathOperationInput, - HostWithPathOperationOutput, - JsonEnumsInput, - JsonEnumsOutput, - JsonIntEnumsInput, - JsonIntEnumsOutput, - JsonUnionsInput, - JsonUnionsOutput, - KitchenSinkOperationInput, - KitchenSinkOperationOutput, - NullOperationInput, - NullOperationOutput, - OperationWithOptionalInputOutputInput, - OperationWithOptionalInputOutputOutput, - PutAndGetInlineDocumentsInput, - PutAndGetInlineDocumentsOutput, - PutWithContentEncodingInput, - PutWithContentEncodingOutput, - SimpleScalarPropertiesInput, - SimpleScalarPropertiesOutput, - SparseNullsOperationInput, - SparseNullsOperationOutput, -) -_ServiceInterceptor = Union[ - Interceptor[ContentTypeParametersInput, ContentTypeParametersOutput, Any, Any], - Interceptor[DatetimeOffsetsInput, DatetimeOffsetsOutput, Any, Any], - Interceptor[EmptyOperationInput, EmptyOperationOutput, Any, Any], - Interceptor[EndpointOperationInput, EndpointOperationOutput, Any, Any], - Interceptor[ +if TYPE_CHECKING: + from smithy_core.interceptors import Interceptor + from .models import ( + ContentTypeParametersInput, + ContentTypeParametersOutput, + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + EmptyOperationInput, + EmptyOperationOutput, + EndpointOperationInput, + EndpointOperationOutput, EndpointWithHostLabelOperationInput, EndpointWithHostLabelOperationOutput, - Any, - Any, - ], - Interceptor[FractionalSecondsInput, FractionalSecondsOutput, Any, Any], - Interceptor[GreetingWithErrorsInput, GreetingWithErrorsOutput, Any, Any], - Interceptor[HostWithPathOperationInput, HostWithPathOperationOutput, Any, Any], - Interceptor[JsonEnumsInput, JsonEnumsOutput, Any, Any], - Interceptor[JsonIntEnumsInput, JsonIntEnumsOutput, Any, Any], - Interceptor[JsonUnionsInput, JsonUnionsOutput, Any, Any], - Interceptor[KitchenSinkOperationInput, KitchenSinkOperationOutput, Any, Any], - Interceptor[NullOperationInput, NullOperationOutput, Any, Any], - Interceptor[ + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HostWithPathOperationInput, + HostWithPathOperationOutput, + JsonEnumsInput, + JsonEnumsOutput, + JsonIntEnumsInput, + JsonIntEnumsOutput, + JsonUnionsInput, + JsonUnionsOutput, + KitchenSinkOperationInput, + KitchenSinkOperationOutput, + NullOperationInput, + NullOperationOutput, OperationWithOptionalInputOutputInput, OperationWithOptionalInputOutputOutput, - Any, - Any, - ], - Interceptor[ - PutAndGetInlineDocumentsInput, PutAndGetInlineDocumentsOutput, Any, Any - ], - Interceptor[PutWithContentEncodingInput, PutWithContentEncodingOutput, Any, Any], - Interceptor[SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput, Any, Any], - Interceptor[SparseNullsOperationInput, SparseNullsOperationOutput, Any, Any], -] + PutAndGetInlineDocumentsInput, + PutAndGetInlineDocumentsOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + SparseNullsOperationInput, + SparseNullsOperationOutput, + ) + + _ServiceInterceptor = Union[ + Interceptor[ContentTypeParametersInput, ContentTypeParametersOutput, Any, Any], + Interceptor[DatetimeOffsetsInput, DatetimeOffsetsOutput, Any, Any], + Interceptor[EmptyOperationInput, EmptyOperationOutput, Any, Any], + Interceptor[EndpointOperationInput, EndpointOperationOutput, Any, Any], + Interceptor[ + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + Any, + Any, + ], + Interceptor[FractionalSecondsInput, FractionalSecondsOutput, Any, Any], + Interceptor[GreetingWithErrorsInput, GreetingWithErrorsOutput, Any, Any], + Interceptor[HostWithPathOperationInput, HostWithPathOperationOutput, Any, Any], + Interceptor[JsonEnumsInput, JsonEnumsOutput, Any, Any], + Interceptor[JsonIntEnumsInput, JsonIntEnumsOutput, Any, Any], + Interceptor[JsonUnionsInput, JsonUnionsOutput, Any, Any], + Interceptor[KitchenSinkOperationInput, KitchenSinkOperationOutput, Any, Any], + Interceptor[NullOperationInput, NullOperationOutput, Any, Any], + Interceptor[ + OperationWithOptionalInputOutputInput, + OperationWithOptionalInputOutputOutput, + Any, + Any, + ], + Interceptor[ + PutAndGetInlineDocumentsInput, PutAndGetInlineDocumentsOutput, Any, Any + ], + Interceptor[ + PutWithContentEncodingInput, PutWithContentEncodingOutput, Any, Any + ], + Interceptor[ + SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput, Any, Any + ], + Interceptor[SparseNullsOperationInput, SparseNullsOperationOutput, Any, Any], + ] +else: + _ServiceInterceptor = Any + _PROTOCOL_SETTINGS = ProtocolSettings( namespace="aws.protocoltests.json", service_target="JsonProtocol" ) diff --git a/codegen-output/aws-json-1-1/src/awsjson11/models.py b/codegen-output/aws-json-1-1/src/awsjson11/models.py index 32603ef9c..4e91aa536 100644 --- a/codegen-output/aws-json-1-1/src/awsjson11/models.py +++ b/codegen-output/aws-json-1-1/src/awsjson11/models.py @@ -1,94 +1,33 @@ # Code generated by smithy-python-codegen DO NOT EDIT. -from dataclasses import dataclass, field -from datetime import datetime -from enum import IntEnum, StrEnum -import logging -from typing import Any, Literal, Self, Union - -from smithy_core._schema_compact import hydrate -from smithy_core.deserializers import ShapeDeserializer -from smithy_core.documents import Document, TypeRegistry -from smithy_core.exceptions import ModeledError, SerializationError -from smithy_core.response import EMPTY_RESPONSE_METADATA, ResponseMetadata -from smithy_core.schemas import APIOperation, Schema -from smithy_core.serializers import ShapeSerializer +from ._private import schemas as _schemas +from smithy_core._dynamic_models import ModelRegistry +from smithy_core.exceptions import ModeledError +from smithy_core.schemas import APIOperation from smithy_core.shapes import ShapeID -from smithy_core.types import JsonString, UnknownEnumMixin from ._private.schemas import ( - COMPLEX_ERROR as _SCHEMA_COMPLEX_ERROR, - COMPLEX_NESTED_ERROR_DATA as _SCHEMA_COMPLEX_NESTED_ERROR_DATA, CONTENT_TYPE_PARAMETERS as _SCHEMA_CONTENT_TYPE_PARAMETERS, - CONTENT_TYPE_PARAMETERS_INPUT as _SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT, - CONTENT_TYPE_PARAMETERS_OUTPUT as _SCHEMA_CONTENT_TYPE_PARAMETERS_OUTPUT, DATETIME_OFFSETS as _SCHEMA_DATETIME_OFFSETS, - DATETIME_OFFSETS_INPUT as _SCHEMA_DATETIME_OFFSETS_INPUT, - DATETIME_OFFSETS_OUTPUT as _SCHEMA_DATETIME_OFFSETS_OUTPUT, EMPTY_OPERATION as _SCHEMA_EMPTY_OPERATION, - EMPTY_OPERATION_INPUT as _SCHEMA_EMPTY_OPERATION_INPUT, - EMPTY_OPERATION_OUTPUT as _SCHEMA_EMPTY_OPERATION_OUTPUT, - EMPTY_STRUCT as _SCHEMA_EMPTY_STRUCT, ENDPOINT_OPERATION as _SCHEMA_ENDPOINT_OPERATION, - ENDPOINT_OPERATION_INPUT as _SCHEMA_ENDPOINT_OPERATION_INPUT, - ENDPOINT_OPERATION_OUTPUT as _SCHEMA_ENDPOINT_OPERATION_OUTPUT, ENDPOINT_WITH_HOST_LABEL_OPERATION as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, - ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT, - ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT, - ERROR_WITHOUT_MEMBERS as _SCHEMA_ERROR_WITHOUT_MEMBERS, - ERROR_WITH_MEMBERS as _SCHEMA_ERROR_WITH_MEMBERS, - FOO_ERROR as _SCHEMA_FOO_ERROR, FRACTIONAL_SECONDS as _SCHEMA_FRACTIONAL_SECONDS, - FRACTIONAL_SECONDS_INPUT as _SCHEMA_FRACTIONAL_SECONDS_INPUT, - FRACTIONAL_SECONDS_OUTPUT as _SCHEMA_FRACTIONAL_SECONDS_OUTPUT, - GREETING_STRUCT as _SCHEMA_GREETING_STRUCT, GREETING_WITH_ERRORS as _SCHEMA_GREETING_WITH_ERRORS, - GREETING_WITH_ERRORS_INPUT as _SCHEMA_GREETING_WITH_ERRORS_INPUT, - GREETING_WITH_ERRORS_OUTPUT as _SCHEMA_GREETING_WITH_ERRORS_OUTPUT, HOST_WITH_PATH_OPERATION as _SCHEMA_HOST_WITH_PATH_OPERATION, - HOST_WITH_PATH_OPERATION_INPUT as _SCHEMA_HOST_WITH_PATH_OPERATION_INPUT, - HOST_WITH_PATH_OPERATION_OUTPUT as _SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT, - INVALID_GREETING as _SCHEMA_INVALID_GREETING, JSON_ENUMS as _SCHEMA_JSON_ENUMS, - JSON_ENUMS_INPUT as _SCHEMA_JSON_ENUMS_INPUT, - JSON_ENUMS_OUTPUT as _SCHEMA_JSON_ENUMS_OUTPUT, JSON_INT_ENUMS as _SCHEMA_JSON_INT_ENUMS, - JSON_INT_ENUMS_INPUT as _SCHEMA_JSON_INT_ENUMS_INPUT, - JSON_INT_ENUMS_OUTPUT as _SCHEMA_JSON_INT_ENUMS_OUTPUT, JSON_UNIONS as _SCHEMA_JSON_UNIONS, - JSON_UNIONS_INPUT as _SCHEMA_JSON_UNIONS_INPUT, - JSON_UNIONS_OUTPUT as _SCHEMA_JSON_UNIONS_OUTPUT, - KITCHEN_SINK as _SCHEMA_KITCHEN_SINK, KITCHEN_SINK_OPERATION as _SCHEMA_KITCHEN_SINK_OPERATION, - KITCHEN_SINK_OPERATION_INPUT as _SCHEMA_KITCHEN_SINK_OPERATION_INPUT, - KITCHEN_SINK_OPERATION_OUTPUT as _SCHEMA_KITCHEN_SINK_OPERATION_OUTPUT, - MY_UNION as _SCHEMA_MY_UNION, NULL_OPERATION as _SCHEMA_NULL_OPERATION, - NULL_OPERATION_INPUT as _SCHEMA_NULL_OPERATION_INPUT, - NULL_OPERATION_OUTPUT as _SCHEMA_NULL_OPERATION_OUTPUT, OPERATION_WITH_OPTIONAL_INPUT_OUTPUT as _SCHEMA_OPERATION_WITH_OPTIONAL_INPUT_OUTPUT, - OPERATION_WITH_OPTIONAL_INPUT_OUTPUT_INPUT as _SCHEMA_OPERATION_WITH_OPTIONAL_INPUT_OUTPUT_INPUT, - OPERATION_WITH_OPTIONAL_INPUT_OUTPUT_OUTPUT as _SCHEMA_OPERATION_WITH_OPTIONAL_INPUT_OUTPUT_OUTPUT, PUT_AND_GET_INLINE_DOCUMENTS as _SCHEMA_PUT_AND_GET_INLINE_DOCUMENTS, - PUT_AND_GET_INLINE_DOCUMENTS_INPUT as _SCHEMA_PUT_AND_GET_INLINE_DOCUMENTS_INPUT, - PUT_AND_GET_INLINE_DOCUMENTS_OUTPUT as _SCHEMA_PUT_AND_GET_INLINE_DOCUMENTS_OUTPUT, PUT_WITH_CONTENT_ENCODING as _SCHEMA_PUT_WITH_CONTENT_ENCODING, - PUT_WITH_CONTENT_ENCODING_INPUT as _SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT, - PUT_WITH_CONTENT_ENCODING_OUTPUT as _SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT, SIMPLE_SCALAR_PROPERTIES as _SCHEMA_SIMPLE_SCALAR_PROPERTIES, - SIMPLE_SCALAR_PROPERTIES_INPUT as _SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT, - SIMPLE_SCALAR_PROPERTIES_OUTPUT as _SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT, - SIMPLE_STRUCT as _SCHEMA_SIMPLE_STRUCT, SPARSE_NULLS_OPERATION as _SCHEMA_SPARSE_NULLS_OPERATION, - SPARSE_NULLS_OPERATION_INPUT as _SCHEMA_SPARSE_NULLS_OPERATION_INPUT, - SPARSE_NULLS_OPERATION_OUTPUT as _SCHEMA_SPARSE_NULLS_OPERATION_OUTPUT, - STRUCT_WITH_JSON_NAME as _SCHEMA_STRUCT_WITH_JSON_NAME, ) -logger = logging.getLogger(__name__) - - class ServiceError(ModeledError): """ Base error for all errors in the service. @@ -98,3703 +37,262 @@ class ServiceError(ModeledError): """ -@dataclass(kw_only=True) -class ComplexNestedErrorData: - """Dataclass for ComplexNestedErrorData structure.""" - - foo: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ComplexError(ServiceError): - """This error is thrown when a request is invalid.""" - - fault: Literal["client", "server"] | None = "client" - - top_level: str | None = None - - nested: ComplexNestedErrorData | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_COMPLEX_ERROR), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_COMPLEX_ERROR).members_by_index - if self.top_level is not None: - serializer.write_string(members[0], self.top_level) - - if self.nested is not None: - serializer.write_struct(members[1], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_COMPLEX_ERROR) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["top_level"] = de.read_string(members[0]) - - case 1: - kwargs["nested"] = ComplexNestedErrorData.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ContentTypeParametersInput: - """Dataclass for ContentTypeParametersInput structure.""" - - value: int | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT).members_by_index - if self.value is not None: - serializer.write_integer(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["value"] = de.read_integer(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ContentTypeParametersOutput: - """Dataclass for ContentTypeParametersOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_OUTPUT) +_registry = ModelRegistry( + _schemas, + renames={}, + index={ + "ComplexError": "COMPLEX_ERROR", + "ComplexNestedErrorData": "COMPLEX_NESTED_ERROR_DATA", + "ContentTypeParametersInput": "CONTENT_TYPE_PARAMETERS_INPUT", + "ContentTypeParametersOutput": "CONTENT_TYPE_PARAMETERS_OUTPUT", + "DatetimeOffsetsInput": "DATETIME_OFFSETS_INPUT", + "DatetimeOffsetsOutput": "DATETIME_OFFSETS_OUTPUT", + "EmptyOperationInput": "EMPTY_OPERATION_INPUT", + "EmptyOperationOutput": "EMPTY_OPERATION_OUTPUT", + "EmptyStruct": "EMPTY_STRUCT", + "EndpointOperationInput": "ENDPOINT_OPERATION_INPUT", + "EndpointOperationOutput": "ENDPOINT_OPERATION_OUTPUT", + "EndpointWithHostLabelOperationInput": "ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT", + "EndpointWithHostLabelOperationOutput": "ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT", + "ErrorWithMembers": "ERROR_WITH_MEMBERS", + "ErrorWithoutMembers": "ERROR_WITHOUT_MEMBERS", + "FooError": "FOO_ERROR", + "FractionalSecondsInput": "FRACTIONAL_SECONDS_INPUT", + "FractionalSecondsOutput": "FRACTIONAL_SECONDS_OUTPUT", + "GreetingWithErrorsInput": "GREETING_WITH_ERRORS_INPUT", + "GreetingWithErrorsOutput": "GREETING_WITH_ERRORS_OUTPUT", + "HostWithPathOperationInput": "HOST_WITH_PATH_OPERATION_INPUT", + "HostWithPathOperationOutput": "HOST_WITH_PATH_OPERATION_OUTPUT", + "InvalidGreeting": "INVALID_GREETING", + "JsonEnumsInput": "JSON_ENUMS_INPUT", + "JsonEnumsOutput": "JSON_ENUMS_OUTPUT", + "JsonIntEnumsInput": "JSON_INT_ENUMS_INPUT", + "JsonIntEnumsOutput": "JSON_INT_ENUMS_OUTPUT", + "JsonUnionsInput": "JSON_UNIONS_INPUT", + "JsonUnionsOutput": "JSON_UNIONS_OUTPUT", + "KitchenSink": "KITCHEN_SINK", + "KitchenSinkOperationInput": "KITCHEN_SINK_OPERATION_INPUT", + "KitchenSinkOperationOutput": "KITCHEN_SINK_OPERATION_OUTPUT", + "MyUnion": "MY_UNION", + "MyUnionStringValue": "MY_UNION", + "MyUnionBooleanValue": "MY_UNION", + "MyUnionNumberValue": "MY_UNION", + "MyUnionBlobValue": "MY_UNION", + "MyUnionTimestampValue": "MY_UNION", + "MyUnionEnumValue": "MY_UNION", + "MyUnionListValue": "MY_UNION", + "MyUnionMapValue": "MY_UNION", + "MyUnionStructureValue": "MY_UNION", + "MyUnionUnknown": "MY_UNION", + "NullOperationInput": "NULL_OPERATION_INPUT", + "NullOperationOutput": "NULL_OPERATION_OUTPUT", + "OperationWithOptionalInputOutputInput": "OPERATION_WITH_OPTIONAL_INPUT_OUTPUT_INPUT", + "OperationWithOptionalInputOutputOutput": "OPERATION_WITH_OPTIONAL_INPUT_OUTPUT_OUTPUT", + "PutAndGetInlineDocumentsInput": "PUT_AND_GET_INLINE_DOCUMENTS_INPUT", + "PutAndGetInlineDocumentsOutput": "PUT_AND_GET_INLINE_DOCUMENTS_OUTPUT", + "PutWithContentEncodingInput": "PUT_WITH_CONTENT_ENCODING_INPUT", + "PutWithContentEncodingOutput": "PUT_WITH_CONTENT_ENCODING_OUTPUT", + "SimpleScalarPropertiesInput": "SIMPLE_SCALAR_PROPERTIES_INPUT", + "SimpleScalarPropertiesOutput": "SIMPLE_SCALAR_PROPERTIES_OUTPUT", + "SimpleStruct": "SIMPLE_STRUCT", + "SparseNullsOperationInput": "SPARSE_NULLS_OPERATION_INPUT", + "SparseNullsOperationOutput": "SPARSE_NULLS_OPERATION_OUTPUT", + "StructWithJsonName": "STRUCT_WITH_JSON_NAME", + "FooEnum": "FOO_ENUM", + "GreetingStruct": "GREETING_STRUCT", + "IntegerEnum": "INTEGER_ENUM", + }, + shape_names=frozenset( + { + "ComplexError", + "ComplexNestedErrorData", + "ContentTypeParametersInput", + "ContentTypeParametersOutput", + "DatetimeOffsetsInput", + "DatetimeOffsetsOutput", + "EmptyOperationInput", + "EmptyOperationOutput", + "EmptyStruct", + "EndpointOperationInput", + "EndpointOperationOutput", + "EndpointWithHostLabelOperationInput", + "EndpointWithHostLabelOperationOutput", + "ErrorWithMembers", + "ErrorWithoutMembers", + "FooEnum", + "FooError", + "FractionalSecondsInput", + "FractionalSecondsOutput", + "GreetingStruct", + "GreetingWithErrorsInput", + "GreetingWithErrorsOutput", + "HostWithPathOperationInput", + "HostWithPathOperationOutput", + "IntegerEnum", + "InvalidGreeting", + "JsonEnumsInput", + "JsonEnumsOutput", + "JsonIntEnumsInput", + "JsonIntEnumsOutput", + "JsonUnionsInput", + "JsonUnionsOutput", + "KitchenSink", + "KitchenSinkOperationInput", + "KitchenSinkOperationOutput", + "MyUnion", + "NullOperationInput", + "NullOperationOutput", + "OperationWithOptionalInputOutputInput", + "OperationWithOptionalInputOutputOutput", + "PutAndGetInlineDocumentsInput", + "PutAndGetInlineDocumentsOutput", + "PutWithContentEncodingInput", + "PutWithContentEncodingOutput", + "SimpleScalarPropertiesInput", + "SimpleScalarPropertiesOutput", + "SimpleStruct", + "SparseNullsOperationInput", + "SparseNullsOperationOutput", + "StructWithJsonName", + } + ), + service_error="ServiceError", +) - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +def __getattr__(name: str): + return _registry.build(name) CONTENT_TYPE_PARAMETERS = APIOperation( - input=ContentTypeParametersInput, - output=ContentTypeParametersOutput, static_schema=_SCHEMA_CONTENT_TYPE_PARAMETERS, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class DatetimeOffsetsInput: - """Dataclass for DatetimeOffsetsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DATETIME_OFFSETS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DATETIME_OFFSETS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class DatetimeOffsetsOutput: - """Dataclass for DatetimeOffsetsOutput structure.""" - - datetime_: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT).members_by_index - if self.datetime_ is not None: - serializer.write_timestamp(members[0], self.datetime_) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["datetime_"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - DATETIME_OFFSETS = APIOperation( - input=DatetimeOffsetsInput, - output=DatetimeOffsetsOutput, static_schema=_SCHEMA_DATETIME_OFFSETS, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class EmptyOperationInput: - """Dataclass for EmptyOperationInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_EMPTY_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_OPERATION_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EmptyOperationOutput: - """Dataclass for EmptyOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_EMPTY_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - EMPTY_OPERATION = APIOperation( - input=EmptyOperationInput, - output=EmptyOperationOutput, static_schema=_SCHEMA_EMPTY_OPERATION, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class EmptyStruct: - """Dataclass for EmptyStruct structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_EMPTY_STRUCT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_STRUCT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EndpointOperationInput: - """Dataclass for EndpointOperationInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ENDPOINT_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_OPERATION_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EndpointOperationOutput: - """Dataclass for EndpointOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ENDPOINT_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - ENDPOINT_OPERATION = APIOperation( - input=EndpointOperationInput, - output=EndpointOperationOutput, static_schema=_SCHEMA_ENDPOINT_OPERATION, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class EndpointWithHostLabelOperationInput: - """Dataclass for EndpointWithHostLabelOperationInput structure.""" - - label: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT - ).members_by_index - if self.label is not None: - serializer.write_string(members[0], self.label) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["label"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EndpointWithHostLabelOperationOutput: - """Dataclass for EndpointWithHostLabelOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - ENDPOINT_WITH_HOST_LABEL_OPERATION = APIOperation( - input=EndpointWithHostLabelOperationInput, - output=EndpointWithHostLabelOperationOutput, static_schema=_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) +FRACTIONAL_SECONDS = APIOperation( + static_schema=_SCHEMA_FRACTIONAL_SECONDS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_list_of_strings( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_list_of_strings( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_list_of_list_of_strings( - serializer: ShapeSerializer, schema: Schema, value: list[list[str]] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - _serialize_list_of_strings(ls, member_schema, e) - - -def _deserialize_list_of_list_of_strings( - deserializer: ShapeDeserializer, schema: Schema -) -> list[list[str]]: - result: list[list[str]] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(_deserialize_list_of_strings(d, member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_map_of_strings( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_map_of_strings( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_list_of_maps_of_strings( - serializer: ShapeSerializer, schema: Schema, value: list[dict[str, str]] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - _serialize_map_of_strings(ls, member_schema, e) - - -def _deserialize_list_of_maps_of_strings( - deserializer: ShapeDeserializer, schema: Schema -) -> list[dict[str, str]]: - result: list[dict[str, str]] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(_deserialize_map_of_strings(d, member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class SimpleStruct: - """Dataclass for SimpleStruct structure.""" - - value: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_STRUCT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_STRUCT).members_by_index - if self.value is not None: - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_STRUCT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["value"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_list_of_structs( - serializer: ShapeSerializer, schema: Schema, value: list[SimpleStruct] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_struct(member_schema, e) - - -def _deserialize_list_of_structs( - deserializer: ShapeDeserializer, schema: Schema -) -> list[SimpleStruct]: - result: list[SimpleStruct] = [] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(SimpleStruct.deserialize(d)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_map_of_lists_of_strings( - serializer: ShapeSerializer, schema: Schema, value: dict[str, list[str]] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: _serialize_list_of_strings(vs, value_schema, v)) - - -def _deserialize_map_of_lists_of_strings( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, list[str]]: - result: dict[str, list[str]] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = _deserialize_list_of_strings(d, value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_map_of_map_of_strings( - serializer: ShapeSerializer, schema: Schema, value: dict[str, dict[str, str]] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: _serialize_map_of_strings(vs, value_schema, v)) - - -def _deserialize_map_of_map_of_strings( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, dict[str, str]]: - result: dict[str, dict[str, str]] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = _deserialize_map_of_strings(d, value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_map_of_structs( - serializer: ShapeSerializer, schema: Schema, value: dict[str, SimpleStruct] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_struct(value_schema, v)) - - -def _deserialize_map_of_structs( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, SimpleStruct]: - result: dict[str, SimpleStruct] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = SimpleStruct.deserialize(d) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class StructWithJsonName: - """Dataclass for StructWithJsonName structure.""" - - value: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_STRUCT_WITH_JSON_NAME), self) +GREETING_WITH_ERRORS = APIOperation( + static_schema=_SCHEMA_GREETING_WITH_ERRORS, + model_registry=_registry, + error_ids=[ + ShapeID("aws.protocoltests.json#InvalidGreeting"), + ShapeID("aws.protocoltests.json#ComplexError"), + ShapeID("aws.protocoltests.json#FooError"), + ], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_STRUCT_WITH_JSON_NAME).members_by_index - if self.value is not None: - serializer.write_string(members[0], self.value) +HOST_WITH_PATH_OPERATION = APIOperation( + static_schema=_SCHEMA_HOST_WITH_PATH_OPERATION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) +JSON_ENUMS = APIOperation( + static_schema=_SCHEMA_JSON_ENUMS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STRUCT_WITH_JSON_NAME) - members = schema.members_by_index +JSON_INT_ENUMS = APIOperation( + static_schema=_SCHEMA_JSON_INT_ENUMS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["value"] = de.read_string(members[0]) +JSON_UNIONS = APIOperation( + static_schema=_SCHEMA_JSON_UNIONS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case _: - logger.debug("Unexpected member schema: %s", member_schema) +NULL_OPERATION = APIOperation( + static_schema=_SCHEMA_NULL_OPERATION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +OPERATION_WITH_OPTIONAL_INPUT_OUTPUT = APIOperation( + static_schema=_SCHEMA_OPERATION_WITH_OPTIONAL_INPUT_OUTPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +PUT_AND_GET_INLINE_DOCUMENTS = APIOperation( + static_schema=_SCHEMA_PUT_AND_GET_INLINE_DOCUMENTS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -@dataclass(kw_only=True) -class ErrorWithoutMembers(ServiceError): - """Dataclass for ErrorWithoutMembers structure.""" +PUT_WITH_CONTENT_ENCODING = APIOperation( + static_schema=_SCHEMA_PUT_WITH_CONTENT_ENCODING, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - fault: Literal["client", "server"] | None = "server" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ERROR_WITHOUT_MEMBERS), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ERROR_WITHOUT_MEMBERS) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class FooError(ServiceError): - """ - This error has test cases that test some of the dark corners of Amazon - service framework history. It should only be implemented by clients. - """ - - fault: Literal["client", "server"] | None = "server" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FOO_ERROR), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FOO_ERROR) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class FractionalSecondsInput: - """Dataclass for FractionalSecondsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FRACTIONAL_SECONDS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FRACTIONAL_SECONDS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class FractionalSecondsOutput: - """Dataclass for FractionalSecondsOutput structure.""" - - datetime_: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT).members_by_index - if self.datetime_ is not None: - serializer.write_timestamp(members[0], self.datetime_) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["datetime_"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -FRACTIONAL_SECONDS = APIOperation( - input=FractionalSecondsInput, - output=FractionalSecondsOutput, - static_schema=_SCHEMA_FRACTIONAL_SECONDS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class GreetingWithErrorsInput: - """Dataclass for GreetingWithErrorsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class GreetingWithErrorsOutput: - """Dataclass for GreetingWithErrorsOutput structure.""" - - greeting: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT).members_by_index - if self.greeting is not None: - serializer.write_string(members[0], self.greeting) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["greeting"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class InvalidGreeting(ServiceError): - """This error is thrown when an invalid greeting value is provided.""" - - fault: Literal["client", "server"] | None = "client" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_INVALID_GREETING), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_INVALID_GREETING).members_by_index - if self.message is not None: - serializer.write_string(members[0], self.message) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INVALID_GREETING) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["message"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -GREETING_WITH_ERRORS = APIOperation( - input=GreetingWithErrorsInput, - output=GreetingWithErrorsOutput, - static_schema=_SCHEMA_GREETING_WITH_ERRORS, - error_registry=TypeRegistry( - { - ShapeID("aws.protocoltests.json#InvalidGreeting"): InvalidGreeting, - ShapeID("aws.protocoltests.json#ComplexError"): ComplexError, - ShapeID("aws.protocoltests.json#FooError"): FooError, - } - ), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HostWithPathOperationInput: - """Dataclass for HostWithPathOperationInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HostWithPathOperationOutput: - """Dataclass for HostWithPathOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HOST_WITH_PATH_OPERATION = APIOperation( - input=HostWithPathOperationInput, - output=HostWithPathOperationOutput, - static_schema=_SCHEMA_HOST_WITH_PATH_OPERATION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -class FooEnum(UnknownEnumMixin, StrEnum): - FOO = "Foo" - BAZ = "Baz" - BAR = "Bar" - ONE = "1" - ZERO = "0" - - -def _serialize_foo_enum_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_foo_enum_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(FooEnum(d.read_string(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_foo_enum_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_foo_enum_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = FooEnum(d.read_string(value_schema)) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_foo_enum_set( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_foo_enum_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(FooEnum(d.read_string(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class JsonEnumsInput: - """Dataclass for JsonEnumsInput structure.""" - - foo_enum1: str | None = None - - foo_enum2: str | None = None - - foo_enum3: str | None = None - - foo_enum_list: list[str] | None = None - - foo_enum_set: list[str] | None = None - - foo_enum_map: dict[str, str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_ENUMS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_ENUMS_INPUT).members_by_index - if self.foo_enum1 is not None: - serializer.write_string(members[0], self.foo_enum1) - - if self.foo_enum2 is not None: - serializer.write_string(members[1], self.foo_enum2) - - if self.foo_enum3 is not None: - serializer.write_string(members[2], self.foo_enum3) - - if self.foo_enum_list is not None: - _serialize_foo_enum_list(serializer, members[3], self.foo_enum_list) - - if self.foo_enum_set is not None: - _serialize_foo_enum_set(serializer, members[4], self.foo_enum_set) - - if self.foo_enum_map is not None: - _serialize_foo_enum_map(serializer, members[5], self.foo_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_ENUMS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo_enum1"] = FooEnum(de.read_string(members[0])) - - case 1: - kwargs["foo_enum2"] = FooEnum(de.read_string(members[1])) - - case 2: - kwargs["foo_enum3"] = FooEnum(de.read_string(members[2])) - - case 3: - kwargs["foo_enum_list"] = _deserialize_foo_enum_list(de, members[3]) - - case 4: - kwargs["foo_enum_set"] = _deserialize_foo_enum_set(de, members[4]) - - case 5: - kwargs["foo_enum_map"] = _deserialize_foo_enum_map(de, members[5]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class JsonEnumsOutput: - """Dataclass for JsonEnumsOutput structure.""" - - foo_enum1: str | None = None - - foo_enum2: str | None = None - - foo_enum3: str | None = None - - foo_enum_list: list[str] | None = None - - foo_enum_set: list[str] | None = None - - foo_enum_map: dict[str, str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_ENUMS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_ENUMS_OUTPUT).members_by_index - if self.foo_enum1 is not None: - serializer.write_string(members[0], self.foo_enum1) - - if self.foo_enum2 is not None: - serializer.write_string(members[1], self.foo_enum2) - - if self.foo_enum3 is not None: - serializer.write_string(members[2], self.foo_enum3) - - if self.foo_enum_list is not None: - _serialize_foo_enum_list(serializer, members[3], self.foo_enum_list) - - if self.foo_enum_set is not None: - _serialize_foo_enum_set(serializer, members[4], self.foo_enum_set) - - if self.foo_enum_map is not None: - _serialize_foo_enum_map(serializer, members[5], self.foo_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_ENUMS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo_enum1"] = FooEnum(de.read_string(members[0])) - - case 1: - kwargs["foo_enum2"] = FooEnum(de.read_string(members[1])) - - case 2: - kwargs["foo_enum3"] = FooEnum(de.read_string(members[2])) - - case 3: - kwargs["foo_enum_list"] = _deserialize_foo_enum_list(de, members[3]) - - case 4: - kwargs["foo_enum_set"] = _deserialize_foo_enum_set(de, members[4]) - - case 5: - kwargs["foo_enum_map"] = _deserialize_foo_enum_map(de, members[5]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -JSON_ENUMS = APIOperation( - input=JsonEnumsInput, - output=JsonEnumsOutput, - static_schema=_SCHEMA_JSON_ENUMS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -class IntegerEnum(UnknownEnumMixin, IntEnum): - A = 1 - B = 2 - C = 3 - - -def _serialize_integer_enum_list( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) - - -def _deserialize_integer_enum_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(IntegerEnum(d.read_integer(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_integer_enum_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, int] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_integer(value_schema, v)) - - -def _deserialize_integer_enum_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, int]: - result: dict[str, int] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = IntegerEnum(d.read_integer(value_schema)) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_integer_enum_set( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) - - -def _deserialize_integer_enum_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(IntegerEnum(d.read_integer(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class JsonIntEnumsInput: - """Dataclass for JsonIntEnumsInput structure.""" - - int_enum1: int | None = None - - int_enum2: int | None = None - - int_enum3: int | None = None - - int_enum_list: list[int] | None = None - - int_enum_set: list[int] | None = None - - int_enum_map: dict[str, int] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_INT_ENUMS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_INT_ENUMS_INPUT).members_by_index - if self.int_enum1 is not None: - serializer.write_integer(members[0], self.int_enum1) - - if self.int_enum2 is not None: - serializer.write_integer(members[1], self.int_enum2) - - if self.int_enum3 is not None: - serializer.write_integer(members[2], self.int_enum3) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[3], self.int_enum_list) - - if self.int_enum_set is not None: - _serialize_integer_enum_set(serializer, members[4], self.int_enum_set) - - if self.int_enum_map is not None: - _serialize_integer_enum_map(serializer, members[5], self.int_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_INT_ENUMS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["int_enum1"] = IntegerEnum(de.read_integer(members[0])) - - case 1: - kwargs["int_enum2"] = IntegerEnum(de.read_integer(members[1])) - - case 2: - kwargs["int_enum3"] = IntegerEnum(de.read_integer(members[2])) - - case 3: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[3] - ) - - case 4: - kwargs["int_enum_set"] = _deserialize_integer_enum_set( - de, members[4] - ) - - case 5: - kwargs["int_enum_map"] = _deserialize_integer_enum_map( - de, members[5] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class JsonIntEnumsOutput: - """Dataclass for JsonIntEnumsOutput structure.""" - - int_enum1: int | None = None - - int_enum2: int | None = None - - int_enum3: int | None = None - - int_enum_list: list[int] | None = None - - int_enum_set: list[int] | None = None - - int_enum_map: dict[str, int] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_INT_ENUMS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_INT_ENUMS_OUTPUT).members_by_index - if self.int_enum1 is not None: - serializer.write_integer(members[0], self.int_enum1) - - if self.int_enum2 is not None: - serializer.write_integer(members[1], self.int_enum2) - - if self.int_enum3 is not None: - serializer.write_integer(members[2], self.int_enum3) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[3], self.int_enum_list) - - if self.int_enum_set is not None: - _serialize_integer_enum_set(serializer, members[4], self.int_enum_set) - - if self.int_enum_map is not None: - _serialize_integer_enum_map(serializer, members[5], self.int_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_INT_ENUMS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["int_enum1"] = IntegerEnum(de.read_integer(members[0])) - - case 1: - kwargs["int_enum2"] = IntegerEnum(de.read_integer(members[1])) - - case 2: - kwargs["int_enum3"] = IntegerEnum(de.read_integer(members[2])) - - case 3: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[3] - ) - - case 4: - kwargs["int_enum_set"] = _deserialize_integer_enum_set( - de, members[4] - ) - - case 5: - kwargs["int_enum_map"] = _deserialize_integer_enum_map( - de, members[5] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -JSON_INT_ENUMS = APIOperation( - input=JsonIntEnumsInput, - output=JsonIntEnumsOutput, - static_schema=_SCHEMA_JSON_INT_ENUMS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_string_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_string_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class GreetingStruct: - """Dataclass for GreetingStruct structure.""" - - hi: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_STRUCT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_STRUCT).members_by_index - if self.hi is not None: - serializer.write_string(members[0], self.hi) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_STRUCT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["hi"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass -class MyUnionStringValue: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_string(members[0])) - - -@dataclass -class MyUnionBooleanValue: - value: bool - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_boolean(members[1], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_boolean(members[1])) - - -@dataclass -class MyUnionNumberValue: - value: int - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_integer(members[2], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_integer(members[2])) - - -@dataclass -class MyUnionBlobValue: - value: bytes - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_blob(members[3], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_blob(members[3])) - - -@dataclass -class MyUnionTimestampValue: - value: datetime - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_timestamp(members[4], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_timestamp(members[4])) - - -@dataclass -class MyUnionEnumValue: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_string(members[5], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=FooEnum(deserializer.read_string(members[5]))) - - -@dataclass -class MyUnionListValue: - value: list[str] - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - _serialize_string_list(serializer, members[6], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=_deserialize_string_list(deserializer, members[6])) - - -@dataclass -class MyUnionMapValue: - value: dict[str, str] - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - _serialize_string_map(serializer, members[7], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=_deserialize_string_map(deserializer, members[7])) - - -@dataclass -class MyUnionStructureValue: - value: GreetingStruct - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_struct(members[8], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=GreetingStruct.deserialize(deserializer)) - - -@dataclass -class MyUnionUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -MyUnion = Union[ - MyUnionStringValue - | MyUnionBooleanValue - | MyUnionNumberValue - | MyUnionBlobValue - | MyUnionTimestampValue - | MyUnionEnumValue - | MyUnionListValue - | MyUnionMapValue - | MyUnionStructureValue - | MyUnionUnknown -] -"""A union with a representative set of types for members.""" - - -class _MyUnionDeserializer: - _result: MyUnion | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> MyUnion: - self._result = None - deserializer.read_struct(hydrate(_SCHEMA_MY_UNION), self._consumer) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(MyUnionStringValue.deserialize(de)) - - case 1: - self._set_result(MyUnionBooleanValue.deserialize(de)) - - case 2: - self._set_result(MyUnionNumberValue.deserialize(de)) - - case 3: - self._set_result(MyUnionBlobValue.deserialize(de)) - - case 4: - self._set_result(MyUnionTimestampValue.deserialize(de)) - - case 5: - self._set_result(MyUnionEnumValue.deserialize(de)) - - case 6: - self._set_result(MyUnionListValue.deserialize(de)) - - case 7: - self._set_result(MyUnionMapValue.deserialize(de)) - - case 8: - self._set_result(MyUnionStructureValue.deserialize(de)) - - case _: - self._set_result(MyUnionUnknown(tag=schema.expect_member_name())) - - def _set_result(self, value: MyUnion) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -@dataclass(kw_only=True) -class JsonUnionsInput: - """A shared structure that contains a single union member.""" - - contents: MyUnion | None = None - """A union with a representative set of types for members.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_UNIONS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_UNIONS_INPUT).members_by_index - if self.contents is not None: - serializer.write_struct(members[0], self.contents) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_UNIONS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["contents"] = _MyUnionDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class JsonUnionsOutput: - """A shared structure that contains a single union member.""" - - contents: MyUnion | None = None - """A union with a representative set of types for members.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_UNIONS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_UNIONS_OUTPUT).members_by_index - if self.contents is not None: - serializer.write_struct(members[0], self.contents) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_UNIONS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["contents"] = _MyUnionDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -JSON_UNIONS = APIOperation( - input=JsonUnionsInput, - output=JsonUnionsOutput, - static_schema=_SCHEMA_JSON_UNIONS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NullOperationInput: - """Dataclass for NullOperationInput structure.""" - - string: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NULL_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NULL_OPERATION_INPUT).members_by_index - if self.string is not None: - serializer.write_string(members[0], self.string) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NULL_OPERATION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NullOperationOutput: - """Dataclass for NullOperationOutput structure.""" - - string: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NULL_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NULL_OPERATION_OUTPUT).members_by_index - if self.string is not None: - serializer.write_string(members[0], self.string) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NULL_OPERATION_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NULL_OPERATION = APIOperation( - input=NullOperationInput, - output=NullOperationOutput, - static_schema=_SCHEMA_NULL_OPERATION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class OperationWithOptionalInputOutputInput: - """Dataclass for OperationWithOptionalInputOutputInput structure.""" - - value: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OPERATION_WITH_OPTIONAL_INPUT_OUTPUT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_OPERATION_WITH_OPTIONAL_INPUT_OUTPUT_INPUT - ).members_by_index - if self.value is not None: - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_OPTIONAL_INPUT_OUTPUT_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["value"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class OperationWithOptionalInputOutputOutput: - """Dataclass for OperationWithOptionalInputOutputOutput structure.""" - - value: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OPERATION_WITH_OPTIONAL_INPUT_OUTPUT_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_OPERATION_WITH_OPTIONAL_INPUT_OUTPUT_OUTPUT - ).members_by_index - if self.value is not None: - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_OPTIONAL_INPUT_OUTPUT_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["value"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -OPERATION_WITH_OPTIONAL_INPUT_OUTPUT = APIOperation( - input=OperationWithOptionalInputOutputInput, - output=OperationWithOptionalInputOutputOutput, - static_schema=_SCHEMA_OPERATION_WITH_OPTIONAL_INPUT_OUTPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class PutAndGetInlineDocumentsInput: - """Dataclass for PutAndGetInlineDocumentsInput structure.""" - - inline_document: Document | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_PUT_AND_GET_INLINE_DOCUMENTS_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_PUT_AND_GET_INLINE_DOCUMENTS_INPUT).members_by_index - if self.inline_document is not None: - serializer.write_document(members[0], self.inline_document) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PUT_AND_GET_INLINE_DOCUMENTS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["inline_document"] = de.read_document(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class PutAndGetInlineDocumentsOutput: - """Dataclass for PutAndGetInlineDocumentsOutput structure.""" - - inline_document: Document | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_PUT_AND_GET_INLINE_DOCUMENTS_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_PUT_AND_GET_INLINE_DOCUMENTS_OUTPUT).members_by_index - if self.inline_document is not None: - serializer.write_document(members[0], self.inline_document) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PUT_AND_GET_INLINE_DOCUMENTS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["inline_document"] = de.read_document(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -PUT_AND_GET_INLINE_DOCUMENTS = APIOperation( - input=PutAndGetInlineDocumentsInput, - output=PutAndGetInlineDocumentsOutput, - static_schema=_SCHEMA_PUT_AND_GET_INLINE_DOCUMENTS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class PutWithContentEncodingInput: - """Dataclass for PutWithContentEncodingInput structure.""" - - encoding: str | None = None - - data: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT).members_by_index - if self.encoding is not None: - serializer.write_string(members[0], self.encoding) - - if self.data is not None: - serializer.write_string(members[1], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["encoding"] = de.read_string(members[0]) - - case 1: - kwargs["data"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class PutWithContentEncodingOutput: - """Dataclass for PutWithContentEncodingOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -PUT_WITH_CONTENT_ENCODING = APIOperation( - input=PutWithContentEncodingInput, - output=PutWithContentEncodingOutput, - static_schema=_SCHEMA_PUT_WITH_CONTENT_ENCODING, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class SimpleScalarPropertiesInput: - """Dataclass for SimpleScalarPropertiesInput structure.""" - - float_value: float | None = None - - double_value: float | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT).members_by_index - if self.float_value is not None: - serializer.write_float(members[0], self.float_value) - - if self.double_value is not None: - serializer.write_double(members[1], self.double_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["float_value"] = de.read_float(members[0]) - - case 1: - kwargs["double_value"] = de.read_double(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SimpleScalarPropertiesOutput: - """Dataclass for SimpleScalarPropertiesOutput structure.""" - - float_value: float | None = None - - double_value: float | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT).members_by_index - if self.float_value is not None: - serializer.write_float(members[0], self.float_value) - - if self.double_value is not None: - serializer.write_double(members[1], self.double_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["float_value"] = de.read_float(members[0]) - - case 1: - kwargs["double_value"] = de.read_double(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -SIMPLE_SCALAR_PROPERTIES = APIOperation( - input=SimpleScalarPropertiesInput, - output=SimpleScalarPropertiesOutput, - static_schema=_SCHEMA_SIMPLE_SCALAR_PROPERTIES, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_sparse_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[str | None] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - if e is None: - ls.write_null(member_schema) - else: - ls.write_string(member_schema, e) - - -def _deserialize_sparse_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str | None]: - result: list[str | None] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result.append(None) - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_sparse_string_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str | None] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - if v is None: - m.entry(k, lambda vs: vs.write_null(value_schema)) - else: - m.entry(k, lambda vs: vs.write_string(value_schema, v)) # type: ignore - - -def _deserialize_sparse_string_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str | None]: - result: dict[str, str | None] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result[k] = None - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class SparseNullsOperationInput: - """Dataclass for SparseNullsOperationInput structure.""" - - sparse_string_list: list[str | None] | None = None - - sparse_string_map: dict[str, str | None] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SPARSE_NULLS_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SPARSE_NULLS_OPERATION_INPUT).members_by_index - if self.sparse_string_list is not None: - _serialize_sparse_string_list( - serializer, members[0], self.sparse_string_list - ) - - if self.sparse_string_map is not None: - _serialize_sparse_string_map(serializer, members[1], self.sparse_string_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SPARSE_NULLS_OPERATION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["sparse_string_list"] = _deserialize_sparse_string_list( - de, members[0] - ) - - case 1: - kwargs["sparse_string_map"] = _deserialize_sparse_string_map( - de, members[1] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SparseNullsOperationOutput: - """Dataclass for SparseNullsOperationOutput structure.""" - - sparse_string_list: list[str | None] | None = None - - sparse_string_map: dict[str, str | None] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SPARSE_NULLS_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SPARSE_NULLS_OPERATION_OUTPUT).members_by_index - if self.sparse_string_list is not None: - _serialize_sparse_string_list( - serializer, members[0], self.sparse_string_list - ) - - if self.sparse_string_map is not None: - _serialize_sparse_string_map(serializer, members[1], self.sparse_string_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SPARSE_NULLS_OPERATION_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["sparse_string_list"] = _deserialize_sparse_string_list( - de, members[0] - ) - - case 1: - kwargs["sparse_string_map"] = _deserialize_sparse_string_map( - de, members[1] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -SPARSE_NULLS_OPERATION = APIOperation( - input=SparseNullsOperationInput, - output=SparseNullsOperationOutput, - static_schema=_SCHEMA_SPARSE_NULLS_OPERATION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class KitchenSink: - """Dataclass for KitchenSink structure.""" - - blob: bytes | None = None - - boolean: bool | None = None - - double: float | None = None - - empty_struct: EmptyStruct | None = None - - float_: float | None = None - - httpdate_timestamp: datetime | None = None - - integer: int | None = None - - iso8601_timestamp: datetime | None = None - - json_value: str | JsonString | None = None - - list_of_lists: list[list[str]] | None = None - - list_of_maps_of_strings: list[dict[str, str]] | None = None - - list_of_strings: list[str] | None = None - - list_of_structs: list[SimpleStruct] | None = None - - long: int | None = None - - map_of_lists_of_strings: dict[str, list[str]] | None = None - - map_of_maps: dict[str, dict[str, str]] | None = None - - map_of_strings: dict[str, str] | None = None - - map_of_structs: dict[str, SimpleStruct] | None = None - - recursive_list: "list[KitchenSink] | None" = None - - recursive_map: "dict[str, KitchenSink] | None" = None - - recursive_struct: "KitchenSink | None" = None - - simple_struct: SimpleStruct | None = None - - string: str | None = None - - struct_with_json_name: StructWithJsonName | None = None - - timestamp: datetime | None = None - - unix_timestamp: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_KITCHEN_SINK), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_KITCHEN_SINK).members_by_index - if self.blob is not None: - serializer.write_blob(members[0], self.blob) - - if self.boolean is not None: - serializer.write_boolean(members[1], self.boolean) - - if self.double is not None: - serializer.write_double(members[2], self.double) - - if self.empty_struct is not None: - serializer.write_struct(members[3], self.empty_struct) - - if self.float_ is not None: - serializer.write_float(members[4], self.float_) - - if self.httpdate_timestamp is not None: - serializer.write_timestamp(members[5], self.httpdate_timestamp) - - if self.integer is not None: - serializer.write_integer(members[6], self.integer) - - if self.iso8601_timestamp is not None: - serializer.write_timestamp(members[7], self.iso8601_timestamp) - - if self.json_value is not None: - serializer.write_string(members[8], self.json_value) - - if self.list_of_lists is not None: - _serialize_list_of_list_of_strings( - serializer, members[9], self.list_of_lists - ) - - if self.list_of_maps_of_strings is not None: - _serialize_list_of_maps_of_strings( - serializer, members[10], self.list_of_maps_of_strings - ) - - if self.list_of_strings is not None: - _serialize_list_of_strings(serializer, members[11], self.list_of_strings) - - if self.list_of_structs is not None: - _serialize_list_of_structs(serializer, members[12], self.list_of_structs) - - if self.long is not None: - serializer.write_long(members[13], self.long) - - if self.map_of_lists_of_strings is not None: - _serialize_map_of_lists_of_strings( - serializer, members[14], self.map_of_lists_of_strings - ) - - if self.map_of_maps is not None: - _serialize_map_of_map_of_strings(serializer, members[15], self.map_of_maps) - - if self.map_of_strings is not None: - _serialize_map_of_strings(serializer, members[16], self.map_of_strings) - - if self.map_of_structs is not None: - _serialize_map_of_structs(serializer, members[17], self.map_of_structs) - - if self.recursive_list is not None: - _serialize_list_of_kitchen_sinks( - serializer, members[18], self.recursive_list - ) - - if self.recursive_map is not None: - _serialize_map_of_kitchen_sinks(serializer, members[19], self.recursive_map) - - if self.recursive_struct is not None: - serializer.write_struct(members[20], self.recursive_struct) - - if self.simple_struct is not None: - serializer.write_struct(members[21], self.simple_struct) - - if self.string is not None: - serializer.write_string(members[22], self.string) - - if self.struct_with_json_name is not None: - serializer.write_struct(members[23], self.struct_with_json_name) - - if self.timestamp is not None: - serializer.write_timestamp(members[24], self.timestamp) - - if self.unix_timestamp is not None: - serializer.write_timestamp(members[25], self.unix_timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_KITCHEN_SINK) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["blob"] = de.read_blob(members[0]) - - case 1: - kwargs["boolean"] = de.read_boolean(members[1]) - - case 2: - kwargs["double"] = de.read_double(members[2]) - - case 3: - kwargs["empty_struct"] = EmptyStruct.deserialize(de) - - case 4: - kwargs["float_"] = de.read_float(members[4]) - - case 5: - kwargs["httpdate_timestamp"] = de.read_timestamp(members[5]) - - case 6: - kwargs["integer"] = de.read_integer(members[6]) - - case 7: - kwargs["iso8601_timestamp"] = de.read_timestamp(members[7]) - - case 8: - kwargs["json_value"] = de.read_string(members[8]) - - case 9: - kwargs["list_of_lists"] = _deserialize_list_of_list_of_strings( - de, members[9] - ) - - case 10: - kwargs["list_of_maps_of_strings"] = ( - _deserialize_list_of_maps_of_strings(de, members[10]) - ) - - case 11: - kwargs["list_of_strings"] = _deserialize_list_of_strings( - de, members[11] - ) - - case 12: - kwargs["list_of_structs"] = _deserialize_list_of_structs( - de, members[12] - ) - - case 13: - kwargs["long"] = de.read_long(members[13]) - - case 14: - kwargs["map_of_lists_of_strings"] = ( - _deserialize_map_of_lists_of_strings(de, members[14]) - ) - - case 15: - kwargs["map_of_maps"] = _deserialize_map_of_map_of_strings( - de, members[15] - ) - - case 16: - kwargs["map_of_strings"] = _deserialize_map_of_strings( - de, members[16] - ) - - case 17: - kwargs["map_of_structs"] = _deserialize_map_of_structs( - de, members[17] - ) - - case 18: - kwargs["recursive_list"] = _deserialize_list_of_kitchen_sinks( - de, members[18] - ) - - case 19: - kwargs["recursive_map"] = _deserialize_map_of_kitchen_sinks( - de, members[19] - ) - - case 20: - kwargs["recursive_struct"] = KitchenSink.deserialize(de) - - case 21: - kwargs["simple_struct"] = SimpleStruct.deserialize(de) - - case 22: - kwargs["string"] = de.read_string(members[22]) - - case 23: - kwargs["struct_with_json_name"] = StructWithJsonName.deserialize(de) - - case 24: - kwargs["timestamp"] = de.read_timestamp(members[24]) - - case 25: - kwargs["unix_timestamp"] = de.read_timestamp(members[25]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_list_of_kitchen_sinks( - serializer: ShapeSerializer, schema: Schema, value: list[KitchenSink] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_struct(member_schema, e) - - -def _deserialize_list_of_kitchen_sinks( - deserializer: ShapeDeserializer, schema: Schema -) -> list[KitchenSink]: - result: list[KitchenSink] = [] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(KitchenSink.deserialize(d)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_map_of_kitchen_sinks( - serializer: ShapeSerializer, schema: Schema, value: dict[str, KitchenSink] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_struct(value_schema, v)) - - -def _deserialize_map_of_kitchen_sinks( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, KitchenSink]: - result: dict[str, KitchenSink] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = KitchenSink.deserialize(d) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class ErrorWithMembers(ServiceError): - """Dataclass for ErrorWithMembers structure.""" - - fault: Literal["client", "server"] | None = "client" - - code: str | None = None - - complex_data: "KitchenSink | None" = None - - integer_field: int | None = None - - list_field: list[str] | None = None - - map_field: dict[str, str] | None = None - - string_field: str | None = None - """abc""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ERROR_WITH_MEMBERS), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_ERROR_WITH_MEMBERS).members_by_index - if self.code is not None: - serializer.write_string(members[0], self.code) - - if self.complex_data is not None: - serializer.write_struct(members[1], self.complex_data) - - if self.integer_field is not None: - serializer.write_integer(members[2], self.integer_field) - - if self.list_field is not None: - _serialize_list_of_strings(serializer, members[3], self.list_field) - - if self.map_field is not None: - _serialize_map_of_strings(serializer, members[4], self.map_field) - - if self.message is not None: - serializer.write_string(members[5], self.message) - - if self.string_field is not None: - serializer.write_string(members[6], self.string_field) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ERROR_WITH_MEMBERS) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["code"] = de.read_string(members[0]) - - case 1: - kwargs["complex_data"] = KitchenSink.deserialize(de) - - case 2: - kwargs["integer_field"] = de.read_integer(members[2]) - - case 3: - kwargs["list_field"] = _deserialize_list_of_strings(de, members[3]) - - case 4: - kwargs["map_field"] = _deserialize_map_of_strings(de, members[4]) - - case 5: - kwargs["message"] = de.read_string(members[5]) - - case 6: - kwargs["string_field"] = de.read_string(members[6]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class KitchenSinkOperationInput: - """Dataclass for KitchenSinkOperationInput structure.""" - - blob: bytes | None = None - - boolean: bool | None = None - - double: float | None = None - - empty_struct: EmptyStruct | None = None - - float_: float | None = None - - httpdate_timestamp: datetime | None = None - - integer: int | None = None - - iso8601_timestamp: datetime | None = None - - json_value: str | JsonString | None = None - - list_of_lists: list[list[str]] | None = None - - list_of_maps_of_strings: list[dict[str, str]] | None = None - - list_of_strings: list[str] | None = None - - list_of_structs: list[SimpleStruct] | None = None - - long: int | None = None - - map_of_lists_of_strings: dict[str, list[str]] | None = None - - map_of_maps: dict[str, dict[str, str]] | None = None - - map_of_strings: dict[str, str] | None = None - - map_of_structs: dict[str, SimpleStruct] | None = None - - recursive_list: "list[KitchenSink] | None" = None - - recursive_map: "dict[str, KitchenSink] | None" = None - - recursive_struct: "KitchenSink | None" = None - - simple_struct: SimpleStruct | None = None - - string: str | None = None - - struct_with_json_name: StructWithJsonName | None = None - - timestamp: datetime | None = None - - unix_timestamp: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_KITCHEN_SINK_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_KITCHEN_SINK_OPERATION_INPUT).members_by_index - if self.blob is not None: - serializer.write_blob(members[0], self.blob) - - if self.boolean is not None: - serializer.write_boolean(members[1], self.boolean) - - if self.double is not None: - serializer.write_double(members[2], self.double) - - if self.empty_struct is not None: - serializer.write_struct(members[3], self.empty_struct) - - if self.float_ is not None: - serializer.write_float(members[4], self.float_) - - if self.httpdate_timestamp is not None: - serializer.write_timestamp(members[5], self.httpdate_timestamp) - - if self.integer is not None: - serializer.write_integer(members[6], self.integer) - - if self.iso8601_timestamp is not None: - serializer.write_timestamp(members[7], self.iso8601_timestamp) - - if self.json_value is not None: - serializer.write_string(members[8], self.json_value) - - if self.list_of_lists is not None: - _serialize_list_of_list_of_strings( - serializer, members[9], self.list_of_lists - ) - - if self.list_of_maps_of_strings is not None: - _serialize_list_of_maps_of_strings( - serializer, members[10], self.list_of_maps_of_strings - ) - - if self.list_of_strings is not None: - _serialize_list_of_strings(serializer, members[11], self.list_of_strings) - - if self.list_of_structs is not None: - _serialize_list_of_structs(serializer, members[12], self.list_of_structs) - - if self.long is not None: - serializer.write_long(members[13], self.long) - - if self.map_of_lists_of_strings is not None: - _serialize_map_of_lists_of_strings( - serializer, members[14], self.map_of_lists_of_strings - ) - - if self.map_of_maps is not None: - _serialize_map_of_map_of_strings(serializer, members[15], self.map_of_maps) - - if self.map_of_strings is not None: - _serialize_map_of_strings(serializer, members[16], self.map_of_strings) - - if self.map_of_structs is not None: - _serialize_map_of_structs(serializer, members[17], self.map_of_structs) - - if self.recursive_list is not None: - _serialize_list_of_kitchen_sinks( - serializer, members[18], self.recursive_list - ) - - if self.recursive_map is not None: - _serialize_map_of_kitchen_sinks(serializer, members[19], self.recursive_map) - - if self.recursive_struct is not None: - serializer.write_struct(members[20], self.recursive_struct) - - if self.simple_struct is not None: - serializer.write_struct(members[21], self.simple_struct) - - if self.string is not None: - serializer.write_string(members[22], self.string) - - if self.struct_with_json_name is not None: - serializer.write_struct(members[23], self.struct_with_json_name) - - if self.timestamp is not None: - serializer.write_timestamp(members[24], self.timestamp) - - if self.unix_timestamp is not None: - serializer.write_timestamp(members[25], self.unix_timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_KITCHEN_SINK_OPERATION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["blob"] = de.read_blob(members[0]) - - case 1: - kwargs["boolean"] = de.read_boolean(members[1]) - - case 2: - kwargs["double"] = de.read_double(members[2]) - - case 3: - kwargs["empty_struct"] = EmptyStruct.deserialize(de) - - case 4: - kwargs["float_"] = de.read_float(members[4]) - - case 5: - kwargs["httpdate_timestamp"] = de.read_timestamp(members[5]) - - case 6: - kwargs["integer"] = de.read_integer(members[6]) - - case 7: - kwargs["iso8601_timestamp"] = de.read_timestamp(members[7]) - - case 8: - kwargs["json_value"] = de.read_string(members[8]) - - case 9: - kwargs["list_of_lists"] = _deserialize_list_of_list_of_strings( - de, members[9] - ) - - case 10: - kwargs["list_of_maps_of_strings"] = ( - _deserialize_list_of_maps_of_strings(de, members[10]) - ) - - case 11: - kwargs["list_of_strings"] = _deserialize_list_of_strings( - de, members[11] - ) - - case 12: - kwargs["list_of_structs"] = _deserialize_list_of_structs( - de, members[12] - ) - - case 13: - kwargs["long"] = de.read_long(members[13]) - - case 14: - kwargs["map_of_lists_of_strings"] = ( - _deserialize_map_of_lists_of_strings(de, members[14]) - ) - - case 15: - kwargs["map_of_maps"] = _deserialize_map_of_map_of_strings( - de, members[15] - ) - - case 16: - kwargs["map_of_strings"] = _deserialize_map_of_strings( - de, members[16] - ) - - case 17: - kwargs["map_of_structs"] = _deserialize_map_of_structs( - de, members[17] - ) - - case 18: - kwargs["recursive_list"] = _deserialize_list_of_kitchen_sinks( - de, members[18] - ) - - case 19: - kwargs["recursive_map"] = _deserialize_map_of_kitchen_sinks( - de, members[19] - ) - - case 20: - kwargs["recursive_struct"] = KitchenSink.deserialize(de) - - case 21: - kwargs["simple_struct"] = SimpleStruct.deserialize(de) - - case 22: - kwargs["string"] = de.read_string(members[22]) - - case 23: - kwargs["struct_with_json_name"] = StructWithJsonName.deserialize(de) - - case 24: - kwargs["timestamp"] = de.read_timestamp(members[24]) - - case 25: - kwargs["unix_timestamp"] = de.read_timestamp(members[25]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class KitchenSinkOperationOutput: - """Dataclass for KitchenSinkOperationOutput structure.""" - - blob: bytes | None = None - - boolean: bool | None = None - - double: float | None = None - - empty_struct: EmptyStruct | None = None - - float_: float | None = None - - httpdate_timestamp: datetime | None = None - - integer: int | None = None - - iso8601_timestamp: datetime | None = None - - json_value: str | JsonString | None = None - - list_of_lists: list[list[str]] | None = None - - list_of_maps_of_strings: list[dict[str, str]] | None = None - - list_of_strings: list[str] | None = None - - list_of_structs: list[SimpleStruct] | None = None - - long: int | None = None - - map_of_lists_of_strings: dict[str, list[str]] | None = None - - map_of_maps: dict[str, dict[str, str]] | None = None - - map_of_strings: dict[str, str] | None = None - - map_of_structs: dict[str, SimpleStruct] | None = None - - recursive_list: "list[KitchenSink] | None" = None - - recursive_map: "dict[str, KitchenSink] | None" = None - - recursive_struct: "KitchenSink | None" = None - - simple_struct: SimpleStruct | None = None - - string: str | None = None - - struct_with_json_name: StructWithJsonName | None = None - - timestamp: datetime | None = None - - unix_timestamp: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_KITCHEN_SINK_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_KITCHEN_SINK_OPERATION_OUTPUT).members_by_index - if self.blob is not None: - serializer.write_blob(members[0], self.blob) - - if self.boolean is not None: - serializer.write_boolean(members[1], self.boolean) - - if self.double is not None: - serializer.write_double(members[2], self.double) - - if self.empty_struct is not None: - serializer.write_struct(members[3], self.empty_struct) - - if self.float_ is not None: - serializer.write_float(members[4], self.float_) - - if self.httpdate_timestamp is not None: - serializer.write_timestamp(members[5], self.httpdate_timestamp) - - if self.integer is not None: - serializer.write_integer(members[6], self.integer) - - if self.iso8601_timestamp is not None: - serializer.write_timestamp(members[7], self.iso8601_timestamp) - - if self.json_value is not None: - serializer.write_string(members[8], self.json_value) - - if self.list_of_lists is not None: - _serialize_list_of_list_of_strings( - serializer, members[9], self.list_of_lists - ) - - if self.list_of_maps_of_strings is not None: - _serialize_list_of_maps_of_strings( - serializer, members[10], self.list_of_maps_of_strings - ) - - if self.list_of_strings is not None: - _serialize_list_of_strings(serializer, members[11], self.list_of_strings) - - if self.list_of_structs is not None: - _serialize_list_of_structs(serializer, members[12], self.list_of_structs) - - if self.long is not None: - serializer.write_long(members[13], self.long) - - if self.map_of_lists_of_strings is not None: - _serialize_map_of_lists_of_strings( - serializer, members[14], self.map_of_lists_of_strings - ) - - if self.map_of_maps is not None: - _serialize_map_of_map_of_strings(serializer, members[15], self.map_of_maps) - - if self.map_of_strings is not None: - _serialize_map_of_strings(serializer, members[16], self.map_of_strings) - - if self.map_of_structs is not None: - _serialize_map_of_structs(serializer, members[17], self.map_of_structs) - - if self.recursive_list is not None: - _serialize_list_of_kitchen_sinks( - serializer, members[18], self.recursive_list - ) - - if self.recursive_map is not None: - _serialize_map_of_kitchen_sinks(serializer, members[19], self.recursive_map) - - if self.recursive_struct is not None: - serializer.write_struct(members[20], self.recursive_struct) - - if self.simple_struct is not None: - serializer.write_struct(members[21], self.simple_struct) - - if self.string is not None: - serializer.write_string(members[22], self.string) - - if self.struct_with_json_name is not None: - serializer.write_struct(members[23], self.struct_with_json_name) - - if self.timestamp is not None: - serializer.write_timestamp(members[24], self.timestamp) - - if self.unix_timestamp is not None: - serializer.write_timestamp(members[25], self.unix_timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_KITCHEN_SINK_OPERATION_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["blob"] = de.read_blob(members[0]) - - case 1: - kwargs["boolean"] = de.read_boolean(members[1]) - - case 2: - kwargs["double"] = de.read_double(members[2]) - - case 3: - kwargs["empty_struct"] = EmptyStruct.deserialize(de) - - case 4: - kwargs["float_"] = de.read_float(members[4]) - - case 5: - kwargs["httpdate_timestamp"] = de.read_timestamp(members[5]) - - case 6: - kwargs["integer"] = de.read_integer(members[6]) - - case 7: - kwargs["iso8601_timestamp"] = de.read_timestamp(members[7]) - - case 8: - kwargs["json_value"] = de.read_string(members[8]) - - case 9: - kwargs["list_of_lists"] = _deserialize_list_of_list_of_strings( - de, members[9] - ) - - case 10: - kwargs["list_of_maps_of_strings"] = ( - _deserialize_list_of_maps_of_strings(de, members[10]) - ) - - case 11: - kwargs["list_of_strings"] = _deserialize_list_of_strings( - de, members[11] - ) - - case 12: - kwargs["list_of_structs"] = _deserialize_list_of_structs( - de, members[12] - ) - - case 13: - kwargs["long"] = de.read_long(members[13]) - - case 14: - kwargs["map_of_lists_of_strings"] = ( - _deserialize_map_of_lists_of_strings(de, members[14]) - ) - - case 15: - kwargs["map_of_maps"] = _deserialize_map_of_map_of_strings( - de, members[15] - ) - - case 16: - kwargs["map_of_strings"] = _deserialize_map_of_strings( - de, members[16] - ) - - case 17: - kwargs["map_of_structs"] = _deserialize_map_of_structs( - de, members[17] - ) - - case 18: - kwargs["recursive_list"] = _deserialize_list_of_kitchen_sinks( - de, members[18] - ) - - case 19: - kwargs["recursive_map"] = _deserialize_map_of_kitchen_sinks( - de, members[19] - ) - - case 20: - kwargs["recursive_struct"] = KitchenSink.deserialize(de) - - case 21: - kwargs["simple_struct"] = SimpleStruct.deserialize(de) - - case 22: - kwargs["string"] = de.read_string(members[22]) - - case 23: - kwargs["struct_with_json_name"] = StructWithJsonName.deserialize(de) - - case 24: - kwargs["timestamp"] = de.read_timestamp(members[24]) - - case 25: - kwargs["unix_timestamp"] = de.read_timestamp(members[25]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +SIMPLE_SCALAR_PROPERTIES = APIOperation( + static_schema=_SCHEMA_SIMPLE_SCALAR_PROPERTIES, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +SPARSE_NULLS_OPERATION = APIOperation( + static_schema=_SCHEMA_SPARSE_NULLS_OPERATION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) KITCHEN_SINK_OPERATION = APIOperation( - input=KitchenSinkOperationInput, - output=KitchenSinkOperationOutput, static_schema=_SCHEMA_KITCHEN_SINK_OPERATION, - error_registry=TypeRegistry( - { - ShapeID("aws.protocoltests.json#ErrorWithMembers"): ErrorWithMembers, - ShapeID("aws.protocoltests.json#ErrorWithoutMembers"): ErrorWithoutMembers, - } - ), + model_registry=_registry, + error_ids=[ + ShapeID("aws.protocoltests.json#ErrorWithMembers"), + ShapeID("aws.protocoltests.json#ErrorWithoutMembers"), + ], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) diff --git a/codegen-output/aws-json-1-1/src/awsjson11/models.pyi b/codegen-output/aws-json-1-1/src/awsjson11/models.pyi new file mode 100644 index 000000000..9513e9630 --- /dev/null +++ b/codegen-output/aws-json-1-1/src/awsjson11/models.pyi @@ -0,0 +1,435 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from dataclasses import dataclass +from datetime import datetime +from enum import IntEnum, StrEnum +from typing import Self, Union + +from smithy_core.deserializers import ShapeDeserializer +from smithy_core.documents import Document +from smithy_core.exceptions import ModeledError +from smithy_core.response import ResponseMetadata +from smithy_core.schemas import APIOperation +from smithy_core.serializers import ShapeSerializer +from smithy_core.types import JsonString, UnknownEnumMixin + +class _SerdeShape: + def serialize(self, serializer: ShapeSerializer) -> None: ... + def serialize_members(self, serializer: ShapeSerializer) -> None: ... + @classmethod + def deserialize(cls, deserializer: ShapeDeserializer) -> Self: ... + +class ServiceError(ModeledError): ... + +@dataclass(kw_only=True) +class ComplexError(ServiceError, _SerdeShape): + top_level: str | None = ... + nested: ComplexNestedErrorData | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ComplexNestedErrorData(_SerdeShape): + foo: str | None = ... + +@dataclass(kw_only=True) +class ContentTypeParametersInput(_SerdeShape): + value: int | None = ... + +@dataclass(kw_only=True) +class ContentTypeParametersOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class DatetimeOffsetsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class DatetimeOffsetsOutput(_SerdeShape): + datetime_: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EmptyOperationInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class EmptyOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EmptyStruct(_SerdeShape): + pass + +@dataclass(kw_only=True) +class EndpointOperationInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class EndpointOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EndpointWithHostLabelOperationInput(_SerdeShape): + label: str | None = ... + +@dataclass(kw_only=True) +class EndpointWithHostLabelOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ErrorWithMembers(ServiceError, _SerdeShape): + code: str | None = ... + complex_data: KitchenSink | None = ... + integer_field: int | None = ... + list_field: list[str] | None = ... + map_field: dict[str, str] | None = ... + string_field: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ErrorWithoutMembers(ServiceError, _SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class FooError(ServiceError, _SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class FractionalSecondsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class FractionalSecondsOutput(_SerdeShape): + datetime_: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class GreetingWithErrorsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class GreetingWithErrorsOutput(_SerdeShape): + greeting: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HostWithPathOperationInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class HostWithPathOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class InvalidGreeting(ServiceError, _SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class JsonEnumsInput(_SerdeShape): + foo_enum1: str | None = ... + foo_enum2: str | None = ... + foo_enum3: str | None = ... + foo_enum_list: list[str] | None = ... + foo_enum_set: list[str] | None = ... + foo_enum_map: dict[str, str] | None = ... + +@dataclass(kw_only=True) +class JsonEnumsOutput(_SerdeShape): + foo_enum1: str | None = ... + foo_enum2: str | None = ... + foo_enum3: str | None = ... + foo_enum_list: list[str] | None = ... + foo_enum_set: list[str] | None = ... + foo_enum_map: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class JsonIntEnumsInput(_SerdeShape): + int_enum1: int | None = ... + int_enum2: int | None = ... + int_enum3: int | None = ... + int_enum_list: list[int] | None = ... + int_enum_set: list[int] | None = ... + int_enum_map: dict[str, int] | None = ... + +@dataclass(kw_only=True) +class JsonIntEnumsOutput(_SerdeShape): + int_enum1: int | None = ... + int_enum2: int | None = ... + int_enum3: int | None = ... + int_enum_list: list[int] | None = ... + int_enum_set: list[int] | None = ... + int_enum_map: dict[str, int] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class JsonUnionsInput(_SerdeShape): + contents: MyUnion | None = ... + +@dataclass(kw_only=True) +class JsonUnionsOutput(_SerdeShape): + contents: MyUnion | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class KitchenSink(_SerdeShape): + blob: bytes | None = ... + boolean: bool | None = ... + double: float | None = ... + empty_struct: EmptyStruct | None = ... + float_: float | None = ... + httpdate_timestamp: datetime | None = ... + integer: int | None = ... + iso8601_timestamp: datetime | None = ... + json_value: str | JsonString | None = ... + list_of_lists: list[list[str]] | None = ... + list_of_maps_of_strings: list[dict[str, str]] | None = ... + list_of_strings: list[str] | None = ... + list_of_structs: list[SimpleStruct] | None = ... + long: int | None = ... + map_of_lists_of_strings: dict[str, list[str]] | None = ... + map_of_maps: dict[str, dict[str, str]] | None = ... + map_of_strings: dict[str, str] | None = ... + map_of_structs: dict[str, SimpleStruct] | None = ... + recursive_list: list[KitchenSink] | None = ... + recursive_map: dict[str, KitchenSink] | None = ... + recursive_struct: KitchenSink | None = ... + simple_struct: SimpleStruct | None = ... + string: str | None = ... + struct_with_json_name: StructWithJsonName | None = ... + timestamp: datetime | None = ... + unix_timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class KitchenSinkOperationInput(_SerdeShape): + blob: bytes | None = ... + boolean: bool | None = ... + double: float | None = ... + empty_struct: EmptyStruct | None = ... + float_: float | None = ... + httpdate_timestamp: datetime | None = ... + integer: int | None = ... + iso8601_timestamp: datetime | None = ... + json_value: str | JsonString | None = ... + list_of_lists: list[list[str]] | None = ... + list_of_maps_of_strings: list[dict[str, str]] | None = ... + list_of_strings: list[str] | None = ... + list_of_structs: list[SimpleStruct] | None = ... + long: int | None = ... + map_of_lists_of_strings: dict[str, list[str]] | None = ... + map_of_maps: dict[str, dict[str, str]] | None = ... + map_of_strings: dict[str, str] | None = ... + map_of_structs: dict[str, SimpleStruct] | None = ... + recursive_list: list[KitchenSink] | None = ... + recursive_map: dict[str, KitchenSink] | None = ... + recursive_struct: KitchenSink | None = ... + simple_struct: SimpleStruct | None = ... + string: str | None = ... + struct_with_json_name: StructWithJsonName | None = ... + timestamp: datetime | None = ... + unix_timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class KitchenSinkOperationOutput(_SerdeShape): + blob: bytes | None = ... + boolean: bool | None = ... + double: float | None = ... + empty_struct: EmptyStruct | None = ... + float_: float | None = ... + httpdate_timestamp: datetime | None = ... + integer: int | None = ... + iso8601_timestamp: datetime | None = ... + json_value: str | JsonString | None = ... + list_of_lists: list[list[str]] | None = ... + list_of_maps_of_strings: list[dict[str, str]] | None = ... + list_of_strings: list[str] | None = ... + list_of_structs: list[SimpleStruct] | None = ... + long: int | None = ... + map_of_lists_of_strings: dict[str, list[str]] | None = ... + map_of_maps: dict[str, dict[str, str]] | None = ... + map_of_strings: dict[str, str] | None = ... + map_of_structs: dict[str, SimpleStruct] | None = ... + recursive_list: list[KitchenSink] | None = ... + recursive_map: dict[str, KitchenSink] | None = ... + recursive_struct: KitchenSink | None = ... + simple_struct: SimpleStruct | None = ... + string: str | None = ... + struct_with_json_name: StructWithJsonName | None = ... + timestamp: datetime | None = ... + unix_timestamp: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass +class MyUnionStringValue(_SerdeShape): + value: str + +@dataclass +class MyUnionBooleanValue(_SerdeShape): + value: bool + +@dataclass +class MyUnionNumberValue(_SerdeShape): + value: int + +@dataclass +class MyUnionBlobValue(_SerdeShape): + value: bytes + +@dataclass +class MyUnionTimestampValue(_SerdeShape): + value: datetime + +@dataclass +class MyUnionEnumValue(_SerdeShape): + value: str + +@dataclass +class MyUnionListValue(_SerdeShape): + value: list[str] + +@dataclass +class MyUnionMapValue(_SerdeShape): + value: dict[str, str] + +@dataclass +class MyUnionStructureValue(_SerdeShape): + value: GreetingStruct + +@dataclass +class MyUnionUnknown(_SerdeShape): + tag: str + +MyUnion = Union[ + MyUnionStringValue + | MyUnionBooleanValue + | MyUnionNumberValue + | MyUnionBlobValue + | MyUnionTimestampValue + | MyUnionEnumValue + | MyUnionListValue + | MyUnionMapValue + | MyUnionStructureValue + | MyUnionUnknown +] + +class _MyUnionDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> MyUnion: ... + +@dataclass(kw_only=True) +class NullOperationInput(_SerdeShape): + string: str | None = ... + +@dataclass(kw_only=True) +class NullOperationOutput(_SerdeShape): + string: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class OperationWithOptionalInputOutputInput(_SerdeShape): + value: str | None = ... + +@dataclass(kw_only=True) +class OperationWithOptionalInputOutputOutput(_SerdeShape): + value: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class PutAndGetInlineDocumentsInput(_SerdeShape): + inline_document: Document | None = ... + +@dataclass(kw_only=True) +class PutAndGetInlineDocumentsOutput(_SerdeShape): + inline_document: Document | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class PutWithContentEncodingInput(_SerdeShape): + encoding: str | None = ... + data: str | None = ... + +@dataclass(kw_only=True) +class PutWithContentEncodingOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class SimpleScalarPropertiesInput(_SerdeShape): + float_value: float | None = ... + double_value: float | None = ... + +@dataclass(kw_only=True) +class SimpleScalarPropertiesOutput(_SerdeShape): + float_value: float | None = ... + double_value: float | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class SimpleStruct(_SerdeShape): + value: str | None = ... + +@dataclass(kw_only=True) +class SparseNullsOperationInput(_SerdeShape): + sparse_string_list: list[str | None] | None = ... + sparse_string_map: dict[str, str | None] | None = ... + +@dataclass(kw_only=True) +class SparseNullsOperationOutput(_SerdeShape): + sparse_string_list: list[str | None] | None = ... + sparse_string_map: dict[str, str | None] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class StructWithJsonName(_SerdeShape): + value: str | None = ... + +class FooEnum(UnknownEnumMixin, StrEnum): + FOO = "Foo" + BAZ = "Baz" + BAR = "Bar" + ONE = "1" + ZERO = "0" + +@dataclass(kw_only=True) +class GreetingStruct(_SerdeShape): + hi: str | None = ... + +class IntegerEnum(UnknownEnumMixin, IntEnum): + A = 1 + B = 2 + C = 3 + +CONTENT_TYPE_PARAMETERS: APIOperation[ + ContentTypeParametersInput, ContentTypeParametersOutput +] +DATETIME_OFFSETS: APIOperation[DatetimeOffsetsInput, DatetimeOffsetsOutput] +EMPTY_OPERATION: APIOperation[EmptyOperationInput, EmptyOperationOutput] +ENDPOINT_OPERATION: APIOperation[EndpointOperationInput, EndpointOperationOutput] +ENDPOINT_WITH_HOST_LABEL_OPERATION: APIOperation[ + EndpointWithHostLabelOperationInput, EndpointWithHostLabelOperationOutput +] +FRACTIONAL_SECONDS: APIOperation[FractionalSecondsInput, FractionalSecondsOutput] +GREETING_WITH_ERRORS: APIOperation[GreetingWithErrorsInput, GreetingWithErrorsOutput] +HOST_WITH_PATH_OPERATION: APIOperation[ + HostWithPathOperationInput, HostWithPathOperationOutput +] +JSON_ENUMS: APIOperation[JsonEnumsInput, JsonEnumsOutput] +JSON_INT_ENUMS: APIOperation[JsonIntEnumsInput, JsonIntEnumsOutput] +JSON_UNIONS: APIOperation[JsonUnionsInput, JsonUnionsOutput] +KITCHEN_SINK_OPERATION: APIOperation[ + KitchenSinkOperationInput, KitchenSinkOperationOutput +] +NULL_OPERATION: APIOperation[NullOperationInput, NullOperationOutput] +OPERATION_WITH_OPTIONAL_INPUT_OUTPUT: APIOperation[ + OperationWithOptionalInputOutputInput, OperationWithOptionalInputOutputOutput +] +PUT_AND_GET_INLINE_DOCUMENTS: APIOperation[ + PutAndGetInlineDocumentsInput, PutAndGetInlineDocumentsOutput +] +PUT_WITH_CONTENT_ENCODING: APIOperation[ + PutWithContentEncodingInput, PutWithContentEncodingOutput +] +SIMPLE_SCALAR_PROPERTIES: APIOperation[ + SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput +] +SPARSE_NULLS_OPERATION: APIOperation[ + SparseNullsOperationInput, SparseNullsOperationOutput +] diff --git a/codegen-output/aws-json-1-1/tests/_typecheck.py b/codegen-output/aws-json-1-1/tests/_typecheck.py new file mode 100644 index 000000000..d1d1c44ab --- /dev/null +++ b/codegen-output/aws-json-1-1/tests/_typecheck.py @@ -0,0 +1,97 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from typing import Any + +from awsjson11.models import ( + ComplexNestedErrorData, + ContentTypeParametersInput, + ContentTypeParametersOutput, + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + EmptyOperationInput, + EmptyOperationOutput, + EmptyStruct, + EndpointOperationInput, + EndpointOperationOutput, + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingStruct, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HostWithPathOperationInput, + HostWithPathOperationOutput, + JsonEnumsInput, + JsonEnumsOutput, + JsonIntEnumsInput, + JsonIntEnumsOutput, + JsonUnionsInput, + JsonUnionsOutput, + KitchenSink, + KitchenSinkOperationInput, + KitchenSinkOperationOutput, + NullOperationInput, + NullOperationOutput, + OperationWithOptionalInputOutputInput, + OperationWithOptionalInputOutputOutput, + PutAndGetInlineDocumentsInput, + PutAndGetInlineDocumentsOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + SimpleStruct, + SparseNullsOperationInput, + SparseNullsOperationOutput, + StructWithJsonName, +) + + +# Static type fixture: pyright over this validates models.pyi. +# Not executed as a test; it only needs to type-check. + +_: Any = ... + +ComplexNestedErrorData() +ContentTypeParametersInput() +ContentTypeParametersOutput() +DatetimeOffsetsInput() +DatetimeOffsetsOutput() +EmptyOperationInput() +EmptyOperationOutput() +EmptyStruct() +EndpointOperationInput() +EndpointOperationOutput() +EndpointWithHostLabelOperationInput() +EndpointWithHostLabelOperationOutput() +FractionalSecondsInput() +FractionalSecondsOutput() +GreetingWithErrorsInput() +GreetingWithErrorsOutput() +HostWithPathOperationInput() +HostWithPathOperationOutput() +JsonEnumsInput() +JsonEnumsOutput() +JsonIntEnumsInput() +JsonIntEnumsOutput() +JsonUnionsInput() +JsonUnionsOutput() +KitchenSink() +KitchenSinkOperationInput() +KitchenSinkOperationOutput() +NullOperationInput() +NullOperationOutput() +OperationWithOptionalInputOutputInput() +OperationWithOptionalInputOutputOutput() +PutAndGetInlineDocumentsInput() +PutAndGetInlineDocumentsOutput() +PutWithContentEncodingInput() +PutWithContentEncodingOutput() +SimpleScalarPropertiesInput() +SimpleScalarPropertiesOutput() +SimpleStruct() +SparseNullsOperationInput() +SparseNullsOperationOutput() +StructWithJsonName() +GreetingStruct() diff --git a/codegen-output/aws-json-1-1/tests/test_model_conformance.py b/codegen-output/aws-json-1-1/tests/test_model_conformance.py new file mode 100644 index 000000000..2ccc186e2 --- /dev/null +++ b/codegen-output/aws-json-1-1/tests/test_model_conformance.py @@ -0,0 +1,13 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from pathlib import Path + +from smithy_test import verify_models + +from awsjson11 import models as _models +from awsjson11._private import schemas as _schemas + + +def test_model_conformance() -> None: + pyi = Path(_models.__file__).with_suffix(".pyi") + verify_models(_models, _schemas, pyi_path=str(pyi) if pyi.exists() else None) diff --git a/codegen-output/aws-query/pyproject.toml b/codegen-output/aws-query/pyproject.toml index 7fda39478..b74bcb3a3 100644 --- a/codegen-output/aws-query/pyproject.toml +++ b/codegen-output/aws-query/pyproject.toml @@ -53,6 +53,9 @@ reportUnusedVariable = false reportUnnecessaryComparison = false reportUnusedClass = false enableExperimentalFeatures = true +# models.py is the dynamic runtime; models.pyi carries the typed +# surface for consumers, so don't type-check the implementation body. +exclude = ["**/models.py"] [tool.ruff] target-version = "py312" diff --git a/codegen-output/aws-query/src/awsquery/_private/schemas.py b/codegen-output/aws-query/src/awsquery/_private/schemas.py index 0dbf2a879..40da232a9 100644 --- a/codegen-output/aws-query/src/awsquery/_private/schemas.py +++ b/codegen-output/aws-query/src/awsquery/_private/schemas.py @@ -9,11 +9,13 @@ _DOI = "DatetimeOffsetsInput" _sSI = "smithy.synthetic#originalShapeId" _sU = "smithy.api#Unit" +_s = "smithy.api#input" n1 = "aws.protocoltests.shared" _DT = "DateTime" _sF = "smithy.api#timestampFormat" _dt = "date-time" _DOO = "DatetimeOffsetsOutput" +_sm = "smithy.api#output" _d = "datetime" _DO = "DatetimeOffsets" _EIAEOI = "EmptyInputAndEmptyOutputInput" @@ -22,24 +24,30 @@ _EOI = "EndpointOperationInput" _EOO = "EndpointOperationOutput" _EO = "EndpointOperation" -_s = "smithy.api#endpoint" +_smi = "smithy.api#endpoint" _EWHLOI = "EndpointWithHostLabelOperationInput" _aHLI = "aws.protocoltests.query#HostLabelInput" _l = "label" _sL = "smithy.api#hostLabel" -_sm = "smithy.api#required" +_smit = "smithy.api#required" _EWHLOO = "EndpointWithHostLabelOperationOutput" _EWHLO = "EndpointWithHostLabelOperation" _FXMI = "FlattenedXmlMapInput" _FE = "FooEnum" _FOO = "FOO" +_sV = "smithy.api#enumValue" +_F = "Foo" _BAZ = "BAZ" +_B = "Baz" _BAR = "BAR" +_Ba = "Bar" _ONE = "ONE" +_v = "1" _ZERO = "ZERO" +_v_ = "0" _FEM = "FooEnumMap" _k = "key" -_v = "value" +_va = "value" _FXMO = "FlattenedXmlMapOutput" _mM = "myMap" _sFm = "smithy.api#xmlFlattened" @@ -61,9 +69,8 @@ _FSO = "FractionalSecondsOutput" _FS = "FractionalSeconds" _CNED = "ComplexNestedErrorData" -_F = "Foo" _CE = "ComplexError" -_smi = "smithy.api#error" +_smith = "smithy.api#error" _c = "client" _TL = "TopLevel" _N = "Nested" @@ -146,11 +153,9 @@ _RXSI = "RecursiveXmlShapesInput" _IE = "IntegerEnum" _A = "A" -_B = "B" +_B_ = "B" _C = "C" _SIPI = "SimpleInputParamsInput" -_Ba = "Bar" -_Baz = "Baz" _Bam = "Bam" _FV = "FloatValue" _Bo = "Boo" @@ -159,7 +164,7 @@ _SIP = "SimpleInputParams" _SSXPI = "SimpleScalarXmlPropertiesInput" _SSXPO = "SimpleScalarXmlPropertiesOutput" -_sV = "stringValue" +_sVt = "stringValue" _eSV = "emptyStringValue" _tBV = "trueBooleanValue" _fBV = "falseBooleanValue" @@ -254,7 +259,7 @@ _XNI = "XmlNamespacesInput" _XNL = "XmlNamespacedList" _XNN = "XmlNamespaceNested" -_va = "values" +_val = "values" _XNO = "XmlNamespacesOutput" _n = "nested" _XN = "XmlNamespaces" @@ -288,11 +293,18 @@ _sB = "smithy.rules#endpointBdd" _aws = "aws.api#service" -DATETIME_OFFSETS_INPUT: StaticSchema = (18, n0, _DOI, {_sSI: _sU}) +DATETIME_OFFSETS_INPUT: StaticSchema = (18, n0, _DOI, {_sSI: _sU, _s: None}) DATE_TIME: StaticSchema = (4, n1, _DT, {_sF: _dt}) -DATETIME_OFFSETS_OUTPUT: StaticSchema = (18, n0, _DOO, 0, (_d,), ((DATE_TIME, 0),)) +DATETIME_OFFSETS_OUTPUT: StaticSchema = ( + 18, + n0, + _DOO, + {_sm: None}, + (_d,), + ((DATE_TIME, 0),), +) DATETIME_OFFSETS: StaticOperationSchema = ( 23, @@ -304,9 +316,9 @@ (), ) -EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT: StaticSchema = (18, n0, _EIAEOI, 0) +EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT: StaticSchema = (18, n0, _EIAEOI, {_s: None}) -EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT: StaticSchema = (18, n0, _EIAEOO, 0) +EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT: StaticSchema = (18, n0, _EIAEOO, {_sm: None}) EMPTY_INPUT_AND_EMPTY_OUTPUT: StaticOperationSchema = ( 23, @@ -318,15 +330,15 @@ (), ) -ENDPOINT_OPERATION_INPUT: StaticSchema = (18, n0, _EOI, {_sSI: _sU}) +ENDPOINT_OPERATION_INPUT: StaticSchema = (18, n0, _EOI, {_sSI: _sU, _s: None}) -ENDPOINT_OPERATION_OUTPUT: StaticSchema = (18, n0, _EOO, {_sSI: _sU}) +ENDPOINT_OPERATION_OUTPUT: StaticSchema = (18, n0, _EOO, {_sSI: _sU, _sm: None}) ENDPOINT_OPERATION: StaticOperationSchema = ( 23, n0, _EO, - {_s: MappingProxyType({"hostPrefix": "foo."})}, + {_smi: MappingProxyType({"hostPrefix": "foo."})}, ENDPOINT_OPERATION_INPUT, ENDPOINT_OPERATION_OUTPUT, (), @@ -336,24 +348,29 @@ 18, n0, _EWHLOI, - {_sSI: _aHLI}, + {_sSI: _aHLI, _s: None}, (_l,), ((3, 257),), ) -ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT: StaticSchema = (18, n0, _EWHLOO, {_sSI: _sU}) +ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT: StaticSchema = ( + 18, + n0, + _EWHLOO, + {_sSI: _sU, _sm: None}, +) ENDPOINT_WITH_HOST_LABEL_OPERATION: StaticOperationSchema = ( 23, n0, _EWHLO, - {_s: MappingProxyType({"hostPrefix": "foo.{label}."})}, + {_smi: MappingProxyType({"hostPrefix": "foo.{label}."})}, ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT, ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT, (), ) -FLATTENED_XML_MAP_INPUT: StaticSchema = (18, n0, _FXMI, {_sSI: _sU}) +FLATTENED_XML_MAP_INPUT: StaticSchema = (18, n0, _FXMI, {_sSI: _sU, _s: None}) FOO_ENUM: StaticSchema = ( 14, @@ -361,16 +378,22 @@ _FE, 0, (_FOO, _BAZ, _BAR, _ONE, _ZERO), - ((-1, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 0)), + ( + (-1, {_sV: _F}), + (-1, {_sV: _B}), + (-1, {_sV: _Ba}), + (-1, {_sV: _v}), + (-1, {_sV: _v_}), + ), ) -FOO_ENUM_MAP: StaticSchema = (17, n1, _FEM, 0, (_k, _v), ((3, 0), (FOO_ENUM, 0))) +FOO_ENUM_MAP: StaticSchema = (17, n1, _FEM, 0, (_k, _va), ((3, 0), (FOO_ENUM, 0))) FLATTENED_XML_MAP_OUTPUT: StaticSchema = ( 18, n0, _FXMO, - 0, + {_sm: None}, (_mM,), ((FOO_ENUM_MAP, {_sFm: None}),), ) @@ -385,14 +408,19 @@ (), ) -FLATTENED_XML_MAP_WITH_XML_NAME_INPUT: StaticSchema = (18, n0, _FXMWXNI, {_sSI: _sU}) +FLATTENED_XML_MAP_WITH_XML_NAME_INPUT: StaticSchema = ( + 18, + n0, + _FXMWXNI, + {_sSI: _sU, _s: None}, +) FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT_MAP: StaticSchema = ( 17, n0, _FXMWXNOM, 0, - (_k, _v), + (_k, _va), ((3, {_sN: _K}), (3, {_sN: _V})), ) @@ -400,7 +428,7 @@ 18, n0, _FXMWXNO, - 0, + {_sm: None}, (_mM,), ((FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT_MAP, {_sN: _KVP, _sFm: None}),), ) @@ -419,7 +447,7 @@ 18, n0, _FXMWXNIl, - {_sSI: _sU}, + {_sSI: _sU, _s: None}, ) FLATTENED_XML_MAP_WITH_XML_NAMESPACE_OUTPUT_MAP: StaticSchema = ( @@ -427,7 +455,7 @@ n0, _FXMWXNOMl, 0, - (_k, _v), + (_k, _va), ( (3, {_sN: _K, _sNm: MappingProxyType({"uri": "https://the-key.example.com"})}), ( @@ -441,7 +469,7 @@ 18, n0, _FXMWXNOl, - 0, + {_sm: None}, (_mM,), ( ( @@ -465,9 +493,16 @@ (), ) -FRACTIONAL_SECONDS_INPUT: StaticSchema = (18, n0, _FSI, {_sSI: _sU}) +FRACTIONAL_SECONDS_INPUT: StaticSchema = (18, n0, _FSI, {_sSI: _sU, _s: None}) -FRACTIONAL_SECONDS_OUTPUT: StaticSchema = (18, n0, _FSO, 0, (_d,), ((DATE_TIME, 0),)) +FRACTIONAL_SECONDS_OUTPUT: StaticSchema = ( + 18, + n0, + _FSO, + {_sm: None}, + (_d,), + ((DATE_TIME, 0),), +) FRACTIONAL_SECONDS: StaticOperationSchema = ( 23, @@ -485,7 +520,7 @@ 18, n0, _CE, - {_smi: _c}, + {_smith: _c}, (_TL, _N), ((3, 0), (COMPLEX_NESTED_ERROR_DATA, 0)), ) @@ -494,16 +529,26 @@ 18, n0, _CCE, - {_smi: _c, _aQE: MappingProxyType({"code": "Customized", "httpResponseCode": 402})}, + { + _smith: _c, + _aQE: MappingProxyType({"code": "Customized", "httpResponseCode": 402}), + }, (_M,), ((3, 0),), ) -GREETING_WITH_ERRORS_INPUT: StaticSchema = (18, n0, _GWEI, {_sSI: _sU}) +GREETING_WITH_ERRORS_INPUT: StaticSchema = (18, n0, _GWEI, {_sSI: _sU, _s: None}) -GREETING_WITH_ERRORS_OUTPUT: StaticSchema = (18, n0, _GWEO, 0, (_g,), ((3, 0),)) +GREETING_WITH_ERRORS_OUTPUT: StaticSchema = ( + 18, + n0, + _GWEO, + {_sm: None}, + (_g,), + ((3, 0),), +) -INVALID_GREETING: StaticSchema = (18, n0, _IG, {_smi: _c}, (_M,), ((3, 0),)) +INVALID_GREETING: StaticSchema = (18, n0, _IG, {_smith: _c}, (_M,), ((3, 0),)) GREETING_WITH_ERRORS: StaticOperationSchema = ( 23, @@ -515,9 +560,9 @@ (INVALID_GREETING, COMPLEX_ERROR, CUSTOM_CODE_ERROR), ) -HOST_WITH_PATH_OPERATION_INPUT: StaticSchema = (18, n0, _HWPOI, {_sSI: _sU}) +HOST_WITH_PATH_OPERATION_INPUT: StaticSchema = (18, n0, _HWPOI, {_sSI: _sU, _s: None}) -HOST_WITH_PATH_OPERATION_OUTPUT: StaticSchema = (18, n0, _HWPOO, {_sSI: _sU}) +HOST_WITH_PATH_OPERATION_OUTPUT: StaticSchema = (18, n0, _HWPOO, {_sSI: _sU, _sm: None}) HOST_WITH_PATH_OPERATION: StaticOperationSchema = ( 23, @@ -529,13 +574,13 @@ (), ) -IGNORES_WRAPPING_XML_NAME_INPUT: StaticSchema = (18, n0, _IWXNI, {_sSI: _sU}) +IGNORES_WRAPPING_XML_NAME_INPUT: StaticSchema = (18, n0, _IWXNI, {_sSI: _sU, _s: None}) IGNORES_WRAPPING_XML_NAME_OUTPUT: StaticSchema = ( 18, n0, _IWXNO, - {_sN: _IM}, + {_sN: _IM, _sm: None}, (_f,), ((3, 0),), ) @@ -550,11 +595,11 @@ (), ) -NESTED_STRUCTURES_OUTPUT: StaticSchema = (18, n0, _NSO, {_sSI: _sU}) +NESTED_STRUCTURES_OUTPUT: StaticSchema = (18, n0, _NSO, {_sSI: _sU, _sm: None}) -NO_INPUT_AND_NO_OUTPUT_INPUT: StaticSchema = (18, n0, _NIANOI, {_sSI: _sU}) +NO_INPUT_AND_NO_OUTPUT_INPUT: StaticSchema = (18, n0, _NIANOI, {_sSI: _sU, _s: None}) -NO_INPUT_AND_NO_OUTPUT_OUTPUT: StaticSchema = (18, n0, _NIANOO, {_sSI: _sU}) +NO_INPUT_AND_NO_OUTPUT_OUTPUT: StaticSchema = (18, n0, _NIANOO, {_sSI: _sU, _sm: None}) NO_INPUT_AND_NO_OUTPUT: StaticOperationSchema = ( 23, @@ -566,9 +611,9 @@ (), ) -NO_INPUT_AND_OUTPUT_INPUT: StaticSchema = (18, n0, _NIAOI, 0) +NO_INPUT_AND_OUTPUT_INPUT: StaticSchema = (18, n0, _NIAOI, {_s: None}) -NO_INPUT_AND_OUTPUT_OUTPUT: StaticSchema = (18, n0, _NIAOO, 0) +NO_INPUT_AND_OUTPUT_OUTPUT: StaticSchema = (18, n0, _NIAOO, {_sm: None}) NO_INPUT_AND_OUTPUT: StaticOperationSchema = ( 23, @@ -584,12 +629,17 @@ 18, n0, _PWCEI, - 0, + {_s: None}, (_e, _da), ((3, {_sH: _CE_}), (3, 0)), ) -PUT_WITH_CONTENT_ENCODING_OUTPUT: StaticSchema = (18, n0, _PWCEO, {_sSI: _sU}) +PUT_WITH_CONTENT_ENCODING_OUTPUT: StaticSchema = ( + 18, + n0, + _PWCEO, + {_sSI: _sU, _sm: None}, +) PUT_WITH_CONTENT_ENCODING: StaticOperationSchema = ( 23, @@ -605,12 +655,17 @@ 18, n0, _QITAFI, - 0, + {_s: None}, (_t,), ((3, 2),), ) -QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT: StaticSchema = (18, n0, _QITAFO, {_sSI: _sU}) +QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT: StaticSchema = ( + 18, + n0, + _QITAFO, + {_sSI: _sU, _sm: None}, +) QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL: StaticOperationSchema = ( 23, @@ -636,7 +691,7 @@ 18, n0, _QLI, - 0, + {_s: None}, (_LA, _CLA, _FLA, _LAWXNM, _FLAWXN, _NWL), ( (STRING_LIST, 0), @@ -648,7 +703,7 @@ ), ) -QUERY_LISTS_OUTPUT: StaticSchema = (18, n0, _QLO, {_sSI: _sU}) +QUERY_LISTS_OUTPUT: StaticSchema = (18, n0, _QLO, {_sSI: _sU, _sm: None}) QUERY_LISTS: StaticOperationSchema = ( 23, @@ -660,20 +715,20 @@ (), ) -COMPLEX_MAP: StaticSchema = (17, n0, _CM, 0, (_k, _v), ((3, 0), (GREETING_STRUCT, 0))) +COMPLEX_MAP: StaticSchema = (17, n0, _CM, 0, (_k, _va), ((3, 0), (GREETING_STRUCT, 0))) -STRING_MAP: StaticSchema = (17, n1, _SM, 0, (_k, _v), ((3, 0), (3, 0))) +STRING_MAP: StaticSchema = (17, n1, _SM, 0, (_k, _va), ((3, 0), (3, 0))) MAP_WITH_XML_NAME: StaticSchema = ( 17, n0, _MWXN, 0, - (_k, _v), + (_k, _va), ((3, {_sN: _K}), (3, {_sN: _V})), ) -MAP_OF_LISTS: StaticSchema = (17, n0, _MOL, 0, (_k, _v), ((3, 0), (STRING_LIST, 0))) +MAP_OF_LISTS: StaticSchema = (17, n0, _MOL, 0, (_k, _va), ((3, 0), (STRING_LIST, 0))) NESTED_STRUCT_WITH_MAP: StaticSchema = (18, n0, _NSWM, 0, (_MA,), ((STRING_MAP, 0),)) @@ -681,7 +736,7 @@ 18, n0, _QMI, - 0, + {_s: None}, (_MA, _RMA, _CMA, _MWXMN, _FM, _FMWXN, _MOL, _NSWM), ( (STRING_MAP, 0), @@ -695,7 +750,7 @@ ), ) -QUERY_MAPS_OUTPUT: StaticSchema = (18, n0, _QMO, {_sSI: _sU}) +QUERY_MAPS_OUTPUT: StaticSchema = (18, n0, _QMO, {_sSI: _sU, _sm: None}) QUERY_MAPS: StaticOperationSchema = ( 23, @@ -713,12 +768,12 @@ 18, n0, _QTI, - 0, + {_s: None}, (_nF, _eM, _eT), ((4, 0), (4, {_sF: _es}), (EPOCH_SECONDS, 0)), ) -QUERY_TIMESTAMPS_OUTPUT: StaticSchema = (18, n0, _QTO, {_sSI: _sU}) +QUERY_TIMESTAMPS_OUTPUT: StaticSchema = (18, n0, _QTO, {_sSI: _sU, _sm: None}) QUERY_TIMESTAMPS: StaticOperationSchema = ( 23, @@ -730,16 +785,23 @@ (), ) -RECURSIVE_XML_SHAPES_INPUT: StaticSchema = (18, n0, _RXSI, {_sSI: _sU}) +RECURSIVE_XML_SHAPES_INPUT: StaticSchema = (18, n0, _RXSI, {_sSI: _sU, _s: None}) -INTEGER_ENUM: StaticSchema = (15, n1, _IE, 0, (_A, _B, _C), ((-1, 0), (-1, 0), (-1, 0))) +INTEGER_ENUM: StaticSchema = ( + 15, + n1, + _IE, + 0, + (_A, _B_, _C), + ((-1, {_sV: 1}), (-1, {_sV: 2}), (-1, {_sV: 3})), +) SIMPLE_INPUT_PARAMS_INPUT: StaticSchema = ( 18, n0, _SIPI, - 0, - (_F, _Ba, _Baz, _Bam, _FV, _Bo, _Q, _FE, _IE), + {_s: None}, + (_F, _Ba, _B, _Bam, _FV, _Bo, _Q, _FE, _IE), ( (3, 0), (3, 0), @@ -753,7 +815,7 @@ ), ) -SIMPLE_INPUT_PARAMS_OUTPUT: StaticSchema = (18, n0, _SIPO, {_sSI: _sU}) +SIMPLE_INPUT_PARAMS_OUTPUT: StaticSchema = (18, n0, _SIPO, {_sSI: _sU, _sm: None}) SIMPLE_INPUT_PARAMS: StaticOperationSchema = ( 23, @@ -765,14 +827,19 @@ (), ) -SIMPLE_SCALAR_XML_PROPERTIES_INPUT: StaticSchema = (18, n0, _SSXPI, {_sSI: _sU}) +SIMPLE_SCALAR_XML_PROPERTIES_INPUT: StaticSchema = ( + 18, + n0, + _SSXPI, + {_sSI: _sU, _s: None}, +) SIMPLE_SCALAR_XML_PROPERTIES_OUTPUT: StaticSchema = ( 18, n0, _SSXPO, - 0, - (_sV, _eSV, _tBV, _fBV, _bV, _sVh, _iV, _lV, _fV, _dV), + {_sm: None}, + (_sVt, _eSV, _tBV, _fBV, _bV, _sVh, _iV, _lV, _fV, _dV), ( (3, 0), (3, 0), @@ -797,13 +864,13 @@ (), ) -XML_BLOBS_INPUT: StaticSchema = (18, n0, _XBI, {_sSI: _sU}) +XML_BLOBS_INPUT: StaticSchema = (18, n0, _XBI, {_sSI: _sU, _s: None}) XML_BLOBS_OPERATION_OUTPUT: StaticSchema = ( 18, n0, _XBOO, - {_sSI: _aXBO}, + {_sSI: _aXBO, _sm: None}, (_da,), ((1, 0),), ) @@ -818,9 +885,16 @@ (), ) -XML_EMPTY_BLOBS_INPUT: StaticSchema = (18, n0, _XEBI, {_sSI: _sU}) +XML_EMPTY_BLOBS_INPUT: StaticSchema = (18, n0, _XEBI, {_sSI: _sU, _s: None}) -XML_EMPTY_BLOBS_OUTPUT: StaticSchema = (18, n0, _XEBO, {_sSI: _aXBO}, (_da,), ((1, 0),)) +XML_EMPTY_BLOBS_OUTPUT: StaticSchema = ( + 18, + n0, + _XEBO, + {_sSI: _aXBO, _sm: None}, + (_da,), + ((1, 0),), +) XML_EMPTY_BLOBS: StaticOperationSchema = ( 23, @@ -832,7 +906,7 @@ (), ) -XML_EMPTY_LISTS_INPUT: StaticSchema = (18, n0, _XELI, {_sSI: _sU}) +XML_EMPTY_LISTS_INPUT: StaticSchema = (18, n0, _XELI, {_sSI: _sU, _s: None}) BOOLEAN_LIST: StaticSchema = (16, n1, _BL, 0, (_m,), ((2, 0),)) @@ -872,7 +946,7 @@ _SLM, 0, (_a, _b), - ((3, {_sN: _v}), (3, {_sN: _o})), + ((3, {_sN: _va}), (3, {_sN: _o})), ) STRUCTURE_LIST: StaticSchema = ( @@ -890,7 +964,7 @@ 18, n0, _XELO, - {_sSI: _aXLO}, + {_sSI: _aXLO, _sm: None}, (_sLt, _sS, _iL, _bL, _tL, _eL, _iEL, _nSL, _rLM, _fL, _fLl, _fLWMN, _fLWN, _sLtr), ( (STRING_LIST, 0), @@ -920,14 +994,14 @@ (), ) -XML_EMPTY_MAPS_INPUT: StaticSchema = (18, n0, _XEMI, {_sSI: _sU}) +XML_EMPTY_MAPS_INPUT: StaticSchema = (18, n0, _XEMI, {_sSI: _sU, _s: None}) XML_MAPS_OUTPUT_MAP: StaticSchema = ( 17, n0, _XMOM, 0, - (_k, _v), + (_k, _va), ((3, 0), (GREETING_STRUCT, 0)), ) @@ -935,7 +1009,7 @@ 18, n0, _XEMO, - {_sSI: _aXMO}, + {_sSI: _aXMO, _sm: None}, (_mM,), ((XML_MAPS_OUTPUT_MAP, 0),), ) @@ -950,7 +1024,7 @@ (), ) -XML_ENUMS_INPUT: StaticSchema = (18, n0, _XEI, {_sSI: _sU}) +XML_ENUMS_INPUT: StaticSchema = (18, n0, _XEI, {_sSI: _sU, _s: None}) FOO_ENUM_SET: StaticSchema = (16, n1, _FES, 0, (_m,), ((FOO_ENUM, 0),)) @@ -958,7 +1032,7 @@ 18, n0, _XEO, - 0, + {_sm: None}, (_fE, _fEo, _fEoo, _fEL, _fES, _fEM), ( (FOO_ENUM, 0), @@ -980,14 +1054,14 @@ (), ) -XML_INT_ENUMS_INPUT: StaticSchema = (18, n0, _XIEI, {_sSI: _sU}) +XML_INT_ENUMS_INPUT: StaticSchema = (18, n0, _XIEI, {_sSI: _sU, _s: None}) INTEGER_ENUM_MAP: StaticSchema = ( 17, n1, _IEM, 0, - (_k, _v), + (_k, _va), ((3, 0), (INTEGER_ENUM, 0)), ) @@ -997,7 +1071,7 @@ 18, n0, _XIEO, - 0, + {_sm: None}, (_iE, _iEn, _iEnt, _iEL, _iES, _iEM), ( (INTEGER_ENUM, 0), @@ -1019,13 +1093,13 @@ (), ) -XML_LISTS_INPUT: StaticSchema = (18, n0, _XLI, {_sSI: _sU}) +XML_LISTS_INPUT: StaticSchema = (18, n0, _XLI, {_sSI: _sU, _s: None}) XML_LISTS_OPERATION_OUTPUT: StaticSchema = ( 18, n0, _XLOO, - {_sSI: _aXLO}, + {_sSI: _aXLO, _sm: None}, (_sLt, _sS, _iL, _bL, _tL, _eL, _iEL, _nSL, _rLM, _fL, _fLl, _fLWMN, _fLWN, _sLtr), ( (STRING_LIST, 0), @@ -1055,13 +1129,13 @@ (), ) -XML_MAPS_INPUT: StaticSchema = (18, n0, _XMI, {_sSI: _sU}) +XML_MAPS_INPUT: StaticSchema = (18, n0, _XMI, {_sSI: _sU, _s: None}) XML_MAPS_OPERATION_OUTPUT: StaticSchema = ( 18, n0, _XMOO, - {_sSI: _aXMO}, + {_sSI: _aXMO, _sm: None}, (_mM,), ((XML_MAPS_OUTPUT_MAP, 0),), ) @@ -1076,14 +1150,14 @@ (), ) -XML_MAPS_XML_NAME_INPUT: StaticSchema = (18, n0, _XMXNI, {_sSI: _sU}) +XML_MAPS_XML_NAME_INPUT: StaticSchema = (18, n0, _XMXNI, {_sSI: _sU, _s: None}) XML_MAPS_XML_NAME_OUTPUT_MAP: StaticSchema = ( 17, n0, _XMXNOM, 0, - (_k, _v), + (_k, _va), ((3, {_sN: _At}), (GREETING_STRUCT, {_sN: _S})), ) @@ -1091,7 +1165,7 @@ 18, n0, _XMXNO, - 0, + {_sm: None}, (_mM,), ((XML_MAPS_XML_NAME_OUTPUT_MAP, 0),), ) @@ -1106,7 +1180,7 @@ (), ) -XML_NAMESPACES_INPUT: StaticSchema = (18, n0, _XNI, {_sSI: _sU}) +XML_NAMESPACES_INPUT: StaticSchema = (18, n0, _XNI, {_sSI: _sU, _s: None}) XML_NAMESPACED_LIST: StaticSchema = ( 16, @@ -1122,7 +1196,7 @@ n0, _XNN, {_sNm: MappingProxyType({"uri": "http://boo.com"})}, - (_f, _va), + (_f, _val), ( (3, {_sNm: MappingProxyType({"uri": "http://baz.com", "prefix": "baz"})}), (XML_NAMESPACED_LIST, {_sNm: MappingProxyType({"uri": "http://qux.com"})}), @@ -1133,7 +1207,7 @@ 18, n0, _XNO, - {_sNm: MappingProxyType({"uri": "http://foo.com"})}, + {_sm: None, _sNm: MappingProxyType({"uri": "http://foo.com"})}, (_n,), ((XML_NAMESPACE_NESTED, 0),), ) @@ -1148,7 +1222,7 @@ (), ) -XML_TIMESTAMPS_INPUT: StaticSchema = (18, n0, _XTI, {_sSI: _sU}) +XML_TIMESTAMPS_INPUT: StaticSchema = (18, n0, _XTI, {_sSI: _sU, _s: None}) HTTP_DATE: StaticSchema = (4, n1, _HD, {_sF: _hd}) @@ -1156,7 +1230,7 @@ 18, n0, _XTO, - 0, + {_sm: None}, (_no, _dT, _dTOT, _eS, _eSOT, _hD, _hDOT), ( (4, 0), @@ -1188,7 +1262,14 @@ ((3, 0), (2, 0), (lambda: STRUCT_ARG, 0)), ) -NESTED_STRUCTURES_INPUT: StaticSchema = (18, n0, _NSI, 0, (_N,), ((STRUCT_ARG, 0),)) +NESTED_STRUCTURES_INPUT: StaticSchema = ( + 18, + n0, + _NSI, + {_s: None}, + (_N,), + ((STRUCT_ARG, 0),), +) RECURSIVE_XML_SHAPES_OUTPUT_NESTED1: StaticSchema = ( 18, @@ -1222,7 +1303,7 @@ 18, n0, _RXSO, - 0, + {_sm: None}, (_n,), ((RECURSIVE_XML_SHAPES_OUTPUT_NESTED1, 0),), ) diff --git a/codegen-output/aws-query/src/awsquery/client.py b/codegen-output/aws-query/src/awsquery/client.py index bf42c255e..df9864036 100644 --- a/codegen-output/aws-query/src/awsquery/client.py +++ b/codegen-output/aws-query/src/awsquery/client.py @@ -1,5 +1,7 @@ # Code generated by smithy-python-codegen DO NOT EDIT. +from __future__ import annotations + from copy import deepcopy import logging from typing import Any, cast @@ -18,71 +20,27 @@ from .config import AsyncQueryProtocolConfig, Plugin from .models import ( DATETIME_OFFSETS, - DatetimeOffsetsInput, - DatetimeOffsetsOutput, EMPTY_INPUT_AND_EMPTY_OUTPUT, ENDPOINT_OPERATION, ENDPOINT_WITH_HOST_LABEL_OPERATION, - EmptyInputAndEmptyOutputInput, - EmptyInputAndEmptyOutputOutput, - EndpointOperationInput, - EndpointOperationOutput, - EndpointWithHostLabelOperationInput, - EndpointWithHostLabelOperationOutput, FLATTENED_XML_MAP, FLATTENED_XML_MAP_WITH_XML_NAME, FLATTENED_XML_MAP_WITH_XML_NAMESPACE, FRACTIONAL_SECONDS, - FlattenedXmlMapInput, - FlattenedXmlMapOutput, - FlattenedXmlMapWithXmlNameInput, - FlattenedXmlMapWithXmlNameOutput, - FlattenedXmlMapWithXmlNamespaceInput, - FlattenedXmlMapWithXmlNamespaceOutput, - FractionalSecondsInput, - FractionalSecondsOutput, GREETING_WITH_ERRORS, - GreetingWithErrorsInput, - GreetingWithErrorsOutput, HOST_WITH_PATH_OPERATION, - HostWithPathOperationInput, - HostWithPathOperationOutput, IGNORES_WRAPPING_XML_NAME, - IgnoresWrappingXmlNameInput, - IgnoresWrappingXmlNameOutput, NESTED_STRUCTURES, NO_INPUT_AND_NO_OUTPUT, NO_INPUT_AND_OUTPUT, - NestedStructuresInput, - NestedStructuresOutput, - NoInputAndNoOutputInput, - NoInputAndNoOutputOutput, - NoInputAndOutputInput, - NoInputAndOutputOutput, PUT_WITH_CONTENT_ENCODING, - PutWithContentEncodingInput, - PutWithContentEncodingOutput, QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, QUERY_LISTS, QUERY_MAPS, QUERY_TIMESTAMPS, - QueryIdempotencyTokenAutoFillInput, - QueryIdempotencyTokenAutoFillOutput, - QueryListsInput, - QueryListsOutput, - QueryMapsInput, - QueryMapsOutput, - QueryTimestampsInput, - QueryTimestampsOutput, RECURSIVE_XML_SHAPES, - RecursiveXmlShapesInput, - RecursiveXmlShapesOutput, SIMPLE_INPUT_PARAMS, SIMPLE_SCALAR_XML_PROPERTIES, - SimpleInputParamsInput, - SimpleInputParamsOutput, - SimpleScalarXmlPropertiesInput, - SimpleScalarXmlPropertiesOutput, XML_BLOBS, XML_EMPTY_BLOBS, XML_EMPTY_LISTS, @@ -94,31 +52,81 @@ XML_MAPS_XML_NAME, XML_NAMESPACES, XML_TIMESTAMPS, - XmlBlobsInput, - XmlBlobsOperationOutput, - XmlEmptyBlobsInput, - XmlEmptyBlobsOutput, - XmlEmptyListsInput, - XmlEmptyListsOutput, - XmlEmptyMapsInput, - XmlEmptyMapsOutput, - XmlEnumsInput, - XmlEnumsOutput, - XmlIntEnumsInput, - XmlIntEnumsOutput, - XmlListsInput, - XmlListsOperationOutput, - XmlMapsInput, - XmlMapsOperationOutput, - XmlMapsXmlNameInput, - XmlMapsXmlNameOutput, - XmlNamespacesInput, - XmlNamespacesOutput, - XmlTimestampsInput, - XmlTimestampsOutput, ) from .user_agent import aws_user_agent_plugin +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from .models import ( + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + FlattenedXmlMapInput, + FlattenedXmlMapOutput, + FlattenedXmlMapWithXmlNameInput, + FlattenedXmlMapWithXmlNameOutput, + FlattenedXmlMapWithXmlNamespaceInput, + FlattenedXmlMapWithXmlNamespaceOutput, + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HostWithPathOperationInput, + HostWithPathOperationOutput, + IgnoresWrappingXmlNameInput, + IgnoresWrappingXmlNameOutput, + NestedStructuresInput, + NestedStructuresOutput, + NoInputAndNoOutputInput, + NoInputAndNoOutputOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, + QueryIdempotencyTokenAutoFillInput, + QueryIdempotencyTokenAutoFillOutput, + QueryListsInput, + QueryListsOutput, + QueryMapsInput, + QueryMapsOutput, + QueryTimestampsInput, + QueryTimestampsOutput, + RecursiveXmlShapesInput, + RecursiveXmlShapesOutput, + SimpleInputParamsInput, + SimpleInputParamsOutput, + SimpleScalarXmlPropertiesInput, + SimpleScalarXmlPropertiesOutput, + XmlBlobsInput, + XmlBlobsOperationOutput, + XmlEmptyBlobsInput, + XmlEmptyBlobsOutput, + XmlEmptyListsInput, + XmlEmptyListsOutput, + XmlEmptyMapsInput, + XmlEmptyMapsOutput, + XmlEnumsInput, + XmlEnumsOutput, + XmlIntEnumsInput, + XmlIntEnumsOutput, + XmlListsInput, + XmlListsOperationOutput, + XmlMapsInput, + XmlMapsOperationOutput, + XmlMapsXmlNameInput, + XmlMapsXmlNameOutput, + XmlNamespacesInput, + XmlNamespacesOutput, + XmlTimestampsInput, + XmlTimestampsOutput, + ) + logger = logging.getLogger(__name__) diff --git a/codegen-output/aws-query/src/awsquery/config.py b/codegen-output/aws-query/src/awsquery/config.py index af6bd7422..3a0526d78 100644 --- a/codegen-output/aws-query/src/awsquery/config.py +++ b/codegen-output/aws-query/src/awsquery/config.py @@ -1,7 +1,16 @@ # Code generated by smithy-python-codegen DO NOT EDIT. from dataclasses import dataclass, field -from typing import Any, Callable, ClassVar, Self, TypeAlias, Union, Unpack +from typing import ( + Any, + Callable, + ClassVar, + Self, + TYPE_CHECKING, + TypeAlias, + Union, + Unpack, +) from smithy_aws_core.aio.protocols import AwsQueryClientProtocol from smithy_aws_core.auth import SigV4AuthScheme @@ -21,138 +30,147 @@ ) from smithy_core.aio.interfaces.auth import AuthScheme from smithy_core.aio.interfaces.identity import IdentityResolver -from smithy_core.interceptors import Interceptor from smithy_core.interfaces.auth import AuthSchemeResolver from smithy_core.shapes import ShapeID from smithy_http.aio.aiohttp import AIOHTTPClient from .auth import HTTPAuthSchemeResolver -from .models import ( - DatetimeOffsetsInput, - DatetimeOffsetsOutput, - EmptyInputAndEmptyOutputInput, - EmptyInputAndEmptyOutputOutput, - EndpointOperationInput, - EndpointOperationOutput, - EndpointWithHostLabelOperationInput, - EndpointWithHostLabelOperationOutput, - FlattenedXmlMapInput, - FlattenedXmlMapOutput, - FlattenedXmlMapWithXmlNameInput, - FlattenedXmlMapWithXmlNameOutput, - FlattenedXmlMapWithXmlNamespaceInput, - FlattenedXmlMapWithXmlNamespaceOutput, - FractionalSecondsInput, - FractionalSecondsOutput, - GreetingWithErrorsInput, - GreetingWithErrorsOutput, - HostWithPathOperationInput, - HostWithPathOperationOutput, - IgnoresWrappingXmlNameInput, - IgnoresWrappingXmlNameOutput, - NestedStructuresInput, - NestedStructuresOutput, - NoInputAndNoOutputInput, - NoInputAndNoOutputOutput, - NoInputAndOutputInput, - NoInputAndOutputOutput, - PutWithContentEncodingInput, - PutWithContentEncodingOutput, - QueryIdempotencyTokenAutoFillInput, - QueryIdempotencyTokenAutoFillOutput, - QueryListsInput, - QueryListsOutput, - QueryMapsInput, - QueryMapsOutput, - QueryTimestampsInput, - QueryTimestampsOutput, - RecursiveXmlShapesInput, - RecursiveXmlShapesOutput, - SimpleInputParamsInput, - SimpleInputParamsOutput, - SimpleScalarXmlPropertiesInput, - SimpleScalarXmlPropertiesOutput, - XmlBlobsInput, - XmlBlobsOperationOutput, - XmlEmptyBlobsInput, - XmlEmptyBlobsOutput, - XmlEmptyListsInput, - XmlEmptyListsOutput, - XmlEmptyMapsInput, - XmlEmptyMapsOutput, - XmlEnumsInput, - XmlEnumsOutput, - XmlIntEnumsInput, - XmlIntEnumsOutput, - XmlListsInput, - XmlListsOperationOutput, - XmlMapsInput, - XmlMapsOperationOutput, - XmlMapsXmlNameInput, - XmlMapsXmlNameOutput, - XmlNamespacesInput, - XmlNamespacesOutput, - XmlTimestampsInput, - XmlTimestampsOutput, -) -_ServiceInterceptor = Union[ - Interceptor[DatetimeOffsetsInput, DatetimeOffsetsOutput, Any, Any], - Interceptor[ - EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput, Any, Any - ], - Interceptor[EndpointOperationInput, EndpointOperationOutput, Any, Any], - Interceptor[ +if TYPE_CHECKING: + from smithy_core.interceptors import Interceptor + from .models import ( + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, EndpointWithHostLabelOperationInput, EndpointWithHostLabelOperationOutput, - Any, - Any, - ], - Interceptor[FlattenedXmlMapInput, FlattenedXmlMapOutput, Any, Any], - Interceptor[ - FlattenedXmlMapWithXmlNameInput, FlattenedXmlMapWithXmlNameOutput, Any, Any - ], - Interceptor[ + FlattenedXmlMapInput, + FlattenedXmlMapOutput, + FlattenedXmlMapWithXmlNameInput, + FlattenedXmlMapWithXmlNameOutput, FlattenedXmlMapWithXmlNamespaceInput, FlattenedXmlMapWithXmlNamespaceOutput, - Any, - Any, - ], - Interceptor[FractionalSecondsInput, FractionalSecondsOutput, Any, Any], - Interceptor[GreetingWithErrorsInput, GreetingWithErrorsOutput, Any, Any], - Interceptor[HostWithPathOperationInput, HostWithPathOperationOutput, Any, Any], - Interceptor[IgnoresWrappingXmlNameInput, IgnoresWrappingXmlNameOutput, Any, Any], - Interceptor[NestedStructuresInput, NestedStructuresOutput, Any, Any], - Interceptor[NoInputAndNoOutputInput, NoInputAndNoOutputOutput, Any, Any], - Interceptor[NoInputAndOutputInput, NoInputAndOutputOutput, Any, Any], - Interceptor[PutWithContentEncodingInput, PutWithContentEncodingOutput, Any, Any], - Interceptor[ + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HostWithPathOperationInput, + HostWithPathOperationOutput, + IgnoresWrappingXmlNameInput, + IgnoresWrappingXmlNameOutput, + NestedStructuresInput, + NestedStructuresOutput, + NoInputAndNoOutputInput, + NoInputAndNoOutputOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, QueryIdempotencyTokenAutoFillInput, QueryIdempotencyTokenAutoFillOutput, - Any, - Any, - ], - Interceptor[QueryListsInput, QueryListsOutput, Any, Any], - Interceptor[QueryMapsInput, QueryMapsOutput, Any, Any], - Interceptor[QueryTimestampsInput, QueryTimestampsOutput, Any, Any], - Interceptor[RecursiveXmlShapesInput, RecursiveXmlShapesOutput, Any, Any], - Interceptor[SimpleInputParamsInput, SimpleInputParamsOutput, Any, Any], - Interceptor[ - SimpleScalarXmlPropertiesInput, SimpleScalarXmlPropertiesOutput, Any, Any - ], - Interceptor[XmlBlobsInput, XmlBlobsOperationOutput, Any, Any], - Interceptor[XmlEmptyBlobsInput, XmlEmptyBlobsOutput, Any, Any], - Interceptor[XmlEmptyListsInput, XmlEmptyListsOutput, Any, Any], - Interceptor[XmlEmptyMapsInput, XmlEmptyMapsOutput, Any, Any], - Interceptor[XmlEnumsInput, XmlEnumsOutput, Any, Any], - Interceptor[XmlIntEnumsInput, XmlIntEnumsOutput, Any, Any], - Interceptor[XmlListsInput, XmlListsOperationOutput, Any, Any], - Interceptor[XmlMapsInput, XmlMapsOperationOutput, Any, Any], - Interceptor[XmlMapsXmlNameInput, XmlMapsXmlNameOutput, Any, Any], - Interceptor[XmlNamespacesInput, XmlNamespacesOutput, Any, Any], - Interceptor[XmlTimestampsInput, XmlTimestampsOutput, Any, Any], -] + QueryListsInput, + QueryListsOutput, + QueryMapsInput, + QueryMapsOutput, + QueryTimestampsInput, + QueryTimestampsOutput, + RecursiveXmlShapesInput, + RecursiveXmlShapesOutput, + SimpleInputParamsInput, + SimpleInputParamsOutput, + SimpleScalarXmlPropertiesInput, + SimpleScalarXmlPropertiesOutput, + XmlBlobsInput, + XmlBlobsOperationOutput, + XmlEmptyBlobsInput, + XmlEmptyBlobsOutput, + XmlEmptyListsInput, + XmlEmptyListsOutput, + XmlEmptyMapsInput, + XmlEmptyMapsOutput, + XmlEnumsInput, + XmlEnumsOutput, + XmlIntEnumsInput, + XmlIntEnumsOutput, + XmlListsInput, + XmlListsOperationOutput, + XmlMapsInput, + XmlMapsOperationOutput, + XmlMapsXmlNameInput, + XmlMapsXmlNameOutput, + XmlNamespacesInput, + XmlNamespacesOutput, + XmlTimestampsInput, + XmlTimestampsOutput, + ) + + _ServiceInterceptor = Union[ + Interceptor[DatetimeOffsetsInput, DatetimeOffsetsOutput, Any, Any], + Interceptor[ + EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput, Any, Any + ], + Interceptor[EndpointOperationInput, EndpointOperationOutput, Any, Any], + Interceptor[ + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + Any, + Any, + ], + Interceptor[FlattenedXmlMapInput, FlattenedXmlMapOutput, Any, Any], + Interceptor[ + FlattenedXmlMapWithXmlNameInput, FlattenedXmlMapWithXmlNameOutput, Any, Any + ], + Interceptor[ + FlattenedXmlMapWithXmlNamespaceInput, + FlattenedXmlMapWithXmlNamespaceOutput, + Any, + Any, + ], + Interceptor[FractionalSecondsInput, FractionalSecondsOutput, Any, Any], + Interceptor[GreetingWithErrorsInput, GreetingWithErrorsOutput, Any, Any], + Interceptor[HostWithPathOperationInput, HostWithPathOperationOutput, Any, Any], + Interceptor[ + IgnoresWrappingXmlNameInput, IgnoresWrappingXmlNameOutput, Any, Any + ], + Interceptor[NestedStructuresInput, NestedStructuresOutput, Any, Any], + Interceptor[NoInputAndNoOutputInput, NoInputAndNoOutputOutput, Any, Any], + Interceptor[NoInputAndOutputInput, NoInputAndOutputOutput, Any, Any], + Interceptor[ + PutWithContentEncodingInput, PutWithContentEncodingOutput, Any, Any + ], + Interceptor[ + QueryIdempotencyTokenAutoFillInput, + QueryIdempotencyTokenAutoFillOutput, + Any, + Any, + ], + Interceptor[QueryListsInput, QueryListsOutput, Any, Any], + Interceptor[QueryMapsInput, QueryMapsOutput, Any, Any], + Interceptor[QueryTimestampsInput, QueryTimestampsOutput, Any, Any], + Interceptor[RecursiveXmlShapesInput, RecursiveXmlShapesOutput, Any, Any], + Interceptor[SimpleInputParamsInput, SimpleInputParamsOutput, Any, Any], + Interceptor[ + SimpleScalarXmlPropertiesInput, SimpleScalarXmlPropertiesOutput, Any, Any + ], + Interceptor[XmlBlobsInput, XmlBlobsOperationOutput, Any, Any], + Interceptor[XmlEmptyBlobsInput, XmlEmptyBlobsOutput, Any, Any], + Interceptor[XmlEmptyListsInput, XmlEmptyListsOutput, Any, Any], + Interceptor[XmlEmptyMapsInput, XmlEmptyMapsOutput, Any, Any], + Interceptor[XmlEnumsInput, XmlEnumsOutput, Any, Any], + Interceptor[XmlIntEnumsInput, XmlIntEnumsOutput, Any, Any], + Interceptor[XmlListsInput, XmlListsOperationOutput, Any, Any], + Interceptor[XmlMapsInput, XmlMapsOperationOutput, Any, Any], + Interceptor[XmlMapsXmlNameInput, XmlMapsXmlNameOutput, Any, Any], + Interceptor[XmlNamespacesInput, XmlNamespacesOutput, Any, Any], + Interceptor[XmlTimestampsInput, XmlTimestampsOutput, Any, Any], + ] +else: + _ServiceInterceptor = Any + _PROTOCOL_SETTINGS = ProtocolSettings( namespace="aws.protocoltests.query", service_target="AwsQuery", version="2020-01-08" ) diff --git a/codegen-output/aws-query/src/awsquery/models.py b/codegen-output/aws-query/src/awsquery/models.py index f7e6b0a8c..e58c36158 100644 --- a/codegen-output/aws-query/src/awsquery/models.py +++ b/codegen-output/aws-query/src/awsquery/models.py @@ -1,139 +1,48 @@ # Code generated by smithy-python-codegen DO NOT EDIT. -from dataclasses import dataclass, field -from datetime import datetime -from enum import IntEnum, StrEnum -import logging -from typing import Any, Literal, Self - -from smithy_core._schema_compact import hydrate -from smithy_core.deserializers import ShapeDeserializer -from smithy_core.documents import TypeRegistry +from ._private import schemas as _schemas +from smithy_core._dynamic_models import ModelRegistry from smithy_core.exceptions import ModeledError -from smithy_core.response import EMPTY_RESPONSE_METADATA, ResponseMetadata -from smithy_core.schemas import APIOperation, Schema -from smithy_core.serializers import ShapeSerializer +from smithy_core.schemas import APIOperation from smithy_core.shapes import ShapeID -from smithy_core.types import UnknownEnumMixin from ._private.schemas import ( - COMPLEX_ERROR as _SCHEMA_COMPLEX_ERROR, - COMPLEX_NESTED_ERROR_DATA as _SCHEMA_COMPLEX_NESTED_ERROR_DATA, - CUSTOM_CODE_ERROR as _SCHEMA_CUSTOM_CODE_ERROR, DATETIME_OFFSETS as _SCHEMA_DATETIME_OFFSETS, - DATETIME_OFFSETS_INPUT as _SCHEMA_DATETIME_OFFSETS_INPUT, - DATETIME_OFFSETS_OUTPUT as _SCHEMA_DATETIME_OFFSETS_OUTPUT, EMPTY_INPUT_AND_EMPTY_OUTPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT, - EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT, - EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT, ENDPOINT_OPERATION as _SCHEMA_ENDPOINT_OPERATION, - ENDPOINT_OPERATION_INPUT as _SCHEMA_ENDPOINT_OPERATION_INPUT, - ENDPOINT_OPERATION_OUTPUT as _SCHEMA_ENDPOINT_OPERATION_OUTPUT, ENDPOINT_WITH_HOST_LABEL_OPERATION as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, - ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT, - ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT, FLATTENED_XML_MAP as _SCHEMA_FLATTENED_XML_MAP, - FLATTENED_XML_MAP_INPUT as _SCHEMA_FLATTENED_XML_MAP_INPUT, - FLATTENED_XML_MAP_OUTPUT as _SCHEMA_FLATTENED_XML_MAP_OUTPUT, FLATTENED_XML_MAP_WITH_XML_NAME as _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME, FLATTENED_XML_MAP_WITH_XML_NAMESPACE as _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE, - FLATTENED_XML_MAP_WITH_XML_NAMESPACE_INPUT as _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE_INPUT, - FLATTENED_XML_MAP_WITH_XML_NAMESPACE_OUTPUT as _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE_OUTPUT, - FLATTENED_XML_MAP_WITH_XML_NAME_INPUT as _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_INPUT, - FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT as _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT, FRACTIONAL_SECONDS as _SCHEMA_FRACTIONAL_SECONDS, - FRACTIONAL_SECONDS_INPUT as _SCHEMA_FRACTIONAL_SECONDS_INPUT, - FRACTIONAL_SECONDS_OUTPUT as _SCHEMA_FRACTIONAL_SECONDS_OUTPUT, - GREETING_STRUCT as _SCHEMA_GREETING_STRUCT, GREETING_WITH_ERRORS as _SCHEMA_GREETING_WITH_ERRORS, - GREETING_WITH_ERRORS_INPUT as _SCHEMA_GREETING_WITH_ERRORS_INPUT, - GREETING_WITH_ERRORS_OUTPUT as _SCHEMA_GREETING_WITH_ERRORS_OUTPUT, HOST_WITH_PATH_OPERATION as _SCHEMA_HOST_WITH_PATH_OPERATION, - HOST_WITH_PATH_OPERATION_INPUT as _SCHEMA_HOST_WITH_PATH_OPERATION_INPUT, - HOST_WITH_PATH_OPERATION_OUTPUT as _SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT, IGNORES_WRAPPING_XML_NAME as _SCHEMA_IGNORES_WRAPPING_XML_NAME, - IGNORES_WRAPPING_XML_NAME_INPUT as _SCHEMA_IGNORES_WRAPPING_XML_NAME_INPUT, - IGNORES_WRAPPING_XML_NAME_OUTPUT as _SCHEMA_IGNORES_WRAPPING_XML_NAME_OUTPUT, - INVALID_GREETING as _SCHEMA_INVALID_GREETING, NESTED_STRUCTURES as _SCHEMA_NESTED_STRUCTURES, - NESTED_STRUCTURES_INPUT as _SCHEMA_NESTED_STRUCTURES_INPUT, - NESTED_STRUCTURES_OUTPUT as _SCHEMA_NESTED_STRUCTURES_OUTPUT, - NESTED_STRUCT_WITH_LIST as _SCHEMA_NESTED_STRUCT_WITH_LIST, - NESTED_STRUCT_WITH_MAP as _SCHEMA_NESTED_STRUCT_WITH_MAP, NO_INPUT_AND_NO_OUTPUT as _SCHEMA_NO_INPUT_AND_NO_OUTPUT, - NO_INPUT_AND_NO_OUTPUT_INPUT as _SCHEMA_NO_INPUT_AND_NO_OUTPUT_INPUT, - NO_INPUT_AND_NO_OUTPUT_OUTPUT as _SCHEMA_NO_INPUT_AND_NO_OUTPUT_OUTPUT, NO_INPUT_AND_OUTPUT as _SCHEMA_NO_INPUT_AND_OUTPUT, - NO_INPUT_AND_OUTPUT_INPUT as _SCHEMA_NO_INPUT_AND_OUTPUT_INPUT, - NO_INPUT_AND_OUTPUT_OUTPUT as _SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT, PUT_WITH_CONTENT_ENCODING as _SCHEMA_PUT_WITH_CONTENT_ENCODING, - PUT_WITH_CONTENT_ENCODING_INPUT as _SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT, - PUT_WITH_CONTENT_ENCODING_OUTPUT as _SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT, QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL as _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, - QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT as _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT, - QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT as _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT, QUERY_LISTS as _SCHEMA_QUERY_LISTS, - QUERY_LISTS_INPUT as _SCHEMA_QUERY_LISTS_INPUT, - QUERY_LISTS_OUTPUT as _SCHEMA_QUERY_LISTS_OUTPUT, QUERY_MAPS as _SCHEMA_QUERY_MAPS, - QUERY_MAPS_INPUT as _SCHEMA_QUERY_MAPS_INPUT, - QUERY_MAPS_OUTPUT as _SCHEMA_QUERY_MAPS_OUTPUT, QUERY_TIMESTAMPS as _SCHEMA_QUERY_TIMESTAMPS, - QUERY_TIMESTAMPS_INPUT as _SCHEMA_QUERY_TIMESTAMPS_INPUT, - QUERY_TIMESTAMPS_OUTPUT as _SCHEMA_QUERY_TIMESTAMPS_OUTPUT, RECURSIVE_XML_SHAPES as _SCHEMA_RECURSIVE_XML_SHAPES, - RECURSIVE_XML_SHAPES_INPUT as _SCHEMA_RECURSIVE_XML_SHAPES_INPUT, - RECURSIVE_XML_SHAPES_OUTPUT as _SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT, - RECURSIVE_XML_SHAPES_OUTPUT_NESTED1 as _SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED1, - RECURSIVE_XML_SHAPES_OUTPUT_NESTED2 as _SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED2, SIMPLE_INPUT_PARAMS as _SCHEMA_SIMPLE_INPUT_PARAMS, - SIMPLE_INPUT_PARAMS_INPUT as _SCHEMA_SIMPLE_INPUT_PARAMS_INPUT, - SIMPLE_INPUT_PARAMS_OUTPUT as _SCHEMA_SIMPLE_INPUT_PARAMS_OUTPUT, SIMPLE_SCALAR_XML_PROPERTIES as _SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES, - SIMPLE_SCALAR_XML_PROPERTIES_INPUT as _SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES_INPUT, - SIMPLE_SCALAR_XML_PROPERTIES_OUTPUT as _SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES_OUTPUT, - STRUCTURE_LIST_MEMBER as _SCHEMA_STRUCTURE_LIST_MEMBER, - STRUCT_ARG as _SCHEMA_STRUCT_ARG, XML_BLOBS as _SCHEMA_XML_BLOBS, - XML_BLOBS_INPUT as _SCHEMA_XML_BLOBS_INPUT, - XML_BLOBS_OPERATION_OUTPUT as _SCHEMA_XML_BLOBS_OPERATION_OUTPUT, XML_EMPTY_BLOBS as _SCHEMA_XML_EMPTY_BLOBS, - XML_EMPTY_BLOBS_INPUT as _SCHEMA_XML_EMPTY_BLOBS_INPUT, - XML_EMPTY_BLOBS_OUTPUT as _SCHEMA_XML_EMPTY_BLOBS_OUTPUT, XML_EMPTY_LISTS as _SCHEMA_XML_EMPTY_LISTS, - XML_EMPTY_LISTS_INPUT as _SCHEMA_XML_EMPTY_LISTS_INPUT, - XML_EMPTY_LISTS_OUTPUT as _SCHEMA_XML_EMPTY_LISTS_OUTPUT, XML_EMPTY_MAPS as _SCHEMA_XML_EMPTY_MAPS, - XML_EMPTY_MAPS_INPUT as _SCHEMA_XML_EMPTY_MAPS_INPUT, - XML_EMPTY_MAPS_OUTPUT as _SCHEMA_XML_EMPTY_MAPS_OUTPUT, XML_ENUMS as _SCHEMA_XML_ENUMS, - XML_ENUMS_INPUT as _SCHEMA_XML_ENUMS_INPUT, - XML_ENUMS_OUTPUT as _SCHEMA_XML_ENUMS_OUTPUT, XML_INT_ENUMS as _SCHEMA_XML_INT_ENUMS, - XML_INT_ENUMS_INPUT as _SCHEMA_XML_INT_ENUMS_INPUT, - XML_INT_ENUMS_OUTPUT as _SCHEMA_XML_INT_ENUMS_OUTPUT, XML_LISTS as _SCHEMA_XML_LISTS, - XML_LISTS_INPUT as _SCHEMA_XML_LISTS_INPUT, - XML_LISTS_OPERATION_OUTPUT as _SCHEMA_XML_LISTS_OPERATION_OUTPUT, XML_MAPS as _SCHEMA_XML_MAPS, - XML_MAPS_INPUT as _SCHEMA_XML_MAPS_INPUT, - XML_MAPS_OPERATION_OUTPUT as _SCHEMA_XML_MAPS_OPERATION_OUTPUT, XML_MAPS_XML_NAME as _SCHEMA_XML_MAPS_XML_NAME, - XML_MAPS_XML_NAME_INPUT as _SCHEMA_XML_MAPS_XML_NAME_INPUT, - XML_MAPS_XML_NAME_OUTPUT as _SCHEMA_XML_MAPS_XML_NAME_OUTPUT, XML_NAMESPACES as _SCHEMA_XML_NAMESPACES, - XML_NAMESPACES_INPUT as _SCHEMA_XML_NAMESPACES_INPUT, - XML_NAMESPACES_OUTPUT as _SCHEMA_XML_NAMESPACES_OUTPUT, - XML_NAMESPACE_NESTED as _SCHEMA_XML_NAMESPACE_NESTED, XML_TIMESTAMPS as _SCHEMA_XML_TIMESTAMPS, - XML_TIMESTAMPS_INPUT as _SCHEMA_XML_TIMESTAMPS_INPUT, - XML_TIMESTAMPS_OUTPUT as _SCHEMA_XML_TIMESTAMPS_OUTPUT, ) -logger = logging.getLogger(__name__) - - class ServiceError(ModeledError): """ Base error for all errors in the service. @@ -143,4640 +52,414 @@ class ServiceError(ModeledError): """ -@dataclass(kw_only=True) -class DatetimeOffsetsInput: - """Dataclass for DatetimeOffsetsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DATETIME_OFFSETS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DATETIME_OFFSETS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class DatetimeOffsetsOutput: - """Dataclass for DatetimeOffsetsOutput structure.""" - - datetime_: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT).members_by_index - if self.datetime_ is not None: - serializer.write_timestamp(members[0], self.datetime_) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["datetime_"] = de.read_timestamp(members[0]) +_registry = ModelRegistry( + _schemas, + renames={}, + index={ + "ComplexError": "COMPLEX_ERROR", + "ComplexNestedErrorData": "COMPLEX_NESTED_ERROR_DATA", + "CustomCodeError": "CUSTOM_CODE_ERROR", + "DatetimeOffsetsInput": "DATETIME_OFFSETS_INPUT", + "DatetimeOffsetsOutput": "DATETIME_OFFSETS_OUTPUT", + "EmptyInputAndEmptyOutputInput": "EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT", + "EmptyInputAndEmptyOutputOutput": "EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT", + "EndpointOperationInput": "ENDPOINT_OPERATION_INPUT", + "EndpointOperationOutput": "ENDPOINT_OPERATION_OUTPUT", + "EndpointWithHostLabelOperationInput": "ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT", + "EndpointWithHostLabelOperationOutput": "ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT", + "FlattenedXmlMapInput": "FLATTENED_XML_MAP_INPUT", + "FlattenedXmlMapOutput": "FLATTENED_XML_MAP_OUTPUT", + "FlattenedXmlMapWithXmlNameInput": "FLATTENED_XML_MAP_WITH_XML_NAME_INPUT", + "FlattenedXmlMapWithXmlNameOutput": "FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT", + "FlattenedXmlMapWithXmlNamespaceInput": "FLATTENED_XML_MAP_WITH_XML_NAMESPACE_INPUT", + "FlattenedXmlMapWithXmlNamespaceOutput": "FLATTENED_XML_MAP_WITH_XML_NAMESPACE_OUTPUT", + "FractionalSecondsInput": "FRACTIONAL_SECONDS_INPUT", + "FractionalSecondsOutput": "FRACTIONAL_SECONDS_OUTPUT", + "GreetingWithErrorsInput": "GREETING_WITH_ERRORS_INPUT", + "GreetingWithErrorsOutput": "GREETING_WITH_ERRORS_OUTPUT", + "HostWithPathOperationInput": "HOST_WITH_PATH_OPERATION_INPUT", + "HostWithPathOperationOutput": "HOST_WITH_PATH_OPERATION_OUTPUT", + "IgnoresWrappingXmlNameInput": "IGNORES_WRAPPING_XML_NAME_INPUT", + "IgnoresWrappingXmlNameOutput": "IGNORES_WRAPPING_XML_NAME_OUTPUT", + "InvalidGreeting": "INVALID_GREETING", + "NestedStructuresInput": "NESTED_STRUCTURES_INPUT", + "NestedStructuresOutput": "NESTED_STRUCTURES_OUTPUT", + "NestedStructWithList": "NESTED_STRUCT_WITH_LIST", + "NestedStructWithMap": "NESTED_STRUCT_WITH_MAP", + "NoInputAndNoOutputInput": "NO_INPUT_AND_NO_OUTPUT_INPUT", + "NoInputAndNoOutputOutput": "NO_INPUT_AND_NO_OUTPUT_OUTPUT", + "NoInputAndOutputInput": "NO_INPUT_AND_OUTPUT_INPUT", + "NoInputAndOutputOutput": "NO_INPUT_AND_OUTPUT_OUTPUT", + "PutWithContentEncodingInput": "PUT_WITH_CONTENT_ENCODING_INPUT", + "PutWithContentEncodingOutput": "PUT_WITH_CONTENT_ENCODING_OUTPUT", + "QueryIdempotencyTokenAutoFillInput": "QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT", + "QueryIdempotencyTokenAutoFillOutput": "QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT", + "QueryListsInput": "QUERY_LISTS_INPUT", + "QueryListsOutput": "QUERY_LISTS_OUTPUT", + "QueryMapsInput": "QUERY_MAPS_INPUT", + "QueryMapsOutput": "QUERY_MAPS_OUTPUT", + "QueryTimestampsInput": "QUERY_TIMESTAMPS_INPUT", + "QueryTimestampsOutput": "QUERY_TIMESTAMPS_OUTPUT", + "RecursiveXmlShapesInput": "RECURSIVE_XML_SHAPES_INPUT", + "RecursiveXmlShapesOutput": "RECURSIVE_XML_SHAPES_OUTPUT", + "RecursiveXmlShapesOutputNested1": "RECURSIVE_XML_SHAPES_OUTPUT_NESTED1", + "RecursiveXmlShapesOutputNested2": "RECURSIVE_XML_SHAPES_OUTPUT_NESTED2", + "SimpleInputParamsInput": "SIMPLE_INPUT_PARAMS_INPUT", + "SimpleInputParamsOutput": "SIMPLE_INPUT_PARAMS_OUTPUT", + "SimpleScalarXmlPropertiesInput": "SIMPLE_SCALAR_XML_PROPERTIES_INPUT", + "SimpleScalarXmlPropertiesOutput": "SIMPLE_SCALAR_XML_PROPERTIES_OUTPUT", + "StructArg": "STRUCT_ARG", + "StructureListMember": "STRUCTURE_LIST_MEMBER", + "XmlBlobsInput": "XML_BLOBS_INPUT", + "XmlBlobsOperationOutput": "XML_BLOBS_OPERATION_OUTPUT", + "XmlEmptyBlobsInput": "XML_EMPTY_BLOBS_INPUT", + "XmlEmptyBlobsOutput": "XML_EMPTY_BLOBS_OUTPUT", + "XmlEmptyListsInput": "XML_EMPTY_LISTS_INPUT", + "XmlEmptyListsOutput": "XML_EMPTY_LISTS_OUTPUT", + "XmlEmptyMapsInput": "XML_EMPTY_MAPS_INPUT", + "XmlEmptyMapsOutput": "XML_EMPTY_MAPS_OUTPUT", + "XmlEnumsInput": "XML_ENUMS_INPUT", + "XmlEnumsOutput": "XML_ENUMS_OUTPUT", + "XmlIntEnumsInput": "XML_INT_ENUMS_INPUT", + "XmlIntEnumsOutput": "XML_INT_ENUMS_OUTPUT", + "XmlListsInput": "XML_LISTS_INPUT", + "XmlListsOperationOutput": "XML_LISTS_OPERATION_OUTPUT", + "XmlMapsInput": "XML_MAPS_INPUT", + "XmlMapsOperationOutput": "XML_MAPS_OPERATION_OUTPUT", + "XmlMapsXmlNameInput": "XML_MAPS_XML_NAME_INPUT", + "XmlMapsXmlNameOutput": "XML_MAPS_XML_NAME_OUTPUT", + "XmlNamespaceNested": "XML_NAMESPACE_NESTED", + "XmlNamespacesInput": "XML_NAMESPACES_INPUT", + "XmlNamespacesOutput": "XML_NAMESPACES_OUTPUT", + "XmlTimestampsInput": "XML_TIMESTAMPS_INPUT", + "XmlTimestampsOutput": "XML_TIMESTAMPS_OUTPUT", + "FooEnum": "FOO_ENUM", + "GreetingStruct": "GREETING_STRUCT", + "IntegerEnum": "INTEGER_ENUM", + }, + shape_names=frozenset( + { + "ComplexError", + "ComplexNestedErrorData", + "CustomCodeError", + "DatetimeOffsetsInput", + "DatetimeOffsetsOutput", + "EmptyInputAndEmptyOutputInput", + "EmptyInputAndEmptyOutputOutput", + "EndpointOperationInput", + "EndpointOperationOutput", + "EndpointWithHostLabelOperationInput", + "EndpointWithHostLabelOperationOutput", + "FlattenedXmlMapInput", + "FlattenedXmlMapOutput", + "FlattenedXmlMapWithXmlNameInput", + "FlattenedXmlMapWithXmlNameOutput", + "FlattenedXmlMapWithXmlNamespaceInput", + "FlattenedXmlMapWithXmlNamespaceOutput", + "FooEnum", + "FractionalSecondsInput", + "FractionalSecondsOutput", + "GreetingStruct", + "GreetingWithErrorsInput", + "GreetingWithErrorsOutput", + "HostWithPathOperationInput", + "HostWithPathOperationOutput", + "IgnoresWrappingXmlNameInput", + "IgnoresWrappingXmlNameOutput", + "IntegerEnum", + "InvalidGreeting", + "NestedStructWithList", + "NestedStructWithMap", + "NestedStructuresInput", + "NestedStructuresOutput", + "NoInputAndNoOutputInput", + "NoInputAndNoOutputOutput", + "NoInputAndOutputInput", + "NoInputAndOutputOutput", + "PutWithContentEncodingInput", + "PutWithContentEncodingOutput", + "QueryIdempotencyTokenAutoFillInput", + "QueryIdempotencyTokenAutoFillOutput", + "QueryListsInput", + "QueryListsOutput", + "QueryMapsInput", + "QueryMapsOutput", + "QueryTimestampsInput", + "QueryTimestampsOutput", + "RecursiveXmlShapesInput", + "RecursiveXmlShapesOutput", + "RecursiveXmlShapesOutputNested1", + "RecursiveXmlShapesOutputNested2", + "SimpleInputParamsInput", + "SimpleInputParamsOutput", + "SimpleScalarXmlPropertiesInput", + "SimpleScalarXmlPropertiesOutput", + "StructArg", + "StructureListMember", + "XmlBlobsInput", + "XmlBlobsOperationOutput", + "XmlEmptyBlobsInput", + "XmlEmptyBlobsOutput", + "XmlEmptyListsInput", + "XmlEmptyListsOutput", + "XmlEmptyMapsInput", + "XmlEmptyMapsOutput", + "XmlEnumsInput", + "XmlEnumsOutput", + "XmlIntEnumsInput", + "XmlIntEnumsOutput", + "XmlListsInput", + "XmlListsOperationOutput", + "XmlMapsInput", + "XmlMapsOperationOutput", + "XmlMapsXmlNameInput", + "XmlMapsXmlNameOutput", + "XmlNamespaceNested", + "XmlNamespacesInput", + "XmlNamespacesOutput", + "XmlTimestampsInput", + "XmlTimestampsOutput", + } + ), + service_error="ServiceError", +) - case _: - logger.debug("Unexpected member schema: %s", member_schema) - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +def __getattr__(name: str): + return _registry.build(name) DATETIME_OFFSETS = APIOperation( - input=DatetimeOffsetsInput, - output=DatetimeOffsetsOutput, static_schema=_SCHEMA_DATETIME_OFFSETS, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class EmptyInputAndEmptyOutputInput: - """Dataclass for EmptyInputAndEmptyOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EmptyInputAndEmptyOutputOutput: - """Dataclass for EmptyInputAndEmptyOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - EMPTY_INPUT_AND_EMPTY_OUTPUT = APIOperation( - input=EmptyInputAndEmptyOutputInput, - output=EmptyInputAndEmptyOutputOutput, static_schema=_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class EndpointOperationInput: - """Dataclass for EndpointOperationInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ENDPOINT_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_OPERATION_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EndpointOperationOutput: - """Dataclass for EndpointOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ENDPOINT_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - ENDPOINT_OPERATION = APIOperation( - input=EndpointOperationInput, - output=EndpointOperationOutput, static_schema=_SCHEMA_ENDPOINT_OPERATION, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class EndpointWithHostLabelOperationInput: - """Dataclass for EndpointWithHostLabelOperationInput structure.""" - - label: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT - ).members_by_index - if self.label is not None: - serializer.write_string(members[0], self.label) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["label"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EndpointWithHostLabelOperationOutput: - """Dataclass for EndpointWithHostLabelOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - ENDPOINT_WITH_HOST_LABEL_OPERATION = APIOperation( - input=EndpointWithHostLabelOperationInput, - output=EndpointWithHostLabelOperationOutput, static_schema=_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class FlattenedXmlMapInput: - """Dataclass for FlattenedXmlMapInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FLATTENED_XML_MAP_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FLATTENED_XML_MAP_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -class FooEnum(UnknownEnumMixin, StrEnum): - FOO = "Foo" - BAZ = "Baz" - BAR = "Bar" - ONE = "1" - ZERO = "0" - - -def _serialize_foo_enum_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_foo_enum_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = FooEnum(d.read_string(value_schema)) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class FlattenedXmlMapOutput: - """Dataclass for FlattenedXmlMapOutput structure.""" - - my_map: dict[str, str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FLATTENED_XML_MAP_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_FLATTENED_XML_MAP_OUTPUT).members_by_index - if self.my_map is not None: - _serialize_foo_enum_map(serializer, members[0], self.my_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FLATTENED_XML_MAP_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = _deserialize_foo_enum_map(de, members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - FLATTENED_XML_MAP = APIOperation( - input=FlattenedXmlMapInput, - output=FlattenedXmlMapOutput, static_schema=_SCHEMA_FLATTENED_XML_MAP, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class FlattenedXmlMapWithXmlNameInput: - """Dataclass for FlattenedXmlMapWithXmlNameInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_flattened_xml_map_with_xml_name_output_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_flattened_xml_map_with_xml_name_output_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class FlattenedXmlMapWithXmlNameOutput: - """Dataclass for FlattenedXmlMapWithXmlNameOutput structure.""" - - my_map: dict[str, str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT - ).members_by_index - if self.my_map is not None: - _serialize_flattened_xml_map_with_xml_name_output_map( - serializer, members[0], self.my_map - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = ( - _deserialize_flattened_xml_map_with_xml_name_output_map( - de, members[0] - ) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - FLATTENED_XML_MAP_WITH_XML_NAME = APIOperation( - input=FlattenedXmlMapWithXmlNameInput, - output=FlattenedXmlMapWithXmlNameOutput, static_schema=_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) +FLATTENED_XML_MAP_WITH_XML_NAMESPACE = APIOperation( + static_schema=_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -@dataclass(kw_only=True) -class FlattenedXmlMapWithXmlNamespaceInput: - """Dataclass for FlattenedXmlMapWithXmlNamespaceInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_flattened_xml_map_with_xml_namespace_output_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) +FRACTIONAL_SECONDS = APIOperation( + static_schema=_SCHEMA_FRACTIONAL_SECONDS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +GREETING_WITH_ERRORS = APIOperation( + static_schema=_SCHEMA_GREETING_WITH_ERRORS, + model_registry=_registry, + error_ids=[ + ShapeID("aws.protocoltests.query#InvalidGreeting"), + ShapeID("aws.protocoltests.query#ComplexError"), + ShapeID("aws.protocoltests.query#CustomCodeError"), + ], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_flattened_xml_map_with_xml_namespace_output_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] +HOST_WITH_PATH_OPERATION = APIOperation( + static_schema=_SCHEMA_HOST_WITH_PATH_OPERATION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() +IGNORES_WRAPPING_XML_NAME = APIOperation( + static_schema=_SCHEMA_IGNORES_WRAPPING_XML_NAME, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result[k] = d.read_string(value_schema) +NO_INPUT_AND_NO_OUTPUT = APIOperation( + static_schema=_SCHEMA_NO_INPUT_AND_NO_OUTPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_map(schema, _read_value) - return result +NO_INPUT_AND_OUTPUT = APIOperation( + static_schema=_SCHEMA_NO_INPUT_AND_OUTPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +PUT_WITH_CONTENT_ENCODING = APIOperation( + static_schema=_SCHEMA_PUT_WITH_CONTENT_ENCODING, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -@dataclass(kw_only=True) -class FlattenedXmlMapWithXmlNamespaceOutput: - """Dataclass for FlattenedXmlMapWithXmlNamespaceOutput structure.""" +QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL = APIOperation( + static_schema=_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - my_map: dict[str, str] | None = None +QUERY_LISTS = APIOperation( + static_schema=_SCHEMA_QUERY_LISTS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ +QUERY_MAPS = APIOperation( + static_schema=_SCHEMA_QUERY_MAPS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE_OUTPUT), self - ) +QUERY_TIMESTAMPS = APIOperation( + static_schema=_SCHEMA_QUERY_TIMESTAMPS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE_OUTPUT - ).members_by_index - if self.my_map is not None: - _serialize_flattened_xml_map_with_xml_namespace_output_map( - serializer, members[0], self.my_map - ) +SIMPLE_INPUT_PARAMS = APIOperation( + static_schema=_SCHEMA_SIMPLE_INPUT_PARAMS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) +SIMPLE_SCALAR_XML_PROPERTIES = APIOperation( + static_schema=_SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE_OUTPUT) - members = schema.members_by_index +XML_BLOBS = APIOperation( + static_schema=_SCHEMA_XML_BLOBS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = ( - _deserialize_flattened_xml_map_with_xml_namespace_output_map( - de, members[0] - ) - ) +XML_EMPTY_BLOBS = APIOperation( + static_schema=_SCHEMA_XML_EMPTY_BLOBS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case _: - logger.debug("Unexpected member schema: %s", member_schema) +XML_EMPTY_LISTS = APIOperation( + static_schema=_SCHEMA_XML_EMPTY_LISTS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +XML_EMPTY_MAPS = APIOperation( + static_schema=_SCHEMA_XML_EMPTY_MAPS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +XML_ENUMS = APIOperation( + static_schema=_SCHEMA_XML_ENUMS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -FLATTENED_XML_MAP_WITH_XML_NAMESPACE = APIOperation( - input=FlattenedXmlMapWithXmlNamespaceInput, - output=FlattenedXmlMapWithXmlNamespaceOutput, - static_schema=_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE, - error_registry=TypeRegistry({}), +XML_INT_ENUMS = APIOperation( + static_schema=_SCHEMA_XML_INT_ENUMS, + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) +XML_LISTS = APIOperation( + static_schema=_SCHEMA_XML_LISTS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -@dataclass(kw_only=True) -class FractionalSecondsInput: - """Dataclass for FractionalSecondsInput structure.""" +XML_MAPS = APIOperation( + static_schema=_SCHEMA_XML_MAPS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FRACTIONAL_SECONDS_INPUT), self) +XML_MAPS_XML_NAME = APIOperation( + static_schema=_SCHEMA_XML_MAPS_XML_NAME, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FRACTIONAL_SECONDS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class FractionalSecondsOutput: - """Dataclass for FractionalSecondsOutput structure.""" - - datetime_: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT).members_by_index - if self.datetime_ is not None: - serializer.write_timestamp(members[0], self.datetime_) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["datetime_"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -FRACTIONAL_SECONDS = APIOperation( - input=FractionalSecondsInput, - output=FractionalSecondsOutput, - static_schema=_SCHEMA_FRACTIONAL_SECONDS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class ComplexNestedErrorData: - """Dataclass for ComplexNestedErrorData structure.""" - - foo: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ComplexError(ServiceError): - """This error is thrown when a request is invalid.""" - - fault: Literal["client", "server"] | None = "client" - - top_level: str | None = None - - nested: ComplexNestedErrorData | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_COMPLEX_ERROR), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_COMPLEX_ERROR).members_by_index - if self.top_level is not None: - serializer.write_string(members[0], self.top_level) - - if self.nested is not None: - serializer.write_struct(members[1], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_COMPLEX_ERROR) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["top_level"] = de.read_string(members[0]) - - case 1: - kwargs["nested"] = ComplexNestedErrorData.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class CustomCodeError(ServiceError): - """Dataclass for CustomCodeError structure.""" - - fault: Literal["client", "server"] | None = "client" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CUSTOM_CODE_ERROR), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_CUSTOM_CODE_ERROR).members_by_index - if self.message is not None: - serializer.write_string(members[0], self.message) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CUSTOM_CODE_ERROR) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["message"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class GreetingWithErrorsInput: - """Dataclass for GreetingWithErrorsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class GreetingWithErrorsOutput: - """Dataclass for GreetingWithErrorsOutput structure.""" - - greeting: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT).members_by_index - if self.greeting is not None: - serializer.write_string(members[0], self.greeting) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["greeting"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class InvalidGreeting(ServiceError): - """This error is thrown when an invalid greeting value is provided.""" - - fault: Literal["client", "server"] | None = "client" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_INVALID_GREETING), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_INVALID_GREETING).members_by_index - if self.message is not None: - serializer.write_string(members[0], self.message) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INVALID_GREETING) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["message"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -GREETING_WITH_ERRORS = APIOperation( - input=GreetingWithErrorsInput, - output=GreetingWithErrorsOutput, - static_schema=_SCHEMA_GREETING_WITH_ERRORS, - error_registry=TypeRegistry( - { - ShapeID("aws.protocoltests.query#InvalidGreeting"): InvalidGreeting, - ShapeID("aws.protocoltests.query#ComplexError"): ComplexError, - ShapeID("aws.protocoltests.query#CustomCodeError"): CustomCodeError, - } - ), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HostWithPathOperationInput: - """Dataclass for HostWithPathOperationInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HostWithPathOperationOutput: - """Dataclass for HostWithPathOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HOST_WITH_PATH_OPERATION = APIOperation( - input=HostWithPathOperationInput, - output=HostWithPathOperationOutput, - static_schema=_SCHEMA_HOST_WITH_PATH_OPERATION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class IgnoresWrappingXmlNameInput: - """Dataclass for IgnoresWrappingXmlNameInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_IGNORES_WRAPPING_XML_NAME_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_IGNORES_WRAPPING_XML_NAME_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class IgnoresWrappingXmlNameOutput: - """Dataclass for IgnoresWrappingXmlNameOutput structure.""" - - foo: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_IGNORES_WRAPPING_XML_NAME_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_IGNORES_WRAPPING_XML_NAME_OUTPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_IGNORES_WRAPPING_XML_NAME_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -IGNORES_WRAPPING_XML_NAME = APIOperation( - input=IgnoresWrappingXmlNameInput, - output=IgnoresWrappingXmlNameOutput, - static_schema=_SCHEMA_IGNORES_WRAPPING_XML_NAME, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NestedStructuresOutput: - """Dataclass for NestedStructuresOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NESTED_STRUCTURES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NESTED_STRUCTURES_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NoInputAndNoOutputInput: - """Dataclass for NoInputAndNoOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NoInputAndNoOutputOutput: - """Dataclass for NoInputAndNoOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NO_INPUT_AND_NO_OUTPUT = APIOperation( - input=NoInputAndNoOutputInput, - output=NoInputAndNoOutputOutput, - static_schema=_SCHEMA_NO_INPUT_AND_NO_OUTPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NoInputAndOutputInput: - """Dataclass for NoInputAndOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NoInputAndOutputOutput: - """Dataclass for NoInputAndOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NO_INPUT_AND_OUTPUT = APIOperation( - input=NoInputAndOutputInput, - output=NoInputAndOutputOutput, - static_schema=_SCHEMA_NO_INPUT_AND_OUTPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class PutWithContentEncodingInput: - """Dataclass for PutWithContentEncodingInput structure.""" - - encoding: str | None = None - - data: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT).members_by_index - if self.encoding is not None: - serializer.write_string(members[0], self.encoding) - - if self.data is not None: - serializer.write_string(members[1], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["encoding"] = de.read_string(members[0]) - - case 1: - kwargs["data"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class PutWithContentEncodingOutput: - """Dataclass for PutWithContentEncodingOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -PUT_WITH_CONTENT_ENCODING = APIOperation( - input=PutWithContentEncodingInput, - output=PutWithContentEncodingOutput, - static_schema=_SCHEMA_PUT_WITH_CONTENT_ENCODING, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class QueryIdempotencyTokenAutoFillInput: - """Dataclass for QueryIdempotencyTokenAutoFillInput structure.""" - - token: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT - ).members_by_index - if self.token is not None: - serializer.write_string(members[0], self.token) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["token"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryIdempotencyTokenAutoFillOutput: - """Dataclass for QueryIdempotencyTokenAutoFillOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL = APIOperation( - input=QueryIdempotencyTokenAutoFillInput, - output=QueryIdempotencyTokenAutoFillOutput, - static_schema=_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class GreetingStruct: - """Dataclass for GreetingStruct structure.""" - - hi: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_STRUCT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_STRUCT).members_by_index - if self.hi is not None: - serializer.write_string(members[0], self.hi) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_STRUCT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["hi"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_greeting_list( - serializer: ShapeSerializer, schema: Schema, value: list[GreetingStruct] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_struct(member_schema, e) - - -def _deserialize_greeting_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[GreetingStruct]: - result: list[GreetingStruct] = [] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(GreetingStruct.deserialize(d)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_list_with_xml_name( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_list_with_xml_name( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class NestedStructWithList: - """Dataclass for NestedStructWithList structure.""" - - list_arg: list[str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NESTED_STRUCT_WITH_LIST), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NESTED_STRUCT_WITH_LIST).members_by_index - if self.list_arg is not None: - _serialize_string_list(serializer, members[0], self.list_arg) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NESTED_STRUCT_WITH_LIST) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["list_arg"] = _deserialize_string_list(de, members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryListsInput: - """Dataclass for QueryListsInput structure.""" - - list_arg: list[str] | None = None - - complex_list_arg: list[GreetingStruct] | None = None - - flattened_list_arg: list[str] | None = None - - list_arg_with_xml_name_member: list[str] | None = None - - flattened_list_arg_with_xml_name: list[str] | None = None - - nested_with_list: NestedStructWithList | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_QUERY_LISTS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_QUERY_LISTS_INPUT).members_by_index - if self.list_arg is not None: - _serialize_string_list(serializer, members[0], self.list_arg) - - if self.complex_list_arg is not None: - _serialize_greeting_list(serializer, members[1], self.complex_list_arg) - - if self.flattened_list_arg is not None: - _serialize_string_list(serializer, members[2], self.flattened_list_arg) - - if self.list_arg_with_xml_name_member is not None: - _serialize_list_with_xml_name( - serializer, members[3], self.list_arg_with_xml_name_member - ) - - if self.flattened_list_arg_with_xml_name is not None: - _serialize_list_with_xml_name( - serializer, members[4], self.flattened_list_arg_with_xml_name - ) - - if self.nested_with_list is not None: - serializer.write_struct(members[5], self.nested_with_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_LISTS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["list_arg"] = _deserialize_string_list(de, members[0]) - - case 1: - kwargs["complex_list_arg"] = _deserialize_greeting_list( - de, members[1] - ) - - case 2: - kwargs["flattened_list_arg"] = _deserialize_string_list( - de, members[2] - ) - - case 3: - kwargs["list_arg_with_xml_name_member"] = ( - _deserialize_list_with_xml_name(de, members[3]) - ) - - case 4: - kwargs["flattened_list_arg_with_xml_name"] = ( - _deserialize_list_with_xml_name(de, members[4]) - ) - - case 5: - kwargs["nested_with_list"] = NestedStructWithList.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryListsOutput: - """Dataclass for QueryListsOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_QUERY_LISTS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_LISTS_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -QUERY_LISTS = APIOperation( - input=QueryListsInput, - output=QueryListsOutput, - static_schema=_SCHEMA_QUERY_LISTS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_complex_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, GreetingStruct] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_struct(value_schema, v)) - - -def _deserialize_complex_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, GreetingStruct]: - result: dict[str, GreetingStruct] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = GreetingStruct.deserialize(d) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_string_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_string_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_map_with_xml_name( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_map_with_xml_name( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_map_of_lists( - serializer: ShapeSerializer, schema: Schema, value: dict[str, list[str]] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: _serialize_string_list(vs, value_schema, v)) - - -def _deserialize_map_of_lists( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, list[str]]: - result: dict[str, list[str]] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = _deserialize_string_list(d, value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class NestedStructWithMap: - """Dataclass for NestedStructWithMap structure.""" - - map_arg: dict[str, str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NESTED_STRUCT_WITH_MAP), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NESTED_STRUCT_WITH_MAP).members_by_index - if self.map_arg is not None: - _serialize_string_map(serializer, members[0], self.map_arg) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NESTED_STRUCT_WITH_MAP) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["map_arg"] = _deserialize_string_map(de, members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryMapsInput: - """Dataclass for QueryMapsInput structure.""" - - map_arg: dict[str, str] | None = None - - renamed_map_arg: dict[str, str] | None = None - - complex_map_arg: dict[str, GreetingStruct] | None = None - - map_with_xml_member_name: dict[str, str] | None = None - - flattened_map: dict[str, str] | None = None - - flattened_map_with_xml_name: dict[str, str] | None = None - - map_of_lists: dict[str, list[str]] | None = None - - nested_struct_with_map: NestedStructWithMap | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_QUERY_MAPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_QUERY_MAPS_INPUT).members_by_index - if self.map_arg is not None: - _serialize_string_map(serializer, members[0], self.map_arg) - - if self.renamed_map_arg is not None: - _serialize_string_map(serializer, members[1], self.renamed_map_arg) - - if self.complex_map_arg is not None: - _serialize_complex_map(serializer, members[2], self.complex_map_arg) - - if self.map_with_xml_member_name is not None: - _serialize_map_with_xml_name( - serializer, members[3], self.map_with_xml_member_name - ) - - if self.flattened_map is not None: - _serialize_string_map(serializer, members[4], self.flattened_map) - - if self.flattened_map_with_xml_name is not None: - _serialize_map_with_xml_name( - serializer, members[5], self.flattened_map_with_xml_name - ) - - if self.map_of_lists is not None: - _serialize_map_of_lists(serializer, members[6], self.map_of_lists) - - if self.nested_struct_with_map is not None: - serializer.write_struct(members[7], self.nested_struct_with_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_MAPS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["map_arg"] = _deserialize_string_map(de, members[0]) - - case 1: - kwargs["renamed_map_arg"] = _deserialize_string_map(de, members[1]) - - case 2: - kwargs["complex_map_arg"] = _deserialize_complex_map(de, members[2]) - - case 3: - kwargs["map_with_xml_member_name"] = _deserialize_map_with_xml_name( - de, members[3] - ) - - case 4: - kwargs["flattened_map"] = _deserialize_string_map(de, members[4]) - - case 5: - kwargs["flattened_map_with_xml_name"] = ( - _deserialize_map_with_xml_name(de, members[5]) - ) - - case 6: - kwargs["map_of_lists"] = _deserialize_map_of_lists(de, members[6]) - - case 7: - kwargs["nested_struct_with_map"] = NestedStructWithMap.deserialize( - de - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryMapsOutput: - """Dataclass for QueryMapsOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_QUERY_MAPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_MAPS_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -QUERY_MAPS = APIOperation( - input=QueryMapsInput, - output=QueryMapsOutput, - static_schema=_SCHEMA_QUERY_MAPS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class QueryTimestampsInput: - """Dataclass for QueryTimestampsInput structure.""" - - normal_format: datetime | None = None - - epoch_member: datetime | None = None - - epoch_target: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_QUERY_TIMESTAMPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_QUERY_TIMESTAMPS_INPUT).members_by_index - if self.normal_format is not None: - serializer.write_timestamp(members[0], self.normal_format) - - if self.epoch_member is not None: - serializer.write_timestamp(members[1], self.epoch_member) - - if self.epoch_target is not None: - serializer.write_timestamp(members[2], self.epoch_target) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_TIMESTAMPS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["normal_format"] = de.read_timestamp(members[0]) - - case 1: - kwargs["epoch_member"] = de.read_timestamp(members[1]) - - case 2: - kwargs["epoch_target"] = de.read_timestamp(members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryTimestampsOutput: - """Dataclass for QueryTimestampsOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_QUERY_TIMESTAMPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_TIMESTAMPS_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -QUERY_TIMESTAMPS = APIOperation( - input=QueryTimestampsInput, - output=QueryTimestampsOutput, - static_schema=_SCHEMA_QUERY_TIMESTAMPS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class RecursiveXmlShapesInput: - """Dataclass for RecursiveXmlShapesInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -class IntegerEnum(UnknownEnumMixin, IntEnum): - A = 1 - B = 2 - C = 3 - - -@dataclass(kw_only=True) -class SimpleInputParamsInput: - """Dataclass for SimpleInputParamsInput structure.""" - - foo: str | None = None - - bar: str | None = None - - baz: bool | None = None - - bam: int | None = None - - float_value: float | None = None - - boo: float | None = None - - qux: bytes | None = None - - foo_enum: str | None = None - - integer_enum: int | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_INPUT_PARAMS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_INPUT_PARAMS_INPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.bar is not None: - serializer.write_string(members[1], self.bar) - - if self.baz is not None: - serializer.write_boolean(members[2], self.baz) - - if self.bam is not None: - serializer.write_integer(members[3], self.bam) - - if self.float_value is not None: - serializer.write_float(members[4], self.float_value) - - if self.boo is not None: - serializer.write_double(members[5], self.boo) - - if self.qux is not None: - serializer.write_blob(members[6], self.qux) - - if self.foo_enum is not None: - serializer.write_string(members[7], self.foo_enum) - - if self.integer_enum is not None: - serializer.write_integer(members[8], self.integer_enum) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_INPUT_PARAMS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["bar"] = de.read_string(members[1]) - - case 2: - kwargs["baz"] = de.read_boolean(members[2]) - - case 3: - kwargs["bam"] = de.read_integer(members[3]) - - case 4: - kwargs["float_value"] = de.read_float(members[4]) - - case 5: - kwargs["boo"] = de.read_double(members[5]) - - case 6: - kwargs["qux"] = de.read_blob(members[6]) - - case 7: - kwargs["foo_enum"] = FooEnum(de.read_string(members[7])) - - case 8: - kwargs["integer_enum"] = IntegerEnum(de.read_integer(members[8])) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SimpleInputParamsOutput: - """Dataclass for SimpleInputParamsOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_INPUT_PARAMS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_INPUT_PARAMS_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -SIMPLE_INPUT_PARAMS = APIOperation( - input=SimpleInputParamsInput, - output=SimpleInputParamsOutput, - static_schema=_SCHEMA_SIMPLE_INPUT_PARAMS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class SimpleScalarXmlPropertiesInput: - """Dataclass for SimpleScalarXmlPropertiesInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SimpleScalarXmlPropertiesOutput: - """Dataclass for SimpleScalarXmlPropertiesOutput structure.""" - - string_value: str | None = None - - empty_string_value: str | None = None - - true_boolean_value: bool | None = None - - false_boolean_value: bool | None = None - - byte_value: int | None = None - - short_value: int | None = None - - integer_value: int | None = None - - long_value: int | None = None - - float_value: float | None = None - - double_value: float | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES_OUTPUT).members_by_index - if self.string_value is not None: - serializer.write_string(members[0], self.string_value) - - if self.empty_string_value is not None: - serializer.write_string(members[1], self.empty_string_value) - - if self.true_boolean_value is not None: - serializer.write_boolean(members[2], self.true_boolean_value) - - if self.false_boolean_value is not None: - serializer.write_boolean(members[3], self.false_boolean_value) - - if self.byte_value is not None: - serializer.write_byte(members[4], self.byte_value) - - if self.short_value is not None: - serializer.write_short(members[5], self.short_value) - - if self.integer_value is not None: - serializer.write_integer(members[6], self.integer_value) - - if self.long_value is not None: - serializer.write_long(members[7], self.long_value) - - if self.float_value is not None: - serializer.write_float(members[8], self.float_value) - - if self.double_value is not None: - serializer.write_double(members[9], self.double_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_value"] = de.read_string(members[0]) - - case 1: - kwargs["empty_string_value"] = de.read_string(members[1]) - - case 2: - kwargs["true_boolean_value"] = de.read_boolean(members[2]) - - case 3: - kwargs["false_boolean_value"] = de.read_boolean(members[3]) - - case 4: - kwargs["byte_value"] = de.read_byte(members[4]) - - case 5: - kwargs["short_value"] = de.read_short(members[5]) - - case 6: - kwargs["integer_value"] = de.read_integer(members[6]) - - case 7: - kwargs["long_value"] = de.read_long(members[7]) - - case 8: - kwargs["float_value"] = de.read_float(members[8]) - - case 9: - kwargs["double_value"] = de.read_double(members[9]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -SIMPLE_SCALAR_XML_PROPERTIES = APIOperation( - input=SimpleScalarXmlPropertiesInput, - output=SimpleScalarXmlPropertiesOutput, - static_schema=_SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlBlobsInput: - """Dataclass for XmlBlobsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_BLOBS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_BLOBS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlBlobsOperationOutput: - """Dataclass for XmlBlobsOperationOutput structure.""" - - data: bytes | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_BLOBS_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_BLOBS_OPERATION_OUTPUT).members_by_index - if self.data is not None: - serializer.write_blob(members[0], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_BLOBS_OPERATION_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["data"] = de.read_blob(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_BLOBS = APIOperation( - input=XmlBlobsInput, - output=XmlBlobsOperationOutput, - static_schema=_SCHEMA_XML_BLOBS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlEmptyBlobsInput: - """Dataclass for XmlEmptyBlobsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_BLOBS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_BLOBS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlEmptyBlobsOutput: - """Dataclass for XmlEmptyBlobsOutput structure.""" - - data: bytes | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_BLOBS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_EMPTY_BLOBS_OUTPUT).members_by_index - if self.data is not None: - serializer.write_blob(members[0], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_BLOBS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["data"] = de.read_blob(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_EMPTY_BLOBS = APIOperation( - input=XmlEmptyBlobsInput, - output=XmlEmptyBlobsOutput, - static_schema=_SCHEMA_XML_EMPTY_BLOBS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlEmptyListsInput: - """Dataclass for XmlEmptyListsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_LISTS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_LISTS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_boolean_list( - serializer: ShapeSerializer, schema: Schema, value: list[bool] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_boolean(member_schema, e) - - -def _deserialize_boolean_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[bool]: - result: list[bool] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_boolean(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_foo_enum_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_foo_enum_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(FooEnum(d.read_string(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_renamed_list_members( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_renamed_list_members( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_list_with_member_namespace( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_list_with_member_namespace( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_list_with_namespace( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_list_with_namespace( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_integer_list( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) - - -def _deserialize_integer_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_integer(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_integer_enum_list( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) - - -def _deserialize_integer_enum_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(IntegerEnum(d.read_integer(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_nested_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[list[str]] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - _serialize_string_list(ls, member_schema, e) - - -def _deserialize_nested_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[list[str]]: - result: list[list[str]] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(_deserialize_string_list(d, member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_string_set( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_string_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class StructureListMember: - """Dataclass for StructureListMember structure.""" - - a: str | None = None - - b: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER).members_by_index - if self.a is not None: - serializer.write_string(members[0], self.a) - - if self.b is not None: - serializer.write_string(members[1], self.b) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["a"] = de.read_string(members[0]) - - case 1: - kwargs["b"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_structure_list( - serializer: ShapeSerializer, schema: Schema, value: list[StructureListMember] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_struct(member_schema, e) - - -def _deserialize_structure_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[StructureListMember]: - result: list[StructureListMember] = [] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(StructureListMember.deserialize(d)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_timestamp_list( - serializer: ShapeSerializer, schema: Schema, value: list[datetime] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_timestamp(member_schema, e) - - -def _deserialize_timestamp_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[datetime]: - result: list[datetime] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_timestamp(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlEmptyListsOutput: - """Dataclass for XmlEmptyListsOutput structure.""" - - string_list: list[str] | None = None - - string_set: list[str] | None = None - - integer_list: list[int] | None = None - - boolean_list: list[bool] | None = None - - timestamp_list: list[datetime] | None = None - - enum_list: list[str] | None = None - - int_enum_list: list[int] | None = None - - nested_string_list: list[list[str]] | None = None - """A list of lists of strings.""" - - renamed_list_members: list[str] | None = None - - flattened_list: list[str] | None = None - - flattened_list2: list[str] | None = None - - flattened_list_with_member_namespace: list[str] | None = None - - flattened_list_with_namespace: list[str] | None = None - - structure_list: list[StructureListMember] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_LISTS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_EMPTY_LISTS_OUTPUT).members_by_index - if self.string_list is not None: - _serialize_string_list(serializer, members[0], self.string_list) - - if self.string_set is not None: - _serialize_string_set(serializer, members[1], self.string_set) - - if self.integer_list is not None: - _serialize_integer_list(serializer, members[2], self.integer_list) - - if self.boolean_list is not None: - _serialize_boolean_list(serializer, members[3], self.boolean_list) - - if self.timestamp_list is not None: - _serialize_timestamp_list(serializer, members[4], self.timestamp_list) - - if self.enum_list is not None: - _serialize_foo_enum_list(serializer, members[5], self.enum_list) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[6], self.int_enum_list) - - if self.nested_string_list is not None: - _serialize_nested_string_list( - serializer, members[7], self.nested_string_list - ) - - if self.renamed_list_members is not None: - _serialize_renamed_list_members( - serializer, members[8], self.renamed_list_members - ) - - if self.flattened_list is not None: - _serialize_renamed_list_members(serializer, members[9], self.flattened_list) - - if self.flattened_list2 is not None: - _serialize_renamed_list_members( - serializer, members[10], self.flattened_list2 - ) - - if self.flattened_list_with_member_namespace is not None: - _serialize_list_with_member_namespace( - serializer, members[11], self.flattened_list_with_member_namespace - ) - - if self.flattened_list_with_namespace is not None: - _serialize_list_with_namespace( - serializer, members[12], self.flattened_list_with_namespace - ) - - if self.structure_list is not None: - _serialize_structure_list(serializer, members[13], self.structure_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_LISTS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_list"] = _deserialize_string_list(de, members[0]) - - case 1: - kwargs["string_set"] = _deserialize_string_set(de, members[1]) - - case 2: - kwargs["integer_list"] = _deserialize_integer_list(de, members[2]) - - case 3: - kwargs["boolean_list"] = _deserialize_boolean_list(de, members[3]) - - case 4: - kwargs["timestamp_list"] = _deserialize_timestamp_list( - de, members[4] - ) - - case 5: - kwargs["enum_list"] = _deserialize_foo_enum_list(de, members[5]) - - case 6: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[6] - ) - - case 7: - kwargs["nested_string_list"] = _deserialize_nested_string_list( - de, members[7] - ) - - case 8: - kwargs["renamed_list_members"] = _deserialize_renamed_list_members( - de, members[8] - ) - - case 9: - kwargs["flattened_list"] = _deserialize_renamed_list_members( - de, members[9] - ) - - case 10: - kwargs["flattened_list2"] = _deserialize_renamed_list_members( - de, members[10] - ) - - case 11: - kwargs["flattened_list_with_member_namespace"] = ( - _deserialize_list_with_member_namespace(de, members[11]) - ) - - case 12: - kwargs["flattened_list_with_namespace"] = ( - _deserialize_list_with_namespace(de, members[12]) - ) - - case 13: - kwargs["structure_list"] = _deserialize_structure_list( - de, members[13] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_EMPTY_LISTS = APIOperation( - input=XmlEmptyListsInput, - output=XmlEmptyListsOutput, - static_schema=_SCHEMA_XML_EMPTY_LISTS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlEmptyMapsInput: - """Dataclass for XmlEmptyMapsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_MAPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_MAPS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_xml_maps_output_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, GreetingStruct] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_struct(value_schema, v)) - - -def _deserialize_xml_maps_output_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, GreetingStruct]: - result: dict[str, GreetingStruct] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = GreetingStruct.deserialize(d) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlEmptyMapsOutput: - """Dataclass for XmlEmptyMapsOutput structure.""" - - my_map: dict[str, GreetingStruct] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_MAPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_EMPTY_MAPS_OUTPUT).members_by_index - if self.my_map is not None: - _serialize_xml_maps_output_map(serializer, members[0], self.my_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_MAPS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = _deserialize_xml_maps_output_map(de, members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_EMPTY_MAPS = APIOperation( - input=XmlEmptyMapsInput, - output=XmlEmptyMapsOutput, - static_schema=_SCHEMA_XML_EMPTY_MAPS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlEnumsInput: - """Dataclass for XmlEnumsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_ENUMS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ENUMS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_foo_enum_set( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_foo_enum_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(FooEnum(d.read_string(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlEnumsOutput: - """Dataclass for XmlEnumsOutput structure.""" - - foo_enum1: str | None = None - - foo_enum2: str | None = None - - foo_enum3: str | None = None - - foo_enum_list: list[str] | None = None - - foo_enum_set: list[str] | None = None - - foo_enum_map: dict[str, str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_ENUMS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_ENUMS_OUTPUT).members_by_index - if self.foo_enum1 is not None: - serializer.write_string(members[0], self.foo_enum1) - - if self.foo_enum2 is not None: - serializer.write_string(members[1], self.foo_enum2) - - if self.foo_enum3 is not None: - serializer.write_string(members[2], self.foo_enum3) - - if self.foo_enum_list is not None: - _serialize_foo_enum_list(serializer, members[3], self.foo_enum_list) - - if self.foo_enum_set is not None: - _serialize_foo_enum_set(serializer, members[4], self.foo_enum_set) - - if self.foo_enum_map is not None: - _serialize_foo_enum_map(serializer, members[5], self.foo_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ENUMS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo_enum1"] = FooEnum(de.read_string(members[0])) - - case 1: - kwargs["foo_enum2"] = FooEnum(de.read_string(members[1])) - - case 2: - kwargs["foo_enum3"] = FooEnum(de.read_string(members[2])) - - case 3: - kwargs["foo_enum_list"] = _deserialize_foo_enum_list(de, members[3]) - - case 4: - kwargs["foo_enum_set"] = _deserialize_foo_enum_set(de, members[4]) - - case 5: - kwargs["foo_enum_map"] = _deserialize_foo_enum_map(de, members[5]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_ENUMS = APIOperation( - input=XmlEnumsInput, - output=XmlEnumsOutput, - static_schema=_SCHEMA_XML_ENUMS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlIntEnumsInput: - """Dataclass for XmlIntEnumsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_INT_ENUMS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_INT_ENUMS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_integer_enum_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, int] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_integer(value_schema, v)) - - -def _deserialize_integer_enum_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, int]: - result: dict[str, int] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = IntegerEnum(d.read_integer(value_schema)) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_integer_enum_set( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) - - -def _deserialize_integer_enum_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(IntegerEnum(d.read_integer(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlIntEnumsOutput: - """Dataclass for XmlIntEnumsOutput structure.""" - - int_enum1: int | None = None - - int_enum2: int | None = None - - int_enum3: int | None = None - - int_enum_list: list[int] | None = None - - int_enum_set: list[int] | None = None - - int_enum_map: dict[str, int] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_INT_ENUMS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_INT_ENUMS_OUTPUT).members_by_index - if self.int_enum1 is not None: - serializer.write_integer(members[0], self.int_enum1) - - if self.int_enum2 is not None: - serializer.write_integer(members[1], self.int_enum2) - - if self.int_enum3 is not None: - serializer.write_integer(members[2], self.int_enum3) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[3], self.int_enum_list) - - if self.int_enum_set is not None: - _serialize_integer_enum_set(serializer, members[4], self.int_enum_set) - - if self.int_enum_map is not None: - _serialize_integer_enum_map(serializer, members[5], self.int_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_INT_ENUMS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["int_enum1"] = IntegerEnum(de.read_integer(members[0])) - - case 1: - kwargs["int_enum2"] = IntegerEnum(de.read_integer(members[1])) - - case 2: - kwargs["int_enum3"] = IntegerEnum(de.read_integer(members[2])) - - case 3: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[3] - ) - - case 4: - kwargs["int_enum_set"] = _deserialize_integer_enum_set( - de, members[4] - ) - - case 5: - kwargs["int_enum_map"] = _deserialize_integer_enum_map( - de, members[5] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_INT_ENUMS = APIOperation( - input=XmlIntEnumsInput, - output=XmlIntEnumsOutput, - static_schema=_SCHEMA_XML_INT_ENUMS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlListsInput: - """Dataclass for XmlListsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_LISTS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_LISTS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlListsOperationOutput: - """Dataclass for XmlListsOperationOutput structure.""" - - string_list: list[str] | None = None - - string_set: list[str] | None = None - - integer_list: list[int] | None = None - - boolean_list: list[bool] | None = None - - timestamp_list: list[datetime] | None = None - - enum_list: list[str] | None = None - - int_enum_list: list[int] | None = None - - nested_string_list: list[list[str]] | None = None - """A list of lists of strings.""" - - renamed_list_members: list[str] | None = None - - flattened_list: list[str] | None = None - - flattened_list2: list[str] | None = None - - flattened_list_with_member_namespace: list[str] | None = None - - flattened_list_with_namespace: list[str] | None = None - - structure_list: list[StructureListMember] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_LISTS_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_LISTS_OPERATION_OUTPUT).members_by_index - if self.string_list is not None: - _serialize_string_list(serializer, members[0], self.string_list) - - if self.string_set is not None: - _serialize_string_set(serializer, members[1], self.string_set) - - if self.integer_list is not None: - _serialize_integer_list(serializer, members[2], self.integer_list) - - if self.boolean_list is not None: - _serialize_boolean_list(serializer, members[3], self.boolean_list) - - if self.timestamp_list is not None: - _serialize_timestamp_list(serializer, members[4], self.timestamp_list) - - if self.enum_list is not None: - _serialize_foo_enum_list(serializer, members[5], self.enum_list) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[6], self.int_enum_list) - - if self.nested_string_list is not None: - _serialize_nested_string_list( - serializer, members[7], self.nested_string_list - ) - - if self.renamed_list_members is not None: - _serialize_renamed_list_members( - serializer, members[8], self.renamed_list_members - ) - - if self.flattened_list is not None: - _serialize_renamed_list_members(serializer, members[9], self.flattened_list) - - if self.flattened_list2 is not None: - _serialize_renamed_list_members( - serializer, members[10], self.flattened_list2 - ) - - if self.flattened_list_with_member_namespace is not None: - _serialize_list_with_member_namespace( - serializer, members[11], self.flattened_list_with_member_namespace - ) - - if self.flattened_list_with_namespace is not None: - _serialize_list_with_namespace( - serializer, members[12], self.flattened_list_with_namespace - ) - - if self.structure_list is not None: - _serialize_structure_list(serializer, members[13], self.structure_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_LISTS_OPERATION_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_list"] = _deserialize_string_list(de, members[0]) - - case 1: - kwargs["string_set"] = _deserialize_string_set(de, members[1]) - - case 2: - kwargs["integer_list"] = _deserialize_integer_list(de, members[2]) - - case 3: - kwargs["boolean_list"] = _deserialize_boolean_list(de, members[3]) - - case 4: - kwargs["timestamp_list"] = _deserialize_timestamp_list( - de, members[4] - ) - - case 5: - kwargs["enum_list"] = _deserialize_foo_enum_list(de, members[5]) - - case 6: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[6] - ) - - case 7: - kwargs["nested_string_list"] = _deserialize_nested_string_list( - de, members[7] - ) - - case 8: - kwargs["renamed_list_members"] = _deserialize_renamed_list_members( - de, members[8] - ) - - case 9: - kwargs["flattened_list"] = _deserialize_renamed_list_members( - de, members[9] - ) - - case 10: - kwargs["flattened_list2"] = _deserialize_renamed_list_members( - de, members[10] - ) - - case 11: - kwargs["flattened_list_with_member_namespace"] = ( - _deserialize_list_with_member_namespace(de, members[11]) - ) - - case 12: - kwargs["flattened_list_with_namespace"] = ( - _deserialize_list_with_namespace(de, members[12]) - ) - - case 13: - kwargs["structure_list"] = _deserialize_structure_list( - de, members[13] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_LISTS = APIOperation( - input=XmlListsInput, - output=XmlListsOperationOutput, - static_schema=_SCHEMA_XML_LISTS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlMapsInput: - """Dataclass for XmlMapsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_MAPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_MAPS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlMapsOperationOutput: - """Dataclass for XmlMapsOperationOutput structure.""" - - my_map: dict[str, GreetingStruct] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_MAPS_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_MAPS_OPERATION_OUTPUT).members_by_index - if self.my_map is not None: - _serialize_xml_maps_output_map(serializer, members[0], self.my_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_MAPS_OPERATION_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = _deserialize_xml_maps_output_map(de, members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_MAPS = APIOperation( - input=XmlMapsInput, - output=XmlMapsOperationOutput, - static_schema=_SCHEMA_XML_MAPS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlMapsXmlNameInput: - """Dataclass for XmlMapsXmlNameInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_MAPS_XML_NAME_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_MAPS_XML_NAME_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_xml_maps_xml_name_output_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, GreetingStruct] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_struct(value_schema, v)) - - -def _deserialize_xml_maps_xml_name_output_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, GreetingStruct]: - result: dict[str, GreetingStruct] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = GreetingStruct.deserialize(d) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlMapsXmlNameOutput: - """Dataclass for XmlMapsXmlNameOutput structure.""" - - my_map: dict[str, GreetingStruct] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_MAPS_XML_NAME_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_MAPS_XML_NAME_OUTPUT).members_by_index - if self.my_map is not None: - _serialize_xml_maps_xml_name_output_map(serializer, members[0], self.my_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_MAPS_XML_NAME_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = _deserialize_xml_maps_xml_name_output_map( - de, members[0] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_MAPS_XML_NAME = APIOperation( - input=XmlMapsXmlNameInput, - output=XmlMapsXmlNameOutput, - static_schema=_SCHEMA_XML_MAPS_XML_NAME, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlNamespacesInput: - """Dataclass for XmlNamespacesInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_NAMESPACES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_NAMESPACES_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_xml_namespaced_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_xml_namespaced_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlNamespaceNested: - """Dataclass for XmlNamespaceNested structure.""" - - foo: str | None = None - - values: list[str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_NAMESPACE_NESTED), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_NAMESPACE_NESTED).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.values is not None: - _serialize_xml_namespaced_list(serializer, members[1], self.values) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_NAMESPACE_NESTED) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["values"] = _deserialize_xml_namespaced_list(de, members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlNamespacesOutput: - """Dataclass for XmlNamespacesOutput structure.""" - - nested: XmlNamespaceNested | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_NAMESPACES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_NAMESPACES_OUTPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_NAMESPACES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = XmlNamespaceNested.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_NAMESPACES = APIOperation( - input=XmlNamespacesInput, - output=XmlNamespacesOutput, - static_schema=_SCHEMA_XML_NAMESPACES, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlTimestampsInput: - """Dataclass for XmlTimestampsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_TIMESTAMPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_TIMESTAMPS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlTimestampsOutput: - """Dataclass for XmlTimestampsOutput structure.""" - - normal: datetime | None = None - - date_time: datetime | None = None - - date_time_on_target: datetime | None = None - - epoch_seconds: datetime | None = None - - epoch_seconds_on_target: datetime | None = None - - http_date: datetime | None = None - - http_date_on_target: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_TIMESTAMPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_TIMESTAMPS_OUTPUT).members_by_index - if self.normal is not None: - serializer.write_timestamp(members[0], self.normal) - - if self.date_time is not None: - serializer.write_timestamp(members[1], self.date_time) - - if self.date_time_on_target is not None: - serializer.write_timestamp(members[2], self.date_time_on_target) - - if self.epoch_seconds is not None: - serializer.write_timestamp(members[3], self.epoch_seconds) - - if self.epoch_seconds_on_target is not None: - serializer.write_timestamp(members[4], self.epoch_seconds_on_target) - - if self.http_date is not None: - serializer.write_timestamp(members[5], self.http_date) - - if self.http_date_on_target is not None: - serializer.write_timestamp(members[6], self.http_date_on_target) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_TIMESTAMPS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["normal"] = de.read_timestamp(members[0]) - - case 1: - kwargs["date_time"] = de.read_timestamp(members[1]) - - case 2: - kwargs["date_time_on_target"] = de.read_timestamp(members[2]) - - case 3: - kwargs["epoch_seconds"] = de.read_timestamp(members[3]) - - case 4: - kwargs["epoch_seconds_on_target"] = de.read_timestamp(members[4]) - - case 5: - kwargs["http_date"] = de.read_timestamp(members[5]) - - case 6: - kwargs["http_date_on_target"] = de.read_timestamp(members[6]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_TIMESTAMPS = APIOperation( - input=XmlTimestampsInput, - output=XmlTimestampsOutput, - static_schema=_SCHEMA_XML_TIMESTAMPS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class StructArg: - """Dataclass for StructArg structure.""" - - string_arg: str | None = None - - other_arg: bool | None = None - - recursive_arg: "StructArg | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_STRUCT_ARG), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_STRUCT_ARG).members_by_index - if self.string_arg is not None: - serializer.write_string(members[0], self.string_arg) - - if self.other_arg is not None: - serializer.write_boolean(members[1], self.other_arg) - - if self.recursive_arg is not None: - serializer.write_struct(members[2], self.recursive_arg) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STRUCT_ARG) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_arg"] = de.read_string(members[0]) - - case 1: - kwargs["other_arg"] = de.read_boolean(members[1]) - - case 2: - kwargs["recursive_arg"] = StructArg.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NestedStructuresInput: - """Dataclass for NestedStructuresInput structure.""" - - nested: "StructArg | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NESTED_STRUCTURES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NESTED_STRUCTURES_INPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NESTED_STRUCTURES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = StructArg.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RecursiveXmlShapesOutputNested1: - """Dataclass for RecursiveXmlShapesOutputNested1 structure.""" - - foo: str | None = None - - nested: "RecursiveXmlShapesOutputNested2 | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED1), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED1).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.nested is not None: - serializer.write_struct(members[1], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED1) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["nested"] = RecursiveXmlShapesOutputNested2.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RecursiveXmlShapesOutputNested2: - """Dataclass for RecursiveXmlShapesOutputNested2 structure.""" - - bar: str | None = None - - recursive_member: "RecursiveXmlShapesOutputNested1 | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED2), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED2).members_by_index - if self.bar is not None: - serializer.write_string(members[0], self.bar) - - if self.recursive_member is not None: - serializer.write_struct(members[1], self.recursive_member) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED2) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["bar"] = de.read_string(members[0]) - - case 1: - kwargs["recursive_member"] = ( - RecursiveXmlShapesOutputNested1.deserialize(de) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +XML_NAMESPACES = APIOperation( + static_schema=_SCHEMA_XML_NAMESPACES, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +XML_TIMESTAMPS = APIOperation( + static_schema=_SCHEMA_XML_TIMESTAMPS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) NESTED_STRUCTURES = APIOperation( - input=NestedStructuresInput, - output=NestedStructuresOutput, static_schema=_SCHEMA_NESTED_STRUCTURES, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class RecursiveXmlShapesOutput: - """Dataclass for RecursiveXmlShapesOutput structure.""" - - nested: "RecursiveXmlShapesOutputNested1 | None" = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = RecursiveXmlShapesOutputNested1.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - RECURSIVE_XML_SHAPES = APIOperation( - input=RecursiveXmlShapesInput, - output=RecursiveXmlShapesOutput, static_schema=_SCHEMA_RECURSIVE_XML_SHAPES, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) diff --git a/codegen-output/aws-query/src/awsquery/models.pyi b/codegen-output/aws-query/src/awsquery/models.pyi new file mode 100644 index 000000000..efbbea010 --- /dev/null +++ b/codegen-output/aws-query/src/awsquery/models.pyi @@ -0,0 +1,499 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from dataclasses import dataclass +from datetime import datetime +from enum import IntEnum, StrEnum +from typing import Self + +from smithy_core.deserializers import ShapeDeserializer +from smithy_core.exceptions import ModeledError +from smithy_core.response import ResponseMetadata +from smithy_core.schemas import APIOperation +from smithy_core.serializers import ShapeSerializer +from smithy_core.types import UnknownEnumMixin + +class _SerdeShape: + def serialize(self, serializer: ShapeSerializer) -> None: ... + def serialize_members(self, serializer: ShapeSerializer) -> None: ... + @classmethod + def deserialize(cls, deserializer: ShapeDeserializer) -> Self: ... + +class ServiceError(ModeledError): ... + +@dataclass(kw_only=True) +class ComplexError(ServiceError, _SerdeShape): + top_level: str | None = ... + nested: ComplexNestedErrorData | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ComplexNestedErrorData(_SerdeShape): + foo: str | None = ... + +@dataclass(kw_only=True) +class CustomCodeError(ServiceError, _SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class DatetimeOffsetsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class DatetimeOffsetsOutput(_SerdeShape): + datetime_: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EmptyInputAndEmptyOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class EmptyInputAndEmptyOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EndpointOperationInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class EndpointOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EndpointWithHostLabelOperationInput(_SerdeShape): + label: str | None = ... + +@dataclass(kw_only=True) +class EndpointWithHostLabelOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class FlattenedXmlMapInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class FlattenedXmlMapOutput(_SerdeShape): + my_map: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class FlattenedXmlMapWithXmlNameInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class FlattenedXmlMapWithXmlNameOutput(_SerdeShape): + my_map: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class FlattenedXmlMapWithXmlNamespaceInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class FlattenedXmlMapWithXmlNamespaceOutput(_SerdeShape): + my_map: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class FractionalSecondsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class FractionalSecondsOutput(_SerdeShape): + datetime_: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class GreetingWithErrorsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class GreetingWithErrorsOutput(_SerdeShape): + greeting: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HostWithPathOperationInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class HostWithPathOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class IgnoresWrappingXmlNameInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class IgnoresWrappingXmlNameOutput(_SerdeShape): + foo: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class InvalidGreeting(ServiceError, _SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NestedStructuresInput(_SerdeShape): + nested: StructArg | None = ... + +@dataclass(kw_only=True) +class NestedStructuresOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NestedStructWithList(_SerdeShape): + list_arg: list[str] | None = ... + +@dataclass(kw_only=True) +class NestedStructWithMap(_SerdeShape): + map_arg: dict[str, str] | None = ... + +@dataclass(kw_only=True) +class NoInputAndNoOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class NoInputAndNoOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NoInputAndOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class NoInputAndOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class PutWithContentEncodingInput(_SerdeShape): + encoding: str | None = ... + data: str | None = ... + +@dataclass(kw_only=True) +class PutWithContentEncodingOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class QueryIdempotencyTokenAutoFillInput(_SerdeShape): + token: str | None = ... + +@dataclass(kw_only=True) +class QueryIdempotencyTokenAutoFillOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class QueryListsInput(_SerdeShape): + list_arg: list[str] | None = ... + complex_list_arg: list[GreetingStruct] | None = ... + flattened_list_arg: list[str] | None = ... + list_arg_with_xml_name_member: list[str] | None = ... + flattened_list_arg_with_xml_name: list[str] | None = ... + nested_with_list: NestedStructWithList | None = ... + +@dataclass(kw_only=True) +class QueryListsOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class QueryMapsInput(_SerdeShape): + map_arg: dict[str, str] | None = ... + renamed_map_arg: dict[str, str] | None = ... + complex_map_arg: dict[str, GreetingStruct] | None = ... + map_with_xml_member_name: dict[str, str] | None = ... + flattened_map: dict[str, str] | None = ... + flattened_map_with_xml_name: dict[str, str] | None = ... + map_of_lists: dict[str, list[str]] | None = ... + nested_struct_with_map: NestedStructWithMap | None = ... + +@dataclass(kw_only=True) +class QueryMapsOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class QueryTimestampsInput(_SerdeShape): + normal_format: datetime | None = ... + epoch_member: datetime | None = ... + epoch_target: datetime | None = ... + +@dataclass(kw_only=True) +class QueryTimestampsOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class RecursiveXmlShapesInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class RecursiveXmlShapesOutput(_SerdeShape): + nested: RecursiveXmlShapesOutputNested1 | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class RecursiveXmlShapesOutputNested1(_SerdeShape): + foo: str | None = ... + nested: RecursiveXmlShapesOutputNested2 | None = ... + +@dataclass(kw_only=True) +class RecursiveXmlShapesOutputNested2(_SerdeShape): + bar: str | None = ... + recursive_member: RecursiveXmlShapesOutputNested1 | None = ... + +@dataclass(kw_only=True) +class SimpleInputParamsInput(_SerdeShape): + foo: str | None = ... + bar: str | None = ... + baz: bool | None = ... + bam: int | None = ... + float_value: float | None = ... + boo: float | None = ... + qux: bytes | None = ... + foo_enum: str | None = ... + integer_enum: int | None = ... + +@dataclass(kw_only=True) +class SimpleInputParamsOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class SimpleScalarXmlPropertiesInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class SimpleScalarXmlPropertiesOutput(_SerdeShape): + string_value: str | None = ... + empty_string_value: str | None = ... + true_boolean_value: bool | None = ... + false_boolean_value: bool | None = ... + byte_value: int | None = ... + short_value: int | None = ... + integer_value: int | None = ... + long_value: int | None = ... + float_value: float | None = ... + double_value: float | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class StructArg(_SerdeShape): + string_arg: str | None = ... + other_arg: bool | None = ... + recursive_arg: StructArg | None = ... + +@dataclass(kw_only=True) +class StructureListMember(_SerdeShape): + a: str | None = ... + b: str | None = ... + +@dataclass(kw_only=True) +class XmlBlobsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlBlobsOperationOutput(_SerdeShape): + data: bytes | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlEmptyBlobsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlEmptyBlobsOutput(_SerdeShape): + data: bytes | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlEmptyListsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlEmptyListsOutput(_SerdeShape): + string_list: list[str] | None = ... + string_set: list[str] | None = ... + integer_list: list[int] | None = ... + boolean_list: list[bool] | None = ... + timestamp_list: list[datetime] | None = ... + enum_list: list[str] | None = ... + int_enum_list: list[int] | None = ... + nested_string_list: list[list[str]] | None = ... + renamed_list_members: list[str] | None = ... + flattened_list: list[str] | None = ... + flattened_list2: list[str] | None = ... + flattened_list_with_member_namespace: list[str] | None = ... + flattened_list_with_namespace: list[str] | None = ... + structure_list: list[StructureListMember] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlEmptyMapsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlEmptyMapsOutput(_SerdeShape): + my_map: dict[str, GreetingStruct] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlEnumsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlEnumsOutput(_SerdeShape): + foo_enum1: str | None = ... + foo_enum2: str | None = ... + foo_enum3: str | None = ... + foo_enum_list: list[str] | None = ... + foo_enum_set: list[str] | None = ... + foo_enum_map: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlIntEnumsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlIntEnumsOutput(_SerdeShape): + int_enum1: int | None = ... + int_enum2: int | None = ... + int_enum3: int | None = ... + int_enum_list: list[int] | None = ... + int_enum_set: list[int] | None = ... + int_enum_map: dict[str, int] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlListsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlListsOperationOutput(_SerdeShape): + string_list: list[str] | None = ... + string_set: list[str] | None = ... + integer_list: list[int] | None = ... + boolean_list: list[bool] | None = ... + timestamp_list: list[datetime] | None = ... + enum_list: list[str] | None = ... + int_enum_list: list[int] | None = ... + nested_string_list: list[list[str]] | None = ... + renamed_list_members: list[str] | None = ... + flattened_list: list[str] | None = ... + flattened_list2: list[str] | None = ... + flattened_list_with_member_namespace: list[str] | None = ... + flattened_list_with_namespace: list[str] | None = ... + structure_list: list[StructureListMember] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlMapsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlMapsOperationOutput(_SerdeShape): + my_map: dict[str, GreetingStruct] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlMapsXmlNameInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlMapsXmlNameOutput(_SerdeShape): + my_map: dict[str, GreetingStruct] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlNamespaceNested(_SerdeShape): + foo: str | None = ... + values: list[str] | None = ... + +@dataclass(kw_only=True) +class XmlNamespacesInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlNamespacesOutput(_SerdeShape): + nested: XmlNamespaceNested | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlTimestampsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlTimestampsOutput(_SerdeShape): + normal: datetime | None = ... + date_time: datetime | None = ... + date_time_on_target: datetime | None = ... + epoch_seconds: datetime | None = ... + epoch_seconds_on_target: datetime | None = ... + http_date: datetime | None = ... + http_date_on_target: datetime | None = ... + response_metadata: ResponseMetadata = ... + +class FooEnum(UnknownEnumMixin, StrEnum): + FOO = "Foo" + BAZ = "Baz" + BAR = "Bar" + ONE = "1" + ZERO = "0" + +@dataclass(kw_only=True) +class GreetingStruct(_SerdeShape): + hi: str | None = ... + +class IntegerEnum(UnknownEnumMixin, IntEnum): + A = 1 + B = 2 + C = 3 + +DATETIME_OFFSETS: APIOperation[DatetimeOffsetsInput, DatetimeOffsetsOutput] +EMPTY_INPUT_AND_EMPTY_OUTPUT: APIOperation[ + EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput +] +ENDPOINT_OPERATION: APIOperation[EndpointOperationInput, EndpointOperationOutput] +ENDPOINT_WITH_HOST_LABEL_OPERATION: APIOperation[ + EndpointWithHostLabelOperationInput, EndpointWithHostLabelOperationOutput +] +FLATTENED_XML_MAP: APIOperation[FlattenedXmlMapInput, FlattenedXmlMapOutput] +FLATTENED_XML_MAP_WITH_XML_NAME: APIOperation[ + FlattenedXmlMapWithXmlNameInput, FlattenedXmlMapWithXmlNameOutput +] +FLATTENED_XML_MAP_WITH_XML_NAMESPACE: APIOperation[ + FlattenedXmlMapWithXmlNamespaceInput, FlattenedXmlMapWithXmlNamespaceOutput +] +FRACTIONAL_SECONDS: APIOperation[FractionalSecondsInput, FractionalSecondsOutput] +GREETING_WITH_ERRORS: APIOperation[GreetingWithErrorsInput, GreetingWithErrorsOutput] +HOST_WITH_PATH_OPERATION: APIOperation[ + HostWithPathOperationInput, HostWithPathOperationOutput +] +IGNORES_WRAPPING_XML_NAME: APIOperation[ + IgnoresWrappingXmlNameInput, IgnoresWrappingXmlNameOutput +] +NESTED_STRUCTURES: APIOperation[NestedStructuresInput, NestedStructuresOutput] +NO_INPUT_AND_NO_OUTPUT: APIOperation[NoInputAndNoOutputInput, NoInputAndNoOutputOutput] +NO_INPUT_AND_OUTPUT: APIOperation[NoInputAndOutputInput, NoInputAndOutputOutput] +PUT_WITH_CONTENT_ENCODING: APIOperation[ + PutWithContentEncodingInput, PutWithContentEncodingOutput +] +QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL: APIOperation[ + QueryIdempotencyTokenAutoFillInput, QueryIdempotencyTokenAutoFillOutput +] +QUERY_LISTS: APIOperation[QueryListsInput, QueryListsOutput] +QUERY_MAPS: APIOperation[QueryMapsInput, QueryMapsOutput] +QUERY_TIMESTAMPS: APIOperation[QueryTimestampsInput, QueryTimestampsOutput] +RECURSIVE_XML_SHAPES: APIOperation[RecursiveXmlShapesInput, RecursiveXmlShapesOutput] +SIMPLE_INPUT_PARAMS: APIOperation[SimpleInputParamsInput, SimpleInputParamsOutput] +SIMPLE_SCALAR_XML_PROPERTIES: APIOperation[ + SimpleScalarXmlPropertiesInput, SimpleScalarXmlPropertiesOutput +] +XML_BLOBS: APIOperation[XmlBlobsInput, XmlBlobsOperationOutput] +XML_EMPTY_BLOBS: APIOperation[XmlEmptyBlobsInput, XmlEmptyBlobsOutput] +XML_EMPTY_LISTS: APIOperation[XmlEmptyListsInput, XmlEmptyListsOutput] +XML_EMPTY_MAPS: APIOperation[XmlEmptyMapsInput, XmlEmptyMapsOutput] +XML_ENUMS: APIOperation[XmlEnumsInput, XmlEnumsOutput] +XML_INT_ENUMS: APIOperation[XmlIntEnumsInput, XmlIntEnumsOutput] +XML_LISTS: APIOperation[XmlListsInput, XmlListsOperationOutput] +XML_MAPS: APIOperation[XmlMapsInput, XmlMapsOperationOutput] +XML_MAPS_XML_NAME: APIOperation[XmlMapsXmlNameInput, XmlMapsXmlNameOutput] +XML_NAMESPACES: APIOperation[XmlNamespacesInput, XmlNamespacesOutput] +XML_TIMESTAMPS: APIOperation[XmlTimestampsInput, XmlTimestampsOutput] diff --git a/codegen-output/aws-query/tests/_typecheck.py b/codegen-output/aws-query/tests/_typecheck.py new file mode 100644 index 000000000..12a5c5d90 --- /dev/null +++ b/codegen-output/aws-query/tests/_typecheck.py @@ -0,0 +1,163 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from typing import Any + +from awsquery.models import ( + ComplexNestedErrorData, + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + FlattenedXmlMapInput, + FlattenedXmlMapOutput, + FlattenedXmlMapWithXmlNameInput, + FlattenedXmlMapWithXmlNameOutput, + FlattenedXmlMapWithXmlNamespaceInput, + FlattenedXmlMapWithXmlNamespaceOutput, + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingStruct, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HostWithPathOperationInput, + HostWithPathOperationOutput, + IgnoresWrappingXmlNameInput, + IgnoresWrappingXmlNameOutput, + NestedStructWithList, + NestedStructWithMap, + NestedStructuresInput, + NestedStructuresOutput, + NoInputAndNoOutputInput, + NoInputAndNoOutputOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, + QueryIdempotencyTokenAutoFillInput, + QueryIdempotencyTokenAutoFillOutput, + QueryListsInput, + QueryListsOutput, + QueryMapsInput, + QueryMapsOutput, + QueryTimestampsInput, + QueryTimestampsOutput, + RecursiveXmlShapesInput, + RecursiveXmlShapesOutput, + RecursiveXmlShapesOutputNested1, + RecursiveXmlShapesOutputNested2, + SimpleInputParamsInput, + SimpleInputParamsOutput, + SimpleScalarXmlPropertiesInput, + SimpleScalarXmlPropertiesOutput, + StructArg, + StructureListMember, + XmlBlobsInput, + XmlBlobsOperationOutput, + XmlEmptyBlobsInput, + XmlEmptyBlobsOutput, + XmlEmptyListsInput, + XmlEmptyListsOutput, + XmlEmptyMapsInput, + XmlEmptyMapsOutput, + XmlEnumsInput, + XmlEnumsOutput, + XmlIntEnumsInput, + XmlIntEnumsOutput, + XmlListsInput, + XmlListsOperationOutput, + XmlMapsInput, + XmlMapsOperationOutput, + XmlMapsXmlNameInput, + XmlMapsXmlNameOutput, + XmlNamespaceNested, + XmlNamespacesInput, + XmlNamespacesOutput, + XmlTimestampsInput, + XmlTimestampsOutput, +) + + +# Static type fixture: pyright over this validates models.pyi. +# Not executed as a test; it only needs to type-check. + +_: Any = ... + +ComplexNestedErrorData() +DatetimeOffsetsInput() +DatetimeOffsetsOutput() +EmptyInputAndEmptyOutputInput() +EmptyInputAndEmptyOutputOutput() +EndpointOperationInput() +EndpointOperationOutput() +EndpointWithHostLabelOperationInput() +EndpointWithHostLabelOperationOutput() +FlattenedXmlMapInput() +FlattenedXmlMapOutput() +FlattenedXmlMapWithXmlNameInput() +FlattenedXmlMapWithXmlNameOutput() +FlattenedXmlMapWithXmlNamespaceInput() +FlattenedXmlMapWithXmlNamespaceOutput() +FractionalSecondsInput() +FractionalSecondsOutput() +GreetingWithErrorsInput() +GreetingWithErrorsOutput() +HostWithPathOperationInput() +HostWithPathOperationOutput() +IgnoresWrappingXmlNameInput() +IgnoresWrappingXmlNameOutput() +NestedStructuresInput() +NestedStructuresOutput() +NestedStructWithList() +NestedStructWithMap() +NoInputAndNoOutputInput() +NoInputAndNoOutputOutput() +NoInputAndOutputInput() +NoInputAndOutputOutput() +PutWithContentEncodingInput() +PutWithContentEncodingOutput() +QueryIdempotencyTokenAutoFillInput() +QueryIdempotencyTokenAutoFillOutput() +QueryListsInput() +QueryListsOutput() +QueryMapsInput() +QueryMapsOutput() +QueryTimestampsInput() +QueryTimestampsOutput() +RecursiveXmlShapesInput() +RecursiveXmlShapesOutput() +RecursiveXmlShapesOutputNested1() +RecursiveXmlShapesOutputNested2() +SimpleInputParamsInput() +SimpleInputParamsOutput() +SimpleScalarXmlPropertiesInput() +SimpleScalarXmlPropertiesOutput() +StructArg() +StructureListMember() +XmlBlobsInput() +XmlBlobsOperationOutput() +XmlEmptyBlobsInput() +XmlEmptyBlobsOutput() +XmlEmptyListsInput() +XmlEmptyListsOutput() +XmlEmptyMapsInput() +XmlEmptyMapsOutput() +XmlEnumsInput() +XmlEnumsOutput() +XmlIntEnumsInput() +XmlIntEnumsOutput() +XmlListsInput() +XmlListsOperationOutput() +XmlMapsInput() +XmlMapsOperationOutput() +XmlMapsXmlNameInput() +XmlMapsXmlNameOutput() +XmlNamespaceNested() +XmlNamespacesInput() +XmlNamespacesOutput() +XmlTimestampsInput() +XmlTimestampsOutput() +GreetingStruct() diff --git a/codegen-output/aws-query/tests/test_model_conformance.py b/codegen-output/aws-query/tests/test_model_conformance.py new file mode 100644 index 000000000..1e836249d --- /dev/null +++ b/codegen-output/aws-query/tests/test_model_conformance.py @@ -0,0 +1,13 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from pathlib import Path + +from smithy_test import verify_models + +from awsquery import models as _models +from awsquery._private import schemas as _schemas + + +def test_model_conformance() -> None: + pyi = Path(_models.__file__).with_suffix(".pyi") + verify_models(_models, _schemas, pyi_path=str(pyi) if pyi.exists() else None) diff --git a/codegen-output/ec2-query/pyproject.toml b/codegen-output/ec2-query/pyproject.toml index ed7ba732d..668b9e244 100644 --- a/codegen-output/ec2-query/pyproject.toml +++ b/codegen-output/ec2-query/pyproject.toml @@ -53,6 +53,9 @@ reportUnusedVariable = false reportUnnecessaryComparison = false reportUnusedClass = false enableExperimentalFeatures = true +# models.py is the dynamic runtime; models.pyi carries the typed +# surface for consumers, so don't type-check the implementation body. +exclude = ["**/models.py"] [tool.ruff] target-version = "py312" diff --git a/codegen-output/ec2-query/src/ec2query/_private/schemas.py b/codegen-output/ec2-query/src/ec2query/_private/schemas.py index f73d902dd..bb71665f3 100644 --- a/codegen-output/ec2-query/src/ec2query/_private/schemas.py +++ b/codegen-output/ec2-query/src/ec2query/_private/schemas.py @@ -9,11 +9,13 @@ _DOI = "DatetimeOffsetsInput" _sSI = "smithy.synthetic#originalShapeId" _sU = "smithy.api#Unit" +_s = "smithy.api#input" n1 = "aws.protocoltests.shared" _DT = "DateTime" _sF = "smithy.api#timestampFormat" _dt = "date-time" _DOO = "DatetimeOffsetsOutput" +_sm = "smithy.api#output" _d = "datetime" _DO = "DatetimeOffsets" _EIAEOI = "EmptyInputAndEmptyOutputInput" @@ -22,12 +24,12 @@ _EOI = "EndpointOperationInput" _EOO = "EndpointOperationOutput" _EO = "EndpointOperation" -_s = "smithy.api#endpoint" +_smi = "smithy.api#endpoint" _EWHLOI = "EndpointWithHostLabelOperationInput" _aHLI = "aws.protocoltests.ec2#HostLabelInput" _l = "label" _sL = "smithy.api#hostLabel" -_sm = "smithy.api#required" +_smit = "smithy.api#required" _EWHLOO = "EndpointWithHostLabelOperationOutput" _EWHLO = "EndpointWithHostLabelOperation" _FSI = "FractionalSecondsInput" @@ -36,7 +38,7 @@ _CNED = "ComplexNestedErrorData" _F = "Foo" _CE = "ComplexError" -_smi = "smithy.api#error" +_smith = "smithy.api#error" _c = "client" _TL = "TopLevel" _N = "Nested" @@ -100,13 +102,16 @@ _RXSI = "RecursiveXmlShapesInput" _FE = "FooEnum" _FOO = "FOO" +_sV = "smithy.api#enumValue" _BAZ = "BAZ" +_B = "Baz" _BAR = "BAR" +_Ba = "Bar" _ONE = "ONE" +_v = "1" _ZERO = "ZERO" +_v_ = "0" _SIPI = "SimpleInputParamsInput" -_B = "Bar" -_Ba = "Baz" _Bam = "Bam" _FV = "FloatValue" _Bo = "Boo" @@ -128,7 +133,7 @@ _SIP = "SimpleInputParams" _SSXPI = "SimpleScalarXmlPropertiesInput" _SSXPO = "SimpleScalarXmlPropertiesOutput" -_sV = "stringValue" +_sVt = "stringValue" _eSV = "emptyStringValue" _tBV = "trueBooleanValue" _fBV = "falseBooleanValue" @@ -164,7 +169,7 @@ _SS = "StringSet" _SLM = "StructureListMember" _a = "a" -_v = "value" +_va = "value" _b = "b" _o = "other" _SLt = "StructureList" @@ -218,7 +223,7 @@ _XNI = "XmlNamespacesInput" _XNL = "XmlNamespacedList" _XNN = "XmlNamespaceNested" -_va = "values" +_val = "values" _XNO = "XmlNamespacesOutput" _n = "nested" _XN = "XmlNamespaces" @@ -252,11 +257,18 @@ _sB = "smithy.rules#endpointBdd" _aws = "aws.api#service" -DATETIME_OFFSETS_INPUT: StaticSchema = (18, n0, _DOI, {_sSI: _sU}) +DATETIME_OFFSETS_INPUT: StaticSchema = (18, n0, _DOI, {_sSI: _sU, _s: None}) DATE_TIME: StaticSchema = (4, n1, _DT, {_sF: _dt}) -DATETIME_OFFSETS_OUTPUT: StaticSchema = (18, n0, _DOO, 0, (_d,), ((DATE_TIME, 0),)) +DATETIME_OFFSETS_OUTPUT: StaticSchema = ( + 18, + n0, + _DOO, + {_sm: None}, + (_d,), + ((DATE_TIME, 0),), +) DATETIME_OFFSETS: StaticOperationSchema = ( 23, @@ -268,9 +280,9 @@ (), ) -EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT: StaticSchema = (18, n0, _EIAEOI, 0) +EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT: StaticSchema = (18, n0, _EIAEOI, {_s: None}) -EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT: StaticSchema = (18, n0, _EIAEOO, 0) +EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT: StaticSchema = (18, n0, _EIAEOO, {_sm: None}) EMPTY_INPUT_AND_EMPTY_OUTPUT: StaticOperationSchema = ( 23, @@ -282,15 +294,15 @@ (), ) -ENDPOINT_OPERATION_INPUT: StaticSchema = (18, n0, _EOI, {_sSI: _sU}) +ENDPOINT_OPERATION_INPUT: StaticSchema = (18, n0, _EOI, {_sSI: _sU, _s: None}) -ENDPOINT_OPERATION_OUTPUT: StaticSchema = (18, n0, _EOO, {_sSI: _sU}) +ENDPOINT_OPERATION_OUTPUT: StaticSchema = (18, n0, _EOO, {_sSI: _sU, _sm: None}) ENDPOINT_OPERATION: StaticOperationSchema = ( 23, n0, _EO, - {_s: MappingProxyType({"hostPrefix": "foo."})}, + {_smi: MappingProxyType({"hostPrefix": "foo."})}, ENDPOINT_OPERATION_INPUT, ENDPOINT_OPERATION_OUTPUT, (), @@ -300,26 +312,38 @@ 18, n0, _EWHLOI, - {_sSI: _aHLI}, + {_sSI: _aHLI, _s: None}, (_l,), ((3, 257),), ) -ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT: StaticSchema = (18, n0, _EWHLOO, {_sSI: _sU}) +ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT: StaticSchema = ( + 18, + n0, + _EWHLOO, + {_sSI: _sU, _sm: None}, +) ENDPOINT_WITH_HOST_LABEL_OPERATION: StaticOperationSchema = ( 23, n0, _EWHLO, - {_s: MappingProxyType({"hostPrefix": "foo.{label}."})}, + {_smi: MappingProxyType({"hostPrefix": "foo.{label}."})}, ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT, ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT, (), ) -FRACTIONAL_SECONDS_INPUT: StaticSchema = (18, n0, _FSI, {_sSI: _sU}) +FRACTIONAL_SECONDS_INPUT: StaticSchema = (18, n0, _FSI, {_sSI: _sU, _s: None}) -FRACTIONAL_SECONDS_OUTPUT: StaticSchema = (18, n0, _FSO, 0, (_d,), ((DATE_TIME, 0),)) +FRACTIONAL_SECONDS_OUTPUT: StaticSchema = ( + 18, + n0, + _FSO, + {_sm: None}, + (_d,), + ((DATE_TIME, 0),), +) FRACTIONAL_SECONDS: StaticOperationSchema = ( 23, @@ -337,16 +361,23 @@ 18, n0, _CE, - {_smi: _c}, + {_smith: _c}, (_TL, _N), ((3, 0), (COMPLEX_NESTED_ERROR_DATA, 0)), ) -GREETING_WITH_ERRORS_INPUT: StaticSchema = (18, n0, _GWEI, {_sSI: _sU}) +GREETING_WITH_ERRORS_INPUT: StaticSchema = (18, n0, _GWEI, {_sSI: _sU, _s: None}) -GREETING_WITH_ERRORS_OUTPUT: StaticSchema = (18, n0, _GWEO, 0, (_g,), ((3, 0),)) +GREETING_WITH_ERRORS_OUTPUT: StaticSchema = ( + 18, + n0, + _GWEO, + {_sm: None}, + (_g,), + ((3, 0),), +) -INVALID_GREETING: StaticSchema = (18, n0, _IG, {_smi: _c}, (_M,), ((3, 0),)) +INVALID_GREETING: StaticSchema = (18, n0, _IG, {_smith: _c}, (_M,), ((3, 0),)) GREETING_WITH_ERRORS: StaticOperationSchema = ( 23, @@ -358,9 +389,9 @@ (INVALID_GREETING, COMPLEX_ERROR), ) -HOST_WITH_PATH_OPERATION_INPUT: StaticSchema = (18, n0, _HWPOI, {_sSI: _sU}) +HOST_WITH_PATH_OPERATION_INPUT: StaticSchema = (18, n0, _HWPOI, {_sSI: _sU, _s: None}) -HOST_WITH_PATH_OPERATION_OUTPUT: StaticSchema = (18, n0, _HWPOO, {_sSI: _sU}) +HOST_WITH_PATH_OPERATION_OUTPUT: StaticSchema = (18, n0, _HWPOO, {_sSI: _sU, _sm: None}) HOST_WITH_PATH_OPERATION: StaticOperationSchema = ( 23, @@ -372,13 +403,13 @@ (), ) -IGNORES_WRAPPING_XML_NAME_INPUT: StaticSchema = (18, n0, _IWXNI, {_sSI: _sU}) +IGNORES_WRAPPING_XML_NAME_INPUT: StaticSchema = (18, n0, _IWXNI, {_sSI: _sU, _s: None}) IGNORES_WRAPPING_XML_NAME_OUTPUT: StaticSchema = ( 18, n0, _IWXNO, - {_sN: _IM}, + {_sN: _IM, _sm: None}, (_f,), ((3, 0),), ) @@ -393,11 +424,11 @@ (), ) -NESTED_STRUCTURES_OUTPUT: StaticSchema = (18, n0, _NSO, {_sSI: _sU}) +NESTED_STRUCTURES_OUTPUT: StaticSchema = (18, n0, _NSO, {_sSI: _sU, _sm: None}) -NO_INPUT_AND_OUTPUT_INPUT: StaticSchema = (18, n0, _NIAOI, {_sSI: _sU}) +NO_INPUT_AND_OUTPUT_INPUT: StaticSchema = (18, n0, _NIAOI, {_sSI: _sU, _s: None}) -NO_INPUT_AND_OUTPUT_OUTPUT: StaticSchema = (18, n0, _NIAOO, 0) +NO_INPUT_AND_OUTPUT_OUTPUT: StaticSchema = (18, n0, _NIAOO, {_sm: None}) NO_INPUT_AND_OUTPUT: StaticOperationSchema = ( 23, @@ -413,12 +444,17 @@ 18, n0, _PWCEI, - 0, + {_s: None}, (_e, _da), ((3, {_sH: _CE_}), (3, 0)), ) -PUT_WITH_CONTENT_ENCODING_OUTPUT: StaticSchema = (18, n0, _PWCEO, {_sSI: _sU}) +PUT_WITH_CONTENT_ENCODING_OUTPUT: StaticSchema = ( + 18, + n0, + _PWCEO, + {_sSI: _sU, _sm: None}, +) PUT_WITH_CONTENT_ENCODING: StaticOperationSchema = ( 23, @@ -434,12 +470,17 @@ 18, n0, _QITAFI, - 0, + {_s: None}, (_t,), ((3, 2),), ) -QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT: StaticSchema = (18, n0, _QITAFO, {_sSI: _sU}) +QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT: StaticSchema = ( + 18, + n0, + _QITAFO, + {_sSI: _sU, _sm: None}, +) QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL: StaticOperationSchema = ( 23, @@ -465,7 +506,7 @@ 18, n0, _QLI, - 0, + {_s: None}, (_LA, _CLA, _LAWXNM, _LAWXN, _NWL), ( (STRING_LIST, 0), @@ -476,7 +517,7 @@ ), ) -QUERY_LISTS_OUTPUT: StaticSchema = (18, n0, _QLO, {_sSI: _sU}) +QUERY_LISTS_OUTPUT: StaticSchema = (18, n0, _QLO, {_sSI: _sU, _sm: None}) QUERY_LISTS: StaticOperationSchema = ( 23, @@ -494,12 +535,12 @@ 18, n0, _QTI, - 0, + {_s: None}, (_nF, _eM, _eT), ((4, 0), (4, {_sF: _es}), (EPOCH_SECONDS, 0)), ) -QUERY_TIMESTAMPS_OUTPUT: StaticSchema = (18, n0, _QTO, {_sSI: _sU}) +QUERY_TIMESTAMPS_OUTPUT: StaticSchema = (18, n0, _QTO, {_sSI: _sU, _sm: None}) QUERY_TIMESTAMPS: StaticOperationSchema = ( 23, @@ -511,7 +552,7 @@ (), ) -RECURSIVE_XML_SHAPES_INPUT: StaticSchema = (18, n0, _RXSI, {_sSI: _sU}) +RECURSIVE_XML_SHAPES_INPUT: StaticSchema = (18, n0, _RXSI, {_sSI: _sU, _s: None}) FOO_ENUM: StaticSchema = ( 14, @@ -519,15 +560,21 @@ _FE, 0, (_FOO, _BAZ, _BAR, _ONE, _ZERO), - ((-1, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 0)), + ( + (-1, {_sV: _F}), + (-1, {_sV: _B}), + (-1, {_sV: _Ba}), + (-1, {_sV: _v}), + (-1, {_sV: _v_}), + ), ) SIMPLE_INPUT_PARAMS_INPUT: StaticSchema = ( 18, n0, _SIPI, - 0, - (_F, _B, _Ba, _Bam, _FV, _Bo, _Q, _FE, _HQN, _HQAXN, _UXN, _DQN, _DQAXN, _DXN), + {_s: None}, + (_F, _Ba, _B, _Bam, _FV, _Bo, _Q, _FE, _HQN, _HQAXN, _UXN, _DQN, _DQAXN, _DXN), ( (3, 0), (3, 0), @@ -546,7 +593,7 @@ ), ) -SIMPLE_INPUT_PARAMS_OUTPUT: StaticSchema = (18, n0, _SIPO, {_sSI: _sU}) +SIMPLE_INPUT_PARAMS_OUTPUT: StaticSchema = (18, n0, _SIPO, {_sSI: _sU, _sm: None}) SIMPLE_INPUT_PARAMS: StaticOperationSchema = ( 23, @@ -558,14 +605,19 @@ (), ) -SIMPLE_SCALAR_XML_PROPERTIES_INPUT: StaticSchema = (18, n0, _SSXPI, {_sSI: _sU}) +SIMPLE_SCALAR_XML_PROPERTIES_INPUT: StaticSchema = ( + 18, + n0, + _SSXPI, + {_sSI: _sU, _s: None}, +) SIMPLE_SCALAR_XML_PROPERTIES_OUTPUT: StaticSchema = ( 18, n0, _SSXPO, - 0, - (_sV, _eSV, _tBV, _fBV, _bV, _sVh, _iV, _lV, _fV, _dV), + {_sm: None}, + (_sVt, _eSV, _tBV, _fBV, _bV, _sVh, _iV, _lV, _fV, _dV), ( (3, {_aQN: _IM}), (3, 0), @@ -590,13 +642,13 @@ (), ) -XML_BLOBS_INPUT: StaticSchema = (18, n0, _XBI, {_sSI: _sU}) +XML_BLOBS_INPUT: StaticSchema = (18, n0, _XBI, {_sSI: _sU, _s: None}) XML_BLOBS_OPERATION_OUTPUT: StaticSchema = ( 18, n0, _XBOO, - {_sSI: _aXBO}, + {_sSI: _aXBO, _sm: None}, (_da,), ((1, 0),), ) @@ -611,9 +663,16 @@ (), ) -XML_EMPTY_BLOBS_INPUT: StaticSchema = (18, n0, _XEBI, {_sSI: _sU}) +XML_EMPTY_BLOBS_INPUT: StaticSchema = (18, n0, _XEBI, {_sSI: _sU, _s: None}) -XML_EMPTY_BLOBS_OUTPUT: StaticSchema = (18, n0, _XEBO, {_sSI: _aXBO}, (_da,), ((1, 0),)) +XML_EMPTY_BLOBS_OUTPUT: StaticSchema = ( + 18, + n0, + _XEBO, + {_sSI: _aXBO, _sm: None}, + (_da,), + ((1, 0),), +) XML_EMPTY_BLOBS: StaticOperationSchema = ( 23, @@ -625,7 +684,7 @@ (), ) -XML_EMPTY_LISTS_INPUT: StaticSchema = (18, n0, _XELI, {_sSI: _sU}) +XML_EMPTY_LISTS_INPUT: StaticSchema = (18, n0, _XELI, {_sSI: _sU, _s: None}) BOOLEAN_LIST: StaticSchema = (16, n1, _BL, 0, (_m,), ((2, 0),)) @@ -659,7 +718,7 @@ _IE, 0, (_A, _B_, _C), - ((-1, 0), (-1, 0), (-1, 0)), + ((-1, {_sV: 1}), (-1, {_sV: 2}), (-1, {_sV: 3})), ) INTEGER_ENUM_LIST: StaticSchema = (16, n1, _IEL, 0, (_m,), ((INTEGER_ENUM, 0),)) @@ -674,7 +733,7 @@ _SLM, 0, (_a, _b), - ((3, {_sN: _v}), (3, {_sN: _o})), + ((3, {_sN: _va}), (3, {_sN: _o})), ) STRUCTURE_LIST: StaticSchema = ( @@ -692,7 +751,7 @@ 18, n0, _XELO, - {_sSI: _aXLO}, + {_sSI: _aXLO, _sm: None}, (_sLt, _sS, _iL, _bL, _tL, _eL, _iEL, _nSL, _rLM, _fL, _fLl, _fLWMN, _fLWN, _sLtr), ( (STRING_LIST, 0), @@ -722,9 +781,9 @@ (), ) -XML_ENUMS_INPUT: StaticSchema = (18, n0, _XEI, {_sSI: _sU}) +XML_ENUMS_INPUT: StaticSchema = (18, n0, _XEI, {_sSI: _sU, _s: None}) -FOO_ENUM_MAP: StaticSchema = (17, n1, _FEM, 0, (_k, _v), ((3, 0), (FOO_ENUM, 0))) +FOO_ENUM_MAP: StaticSchema = (17, n1, _FEM, 0, (_k, _va), ((3, 0), (FOO_ENUM, 0))) FOO_ENUM_SET: StaticSchema = (16, n1, _FES, 0, (_m,), ((FOO_ENUM, 0),)) @@ -732,7 +791,7 @@ 18, n0, _XEO, - 0, + {_sm: None}, (_fE, _fEo, _fEoo, _fEL, _fES, _fEM), ( (FOO_ENUM, 0), @@ -754,14 +813,14 @@ (), ) -XML_INT_ENUMS_INPUT: StaticSchema = (18, n0, _XIEI, {_sSI: _sU}) +XML_INT_ENUMS_INPUT: StaticSchema = (18, n0, _XIEI, {_sSI: _sU, _s: None}) INTEGER_ENUM_MAP: StaticSchema = ( 17, n1, _IEM, 0, - (_k, _v), + (_k, _va), ((3, 0), (INTEGER_ENUM, 0)), ) @@ -771,7 +830,7 @@ 18, n0, _XIEO, - 0, + {_sm: None}, (_iE, _iEn, _iEnt, _iEL, _iES, _iEM), ( (INTEGER_ENUM, 0), @@ -793,13 +852,13 @@ (), ) -XML_LISTS_INPUT: StaticSchema = (18, n0, _XLI, {_sSI: _sU}) +XML_LISTS_INPUT: StaticSchema = (18, n0, _XLI, {_sSI: _sU, _s: None}) XML_LISTS_OPERATION_OUTPUT: StaticSchema = ( 18, n0, _XLOO, - {_sSI: _aXLO}, + {_sSI: _aXLO, _sm: None}, (_sLt, _sS, _iL, _bL, _tL, _eL, _iEL, _nSL, _rLM, _fL, _fLl, _fLWMN, _fLWN, _sLtr), ( (STRING_LIST, 0), @@ -829,7 +888,7 @@ (), ) -XML_NAMESPACES_INPUT: StaticSchema = (18, n0, _XNI, {_sSI: _sU}) +XML_NAMESPACES_INPUT: StaticSchema = (18, n0, _XNI, {_sSI: _sU, _s: None}) XML_NAMESPACED_LIST: StaticSchema = ( 16, @@ -845,7 +904,7 @@ n0, _XNN, {_sNm: MappingProxyType({"uri": "http://foo.com"})}, - (_f, _va), + (_f, _val), ( (3, {_sNm: MappingProxyType({"uri": "http://baz.com", "prefix": "baz"})}), (XML_NAMESPACED_LIST, {_sNm: MappingProxyType({"uri": "http://qux.com"})}), @@ -856,7 +915,7 @@ 18, n0, _XNO, - {_sNm: MappingProxyType({"uri": "http://foo.com"})}, + {_sm: None, _sNm: MappingProxyType({"uri": "http://foo.com"})}, (_n,), ((XML_NAMESPACE_NESTED, 0),), ) @@ -871,7 +930,7 @@ (), ) -XML_TIMESTAMPS_INPUT: StaticSchema = (18, n0, _XTI, {_sSI: _sU}) +XML_TIMESTAMPS_INPUT: StaticSchema = (18, n0, _XTI, {_sSI: _sU, _s: None}) HTTP_DATE: StaticSchema = (4, n1, _HD, {_sF: _hd}) @@ -879,7 +938,7 @@ 18, n0, _XTO, - 0, + {_sm: None}, (_no, _dT, _dTOT, _eS, _eSOT, _hD, _hDOT), ( (4, 0), @@ -911,7 +970,14 @@ ((3, 0), (2, 0), (lambda: STRUCT_ARG, 0)), ) -NESTED_STRUCTURES_INPUT: StaticSchema = (18, n0, _NSI, 0, (_N,), ((STRUCT_ARG, 0),)) +NESTED_STRUCTURES_INPUT: StaticSchema = ( + 18, + n0, + _NSI, + {_s: None}, + (_N,), + ((STRUCT_ARG, 0),), +) RECURSIVE_XML_SHAPES_OUTPUT_NESTED1: StaticSchema = ( 18, @@ -945,7 +1011,7 @@ 18, n0, _RXSO, - 0, + {_sm: None}, (_n,), ((RECURSIVE_XML_SHAPES_OUTPUT_NESTED1, 0),), ) diff --git a/codegen-output/ec2-query/src/ec2query/client.py b/codegen-output/ec2-query/src/ec2query/client.py index 44c1c8135..8de0c5b67 100644 --- a/codegen-output/ec2-query/src/ec2query/client.py +++ b/codegen-output/ec2-query/src/ec2query/client.py @@ -1,5 +1,7 @@ # Code generated by smithy-python-codegen DO NOT EDIT. +from __future__ import annotations + from copy import deepcopy import logging from typing import Any, cast @@ -18,56 +20,22 @@ from .config import AsyncEC2ProtocolConfig, Plugin from .models import ( DATETIME_OFFSETS, - DatetimeOffsetsInput, - DatetimeOffsetsOutput, EMPTY_INPUT_AND_EMPTY_OUTPUT, ENDPOINT_OPERATION, ENDPOINT_WITH_HOST_LABEL_OPERATION, - EmptyInputAndEmptyOutputInput, - EmptyInputAndEmptyOutputOutput, - EndpointOperationInput, - EndpointOperationOutput, - EndpointWithHostLabelOperationInput, - EndpointWithHostLabelOperationOutput, FRACTIONAL_SECONDS, - FractionalSecondsInput, - FractionalSecondsOutput, GREETING_WITH_ERRORS, - GreetingWithErrorsInput, - GreetingWithErrorsOutput, HOST_WITH_PATH_OPERATION, - HostWithPathOperationInput, - HostWithPathOperationOutput, IGNORES_WRAPPING_XML_NAME, - IgnoresWrappingXmlNameInput, - IgnoresWrappingXmlNameOutput, NESTED_STRUCTURES, NO_INPUT_AND_OUTPUT, - NestedStructuresInput, - NestedStructuresOutput, - NoInputAndOutputInput, - NoInputAndOutputOutput, PUT_WITH_CONTENT_ENCODING, - PutWithContentEncodingInput, - PutWithContentEncodingOutput, QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, QUERY_LISTS, QUERY_TIMESTAMPS, - QueryIdempotencyTokenAutoFillInput, - QueryIdempotencyTokenAutoFillOutput, - QueryListsInput, - QueryListsOutput, - QueryTimestampsInput, - QueryTimestampsOutput, RECURSIVE_XML_SHAPES, - RecursiveXmlShapesInput, - RecursiveXmlShapesOutput, SIMPLE_INPUT_PARAMS, SIMPLE_SCALAR_XML_PROPERTIES, - SimpleInputParamsInput, - SimpleInputParamsOutput, - SimpleScalarXmlPropertiesInput, - SimpleScalarXmlPropertiesOutput, XML_BLOBS, XML_EMPTY_BLOBS, XML_EMPTY_LISTS, @@ -76,25 +44,65 @@ XML_LISTS, XML_NAMESPACES, XML_TIMESTAMPS, - XmlBlobsInput, - XmlBlobsOperationOutput, - XmlEmptyBlobsInput, - XmlEmptyBlobsOutput, - XmlEmptyListsInput, - XmlEmptyListsOutput, - XmlEnumsInput, - XmlEnumsOutput, - XmlIntEnumsInput, - XmlIntEnumsOutput, - XmlListsInput, - XmlListsOperationOutput, - XmlNamespacesInput, - XmlNamespacesOutput, - XmlTimestampsInput, - XmlTimestampsOutput, ) from .user_agent import aws_user_agent_plugin +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from .models import ( + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HostWithPathOperationInput, + HostWithPathOperationOutput, + IgnoresWrappingXmlNameInput, + IgnoresWrappingXmlNameOutput, + NestedStructuresInput, + NestedStructuresOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, + QueryIdempotencyTokenAutoFillInput, + QueryIdempotencyTokenAutoFillOutput, + QueryListsInput, + QueryListsOutput, + QueryTimestampsInput, + QueryTimestampsOutput, + RecursiveXmlShapesInput, + RecursiveXmlShapesOutput, + SimpleInputParamsInput, + SimpleInputParamsOutput, + SimpleScalarXmlPropertiesInput, + SimpleScalarXmlPropertiesOutput, + XmlBlobsInput, + XmlBlobsOperationOutput, + XmlEmptyBlobsInput, + XmlEmptyBlobsOutput, + XmlEmptyListsInput, + XmlEmptyListsOutput, + XmlEnumsInput, + XmlEnumsOutput, + XmlIntEnumsInput, + XmlIntEnumsOutput, + XmlListsInput, + XmlListsOperationOutput, + XmlNamespacesInput, + XmlNamespacesOutput, + XmlTimestampsInput, + XmlTimestampsOutput, + ) + logger = logging.getLogger(__name__) diff --git a/codegen-output/ec2-query/src/ec2query/config.py b/codegen-output/ec2-query/src/ec2query/config.py index 1c6206aa5..39fe67fe6 100644 --- a/codegen-output/ec2-query/src/ec2query/config.py +++ b/codegen-output/ec2-query/src/ec2query/config.py @@ -1,7 +1,16 @@ # Code generated by smithy-python-codegen DO NOT EDIT. from dataclasses import dataclass, field -from typing import Any, Callable, ClassVar, Self, TypeAlias, Union, Unpack +from typing import ( + Any, + Callable, + ClassVar, + Self, + TYPE_CHECKING, + TypeAlias, + Union, + Unpack, +) from smithy_aws_core.aio.protocols import Ec2QueryClientProtocol from smithy_aws_core.auth import SigV4AuthScheme @@ -21,107 +30,116 @@ ) from smithy_core.aio.interfaces.auth import AuthScheme from smithy_core.aio.interfaces.identity import IdentityResolver -from smithy_core.interceptors import Interceptor from smithy_core.interfaces.auth import AuthSchemeResolver from smithy_core.shapes import ShapeID from smithy_http.aio.aiohttp import AIOHTTPClient from .auth import HTTPAuthSchemeResolver -from .models import ( - DatetimeOffsetsInput, - DatetimeOffsetsOutput, - EmptyInputAndEmptyOutputInput, - EmptyInputAndEmptyOutputOutput, - EndpointOperationInput, - EndpointOperationOutput, - EndpointWithHostLabelOperationInput, - EndpointWithHostLabelOperationOutput, - FractionalSecondsInput, - FractionalSecondsOutput, - GreetingWithErrorsInput, - GreetingWithErrorsOutput, - HostWithPathOperationInput, - HostWithPathOperationOutput, - IgnoresWrappingXmlNameInput, - IgnoresWrappingXmlNameOutput, - NestedStructuresInput, - NestedStructuresOutput, - NoInputAndOutputInput, - NoInputAndOutputOutput, - PutWithContentEncodingInput, - PutWithContentEncodingOutput, - QueryIdempotencyTokenAutoFillInput, - QueryIdempotencyTokenAutoFillOutput, - QueryListsInput, - QueryListsOutput, - QueryTimestampsInput, - QueryTimestampsOutput, - RecursiveXmlShapesInput, - RecursiveXmlShapesOutput, - SimpleInputParamsInput, - SimpleInputParamsOutput, - SimpleScalarXmlPropertiesInput, - SimpleScalarXmlPropertiesOutput, - XmlBlobsInput, - XmlBlobsOperationOutput, - XmlEmptyBlobsInput, - XmlEmptyBlobsOutput, - XmlEmptyListsInput, - XmlEmptyListsOutput, - XmlEnumsInput, - XmlEnumsOutput, - XmlIntEnumsInput, - XmlIntEnumsOutput, - XmlListsInput, - XmlListsOperationOutput, - XmlNamespacesInput, - XmlNamespacesOutput, - XmlTimestampsInput, - XmlTimestampsOutput, -) -_ServiceInterceptor = Union[ - Interceptor[DatetimeOffsetsInput, DatetimeOffsetsOutput, Any, Any], - Interceptor[ - EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput, Any, Any - ], - Interceptor[EndpointOperationInput, EndpointOperationOutput, Any, Any], - Interceptor[ +if TYPE_CHECKING: + from smithy_core.interceptors import Interceptor + from .models import ( + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, EndpointWithHostLabelOperationInput, EndpointWithHostLabelOperationOutput, - Any, - Any, - ], - Interceptor[FractionalSecondsInput, FractionalSecondsOutput, Any, Any], - Interceptor[GreetingWithErrorsInput, GreetingWithErrorsOutput, Any, Any], - Interceptor[HostWithPathOperationInput, HostWithPathOperationOutput, Any, Any], - Interceptor[IgnoresWrappingXmlNameInput, IgnoresWrappingXmlNameOutput, Any, Any], - Interceptor[NestedStructuresInput, NestedStructuresOutput, Any, Any], - Interceptor[NoInputAndOutputInput, NoInputAndOutputOutput, Any, Any], - Interceptor[PutWithContentEncodingInput, PutWithContentEncodingOutput, Any, Any], - Interceptor[ + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HostWithPathOperationInput, + HostWithPathOperationOutput, + IgnoresWrappingXmlNameInput, + IgnoresWrappingXmlNameOutput, + NestedStructuresInput, + NestedStructuresOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, QueryIdempotencyTokenAutoFillInput, QueryIdempotencyTokenAutoFillOutput, - Any, - Any, - ], - Interceptor[QueryListsInput, QueryListsOutput, Any, Any], - Interceptor[QueryTimestampsInput, QueryTimestampsOutput, Any, Any], - Interceptor[RecursiveXmlShapesInput, RecursiveXmlShapesOutput, Any, Any], - Interceptor[SimpleInputParamsInput, SimpleInputParamsOutput, Any, Any], - Interceptor[ - SimpleScalarXmlPropertiesInput, SimpleScalarXmlPropertiesOutput, Any, Any - ], - Interceptor[XmlBlobsInput, XmlBlobsOperationOutput, Any, Any], - Interceptor[XmlEmptyBlobsInput, XmlEmptyBlobsOutput, Any, Any], - Interceptor[XmlEmptyListsInput, XmlEmptyListsOutput, Any, Any], - Interceptor[XmlEnumsInput, XmlEnumsOutput, Any, Any], - Interceptor[XmlIntEnumsInput, XmlIntEnumsOutput, Any, Any], - Interceptor[XmlListsInput, XmlListsOperationOutput, Any, Any], - Interceptor[XmlNamespacesInput, XmlNamespacesOutput, Any, Any], - Interceptor[XmlTimestampsInput, XmlTimestampsOutput, Any, Any], -] + QueryListsInput, + QueryListsOutput, + QueryTimestampsInput, + QueryTimestampsOutput, + RecursiveXmlShapesInput, + RecursiveXmlShapesOutput, + SimpleInputParamsInput, + SimpleInputParamsOutput, + SimpleScalarXmlPropertiesInput, + SimpleScalarXmlPropertiesOutput, + XmlBlobsInput, + XmlBlobsOperationOutput, + XmlEmptyBlobsInput, + XmlEmptyBlobsOutput, + XmlEmptyListsInput, + XmlEmptyListsOutput, + XmlEnumsInput, + XmlEnumsOutput, + XmlIntEnumsInput, + XmlIntEnumsOutput, + XmlListsInput, + XmlListsOperationOutput, + XmlNamespacesInput, + XmlNamespacesOutput, + XmlTimestampsInput, + XmlTimestampsOutput, + ) + + _ServiceInterceptor = Union[ + Interceptor[DatetimeOffsetsInput, DatetimeOffsetsOutput, Any, Any], + Interceptor[ + EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput, Any, Any + ], + Interceptor[EndpointOperationInput, EndpointOperationOutput, Any, Any], + Interceptor[ + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + Any, + Any, + ], + Interceptor[FractionalSecondsInput, FractionalSecondsOutput, Any, Any], + Interceptor[GreetingWithErrorsInput, GreetingWithErrorsOutput, Any, Any], + Interceptor[HostWithPathOperationInput, HostWithPathOperationOutput, Any, Any], + Interceptor[ + IgnoresWrappingXmlNameInput, IgnoresWrappingXmlNameOutput, Any, Any + ], + Interceptor[NestedStructuresInput, NestedStructuresOutput, Any, Any], + Interceptor[NoInputAndOutputInput, NoInputAndOutputOutput, Any, Any], + Interceptor[ + PutWithContentEncodingInput, PutWithContentEncodingOutput, Any, Any + ], + Interceptor[ + QueryIdempotencyTokenAutoFillInput, + QueryIdempotencyTokenAutoFillOutput, + Any, + Any, + ], + Interceptor[QueryListsInput, QueryListsOutput, Any, Any], + Interceptor[QueryTimestampsInput, QueryTimestampsOutput, Any, Any], + Interceptor[RecursiveXmlShapesInput, RecursiveXmlShapesOutput, Any, Any], + Interceptor[SimpleInputParamsInput, SimpleInputParamsOutput, Any, Any], + Interceptor[ + SimpleScalarXmlPropertiesInput, SimpleScalarXmlPropertiesOutput, Any, Any + ], + Interceptor[XmlBlobsInput, XmlBlobsOperationOutput, Any, Any], + Interceptor[XmlEmptyBlobsInput, XmlEmptyBlobsOutput, Any, Any], + Interceptor[XmlEmptyListsInput, XmlEmptyListsOutput, Any, Any], + Interceptor[XmlEnumsInput, XmlEnumsOutput, Any, Any], + Interceptor[XmlIntEnumsInput, XmlIntEnumsOutput, Any, Any], + Interceptor[XmlListsInput, XmlListsOperationOutput, Any, Any], + Interceptor[XmlNamespacesInput, XmlNamespacesOutput, Any, Any], + Interceptor[XmlTimestampsInput, XmlTimestampsOutput, Any, Any], + ] +else: + _ServiceInterceptor = Any + _PROTOCOL_SETTINGS = ProtocolSettings( namespace="aws.protocoltests.ec2", service_target="AwsEc2", version="2020-01-08" ) diff --git a/codegen-output/ec2-query/src/ec2query/models.py b/codegen-output/ec2-query/src/ec2query/models.py index 86db4973e..6a3ee98ca 100644 --- a/codegen-output/ec2-query/src/ec2query/models.py +++ b/codegen-output/ec2-query/src/ec2query/models.py @@ -1,113 +1,40 @@ # Code generated by smithy-python-codegen DO NOT EDIT. -from dataclasses import dataclass, field -from datetime import datetime -from enum import IntEnum, StrEnum -import logging -from typing import Any, Literal, Self - -from smithy_core._schema_compact import hydrate -from smithy_core.deserializers import ShapeDeserializer -from smithy_core.documents import TypeRegistry +from ._private import schemas as _schemas +from smithy_core._dynamic_models import ModelRegistry from smithy_core.exceptions import ModeledError -from smithy_core.response import EMPTY_RESPONSE_METADATA, ResponseMetadata -from smithy_core.schemas import APIOperation, Schema -from smithy_core.serializers import ShapeSerializer +from smithy_core.schemas import APIOperation from smithy_core.shapes import ShapeID -from smithy_core.types import UnknownEnumMixin from ._private.schemas import ( - COMPLEX_ERROR as _SCHEMA_COMPLEX_ERROR, - COMPLEX_NESTED_ERROR_DATA as _SCHEMA_COMPLEX_NESTED_ERROR_DATA, DATETIME_OFFSETS as _SCHEMA_DATETIME_OFFSETS, - DATETIME_OFFSETS_INPUT as _SCHEMA_DATETIME_OFFSETS_INPUT, - DATETIME_OFFSETS_OUTPUT as _SCHEMA_DATETIME_OFFSETS_OUTPUT, EMPTY_INPUT_AND_EMPTY_OUTPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT, - EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT, - EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT, ENDPOINT_OPERATION as _SCHEMA_ENDPOINT_OPERATION, - ENDPOINT_OPERATION_INPUT as _SCHEMA_ENDPOINT_OPERATION_INPUT, - ENDPOINT_OPERATION_OUTPUT as _SCHEMA_ENDPOINT_OPERATION_OUTPUT, ENDPOINT_WITH_HOST_LABEL_OPERATION as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, - ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT, - ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT, FRACTIONAL_SECONDS as _SCHEMA_FRACTIONAL_SECONDS, - FRACTIONAL_SECONDS_INPUT as _SCHEMA_FRACTIONAL_SECONDS_INPUT, - FRACTIONAL_SECONDS_OUTPUT as _SCHEMA_FRACTIONAL_SECONDS_OUTPUT, - GREETING_STRUCT as _SCHEMA_GREETING_STRUCT, GREETING_WITH_ERRORS as _SCHEMA_GREETING_WITH_ERRORS, - GREETING_WITH_ERRORS_INPUT as _SCHEMA_GREETING_WITH_ERRORS_INPUT, - GREETING_WITH_ERRORS_OUTPUT as _SCHEMA_GREETING_WITH_ERRORS_OUTPUT, HOST_WITH_PATH_OPERATION as _SCHEMA_HOST_WITH_PATH_OPERATION, - HOST_WITH_PATH_OPERATION_INPUT as _SCHEMA_HOST_WITH_PATH_OPERATION_INPUT, - HOST_WITH_PATH_OPERATION_OUTPUT as _SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT, IGNORES_WRAPPING_XML_NAME as _SCHEMA_IGNORES_WRAPPING_XML_NAME, - IGNORES_WRAPPING_XML_NAME_INPUT as _SCHEMA_IGNORES_WRAPPING_XML_NAME_INPUT, - IGNORES_WRAPPING_XML_NAME_OUTPUT as _SCHEMA_IGNORES_WRAPPING_XML_NAME_OUTPUT, - INVALID_GREETING as _SCHEMA_INVALID_GREETING, NESTED_STRUCTURES as _SCHEMA_NESTED_STRUCTURES, - NESTED_STRUCTURES_INPUT as _SCHEMA_NESTED_STRUCTURES_INPUT, - NESTED_STRUCTURES_OUTPUT as _SCHEMA_NESTED_STRUCTURES_OUTPUT, - NESTED_STRUCT_WITH_LIST as _SCHEMA_NESTED_STRUCT_WITH_LIST, NO_INPUT_AND_OUTPUT as _SCHEMA_NO_INPUT_AND_OUTPUT, - NO_INPUT_AND_OUTPUT_INPUT as _SCHEMA_NO_INPUT_AND_OUTPUT_INPUT, - NO_INPUT_AND_OUTPUT_OUTPUT as _SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT, PUT_WITH_CONTENT_ENCODING as _SCHEMA_PUT_WITH_CONTENT_ENCODING, - PUT_WITH_CONTENT_ENCODING_INPUT as _SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT, - PUT_WITH_CONTENT_ENCODING_OUTPUT as _SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT, QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL as _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, - QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT as _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT, - QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT as _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT, QUERY_LISTS as _SCHEMA_QUERY_LISTS, - QUERY_LISTS_INPUT as _SCHEMA_QUERY_LISTS_INPUT, - QUERY_LISTS_OUTPUT as _SCHEMA_QUERY_LISTS_OUTPUT, QUERY_TIMESTAMPS as _SCHEMA_QUERY_TIMESTAMPS, - QUERY_TIMESTAMPS_INPUT as _SCHEMA_QUERY_TIMESTAMPS_INPUT, - QUERY_TIMESTAMPS_OUTPUT as _SCHEMA_QUERY_TIMESTAMPS_OUTPUT, RECURSIVE_XML_SHAPES as _SCHEMA_RECURSIVE_XML_SHAPES, - RECURSIVE_XML_SHAPES_INPUT as _SCHEMA_RECURSIVE_XML_SHAPES_INPUT, - RECURSIVE_XML_SHAPES_OUTPUT as _SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT, - RECURSIVE_XML_SHAPES_OUTPUT_NESTED1 as _SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED1, - RECURSIVE_XML_SHAPES_OUTPUT_NESTED2 as _SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED2, SIMPLE_INPUT_PARAMS as _SCHEMA_SIMPLE_INPUT_PARAMS, - SIMPLE_INPUT_PARAMS_INPUT as _SCHEMA_SIMPLE_INPUT_PARAMS_INPUT, - SIMPLE_INPUT_PARAMS_OUTPUT as _SCHEMA_SIMPLE_INPUT_PARAMS_OUTPUT, SIMPLE_SCALAR_XML_PROPERTIES as _SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES, - SIMPLE_SCALAR_XML_PROPERTIES_INPUT as _SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES_INPUT, - SIMPLE_SCALAR_XML_PROPERTIES_OUTPUT as _SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES_OUTPUT, - STRUCTURE_LIST_MEMBER as _SCHEMA_STRUCTURE_LIST_MEMBER, - STRUCT_ARG as _SCHEMA_STRUCT_ARG, XML_BLOBS as _SCHEMA_XML_BLOBS, - XML_BLOBS_INPUT as _SCHEMA_XML_BLOBS_INPUT, - XML_BLOBS_OPERATION_OUTPUT as _SCHEMA_XML_BLOBS_OPERATION_OUTPUT, XML_EMPTY_BLOBS as _SCHEMA_XML_EMPTY_BLOBS, - XML_EMPTY_BLOBS_INPUT as _SCHEMA_XML_EMPTY_BLOBS_INPUT, - XML_EMPTY_BLOBS_OUTPUT as _SCHEMA_XML_EMPTY_BLOBS_OUTPUT, XML_EMPTY_LISTS as _SCHEMA_XML_EMPTY_LISTS, - XML_EMPTY_LISTS_INPUT as _SCHEMA_XML_EMPTY_LISTS_INPUT, - XML_EMPTY_LISTS_OUTPUT as _SCHEMA_XML_EMPTY_LISTS_OUTPUT, XML_ENUMS as _SCHEMA_XML_ENUMS, - XML_ENUMS_INPUT as _SCHEMA_XML_ENUMS_INPUT, - XML_ENUMS_OUTPUT as _SCHEMA_XML_ENUMS_OUTPUT, XML_INT_ENUMS as _SCHEMA_XML_INT_ENUMS, - XML_INT_ENUMS_INPUT as _SCHEMA_XML_INT_ENUMS_INPUT, - XML_INT_ENUMS_OUTPUT as _SCHEMA_XML_INT_ENUMS_OUTPUT, XML_LISTS as _SCHEMA_XML_LISTS, - XML_LISTS_INPUT as _SCHEMA_XML_LISTS_INPUT, - XML_LISTS_OPERATION_OUTPUT as _SCHEMA_XML_LISTS_OPERATION_OUTPUT, XML_NAMESPACES as _SCHEMA_XML_NAMESPACES, - XML_NAMESPACES_INPUT as _SCHEMA_XML_NAMESPACES_INPUT, - XML_NAMESPACES_OUTPUT as _SCHEMA_XML_NAMESPACES_OUTPUT, - XML_NAMESPACE_NESTED as _SCHEMA_XML_NAMESPACE_NESTED, XML_TIMESTAMPS as _SCHEMA_XML_TIMESTAMPS, - XML_TIMESTAMPS_INPUT as _SCHEMA_XML_TIMESTAMPS_INPUT, - XML_TIMESTAMPS_OUTPUT as _SCHEMA_XML_TIMESTAMPS_OUTPUT, ) -logger = logging.getLogger(__name__) - - class ServiceError(ModeledError): """ Base error for all errors in the service. @@ -117,3641 +44,321 @@ class ServiceError(ModeledError): """ -@dataclass(kw_only=True) -class DatetimeOffsetsInput: - """Dataclass for DatetimeOffsetsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DATETIME_OFFSETS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DATETIME_OFFSETS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class DatetimeOffsetsOutput: - """Dataclass for DatetimeOffsetsOutput structure.""" - - datetime_: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT).members_by_index - if self.datetime_ is not None: - serializer.write_timestamp(members[0], self.datetime_) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["datetime_"] = de.read_timestamp(members[0]) +_registry = ModelRegistry( + _schemas, + renames={}, + index={ + "ComplexError": "COMPLEX_ERROR", + "ComplexNestedErrorData": "COMPLEX_NESTED_ERROR_DATA", + "DatetimeOffsetsInput": "DATETIME_OFFSETS_INPUT", + "DatetimeOffsetsOutput": "DATETIME_OFFSETS_OUTPUT", + "EmptyInputAndEmptyOutputInput": "EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT", + "EmptyInputAndEmptyOutputOutput": "EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT", + "EndpointOperationInput": "ENDPOINT_OPERATION_INPUT", + "EndpointOperationOutput": "ENDPOINT_OPERATION_OUTPUT", + "EndpointWithHostLabelOperationInput": "ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT", + "EndpointWithHostLabelOperationOutput": "ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT", + "FractionalSecondsInput": "FRACTIONAL_SECONDS_INPUT", + "FractionalSecondsOutput": "FRACTIONAL_SECONDS_OUTPUT", + "GreetingWithErrorsInput": "GREETING_WITH_ERRORS_INPUT", + "GreetingWithErrorsOutput": "GREETING_WITH_ERRORS_OUTPUT", + "HostWithPathOperationInput": "HOST_WITH_PATH_OPERATION_INPUT", + "HostWithPathOperationOutput": "HOST_WITH_PATH_OPERATION_OUTPUT", + "IgnoresWrappingXmlNameInput": "IGNORES_WRAPPING_XML_NAME_INPUT", + "IgnoresWrappingXmlNameOutput": "IGNORES_WRAPPING_XML_NAME_OUTPUT", + "InvalidGreeting": "INVALID_GREETING", + "NestedStructuresInput": "NESTED_STRUCTURES_INPUT", + "NestedStructuresOutput": "NESTED_STRUCTURES_OUTPUT", + "NestedStructWithList": "NESTED_STRUCT_WITH_LIST", + "NoInputAndOutputInput": "NO_INPUT_AND_OUTPUT_INPUT", + "NoInputAndOutputOutput": "NO_INPUT_AND_OUTPUT_OUTPUT", + "PutWithContentEncodingInput": "PUT_WITH_CONTENT_ENCODING_INPUT", + "PutWithContentEncodingOutput": "PUT_WITH_CONTENT_ENCODING_OUTPUT", + "QueryIdempotencyTokenAutoFillInput": "QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT", + "QueryIdempotencyTokenAutoFillOutput": "QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT", + "QueryListsInput": "QUERY_LISTS_INPUT", + "QueryListsOutput": "QUERY_LISTS_OUTPUT", + "QueryTimestampsInput": "QUERY_TIMESTAMPS_INPUT", + "QueryTimestampsOutput": "QUERY_TIMESTAMPS_OUTPUT", + "RecursiveXmlShapesInput": "RECURSIVE_XML_SHAPES_INPUT", + "RecursiveXmlShapesOutput": "RECURSIVE_XML_SHAPES_OUTPUT", + "RecursiveXmlShapesOutputNested1": "RECURSIVE_XML_SHAPES_OUTPUT_NESTED1", + "RecursiveXmlShapesOutputNested2": "RECURSIVE_XML_SHAPES_OUTPUT_NESTED2", + "SimpleInputParamsInput": "SIMPLE_INPUT_PARAMS_INPUT", + "SimpleInputParamsOutput": "SIMPLE_INPUT_PARAMS_OUTPUT", + "SimpleScalarXmlPropertiesInput": "SIMPLE_SCALAR_XML_PROPERTIES_INPUT", + "SimpleScalarXmlPropertiesOutput": "SIMPLE_SCALAR_XML_PROPERTIES_OUTPUT", + "StructArg": "STRUCT_ARG", + "StructureListMember": "STRUCTURE_LIST_MEMBER", + "XmlBlobsInput": "XML_BLOBS_INPUT", + "XmlBlobsOperationOutput": "XML_BLOBS_OPERATION_OUTPUT", + "XmlEmptyBlobsInput": "XML_EMPTY_BLOBS_INPUT", + "XmlEmptyBlobsOutput": "XML_EMPTY_BLOBS_OUTPUT", + "XmlEmptyListsInput": "XML_EMPTY_LISTS_INPUT", + "XmlEmptyListsOutput": "XML_EMPTY_LISTS_OUTPUT", + "XmlEnumsInput": "XML_ENUMS_INPUT", + "XmlEnumsOutput": "XML_ENUMS_OUTPUT", + "XmlIntEnumsInput": "XML_INT_ENUMS_INPUT", + "XmlIntEnumsOutput": "XML_INT_ENUMS_OUTPUT", + "XmlListsInput": "XML_LISTS_INPUT", + "XmlListsOperationOutput": "XML_LISTS_OPERATION_OUTPUT", + "XmlNamespaceNested": "XML_NAMESPACE_NESTED", + "XmlNamespacesInput": "XML_NAMESPACES_INPUT", + "XmlNamespacesOutput": "XML_NAMESPACES_OUTPUT", + "XmlTimestampsInput": "XML_TIMESTAMPS_INPUT", + "XmlTimestampsOutput": "XML_TIMESTAMPS_OUTPUT", + "FooEnum": "FOO_ENUM", + "GreetingStruct": "GREETING_STRUCT", + "IntegerEnum": "INTEGER_ENUM", + }, + shape_names=frozenset( + { + "ComplexError", + "ComplexNestedErrorData", + "DatetimeOffsetsInput", + "DatetimeOffsetsOutput", + "EmptyInputAndEmptyOutputInput", + "EmptyInputAndEmptyOutputOutput", + "EndpointOperationInput", + "EndpointOperationOutput", + "EndpointWithHostLabelOperationInput", + "EndpointWithHostLabelOperationOutput", + "FooEnum", + "FractionalSecondsInput", + "FractionalSecondsOutput", + "GreetingStruct", + "GreetingWithErrorsInput", + "GreetingWithErrorsOutput", + "HostWithPathOperationInput", + "HostWithPathOperationOutput", + "IgnoresWrappingXmlNameInput", + "IgnoresWrappingXmlNameOutput", + "IntegerEnum", + "InvalidGreeting", + "NestedStructWithList", + "NestedStructuresInput", + "NestedStructuresOutput", + "NoInputAndOutputInput", + "NoInputAndOutputOutput", + "PutWithContentEncodingInput", + "PutWithContentEncodingOutput", + "QueryIdempotencyTokenAutoFillInput", + "QueryIdempotencyTokenAutoFillOutput", + "QueryListsInput", + "QueryListsOutput", + "QueryTimestampsInput", + "QueryTimestampsOutput", + "RecursiveXmlShapesInput", + "RecursiveXmlShapesOutput", + "RecursiveXmlShapesOutputNested1", + "RecursiveXmlShapesOutputNested2", + "SimpleInputParamsInput", + "SimpleInputParamsOutput", + "SimpleScalarXmlPropertiesInput", + "SimpleScalarXmlPropertiesOutput", + "StructArg", + "StructureListMember", + "XmlBlobsInput", + "XmlBlobsOperationOutput", + "XmlEmptyBlobsInput", + "XmlEmptyBlobsOutput", + "XmlEmptyListsInput", + "XmlEmptyListsOutput", + "XmlEnumsInput", + "XmlEnumsOutput", + "XmlIntEnumsInput", + "XmlIntEnumsOutput", + "XmlListsInput", + "XmlListsOperationOutput", + "XmlNamespaceNested", + "XmlNamespacesInput", + "XmlNamespacesOutput", + "XmlTimestampsInput", + "XmlTimestampsOutput", + } + ), + service_error="ServiceError", +) - case _: - logger.debug("Unexpected member schema: %s", member_schema) - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +def __getattr__(name: str): + return _registry.build(name) DATETIME_OFFSETS = APIOperation( - input=DatetimeOffsetsInput, - output=DatetimeOffsetsOutput, static_schema=_SCHEMA_DATETIME_OFFSETS, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class EmptyInputAndEmptyOutputInput: - """Dataclass for EmptyInputAndEmptyOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EmptyInputAndEmptyOutputOutput: - """Dataclass for EmptyInputAndEmptyOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - EMPTY_INPUT_AND_EMPTY_OUTPUT = APIOperation( - input=EmptyInputAndEmptyOutputInput, - output=EmptyInputAndEmptyOutputOutput, static_schema=_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class EndpointOperationInput: - """Dataclass for EndpointOperationInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ENDPOINT_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_OPERATION_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EndpointOperationOutput: - """Dataclass for EndpointOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ENDPOINT_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - ENDPOINT_OPERATION = APIOperation( - input=EndpointOperationInput, - output=EndpointOperationOutput, static_schema=_SCHEMA_ENDPOINT_OPERATION, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class EndpointWithHostLabelOperationInput: - """Dataclass for EndpointWithHostLabelOperationInput structure.""" - - label: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT - ).members_by_index - if self.label is not None: - serializer.write_string(members[0], self.label) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["label"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EndpointWithHostLabelOperationOutput: - """Dataclass for EndpointWithHostLabelOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - ENDPOINT_WITH_HOST_LABEL_OPERATION = APIOperation( - input=EndpointWithHostLabelOperationInput, - output=EndpointWithHostLabelOperationOutput, static_schema=_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class FractionalSecondsInput: - """Dataclass for FractionalSecondsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FRACTIONAL_SECONDS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FRACTIONAL_SECONDS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class FractionalSecondsOutput: - """Dataclass for FractionalSecondsOutput structure.""" - - datetime_: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT).members_by_index - if self.datetime_ is not None: - serializer.write_timestamp(members[0], self.datetime_) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["datetime_"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - FRACTIONAL_SECONDS = APIOperation( - input=FractionalSecondsInput, - output=FractionalSecondsOutput, static_schema=_SCHEMA_FRACTIONAL_SECONDS, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class ComplexNestedErrorData: - """Dataclass for ComplexNestedErrorData structure.""" - - foo: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ComplexError(ServiceError): - """This error is thrown when a request is invalid.""" - - fault: Literal["client", "server"] | None = "client" - - top_level: str | None = None - - nested: ComplexNestedErrorData | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_COMPLEX_ERROR), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_COMPLEX_ERROR).members_by_index - if self.top_level is not None: - serializer.write_string(members[0], self.top_level) - - if self.nested is not None: - serializer.write_struct(members[1], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_COMPLEX_ERROR) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["top_level"] = de.read_string(members[0]) - - case 1: - kwargs["nested"] = ComplexNestedErrorData.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class GreetingWithErrorsInput: - """Dataclass for GreetingWithErrorsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class GreetingWithErrorsOutput: - """Dataclass for GreetingWithErrorsOutput structure.""" - - greeting: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT).members_by_index - if self.greeting is not None: - serializer.write_string(members[0], self.greeting) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["greeting"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class InvalidGreeting(ServiceError): - """This error is thrown when an invalid greeting value is provided.""" - - fault: Literal["client", "server"] | None = "client" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_INVALID_GREETING), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_INVALID_GREETING).members_by_index - if self.message is not None: - serializer.write_string(members[0], self.message) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INVALID_GREETING) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["message"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - GREETING_WITH_ERRORS = APIOperation( - input=GreetingWithErrorsInput, - output=GreetingWithErrorsOutput, static_schema=_SCHEMA_GREETING_WITH_ERRORS, - error_registry=TypeRegistry( - { - ShapeID("aws.protocoltests.ec2#InvalidGreeting"): InvalidGreeting, - ShapeID("aws.protocoltests.ec2#ComplexError"): ComplexError, - } - ), + model_registry=_registry, + error_ids=[ + ShapeID("aws.protocoltests.ec2#InvalidGreeting"), + ShapeID("aws.protocoltests.ec2#ComplexError"), + ], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class HostWithPathOperationInput: - """Dataclass for HostWithPathOperationInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HostWithPathOperationOutput: - """Dataclass for HostWithPathOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - HOST_WITH_PATH_OPERATION = APIOperation( - input=HostWithPathOperationInput, - output=HostWithPathOperationOutput, static_schema=_SCHEMA_HOST_WITH_PATH_OPERATION, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) +IGNORES_WRAPPING_XML_NAME = APIOperation( + static_schema=_SCHEMA_IGNORES_WRAPPING_XML_NAME, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -@dataclass(kw_only=True) -class IgnoresWrappingXmlNameInput: - """Dataclass for IgnoresWrappingXmlNameInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_IGNORES_WRAPPING_XML_NAME_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_IGNORES_WRAPPING_XML_NAME_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - +NO_INPUT_AND_OUTPUT = APIOperation( + static_schema=_SCHEMA_NO_INPUT_AND_OUTPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -@dataclass(kw_only=True) -class IgnoresWrappingXmlNameOutput: - """Dataclass for IgnoresWrappingXmlNameOutput structure.""" +PUT_WITH_CONTENT_ENCODING = APIOperation( + static_schema=_SCHEMA_PUT_WITH_CONTENT_ENCODING, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - foo: str | None = None +QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL = APIOperation( + static_schema=_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ +QUERY_LISTS = APIOperation( + static_schema=_SCHEMA_QUERY_LISTS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_IGNORES_WRAPPING_XML_NAME_OUTPUT), self) +QUERY_TIMESTAMPS = APIOperation( + static_schema=_SCHEMA_QUERY_TIMESTAMPS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_IGNORES_WRAPPING_XML_NAME_OUTPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) +SIMPLE_INPUT_PARAMS = APIOperation( + static_schema=_SCHEMA_SIMPLE_INPUT_PARAMS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) +SIMPLE_SCALAR_XML_PROPERTIES = APIOperation( + static_schema=_SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_IGNORES_WRAPPING_XML_NAME_OUTPUT) - members = schema.members_by_index +XML_BLOBS = APIOperation( + static_schema=_SCHEMA_XML_BLOBS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) +XML_EMPTY_BLOBS = APIOperation( + static_schema=_SCHEMA_XML_EMPTY_BLOBS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case _: - logger.debug("Unexpected member schema: %s", member_schema) +XML_EMPTY_LISTS = APIOperation( + static_schema=_SCHEMA_XML_EMPTY_LISTS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +XML_ENUMS = APIOperation( + static_schema=_SCHEMA_XML_ENUMS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +XML_INT_ENUMS = APIOperation( + static_schema=_SCHEMA_XML_INT_ENUMS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -IGNORES_WRAPPING_XML_NAME = APIOperation( - input=IgnoresWrappingXmlNameInput, - output=IgnoresWrappingXmlNameOutput, - static_schema=_SCHEMA_IGNORES_WRAPPING_XML_NAME, - error_registry=TypeRegistry({}), +XML_LISTS = APIOperation( + static_schema=_SCHEMA_XML_LISTS, + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class NestedStructuresOutput: - """Dataclass for NestedStructuresOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NESTED_STRUCTURES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NESTED_STRUCTURES_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NoInputAndOutputInput: - """Dataclass for NoInputAndOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NoInputAndOutputOutput: - """Dataclass for NoInputAndOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NO_INPUT_AND_OUTPUT = APIOperation( - input=NoInputAndOutputInput, - output=NoInputAndOutputOutput, - static_schema=_SCHEMA_NO_INPUT_AND_OUTPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class PutWithContentEncodingInput: - """Dataclass for PutWithContentEncodingInput structure.""" - - encoding: str | None = None - - data: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT).members_by_index - if self.encoding is not None: - serializer.write_string(members[0], self.encoding) - - if self.data is not None: - serializer.write_string(members[1], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["encoding"] = de.read_string(members[0]) - - case 1: - kwargs["data"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class PutWithContentEncodingOutput: - """Dataclass for PutWithContentEncodingOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -PUT_WITH_CONTENT_ENCODING = APIOperation( - input=PutWithContentEncodingInput, - output=PutWithContentEncodingOutput, - static_schema=_SCHEMA_PUT_WITH_CONTENT_ENCODING, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class QueryIdempotencyTokenAutoFillInput: - """Dataclass for QueryIdempotencyTokenAutoFillInput structure.""" - - token: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT - ).members_by_index - if self.token is not None: - serializer.write_string(members[0], self.token) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["token"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryIdempotencyTokenAutoFillOutput: - """Dataclass for QueryIdempotencyTokenAutoFillOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL = APIOperation( - input=QueryIdempotencyTokenAutoFillInput, - output=QueryIdempotencyTokenAutoFillOutput, - static_schema=_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class GreetingStruct: - """Dataclass for GreetingStruct structure.""" - - hi: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_STRUCT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_STRUCT).members_by_index - if self.hi is not None: - serializer.write_string(members[0], self.hi) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_STRUCT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["hi"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_greeting_list( - serializer: ShapeSerializer, schema: Schema, value: list[GreetingStruct] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_struct(member_schema, e) - - -def _deserialize_greeting_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[GreetingStruct]: - result: list[GreetingStruct] = [] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(GreetingStruct.deserialize(d)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_list_with_xml_name( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_list_with_xml_name( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class NestedStructWithList: - """Dataclass for NestedStructWithList structure.""" - - list_arg: list[str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NESTED_STRUCT_WITH_LIST), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NESTED_STRUCT_WITH_LIST).members_by_index - if self.list_arg is not None: - _serialize_string_list(serializer, members[0], self.list_arg) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NESTED_STRUCT_WITH_LIST) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["list_arg"] = _deserialize_string_list(de, members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryListsInput: - """Dataclass for QueryListsInput structure.""" - - list_arg: list[str] | None = None - - complex_list_arg: list[GreetingStruct] | None = None - - list_arg_with_xml_name_member: list[str] | None = None - - list_arg_with_xml_name: list[str] | None = None - - nested_with_list: NestedStructWithList | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_QUERY_LISTS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_QUERY_LISTS_INPUT).members_by_index - if self.list_arg is not None: - _serialize_string_list(serializer, members[0], self.list_arg) - - if self.complex_list_arg is not None: - _serialize_greeting_list(serializer, members[1], self.complex_list_arg) - - if self.list_arg_with_xml_name_member is not None: - _serialize_list_with_xml_name( - serializer, members[2], self.list_arg_with_xml_name_member - ) - - if self.list_arg_with_xml_name is not None: - _serialize_list_with_xml_name( - serializer, members[3], self.list_arg_with_xml_name - ) - - if self.nested_with_list is not None: - serializer.write_struct(members[4], self.nested_with_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_LISTS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["list_arg"] = _deserialize_string_list(de, members[0]) - - case 1: - kwargs["complex_list_arg"] = _deserialize_greeting_list( - de, members[1] - ) - - case 2: - kwargs["list_arg_with_xml_name_member"] = ( - _deserialize_list_with_xml_name(de, members[2]) - ) - - case 3: - kwargs["list_arg_with_xml_name"] = _deserialize_list_with_xml_name( - de, members[3] - ) - - case 4: - kwargs["nested_with_list"] = NestedStructWithList.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryListsOutput: - """Dataclass for QueryListsOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_QUERY_LISTS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_LISTS_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -QUERY_LISTS = APIOperation( - input=QueryListsInput, - output=QueryListsOutput, - static_schema=_SCHEMA_QUERY_LISTS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class QueryTimestampsInput: - """Dataclass for QueryTimestampsInput structure.""" - - normal_format: datetime | None = None - - epoch_member: datetime | None = None - - epoch_target: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_QUERY_TIMESTAMPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_QUERY_TIMESTAMPS_INPUT).members_by_index - if self.normal_format is not None: - serializer.write_timestamp(members[0], self.normal_format) - - if self.epoch_member is not None: - serializer.write_timestamp(members[1], self.epoch_member) - - if self.epoch_target is not None: - serializer.write_timestamp(members[2], self.epoch_target) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_TIMESTAMPS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["normal_format"] = de.read_timestamp(members[0]) - - case 1: - kwargs["epoch_member"] = de.read_timestamp(members[1]) - - case 2: - kwargs["epoch_target"] = de.read_timestamp(members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryTimestampsOutput: - """Dataclass for QueryTimestampsOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_QUERY_TIMESTAMPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_TIMESTAMPS_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -QUERY_TIMESTAMPS = APIOperation( - input=QueryTimestampsInput, - output=QueryTimestampsOutput, - static_schema=_SCHEMA_QUERY_TIMESTAMPS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class RecursiveXmlShapesInput: - """Dataclass for RecursiveXmlShapesInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -class FooEnum(UnknownEnumMixin, StrEnum): - FOO = "Foo" - BAZ = "Baz" - BAR = "Bar" - ONE = "1" - ZERO = "0" - - -@dataclass(kw_only=True) -class SimpleInputParamsInput: - """Dataclass for SimpleInputParamsInput structure.""" - - foo: str | None = None - - bar: str | None = None - - baz: bool | None = None - - bam: int | None = None - - float_value: float | None = None - - boo: float | None = None - - qux: bytes | None = None - - foo_enum: str | None = None - - has_query_name: str | None = None - - has_query_and_xml_name: str | None = None - - uses_xml_name: str | None = None - - distinct_query_name: str | None = None - - distinct_query_and_xml_name: str | None = None - - distinct_xml_name: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_INPUT_PARAMS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_INPUT_PARAMS_INPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.bar is not None: - serializer.write_string(members[1], self.bar) - - if self.baz is not None: - serializer.write_boolean(members[2], self.baz) - - if self.bam is not None: - serializer.write_integer(members[3], self.bam) - - if self.float_value is not None: - serializer.write_float(members[4], self.float_value) - - if self.boo is not None: - serializer.write_double(members[5], self.boo) - - if self.qux is not None: - serializer.write_blob(members[6], self.qux) - - if self.foo_enum is not None: - serializer.write_string(members[7], self.foo_enum) - - if self.has_query_name is not None: - serializer.write_string(members[8], self.has_query_name) - - if self.has_query_and_xml_name is not None: - serializer.write_string(members[9], self.has_query_and_xml_name) - - if self.uses_xml_name is not None: - serializer.write_string(members[10], self.uses_xml_name) - - if self.distinct_query_name is not None: - serializer.write_string(members[11], self.distinct_query_name) - - if self.distinct_query_and_xml_name is not None: - serializer.write_string(members[12], self.distinct_query_and_xml_name) - - if self.distinct_xml_name is not None: - serializer.write_string(members[13], self.distinct_xml_name) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_INPUT_PARAMS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["bar"] = de.read_string(members[1]) - - case 2: - kwargs["baz"] = de.read_boolean(members[2]) - - case 3: - kwargs["bam"] = de.read_integer(members[3]) - - case 4: - kwargs["float_value"] = de.read_float(members[4]) - - case 5: - kwargs["boo"] = de.read_double(members[5]) - - case 6: - kwargs["qux"] = de.read_blob(members[6]) - - case 7: - kwargs["foo_enum"] = FooEnum(de.read_string(members[7])) - - case 8: - kwargs["has_query_name"] = de.read_string(members[8]) - - case 9: - kwargs["has_query_and_xml_name"] = de.read_string(members[9]) - - case 10: - kwargs["uses_xml_name"] = de.read_string(members[10]) - - case 11: - kwargs["distinct_query_name"] = de.read_string(members[11]) - - case 12: - kwargs["distinct_query_and_xml_name"] = de.read_string(members[12]) - - case 13: - kwargs["distinct_xml_name"] = de.read_string(members[13]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SimpleInputParamsOutput: - """Dataclass for SimpleInputParamsOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_INPUT_PARAMS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_INPUT_PARAMS_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -SIMPLE_INPUT_PARAMS = APIOperation( - input=SimpleInputParamsInput, - output=SimpleInputParamsOutput, - static_schema=_SCHEMA_SIMPLE_INPUT_PARAMS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class SimpleScalarXmlPropertiesInput: - """Dataclass for SimpleScalarXmlPropertiesInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SimpleScalarXmlPropertiesOutput: - """Dataclass for SimpleScalarXmlPropertiesOutput structure.""" - - string_value: str | None = None - - empty_string_value: str | None = None - - true_boolean_value: bool | None = None - - false_boolean_value: bool | None = None - - byte_value: int | None = None - - short_value: int | None = None - - integer_value: int | None = None - - long_value: int | None = None - - float_value: float | None = None - - double_value: float | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES_OUTPUT).members_by_index - if self.string_value is not None: - serializer.write_string(members[0], self.string_value) - - if self.empty_string_value is not None: - serializer.write_string(members[1], self.empty_string_value) - - if self.true_boolean_value is not None: - serializer.write_boolean(members[2], self.true_boolean_value) - - if self.false_boolean_value is not None: - serializer.write_boolean(members[3], self.false_boolean_value) - - if self.byte_value is not None: - serializer.write_byte(members[4], self.byte_value) - - if self.short_value is not None: - serializer.write_short(members[5], self.short_value) - - if self.integer_value is not None: - serializer.write_integer(members[6], self.integer_value) - - if self.long_value is not None: - serializer.write_long(members[7], self.long_value) - - if self.float_value is not None: - serializer.write_float(members[8], self.float_value) - - if self.double_value is not None: - serializer.write_double(members[9], self.double_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_value"] = de.read_string(members[0]) - - case 1: - kwargs["empty_string_value"] = de.read_string(members[1]) - - case 2: - kwargs["true_boolean_value"] = de.read_boolean(members[2]) - - case 3: - kwargs["false_boolean_value"] = de.read_boolean(members[3]) - - case 4: - kwargs["byte_value"] = de.read_byte(members[4]) - - case 5: - kwargs["short_value"] = de.read_short(members[5]) - - case 6: - kwargs["integer_value"] = de.read_integer(members[6]) - - case 7: - kwargs["long_value"] = de.read_long(members[7]) - - case 8: - kwargs["float_value"] = de.read_float(members[8]) - - case 9: - kwargs["double_value"] = de.read_double(members[9]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -SIMPLE_SCALAR_XML_PROPERTIES = APIOperation( - input=SimpleScalarXmlPropertiesInput, - output=SimpleScalarXmlPropertiesOutput, - static_schema=_SCHEMA_SIMPLE_SCALAR_XML_PROPERTIES, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlBlobsInput: - """Dataclass for XmlBlobsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_BLOBS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_BLOBS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlBlobsOperationOutput: - """Dataclass for XmlBlobsOperationOutput structure.""" - - data: bytes | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_BLOBS_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_BLOBS_OPERATION_OUTPUT).members_by_index - if self.data is not None: - serializer.write_blob(members[0], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_BLOBS_OPERATION_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["data"] = de.read_blob(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_BLOBS = APIOperation( - input=XmlBlobsInput, - output=XmlBlobsOperationOutput, - static_schema=_SCHEMA_XML_BLOBS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlEmptyBlobsInput: - """Dataclass for XmlEmptyBlobsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_BLOBS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_BLOBS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlEmptyBlobsOutput: - """Dataclass for XmlEmptyBlobsOutput structure.""" - - data: bytes | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_BLOBS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_EMPTY_BLOBS_OUTPUT).members_by_index - if self.data is not None: - serializer.write_blob(members[0], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_BLOBS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["data"] = de.read_blob(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_EMPTY_BLOBS = APIOperation( - input=XmlEmptyBlobsInput, - output=XmlEmptyBlobsOutput, - static_schema=_SCHEMA_XML_EMPTY_BLOBS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlEmptyListsInput: - """Dataclass for XmlEmptyListsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_LISTS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_LISTS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_boolean_list( - serializer: ShapeSerializer, schema: Schema, value: list[bool] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_boolean(member_schema, e) - - -def _deserialize_boolean_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[bool]: - result: list[bool] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_boolean(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_foo_enum_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_foo_enum_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(FooEnum(d.read_string(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_renamed_list_members( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_renamed_list_members( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_list_with_member_namespace( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_list_with_member_namespace( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_list_with_namespace( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_list_with_namespace( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_integer_list( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) - - -def _deserialize_integer_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_integer(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -class IntegerEnum(UnknownEnumMixin, IntEnum): - A = 1 - B = 2 - C = 3 - - -def _serialize_integer_enum_list( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) - - -def _deserialize_integer_enum_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(IntegerEnum(d.read_integer(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_nested_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[list[str]] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - _serialize_string_list(ls, member_schema, e) - - -def _deserialize_nested_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[list[str]]: - result: list[list[str]] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(_deserialize_string_list(d, member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_string_set( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_string_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class StructureListMember: - """Dataclass for StructureListMember structure.""" - - a: str | None = None - - b: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER).members_by_index - if self.a is not None: - serializer.write_string(members[0], self.a) - - if self.b is not None: - serializer.write_string(members[1], self.b) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["a"] = de.read_string(members[0]) - - case 1: - kwargs["b"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_structure_list( - serializer: ShapeSerializer, schema: Schema, value: list[StructureListMember] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_struct(member_schema, e) - - -def _deserialize_structure_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[StructureListMember]: - result: list[StructureListMember] = [] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(StructureListMember.deserialize(d)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_timestamp_list( - serializer: ShapeSerializer, schema: Schema, value: list[datetime] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_timestamp(member_schema, e) - - -def _deserialize_timestamp_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[datetime]: - result: list[datetime] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_timestamp(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlEmptyListsOutput: - """Dataclass for XmlEmptyListsOutput structure.""" - - string_list: list[str] | None = None - - string_set: list[str] | None = None - - integer_list: list[int] | None = None - - boolean_list: list[bool] | None = None - - timestamp_list: list[datetime] | None = None - - enum_list: list[str] | None = None - - int_enum_list: list[int] | None = None - - nested_string_list: list[list[str]] | None = None - """A list of lists of strings.""" - - renamed_list_members: list[str] | None = None - - flattened_list: list[str] | None = None - - flattened_list2: list[str] | None = None - - flattened_list_with_member_namespace: list[str] | None = None - - flattened_list_with_namespace: list[str] | None = None - - structure_list: list[StructureListMember] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_LISTS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_EMPTY_LISTS_OUTPUT).members_by_index - if self.string_list is not None: - _serialize_string_list(serializer, members[0], self.string_list) - - if self.string_set is not None: - _serialize_string_set(serializer, members[1], self.string_set) - - if self.integer_list is not None: - _serialize_integer_list(serializer, members[2], self.integer_list) - - if self.boolean_list is not None: - _serialize_boolean_list(serializer, members[3], self.boolean_list) - - if self.timestamp_list is not None: - _serialize_timestamp_list(serializer, members[4], self.timestamp_list) - - if self.enum_list is not None: - _serialize_foo_enum_list(serializer, members[5], self.enum_list) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[6], self.int_enum_list) - - if self.nested_string_list is not None: - _serialize_nested_string_list( - serializer, members[7], self.nested_string_list - ) - - if self.renamed_list_members is not None: - _serialize_renamed_list_members( - serializer, members[8], self.renamed_list_members - ) - - if self.flattened_list is not None: - _serialize_renamed_list_members(serializer, members[9], self.flattened_list) - - if self.flattened_list2 is not None: - _serialize_renamed_list_members( - serializer, members[10], self.flattened_list2 - ) - - if self.flattened_list_with_member_namespace is not None: - _serialize_list_with_member_namespace( - serializer, members[11], self.flattened_list_with_member_namespace - ) - - if self.flattened_list_with_namespace is not None: - _serialize_list_with_namespace( - serializer, members[12], self.flattened_list_with_namespace - ) - - if self.structure_list is not None: - _serialize_structure_list(serializer, members[13], self.structure_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_LISTS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_list"] = _deserialize_string_list(de, members[0]) - - case 1: - kwargs["string_set"] = _deserialize_string_set(de, members[1]) - - case 2: - kwargs["integer_list"] = _deserialize_integer_list(de, members[2]) - - case 3: - kwargs["boolean_list"] = _deserialize_boolean_list(de, members[3]) - - case 4: - kwargs["timestamp_list"] = _deserialize_timestamp_list( - de, members[4] - ) - - case 5: - kwargs["enum_list"] = _deserialize_foo_enum_list(de, members[5]) - - case 6: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[6] - ) - - case 7: - kwargs["nested_string_list"] = _deserialize_nested_string_list( - de, members[7] - ) - - case 8: - kwargs["renamed_list_members"] = _deserialize_renamed_list_members( - de, members[8] - ) - - case 9: - kwargs["flattened_list"] = _deserialize_renamed_list_members( - de, members[9] - ) - - case 10: - kwargs["flattened_list2"] = _deserialize_renamed_list_members( - de, members[10] - ) - - case 11: - kwargs["flattened_list_with_member_namespace"] = ( - _deserialize_list_with_member_namespace(de, members[11]) - ) - - case 12: - kwargs["flattened_list_with_namespace"] = ( - _deserialize_list_with_namespace(de, members[12]) - ) - - case 13: - kwargs["structure_list"] = _deserialize_structure_list( - de, members[13] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_EMPTY_LISTS = APIOperation( - input=XmlEmptyListsInput, - output=XmlEmptyListsOutput, - static_schema=_SCHEMA_XML_EMPTY_LISTS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlEnumsInput: - """Dataclass for XmlEnumsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_ENUMS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ENUMS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_foo_enum_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_foo_enum_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = FooEnum(d.read_string(value_schema)) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_foo_enum_set( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_foo_enum_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(FooEnum(d.read_string(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlEnumsOutput: - """Dataclass for XmlEnumsOutput structure.""" - - foo_enum1: str | None = None - - foo_enum2: str | None = None - - foo_enum3: str | None = None - - foo_enum_list: list[str] | None = None - - foo_enum_set: list[str] | None = None - - foo_enum_map: dict[str, str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_ENUMS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_ENUMS_OUTPUT).members_by_index - if self.foo_enum1 is not None: - serializer.write_string(members[0], self.foo_enum1) - - if self.foo_enum2 is not None: - serializer.write_string(members[1], self.foo_enum2) - - if self.foo_enum3 is not None: - serializer.write_string(members[2], self.foo_enum3) - - if self.foo_enum_list is not None: - _serialize_foo_enum_list(serializer, members[3], self.foo_enum_list) - - if self.foo_enum_set is not None: - _serialize_foo_enum_set(serializer, members[4], self.foo_enum_set) - - if self.foo_enum_map is not None: - _serialize_foo_enum_map(serializer, members[5], self.foo_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ENUMS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo_enum1"] = FooEnum(de.read_string(members[0])) - - case 1: - kwargs["foo_enum2"] = FooEnum(de.read_string(members[1])) - - case 2: - kwargs["foo_enum3"] = FooEnum(de.read_string(members[2])) - - case 3: - kwargs["foo_enum_list"] = _deserialize_foo_enum_list(de, members[3]) - - case 4: - kwargs["foo_enum_set"] = _deserialize_foo_enum_set(de, members[4]) - - case 5: - kwargs["foo_enum_map"] = _deserialize_foo_enum_map(de, members[5]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_ENUMS = APIOperation( - input=XmlEnumsInput, - output=XmlEnumsOutput, - static_schema=_SCHEMA_XML_ENUMS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlIntEnumsInput: - """Dataclass for XmlIntEnumsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_INT_ENUMS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_INT_ENUMS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_integer_enum_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, int] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_integer(value_schema, v)) - - -def _deserialize_integer_enum_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, int]: - result: dict[str, int] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = IntegerEnum(d.read_integer(value_schema)) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_integer_enum_set( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) - - -def _deserialize_integer_enum_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(IntegerEnum(d.read_integer(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlIntEnumsOutput: - """Dataclass for XmlIntEnumsOutput structure.""" - - int_enum1: int | None = None - - int_enum2: int | None = None - - int_enum3: int | None = None - - int_enum_list: list[int] | None = None - - int_enum_set: list[int] | None = None - - int_enum_map: dict[str, int] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_INT_ENUMS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_INT_ENUMS_OUTPUT).members_by_index - if self.int_enum1 is not None: - serializer.write_integer(members[0], self.int_enum1) - - if self.int_enum2 is not None: - serializer.write_integer(members[1], self.int_enum2) - - if self.int_enum3 is not None: - serializer.write_integer(members[2], self.int_enum3) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[3], self.int_enum_list) - - if self.int_enum_set is not None: - _serialize_integer_enum_set(serializer, members[4], self.int_enum_set) - - if self.int_enum_map is not None: - _serialize_integer_enum_map(serializer, members[5], self.int_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_INT_ENUMS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["int_enum1"] = IntegerEnum(de.read_integer(members[0])) - - case 1: - kwargs["int_enum2"] = IntegerEnum(de.read_integer(members[1])) - - case 2: - kwargs["int_enum3"] = IntegerEnum(de.read_integer(members[2])) - - case 3: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[3] - ) - - case 4: - kwargs["int_enum_set"] = _deserialize_integer_enum_set( - de, members[4] - ) - - case 5: - kwargs["int_enum_map"] = _deserialize_integer_enum_map( - de, members[5] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_INT_ENUMS = APIOperation( - input=XmlIntEnumsInput, - output=XmlIntEnumsOutput, - static_schema=_SCHEMA_XML_INT_ENUMS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlListsInput: - """Dataclass for XmlListsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_LISTS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_LISTS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlListsOperationOutput: - """Dataclass for XmlListsOperationOutput structure.""" - - string_list: list[str] | None = None - - string_set: list[str] | None = None - - integer_list: list[int] | None = None - - boolean_list: list[bool] | None = None - - timestamp_list: list[datetime] | None = None - - enum_list: list[str] | None = None - - int_enum_list: list[int] | None = None - - nested_string_list: list[list[str]] | None = None - """A list of lists of strings.""" - - renamed_list_members: list[str] | None = None - - flattened_list: list[str] | None = None - - flattened_list2: list[str] | None = None - - flattened_list_with_member_namespace: list[str] | None = None - - flattened_list_with_namespace: list[str] | None = None - - structure_list: list[StructureListMember] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_LISTS_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_LISTS_OPERATION_OUTPUT).members_by_index - if self.string_list is not None: - _serialize_string_list(serializer, members[0], self.string_list) - - if self.string_set is not None: - _serialize_string_set(serializer, members[1], self.string_set) - - if self.integer_list is not None: - _serialize_integer_list(serializer, members[2], self.integer_list) - - if self.boolean_list is not None: - _serialize_boolean_list(serializer, members[3], self.boolean_list) - - if self.timestamp_list is not None: - _serialize_timestamp_list(serializer, members[4], self.timestamp_list) - - if self.enum_list is not None: - _serialize_foo_enum_list(serializer, members[5], self.enum_list) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[6], self.int_enum_list) - - if self.nested_string_list is not None: - _serialize_nested_string_list( - serializer, members[7], self.nested_string_list - ) - - if self.renamed_list_members is not None: - _serialize_renamed_list_members( - serializer, members[8], self.renamed_list_members - ) - - if self.flattened_list is not None: - _serialize_renamed_list_members(serializer, members[9], self.flattened_list) - - if self.flattened_list2 is not None: - _serialize_renamed_list_members( - serializer, members[10], self.flattened_list2 - ) - - if self.flattened_list_with_member_namespace is not None: - _serialize_list_with_member_namespace( - serializer, members[11], self.flattened_list_with_member_namespace - ) - - if self.flattened_list_with_namespace is not None: - _serialize_list_with_namespace( - serializer, members[12], self.flattened_list_with_namespace - ) - - if self.structure_list is not None: - _serialize_structure_list(serializer, members[13], self.structure_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_LISTS_OPERATION_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_list"] = _deserialize_string_list(de, members[0]) - - case 1: - kwargs["string_set"] = _deserialize_string_set(de, members[1]) - - case 2: - kwargs["integer_list"] = _deserialize_integer_list(de, members[2]) - - case 3: - kwargs["boolean_list"] = _deserialize_boolean_list(de, members[3]) - - case 4: - kwargs["timestamp_list"] = _deserialize_timestamp_list( - de, members[4] - ) - - case 5: - kwargs["enum_list"] = _deserialize_foo_enum_list(de, members[5]) - - case 6: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[6] - ) - - case 7: - kwargs["nested_string_list"] = _deserialize_nested_string_list( - de, members[7] - ) - - case 8: - kwargs["renamed_list_members"] = _deserialize_renamed_list_members( - de, members[8] - ) - - case 9: - kwargs["flattened_list"] = _deserialize_renamed_list_members( - de, members[9] - ) - - case 10: - kwargs["flattened_list2"] = _deserialize_renamed_list_members( - de, members[10] - ) - - case 11: - kwargs["flattened_list_with_member_namespace"] = ( - _deserialize_list_with_member_namespace(de, members[11]) - ) - - case 12: - kwargs["flattened_list_with_namespace"] = ( - _deserialize_list_with_namespace(de, members[12]) - ) - - case 13: - kwargs["structure_list"] = _deserialize_structure_list( - de, members[13] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_LISTS = APIOperation( - input=XmlListsInput, - output=XmlListsOperationOutput, - static_schema=_SCHEMA_XML_LISTS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlNamespacesInput: - """Dataclass for XmlNamespacesInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_NAMESPACES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_NAMESPACES_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_xml_namespaced_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_xml_namespaced_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlNamespaceNested: - """Dataclass for XmlNamespaceNested structure.""" - - foo: str | None = None - - values: list[str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_NAMESPACE_NESTED), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_NAMESPACE_NESTED).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.values is not None: - _serialize_xml_namespaced_list(serializer, members[1], self.values) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_NAMESPACE_NESTED) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["values"] = _deserialize_xml_namespaced_list(de, members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlNamespacesOutput: - """Dataclass for XmlNamespacesOutput structure.""" - - nested: XmlNamespaceNested | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_NAMESPACES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_NAMESPACES_OUTPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_NAMESPACES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = XmlNamespaceNested.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_NAMESPACES = APIOperation( - input=XmlNamespacesInput, - output=XmlNamespacesOutput, - static_schema=_SCHEMA_XML_NAMESPACES, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlTimestampsInput: - """Dataclass for XmlTimestampsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_TIMESTAMPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_TIMESTAMPS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlTimestampsOutput: - """Dataclass for XmlTimestampsOutput structure.""" - - normal: datetime | None = None - - date_time: datetime | None = None - - date_time_on_target: datetime | None = None - - epoch_seconds: datetime | None = None - - epoch_seconds_on_target: datetime | None = None - - http_date: datetime | None = None - - http_date_on_target: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_TIMESTAMPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_TIMESTAMPS_OUTPUT).members_by_index - if self.normal is not None: - serializer.write_timestamp(members[0], self.normal) - - if self.date_time is not None: - serializer.write_timestamp(members[1], self.date_time) - - if self.date_time_on_target is not None: - serializer.write_timestamp(members[2], self.date_time_on_target) - - if self.epoch_seconds is not None: - serializer.write_timestamp(members[3], self.epoch_seconds) - - if self.epoch_seconds_on_target is not None: - serializer.write_timestamp(members[4], self.epoch_seconds_on_target) - - if self.http_date is not None: - serializer.write_timestamp(members[5], self.http_date) - - if self.http_date_on_target is not None: - serializer.write_timestamp(members[6], self.http_date_on_target) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_TIMESTAMPS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["normal"] = de.read_timestamp(members[0]) - - case 1: - kwargs["date_time"] = de.read_timestamp(members[1]) - - case 2: - kwargs["date_time_on_target"] = de.read_timestamp(members[2]) - - case 3: - kwargs["epoch_seconds"] = de.read_timestamp(members[3]) - - case 4: - kwargs["epoch_seconds_on_target"] = de.read_timestamp(members[4]) - - case 5: - kwargs["http_date"] = de.read_timestamp(members[5]) - - case 6: - kwargs["http_date_on_target"] = de.read_timestamp(members[6]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - +XML_NAMESPACES = APIOperation( + static_schema=_SCHEMA_XML_NAMESPACES, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) XML_TIMESTAMPS = APIOperation( - input=XmlTimestampsInput, - output=XmlTimestampsOutput, static_schema=_SCHEMA_XML_TIMESTAMPS, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class StructArg: - """Dataclass for StructArg structure.""" - - string_arg: str | None = None - - other_arg: bool | None = None - - recursive_arg: "StructArg | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_STRUCT_ARG), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_STRUCT_ARG).members_by_index - if self.string_arg is not None: - serializer.write_string(members[0], self.string_arg) - - if self.other_arg is not None: - serializer.write_boolean(members[1], self.other_arg) - - if self.recursive_arg is not None: - serializer.write_struct(members[2], self.recursive_arg) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STRUCT_ARG) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_arg"] = de.read_string(members[0]) - - case 1: - kwargs["other_arg"] = de.read_boolean(members[1]) - - case 2: - kwargs["recursive_arg"] = StructArg.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NestedStructuresInput: - """Dataclass for NestedStructuresInput structure.""" - - nested: "StructArg | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NESTED_STRUCTURES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NESTED_STRUCTURES_INPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NESTED_STRUCTURES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = StructArg.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RecursiveXmlShapesOutputNested1: - """Dataclass for RecursiveXmlShapesOutputNested1 structure.""" - - foo: str | None = None - - nested: "RecursiveXmlShapesOutputNested2 | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED1), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED1).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.nested is not None: - serializer.write_struct(members[1], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED1) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["nested"] = RecursiveXmlShapesOutputNested2.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RecursiveXmlShapesOutputNested2: - """Dataclass for RecursiveXmlShapesOutputNested2 structure.""" - - bar: str | None = None - - recursive_member: "RecursiveXmlShapesOutputNested1 | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED2), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED2).members_by_index - if self.bar is not None: - serializer.write_string(members[0], self.bar) - - if self.recursive_member is not None: - serializer.write_struct(members[1], self.recursive_member) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT_NESTED2) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["bar"] = de.read_string(members[0]) - - case 1: - kwargs["recursive_member"] = ( - RecursiveXmlShapesOutputNested1.deserialize(de) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - NESTED_STRUCTURES = APIOperation( - input=NestedStructuresInput, - output=NestedStructuresOutput, static_schema=_SCHEMA_NESTED_STRUCTURES, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class RecursiveXmlShapesOutput: - """Dataclass for RecursiveXmlShapesOutput structure.""" - - nested: "RecursiveXmlShapesOutputNested1 | None" = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_XML_SHAPES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = RecursiveXmlShapesOutputNested1.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - RECURSIVE_XML_SHAPES = APIOperation( - input=RecursiveXmlShapesInput, - output=RecursiveXmlShapesOutput, static_schema=_SCHEMA_RECURSIVE_XML_SHAPES, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) diff --git a/codegen-output/ec2-query/src/ec2query/models.pyi b/codegen-output/ec2-query/src/ec2query/models.pyi new file mode 100644 index 000000000..7b0a86d8c --- /dev/null +++ b/codegen-output/ec2-query/src/ec2query/models.pyi @@ -0,0 +1,406 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from dataclasses import dataclass +from datetime import datetime +from enum import IntEnum, StrEnum +from typing import Self + +from smithy_core.deserializers import ShapeDeserializer +from smithy_core.exceptions import ModeledError +from smithy_core.response import ResponseMetadata +from smithy_core.schemas import APIOperation +from smithy_core.serializers import ShapeSerializer +from smithy_core.types import UnknownEnumMixin + +class _SerdeShape: + def serialize(self, serializer: ShapeSerializer) -> None: ... + def serialize_members(self, serializer: ShapeSerializer) -> None: ... + @classmethod + def deserialize(cls, deserializer: ShapeDeserializer) -> Self: ... + +class ServiceError(ModeledError): ... + +@dataclass(kw_only=True) +class ComplexError(ServiceError, _SerdeShape): + top_level: str | None = ... + nested: ComplexNestedErrorData | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ComplexNestedErrorData(_SerdeShape): + foo: str | None = ... + +@dataclass(kw_only=True) +class DatetimeOffsetsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class DatetimeOffsetsOutput(_SerdeShape): + datetime_: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EmptyInputAndEmptyOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class EmptyInputAndEmptyOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EndpointOperationInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class EndpointOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EndpointWithHostLabelOperationInput(_SerdeShape): + label: str | None = ... + +@dataclass(kw_only=True) +class EndpointWithHostLabelOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class FractionalSecondsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class FractionalSecondsOutput(_SerdeShape): + datetime_: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class GreetingWithErrorsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class GreetingWithErrorsOutput(_SerdeShape): + greeting: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HostWithPathOperationInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class HostWithPathOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class IgnoresWrappingXmlNameInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class IgnoresWrappingXmlNameOutput(_SerdeShape): + foo: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class InvalidGreeting(ServiceError, _SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NestedStructuresInput(_SerdeShape): + nested: StructArg | None = ... + +@dataclass(kw_only=True) +class NestedStructuresOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NestedStructWithList(_SerdeShape): + list_arg: list[str] | None = ... + +@dataclass(kw_only=True) +class NoInputAndOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class NoInputAndOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class PutWithContentEncodingInput(_SerdeShape): + encoding: str | None = ... + data: str | None = ... + +@dataclass(kw_only=True) +class PutWithContentEncodingOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class QueryIdempotencyTokenAutoFillInput(_SerdeShape): + token: str | None = ... + +@dataclass(kw_only=True) +class QueryIdempotencyTokenAutoFillOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class QueryListsInput(_SerdeShape): + list_arg: list[str] | None = ... + complex_list_arg: list[GreetingStruct] | None = ... + list_arg_with_xml_name_member: list[str] | None = ... + list_arg_with_xml_name: list[str] | None = ... + nested_with_list: NestedStructWithList | None = ... + +@dataclass(kw_only=True) +class QueryListsOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class QueryTimestampsInput(_SerdeShape): + normal_format: datetime | None = ... + epoch_member: datetime | None = ... + epoch_target: datetime | None = ... + +@dataclass(kw_only=True) +class QueryTimestampsOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class RecursiveXmlShapesInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class RecursiveXmlShapesOutput(_SerdeShape): + nested: RecursiveXmlShapesOutputNested1 | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class RecursiveXmlShapesOutputNested1(_SerdeShape): + foo: str | None = ... + nested: RecursiveXmlShapesOutputNested2 | None = ... + +@dataclass(kw_only=True) +class RecursiveXmlShapesOutputNested2(_SerdeShape): + bar: str | None = ... + recursive_member: RecursiveXmlShapesOutputNested1 | None = ... + +@dataclass(kw_only=True) +class SimpleInputParamsInput(_SerdeShape): + foo: str | None = ... + bar: str | None = ... + baz: bool | None = ... + bam: int | None = ... + float_value: float | None = ... + boo: float | None = ... + qux: bytes | None = ... + foo_enum: str | None = ... + has_query_name: str | None = ... + has_query_and_xml_name: str | None = ... + uses_xml_name: str | None = ... + distinct_query_name: str | None = ... + distinct_query_and_xml_name: str | None = ... + distinct_xml_name: str | None = ... + +@dataclass(kw_only=True) +class SimpleInputParamsOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class SimpleScalarXmlPropertiesInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class SimpleScalarXmlPropertiesOutput(_SerdeShape): + string_value: str | None = ... + empty_string_value: str | None = ... + true_boolean_value: bool | None = ... + false_boolean_value: bool | None = ... + byte_value: int | None = ... + short_value: int | None = ... + integer_value: int | None = ... + long_value: int | None = ... + float_value: float | None = ... + double_value: float | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class StructArg(_SerdeShape): + string_arg: str | None = ... + other_arg: bool | None = ... + recursive_arg: StructArg | None = ... + +@dataclass(kw_only=True) +class StructureListMember(_SerdeShape): + a: str | None = ... + b: str | None = ... + +@dataclass(kw_only=True) +class XmlBlobsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlBlobsOperationOutput(_SerdeShape): + data: bytes | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlEmptyBlobsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlEmptyBlobsOutput(_SerdeShape): + data: bytes | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlEmptyListsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlEmptyListsOutput(_SerdeShape): + string_list: list[str] | None = ... + string_set: list[str] | None = ... + integer_list: list[int] | None = ... + boolean_list: list[bool] | None = ... + timestamp_list: list[datetime] | None = ... + enum_list: list[str] | None = ... + int_enum_list: list[int] | None = ... + nested_string_list: list[list[str]] | None = ... + renamed_list_members: list[str] | None = ... + flattened_list: list[str] | None = ... + flattened_list2: list[str] | None = ... + flattened_list_with_member_namespace: list[str] | None = ... + flattened_list_with_namespace: list[str] | None = ... + structure_list: list[StructureListMember] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlEnumsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlEnumsOutput(_SerdeShape): + foo_enum1: str | None = ... + foo_enum2: str | None = ... + foo_enum3: str | None = ... + foo_enum_list: list[str] | None = ... + foo_enum_set: list[str] | None = ... + foo_enum_map: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlIntEnumsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlIntEnumsOutput(_SerdeShape): + int_enum1: int | None = ... + int_enum2: int | None = ... + int_enum3: int | None = ... + int_enum_list: list[int] | None = ... + int_enum_set: list[int] | None = ... + int_enum_map: dict[str, int] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlListsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlListsOperationOutput(_SerdeShape): + string_list: list[str] | None = ... + string_set: list[str] | None = ... + integer_list: list[int] | None = ... + boolean_list: list[bool] | None = ... + timestamp_list: list[datetime] | None = ... + enum_list: list[str] | None = ... + int_enum_list: list[int] | None = ... + nested_string_list: list[list[str]] | None = ... + renamed_list_members: list[str] | None = ... + flattened_list: list[str] | None = ... + flattened_list2: list[str] | None = ... + flattened_list_with_member_namespace: list[str] | None = ... + flattened_list_with_namespace: list[str] | None = ... + structure_list: list[StructureListMember] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlNamespaceNested(_SerdeShape): + foo: str | None = ... + values: list[str] | None = ... + +@dataclass(kw_only=True) +class XmlNamespacesInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlNamespacesOutput(_SerdeShape): + nested: XmlNamespaceNested | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlTimestampsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class XmlTimestampsOutput(_SerdeShape): + normal: datetime | None = ... + date_time: datetime | None = ... + date_time_on_target: datetime | None = ... + epoch_seconds: datetime | None = ... + epoch_seconds_on_target: datetime | None = ... + http_date: datetime | None = ... + http_date_on_target: datetime | None = ... + response_metadata: ResponseMetadata = ... + +class FooEnum(UnknownEnumMixin, StrEnum): + FOO = "Foo" + BAZ = "Baz" + BAR = "Bar" + ONE = "1" + ZERO = "0" + +@dataclass(kw_only=True) +class GreetingStruct(_SerdeShape): + hi: str | None = ... + +class IntegerEnum(UnknownEnumMixin, IntEnum): + A = 1 + B = 2 + C = 3 + +DATETIME_OFFSETS: APIOperation[DatetimeOffsetsInput, DatetimeOffsetsOutput] +EMPTY_INPUT_AND_EMPTY_OUTPUT: APIOperation[ + EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput +] +ENDPOINT_OPERATION: APIOperation[EndpointOperationInput, EndpointOperationOutput] +ENDPOINT_WITH_HOST_LABEL_OPERATION: APIOperation[ + EndpointWithHostLabelOperationInput, EndpointWithHostLabelOperationOutput +] +FRACTIONAL_SECONDS: APIOperation[FractionalSecondsInput, FractionalSecondsOutput] +GREETING_WITH_ERRORS: APIOperation[GreetingWithErrorsInput, GreetingWithErrorsOutput] +HOST_WITH_PATH_OPERATION: APIOperation[ + HostWithPathOperationInput, HostWithPathOperationOutput +] +IGNORES_WRAPPING_XML_NAME: APIOperation[ + IgnoresWrappingXmlNameInput, IgnoresWrappingXmlNameOutput +] +NESTED_STRUCTURES: APIOperation[NestedStructuresInput, NestedStructuresOutput] +NO_INPUT_AND_OUTPUT: APIOperation[NoInputAndOutputInput, NoInputAndOutputOutput] +PUT_WITH_CONTENT_ENCODING: APIOperation[ + PutWithContentEncodingInput, PutWithContentEncodingOutput +] +QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL: APIOperation[ + QueryIdempotencyTokenAutoFillInput, QueryIdempotencyTokenAutoFillOutput +] +QUERY_LISTS: APIOperation[QueryListsInput, QueryListsOutput] +QUERY_TIMESTAMPS: APIOperation[QueryTimestampsInput, QueryTimestampsOutput] +RECURSIVE_XML_SHAPES: APIOperation[RecursiveXmlShapesInput, RecursiveXmlShapesOutput] +SIMPLE_INPUT_PARAMS: APIOperation[SimpleInputParamsInput, SimpleInputParamsOutput] +SIMPLE_SCALAR_XML_PROPERTIES: APIOperation[ + SimpleScalarXmlPropertiesInput, SimpleScalarXmlPropertiesOutput +] +XML_BLOBS: APIOperation[XmlBlobsInput, XmlBlobsOperationOutput] +XML_EMPTY_BLOBS: APIOperation[XmlEmptyBlobsInput, XmlEmptyBlobsOutput] +XML_EMPTY_LISTS: APIOperation[XmlEmptyListsInput, XmlEmptyListsOutput] +XML_ENUMS: APIOperation[XmlEnumsInput, XmlEnumsOutput] +XML_INT_ENUMS: APIOperation[XmlIntEnumsInput, XmlIntEnumsOutput] +XML_LISTS: APIOperation[XmlListsInput, XmlListsOperationOutput] +XML_NAMESPACES: APIOperation[XmlNamespacesInput, XmlNamespacesOutput] +XML_TIMESTAMPS: APIOperation[XmlTimestampsInput, XmlTimestampsOutput] diff --git a/codegen-output/ec2-query/tests/_typecheck.py b/codegen-output/ec2-query/tests/_typecheck.py new file mode 100644 index 000000000..b5b5daba9 --- /dev/null +++ b/codegen-output/ec2-query/tests/_typecheck.py @@ -0,0 +1,129 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from typing import Any + +from ec2query.models import ( + ComplexNestedErrorData, + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingStruct, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HostWithPathOperationInput, + HostWithPathOperationOutput, + IgnoresWrappingXmlNameInput, + IgnoresWrappingXmlNameOutput, + NestedStructWithList, + NestedStructuresInput, + NestedStructuresOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, + QueryIdempotencyTokenAutoFillInput, + QueryIdempotencyTokenAutoFillOutput, + QueryListsInput, + QueryListsOutput, + QueryTimestampsInput, + QueryTimestampsOutput, + RecursiveXmlShapesInput, + RecursiveXmlShapesOutput, + RecursiveXmlShapesOutputNested1, + RecursiveXmlShapesOutputNested2, + SimpleInputParamsInput, + SimpleInputParamsOutput, + SimpleScalarXmlPropertiesInput, + SimpleScalarXmlPropertiesOutput, + StructArg, + StructureListMember, + XmlBlobsInput, + XmlBlobsOperationOutput, + XmlEmptyBlobsInput, + XmlEmptyBlobsOutput, + XmlEmptyListsInput, + XmlEmptyListsOutput, + XmlEnumsInput, + XmlEnumsOutput, + XmlIntEnumsInput, + XmlIntEnumsOutput, + XmlListsInput, + XmlListsOperationOutput, + XmlNamespaceNested, + XmlNamespacesInput, + XmlNamespacesOutput, + XmlTimestampsInput, + XmlTimestampsOutput, +) + + +# Static type fixture: pyright over this validates models.pyi. +# Not executed as a test; it only needs to type-check. + +_: Any = ... + +ComplexNestedErrorData() +DatetimeOffsetsInput() +DatetimeOffsetsOutput() +EmptyInputAndEmptyOutputInput() +EmptyInputAndEmptyOutputOutput() +EndpointOperationInput() +EndpointOperationOutput() +EndpointWithHostLabelOperationInput() +EndpointWithHostLabelOperationOutput() +FractionalSecondsInput() +FractionalSecondsOutput() +GreetingWithErrorsInput() +GreetingWithErrorsOutput() +HostWithPathOperationInput() +HostWithPathOperationOutput() +IgnoresWrappingXmlNameInput() +IgnoresWrappingXmlNameOutput() +NestedStructuresInput() +NestedStructuresOutput() +NestedStructWithList() +NoInputAndOutputInput() +NoInputAndOutputOutput() +PutWithContentEncodingInput() +PutWithContentEncodingOutput() +QueryIdempotencyTokenAutoFillInput() +QueryIdempotencyTokenAutoFillOutput() +QueryListsInput() +QueryListsOutput() +QueryTimestampsInput() +QueryTimestampsOutput() +RecursiveXmlShapesInput() +RecursiveXmlShapesOutput() +RecursiveXmlShapesOutputNested1() +RecursiveXmlShapesOutputNested2() +SimpleInputParamsInput() +SimpleInputParamsOutput() +SimpleScalarXmlPropertiesInput() +SimpleScalarXmlPropertiesOutput() +StructArg() +StructureListMember() +XmlBlobsInput() +XmlBlobsOperationOutput() +XmlEmptyBlobsInput() +XmlEmptyBlobsOutput() +XmlEmptyListsInput() +XmlEmptyListsOutput() +XmlEnumsInput() +XmlEnumsOutput() +XmlIntEnumsInput() +XmlIntEnumsOutput() +XmlListsInput() +XmlListsOperationOutput() +XmlNamespaceNested() +XmlNamespacesInput() +XmlNamespacesOutput() +XmlTimestampsInput() +XmlTimestampsOutput() +GreetingStruct() diff --git a/codegen-output/ec2-query/tests/test_model_conformance.py b/codegen-output/ec2-query/tests/test_model_conformance.py new file mode 100644 index 000000000..186d06303 --- /dev/null +++ b/codegen-output/ec2-query/tests/test_model_conformance.py @@ -0,0 +1,13 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from pathlib import Path + +from smithy_test import verify_models + +from ec2query import models as _models +from ec2query._private import schemas as _schemas + + +def test_model_conformance() -> None: + pyi = Path(_models.__file__).with_suffix(".pyi") + verify_models(_models, _schemas, pyi_path=str(pyi) if pyi.exists() else None) diff --git a/codegen-output/rest-json-1/pyproject.toml b/codegen-output/rest-json-1/pyproject.toml index 953379f29..24151978a 100644 --- a/codegen-output/rest-json-1/pyproject.toml +++ b/codegen-output/rest-json-1/pyproject.toml @@ -53,6 +53,9 @@ reportUnusedVariable = false reportUnnecessaryComparison = false reportUnusedClass = false enableExperimentalFeatures = true +# models.py is the dynamic runtime; models.pyi carries the typed +# surface for consumers, so don't type-check the implementation body. +exclude = ["**/models.py"] [tool.ruff] target-version = "py312" diff --git a/codegen-output/rest-json-1/src/restjson/_private/schemas.py b/codegen-output/rest-json-1/src/restjson/_private/schemas.py index b789ab6f5..8d28de71d 100644 --- a/codegen-output/rest-json-1/src/restjson/_private/schemas.py +++ b/codegen-output/rest-json-1/src/restjson/_private/schemas.py @@ -11,14 +11,20 @@ _DL = "DoubleList" _FE = "FooEnum" _FOO = "FOO" +_sV = "smithy.api#enumValue" +_F = "Foo" _BAZ = "BAZ" +_B = "Baz" _BAR = "BAR" +_Ba = "Bar" _ONE = "ONE" +_v = "1" _ZERO = "ZERO" +_v_ = "0" _FEL = "FooEnumList" _IE = "IntegerEnum" _A = "A" -_B = "B" +_B_ = "B" _C = "C" _IEL = "IntegerEnumList" _IL = "IntegerList" @@ -26,11 +32,12 @@ _SL = "StringList" _SLM = "StringListMap" _k = "key" -_v = "value" +_va = "value" _SS = "StringSet" _TL = "TimestampList" n1 = "aws.protocoltests.restjson" _AQSTI = "AllQueryStringTypesInput" +_s = "smithy.api#input" _qS = "queryString" _sQ = "smithy.api#httpQuery" _S = "String" @@ -47,7 +54,7 @@ _qL = "queryLong" _L = "Long" _qF = "queryFloat" -_F = "Float" +_Fl = "Float" _qD = "queryDouble" _D = "Double" _qDL = "queryDoubleList" @@ -68,19 +75,19 @@ _AQSTO = "AllQueryStringTypesOutput" _sSI = "smithy.synthetic#originalShapeId" _sU = "smithy.api#Unit" +_sm = "smithy.api#output" _AQST = "AllQueryStringTypes" -_s = "smithy.api#http" +_smi = "smithy.api#http" _BPE = "BlobPayloadEvent" _p = "payload" _sP = "smithy.api#eventPayload" _COD = "ClientOptionalDefaults" -_sm = "smithy.api#default" +_smit = "smithy.api#default" _CNED = "ComplexNestedErrorData" -_Fo = "Foo" _sN = "smithy.api#jsonName" -_Foo = "Fooooo" +_Fo = "Fooooo" _CE = "ComplexError" -_smi = "smithy.api#error" +_smith = "smithy.api#error" _c = "client" _sE = "smithy.api#httpError" _H = "Header" @@ -95,7 +102,7 @@ _CAVQS = "ConstantAndVariableQueryString" _CQSI = "ConstantQueryStringInput" _h = "hello" -_smit = "smithy.api#required" +_smithy = "smithy.api#required" _sL = "smithy.api#httpLabel" _CQSO = "ConstantQueryStringOutput" _CQS = "ConstantQueryString" @@ -138,7 +145,7 @@ _dE = "defaultEnum" _dIE = "defaultIntEnum" _eS = "emptyString" -_v_ = "" +_v__ = "" _fB = "falseBoolean" _eB = "emptyBlob" _zB = "zeroByte" @@ -164,7 +171,7 @@ _DM = "DialogMap" _DTI = "DocumentTypeInput" _aDTIO = "aws.protocoltests.restjson#DocumentTypeInputOutput" -_sV = "stringValue" +_sVt = "stringValue" _dV = "documentValue" _DTO = "DocumentTypeOutput" _DTo = "DocumentType" @@ -202,7 +209,7 @@ _uM = "unionMember" _UPE = "UnionPayloadEvent" _ES = "EventStream" -_smith = "smithy.api#streaming" +_smithya = "smithy.api#streaming" _hea = "headers" _bP = "blobPayload" _sPt = "stringPayload" @@ -236,7 +243,7 @@ _EOI = "EndpointOperationInput" _EOO = "EndpointOperationOutput" _EO = "EndpointOperation" -_smithy = "smithy.api#endpoint" +_smithyap = "smithy.api#endpoint" _EWHLOI = "EndpointWithHostLabelOperationInput" _aHLI = "aws.protocoltests.restjson#HostLabelInput" _la = "label" @@ -273,6 +280,7 @@ _HEPH = "HttpEmptyPrefixHeaders" _SEt = "StringEnum" _V = "V" +_en = "enumvalue" _HEPI = "HttpEnumPayloadInput" _aEPI = "aws.protocoltests.restjson#EnumPayloadInput" _HEPO = "HttpEnumPayloadOutput" @@ -492,7 +500,7 @@ _eV = "enumValue" _lV = "listValue" _mV = "mapValue" -_sVt = "structureValue" +_sVtr = "structureValue" _rSV = "renamedStructureValue" _uV = "unionValue" _JUI = "JsonUnionsInput" @@ -704,7 +712,7 @@ _PUWJNO = "PostUnionWithJsonNameOutput" _PUWJN = "PostUnionWithJsonName" _PWCEI = "PutWithContentEncodingInput" -_en = "encoding" +_enc = "encoding" _CE_ = "Content-Encoding" _PWCEO = "PutWithContentEncodingOutput" _PWCE = "PutWithContentEncoding" @@ -744,7 +752,7 @@ _SSPO = "SimpleScalarPropertiesOutput" _SSP = "SimpleScalarProperties" _SSL = "SparseShortList" -_smithya = "smithy.api#sparse" +_smithyapi = "smithy.api#sparse" _SSLp = "SparseStringList" _SJLI = "SparseJsonListsInput" _aSJLIO = "aws.protocoltests.restjson#SparseJsonListsInputOutput" @@ -850,12 +858,25 @@ _FE, 0, (_FOO, _BAZ, _BAR, _ONE, _ZERO), - ((-1, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 0)), + ( + (-1, {_sV: _F}), + (-1, {_sV: _B}), + (-1, {_sV: _Ba}), + (-1, {_sV: _v}), + (-1, {_sV: _v_}), + ), ) FOO_ENUM_LIST: StaticSchema = (16, n0, _FEL, 0, (_m,), ((FOO_ENUM, 0),)) -INTEGER_ENUM: StaticSchema = (15, n0, _IE, 0, (_A, _B, _C), ((-1, 0), (-1, 0), (-1, 0))) +INTEGER_ENUM: StaticSchema = ( + 15, + n0, + _IE, + 0, + (_A, _B_, _C), + ((-1, {_sV: 1}), (-1, {_sV: 2}), (-1, {_sV: 3})), +) INTEGER_ENUM_LIST: StaticSchema = (16, n0, _IEL, 0, (_m,), ((INTEGER_ENUM, 0),)) @@ -865,7 +886,7 @@ STRING_LIST: StaticSchema = (16, n0, _SL, 0, (_m,), ((3, 0),)) -STRING_LIST_MAP: StaticSchema = (17, n0, _SLM, 0, (_k, _v), ((3, 0), (STRING_LIST, 0))) +STRING_LIST_MAP: StaticSchema = (17, n0, _SLM, 0, (_k, _va), ((3, 0), (STRING_LIST, 0))) STRING_SET: StaticSchema = (16, n0, _SS, 0, (_m,), ((3, 0),)) @@ -875,7 +896,7 @@ 18, n1, _AQSTI, - 0, + {_s: None}, ( _qS, _qSL, @@ -909,7 +930,7 @@ (INTEGER_LIST, {_sQ: _IL}), (INTEGER_SET, {_sQ: _IS}), (8, {_sQ: _L}), - (9, {_sQ: _F}), + (9, {_sQ: _Fl}), (10, {_sQ: _D}), (DOUBLE_LIST, {_sQ: _DL}), (2, {_sQ: _Bo}), @@ -924,13 +945,13 @@ ), ) -ALL_QUERY_STRING_TYPES_OUTPUT: StaticSchema = (18, n1, _AQSTO, {_sSI: _sU}) +ALL_QUERY_STRING_TYPES_OUTPUT: StaticSchema = (18, n1, _AQSTO, {_sSI: _sU, _sm: None}) ALL_QUERY_STRING_TYPES: StaticOperationSchema = ( 23, n1, _AQST, - {_s: MappingProxyType({"uri": "/AllQueryStringTypesInput", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/AllQueryStringTypesInput", "method": "GET"})}, ALL_QUERY_STRING_TYPES_INPUT, ALL_QUERY_STRING_TYPES_OUTPUT, (), @@ -938,22 +959,15 @@ BLOB_PAYLOAD_EVENT: StaticSchema = (18, n1, _BPE, 0, (_p,), ((1, {_sP: None}),)) -CLIENT_OPTIONAL_DEFAULTS: StaticSchema = (18, n1, _COD, 0, (_m,), ((7, {_sm: 0}),)) +CLIENT_OPTIONAL_DEFAULTS: StaticSchema = (18, n1, _COD, 0, (_m,), ((7, {_smit: 0}),)) -COMPLEX_NESTED_ERROR_DATA: StaticSchema = ( - 18, - n1, - _CNED, - 0, - (_Fo,), - ((3, {_sN: _Foo}),), -) +COMPLEX_NESTED_ERROR_DATA: StaticSchema = (18, n1, _CNED, 0, (_F,), ((3, {_sN: _Fo}),)) COMPLEX_ERROR: StaticSchema = ( 18, n1, _CE, - {_smi: _c, _sE: 403}, + {_smith: _c, _sE: 403}, (_H, _TLo, _N), ((3, {_sH: _XH}), (3, 0), (COMPLEX_NESTED_ERROR_DATA, 0)), ) @@ -962,19 +976,24 @@ 18, n1, _CAVQSI, - 0, + {_s: None}, (_b, _mS), ((3, {_sQ: _b}), (3, {_sQ: _mS})), ) -CONSTANT_AND_VARIABLE_QUERY_STRING_OUTPUT: StaticSchema = (18, n1, _CAVQSO, {_sSI: _sU}) +CONSTANT_AND_VARIABLE_QUERY_STRING_OUTPUT: StaticSchema = ( + 18, + n1, + _CAVQSO, + {_sSI: _sU, _sm: None}, +) CONSTANT_AND_VARIABLE_QUERY_STRING: StaticOperationSchema = ( 23, n1, _CAVQS, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/ConstantAndVariableQueryString?foo=bar", "method": "GET"} ) }, @@ -983,16 +1002,23 @@ (), ) -CONSTANT_QUERY_STRING_INPUT: StaticSchema = (18, n1, _CQSI, 0, (_h,), ((3, 9),)) +CONSTANT_QUERY_STRING_INPUT: StaticSchema = ( + 18, + n1, + _CQSI, + {_s: None}, + (_h,), + ((3, 9),), +) -CONSTANT_QUERY_STRING_OUTPUT: StaticSchema = (18, n1, _CQSO, {_sSI: _sU}) +CONSTANT_QUERY_STRING_OUTPUT: StaticSchema = (18, n1, _CQSO, {_sSI: _sU, _sm: None}) CONSTANT_QUERY_STRING: StaticOperationSchema = ( 23, n1, _CQS, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/ConstantQueryString/{hello}?foo=bar&hello", "method": "GET"} ) }, @@ -1001,31 +1027,45 @@ (), ) -CONTENT_TYPE_PARAMETERS_INPUT: StaticSchema = (18, n1, _CTPI, 0, (_v,), ((7, 0),)) +CONTENT_TYPE_PARAMETERS_INPUT: StaticSchema = ( + 18, + n1, + _CTPI, + {_s: None}, + (_va,), + ((7, 0),), +) -CONTENT_TYPE_PARAMETERS_OUTPUT: StaticSchema = (18, n1, _CTPO, 0) +CONTENT_TYPE_PARAMETERS_OUTPUT: StaticSchema = (18, n1, _CTPO, {_sm: None}) CONTENT_TYPE_PARAMETERS: StaticOperationSchema = ( 23, n1, _CTP, - {_s: MappingProxyType({"uri": "/ContentTypeParameters", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/ContentTypeParameters", "method": "POST"})}, CONTENT_TYPE_PARAMETERS_INPUT, CONTENT_TYPE_PARAMETERS_OUTPUT, (), ) -DATETIME_OFFSETS_INPUT: StaticSchema = (18, n1, _DOI, {_sSI: _sU}) +DATETIME_OFFSETS_INPUT: StaticSchema = (18, n1, _DOI, {_sSI: _sU, _s: None}) DATE_TIME: StaticSchema = (4, n0, _DT, {_sF: _dt}) -DATETIME_OFFSETS_OUTPUT: StaticSchema = (18, n1, _DOO, 0, (_d,), ((DATE_TIME, 0),)) +DATETIME_OFFSETS_OUTPUT: StaticSchema = ( + 18, + n1, + _DOO, + {_sm: None}, + (_d,), + ((DATE_TIME, 0),), +) DATETIME_OFFSETS: StaticOperationSchema = ( 23, n1, _DO, - {_s: MappingProxyType({"uri": "/DatetimeOffsets", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/DatetimeOffsets", "method": "POST"})}, DATETIME_OFFSETS_INPUT, DATETIME_OFFSETS_OUTPUT, (), @@ -1039,14 +1079,21 @@ _TE, 0, (_FOO, _BAR, _BAZ), - ((-1, 0), (-1, 0), (-1, 0)), + ((-1, {_sV: _FOO}), (-1, {_sV: _BAR}), (-1, {_sV: _BAZ})), ) -TEST_INT_ENUM: StaticSchema = (15, n1, _TIE, 0, (_ONE, _TWO), ((-1, 0), (-1, 0))) +TEST_INT_ENUM: StaticSchema = ( + 15, + n1, + _TIE, + 0, + (_ONE, _TWO), + ((-1, {_sV: 1}), (-1, {_sV: 2})), +) TEST_STRING_LIST: StaticSchema = (16, n1, _TSL, 0, (_m,), ((3, 0),)) -TEST_STRING_MAP: StaticSchema = (17, n1, _TSM, 0, (_k, _v), ((3, 0), (3, 0))) +TEST_STRING_MAP: StaticSchema = (17, n1, _TSM, 0, (_k, _va), ((3, 0), (3, 0))) DEFAULTS: StaticSchema = ( 18, @@ -1084,44 +1131,44 @@ _zD, ), ( - (3, {_sm: _hi}), - (2, {_sm: True}), - (TEST_STRING_LIST, {_sm: ()}), - (DOCUMENT, {_sm: None}), - (DOCUMENT, {_sm: _hi}), - (DOCUMENT, {_sm: True}), - (DOCUMENT, {_sm: ()}), - (DOCUMENT, {_sm: None}), - (4, {_sm: 0}), - (1, {_sm: _YWJ}), - (5, {_sm: 1}), - (6, {_sm: 1}), - (7, {_sm: 10}), - (8, {_sm: 100}), - (9, {_sm: 1.0}), - (10, {_sm: 1.0}), - (TEST_STRING_MAP, {_sm: None}), - (TEST_ENUM, {_sm: _FOO}), - (TEST_INT_ENUM, {_sm: 1}), - (3, {_sm: _v_}), - (2, {_sm: False}), - (1, {_sm: _v_}), - (5, {_sm: 0}), - (6, {_sm: 0}), - (7, {_sm: 0}), - (8, {_sm: 0}), - (9, {_sm: 0.0}), - (10, {_sm: 0.0}), + (3, {_smit: _hi}), + (2, {_smit: True}), + (TEST_STRING_LIST, {_smit: ()}), + (DOCUMENT, {_smit: MappingProxyType[str, object]({})}), + (DOCUMENT, {_smit: _hi}), + (DOCUMENT, {_smit: True}), + (DOCUMENT, {_smit: ()}), + (DOCUMENT, {_smit: None}), + (4, {_smit: 0}), + (1, {_smit: _YWJ}), + (5, {_smit: 1}), + (6, {_smit: 1}), + (7, {_smit: 10}), + (8, {_smit: 100}), + (9, {_smit: 1.0}), + (10, {_smit: 1.0}), + (TEST_STRING_MAP, {_smit: MappingProxyType[str, object]({})}), + (TEST_ENUM, {_smit: _FOO}), + (TEST_INT_ENUM, {_smit: 1}), + (3, {_smit: _v__}), + (2, {_smit: False}), + (1, {_smit: _v__}), + (5, {_smit: 0}), + (6, {_smit: 0}), + (7, {_smit: 0}), + (8, {_smit: 0}), + (9, {_smit: 0.0}), + (10, {_smit: 0.0}), ), ) -DENSE_BOOLEAN_MAP: StaticSchema = (17, n1, _DBM, 0, (_k, _v), ((3, 0), (2, 0))) +DENSE_BOOLEAN_MAP: StaticSchema = (17, n1, _DBM, 0, (_k, _va), ((3, 0), (2, 0))) -DENSE_NUMBER_MAP: StaticSchema = (17, n1, _DNM, 0, (_k, _v), ((3, 0), (7, 0))) +DENSE_NUMBER_MAP: StaticSchema = (17, n1, _DNM, 0, (_k, _va), ((3, 0), (7, 0))) -DENSE_SET_MAP: StaticSchema = (17, n1, _DSM, 0, (_k, _v), ((3, 0), (STRING_SET, 0))) +DENSE_SET_MAP: StaticSchema = (17, n1, _DSM, 0, (_k, _va), ((3, 0), (STRING_SET, 0))) -DENSE_STRING_MAP: StaticSchema = (17, n1, _DSMe, 0, (_k, _v), ((3, 0), (3, 0))) +DENSE_STRING_MAP: StaticSchema = (17, n1, _DSMe, 0, (_k, _va), ((3, 0), (3, 0))) GREETING_STRUCT: StaticSchema = (18, n0, _GS, 0, (_hi,), ((3, 0),)) @@ -1130,11 +1177,11 @@ n1, _DSMen, 0, - (_k, _v), + (_k, _va), ((3, 0), (GREETING_STRUCT, 0)), ) -FAREWELL: StaticSchema = (18, n1, _Fa, 0, (_ph,), ((3, {_sm: _by}),)) +FAREWELL: StaticSchema = (18, n1, _Fa, 0, (_ph,), ((3, {_smit: _by}),)) DIALOG: StaticSchema = ( 18, @@ -1142,19 +1189,19 @@ _Di, 0, (_l, _g, _f), - ((3, 0), (3, {_sm: _hi}), (FAREWELL, 0)), + ((3, 0), (3, {_smit: _hi}), (FAREWELL, 0)), ) DIALOG_LIST: StaticSchema = (16, n1, _DLi, 0, (_m,), ((DIALOG, 0),)) -DIALOG_MAP: StaticSchema = (17, n1, _DM, 0, (_k, _v), ((3, 0), (DIALOG, 0))) +DIALOG_MAP: StaticSchema = (17, n1, _DM, 0, (_k, _va), ((3, 0), (DIALOG, 0))) DOCUMENT_TYPE_INPUT: StaticSchema = ( 18, n1, _DTI, - {_sSI: _aDTIO}, - (_sV, _dV), + {_sSI: _aDTIO, _s: None}, + (_sVt, _dV), ((3, 0), (DOCUMENT, 0)), ) @@ -1162,8 +1209,8 @@ 18, n1, _DTO, - {_sSI: _aDTIO}, - (_sV, _dV), + {_sSI: _aDTIO, _sm: None}, + (_sVt, _dV), ((3, 0), (DOCUMENT, 0)), ) @@ -1171,19 +1218,26 @@ 23, n1, _DTo, - {_s: MappingProxyType({"uri": "/DocumentType", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/DocumentType", "method": "PUT"})}, DOCUMENT_TYPE_INPUT, DOCUMENT_TYPE_OUTPUT, (), ) -DOCUMENT_VALUED_MAP: StaticSchema = (17, n1, _DVM, 0, (_k, _v), ((3, 0), (DOCUMENT, 0))) +DOCUMENT_VALUED_MAP: StaticSchema = ( + 17, + n1, + _DVM, + 0, + (_k, _va), + ((3, 0), (DOCUMENT, 0)), +) DOCUMENT_TYPE_AS_MAP_VALUE_INPUT: StaticSchema = ( 18, n1, _DTAMVI, - {_sSI: _aDTAMVIO}, + {_sSI: _aDTAMVIO, _s: None}, (_dVM,), ((DOCUMENT_VALUED_MAP, 0),), ) @@ -1192,7 +1246,7 @@ 18, n1, _DTAMVO, - {_sSI: _aDTAMVIO}, + {_sSI: _aDTAMVIO, _sm: None}, (_dVM,), ((DOCUMENT_VALUED_MAP, 0),), ) @@ -1201,7 +1255,7 @@ 23, n1, _DTAMV, - {_s: MappingProxyType({"uri": "/DocumentTypeAsMapValue", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/DocumentTypeAsMapValue", "method": "PUT"})}, DOCUMENT_TYPE_AS_MAP_VALUE_INPUT, DOCUMENT_TYPE_AS_MAP_VALUE_OUTPUT, (), @@ -1211,7 +1265,7 @@ 18, n1, _DTAPI, - {_sSI: _aDTAPIO}, + {_sSI: _aDTAPIO, _s: None}, (_dV,), ((DOCUMENT, 16),), ) @@ -1220,7 +1274,7 @@ 18, n1, _DTAPO, - {_sSI: _aDTAPIO}, + {_sSI: _aDTAPIO, _sm: None}, (_dV,), ((DOCUMENT, 16),), ) @@ -1229,13 +1283,13 @@ 23, n1, _DTAP, - {_s: MappingProxyType({"uri": "/DocumentTypeAsPayload", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/DocumentTypeAsPayload", "method": "PUT"})}, DOCUMENT_TYPE_AS_PAYLOAD_INPUT, DOCUMENT_TYPE_AS_PAYLOAD_OUTPUT, (), ) -ERROR_EVENT: StaticSchema = (18, n1, _EE, {_smi: _c}, (_me,), ((3, 0),)) +ERROR_EVENT: StaticSchema = (18, n1, _EE, {_smith: _c}, (_me,), ((3, 0),)) HEADERS_EVENT: StaticSchema = ( 18, @@ -1301,7 +1355,7 @@ 19, n1, _ES, - {_smith: None}, + {_smithya: None}, (_hea, _bP, _sPt, _sPtr, _uP, _hAEP, _hAIP, _e), ( (HEADERS_EVENT, 0), @@ -1315,15 +1369,29 @@ ), ) -DUPLEX_STREAM_INPUT: StaticSchema = (18, n1, _DSI, 0, (_st,), ((EVENT_STREAM, 16),)) +DUPLEX_STREAM_INPUT: StaticSchema = ( + 18, + n1, + _DSI, + {_s: None}, + (_st,), + ((EVENT_STREAM, 16),), +) -DUPLEX_STREAM_OUTPUT: StaticSchema = (18, n1, _DSO, 0, (_st,), ((EVENT_STREAM, 16),)) +DUPLEX_STREAM_OUTPUT: StaticSchema = ( + 18, + n1, + _DSO, + {_sm: None}, + (_st,), + ((EVENT_STREAM, 16),), +) DUPLEX_STREAM: StaticOperationSchema = ( 23, n1, _DS, - {_s: MappingProxyType({"method": "POST", "uri": "/DuplexStream"})}, + {_smi: MappingProxyType({"method": "POST", "uri": "/DuplexStream"})}, DUPLEX_STREAM_INPUT, DUPLEX_STREAM_OUTPUT, (), @@ -1333,12 +1401,12 @@ 18, n1, _DSWDSI, - 0, + {_s: None}, (_st,), ((EVENT_STREAM, 16),), ) -SINGLETON_EVENT: StaticSchema = (18, n1, _SE, 0, (_v,), ((3, 0),)) +SINGLETON_EVENT: StaticSchema = (18, n1, _SE, 0, (_va,), ((3, 0),)) SINGLETON_EVENT_STREAM: StaticSchema = ( 19, @@ -1353,7 +1421,7 @@ 18, n1, _DSWDSO, - 0, + {_sm: None}, (_st,), ((SINGLETON_EVENT_STREAM, 16),), ) @@ -1363,7 +1431,7 @@ n1, _DSWDS, { - _s: MappingProxyType( + _smi: MappingProxyType( {"method": "POST", "uri": "/DuplexStreamWithDistinctStreams"} ) }, @@ -1376,25 +1444,25 @@ 18, n1, _DSWIMI, - 0, + {_s: None}, (_iRM, _st), - ((3, {_sH: _irm, _smit: None}), (EVENT_STREAM, 16)), + ((3, {_sH: _irm, _smithy: None}), (EVENT_STREAM, 16)), ) DUPLEX_STREAM_WITH_INITIAL_MESSAGES_OUTPUT: StaticSchema = ( 18, n1, _DSWIMO, - 0, + {_sm: None}, (_iRMn, _st), - ((3, {_sH: _irm_, _smit: None}), (EVENT_STREAM, 16)), + ((3, {_sH: _irm_, _smithy: None}), (EVENT_STREAM, 16)), ) SERVICE_UNAVAILABLE_ERROR: StaticSchema = ( 18, n1, _SUE, - {_smi: _se, _sE: 500}, + {_smith: _se, _sE: 500}, (_me,), ((3, 0),), ) @@ -1404,7 +1472,7 @@ n1, _DSWIM, { - _s: MappingProxyType( + _smi: MappingProxyType( {"method": "POST", "uri": "/DuplexStreamWithInitialMessages"} ) }, @@ -1413,31 +1481,31 @@ (SERVICE_UNAVAILABLE_ERROR,), ) -EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT: StaticSchema = (18, n1, _EIAEOI, 0) +EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT: StaticSchema = (18, n1, _EIAEOI, {_s: None}) -EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT: StaticSchema = (18, n1, _EIAEOO, 0) +EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT: StaticSchema = (18, n1, _EIAEOO, {_sm: None}) EMPTY_INPUT_AND_EMPTY_OUTPUT: StaticOperationSchema = ( 23, n1, _EIAEO, - {_s: MappingProxyType({"uri": "/EmptyInputAndEmptyOutput", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/EmptyInputAndEmptyOutput", "method": "POST"})}, EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT, EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT, (), ) -ENDPOINT_OPERATION_INPUT: StaticSchema = (18, n1, _EOI, {_sSI: _sU}) +ENDPOINT_OPERATION_INPUT: StaticSchema = (18, n1, _EOI, {_sSI: _sU, _s: None}) -ENDPOINT_OPERATION_OUTPUT: StaticSchema = (18, n1, _EOO, {_sSI: _sU}) +ENDPOINT_OPERATION_OUTPUT: StaticSchema = (18, n1, _EOO, {_sSI: _sU, _sm: None}) ENDPOINT_OPERATION: StaticOperationSchema = ( 23, n1, _EO, { - _smithy: MappingProxyType({"hostPrefix": "foo."}), - _s: MappingProxyType({"uri": "/EndpointOperation", "method": "POST"}), + _smithyap: MappingProxyType({"hostPrefix": "foo."}), + _smi: MappingProxyType({"uri": "/EndpointOperation", "method": "POST"}), }, ENDPOINT_OPERATION_INPUT, ENDPOINT_OPERATION_OUTPUT, @@ -1448,20 +1516,25 @@ 18, n1, _EWHLOI, - {_sSI: _aHLI}, + {_sSI: _aHLI, _s: None}, (_la,), ((3, 257),), ) -ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT: StaticSchema = (18, n1, _EWHLOO, {_sSI: _sU}) +ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT: StaticSchema = ( + 18, + n1, + _EWHLOO, + {_sSI: _sU, _sm: None}, +) ENDPOINT_WITH_HOST_LABEL_OPERATION: StaticOperationSchema = ( 23, n1, _EWHLO, { - _smithy: MappingProxyType({"hostPrefix": "foo.{label}."}), - _s: MappingProxyType( + _smithyap: MappingProxyType({"hostPrefix": "foo.{label}."}), + _smi: MappingProxyType( {"uri": "/EndpointWithHostLabelOperation", "method": "POST"} ), }, @@ -1470,56 +1543,63 @@ (), ) -FINITE_STREAMING_BLOB: StaticSchema = (1, n1, _FSB, {_smith: None, _sLmi: None}) +FINITE_STREAMING_BLOB: StaticSchema = (1, n1, _FSB, {_smithya: None, _sLmi: None}) -FOO_ERROR: StaticSchema = (18, n1, _FEo, {_smi: _se, _sE: 500}) +FOO_ERROR: StaticSchema = (18, n1, _FEo, {_smith: _se, _sE: 500}) -FRACTIONAL_SECONDS_INPUT: StaticSchema = (18, n1, _FSI, {_sSI: _sU}) +FRACTIONAL_SECONDS_INPUT: StaticSchema = (18, n1, _FSI, {_sSI: _sU, _s: None}) -FRACTIONAL_SECONDS_OUTPUT: StaticSchema = (18, n1, _FSO, 0, (_d,), ((DATE_TIME, 0),)) +FRACTIONAL_SECONDS_OUTPUT: StaticSchema = ( + 18, + n1, + _FSO, + {_sm: None}, + (_d,), + ((DATE_TIME, 0),), +) FRACTIONAL_SECONDS: StaticOperationSchema = ( 23, n1, _FS, - {_s: MappingProxyType({"uri": "/FractionalSeconds", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/FractionalSeconds", "method": "POST"})}, FRACTIONAL_SECONDS_INPUT, FRACTIONAL_SECONDS_OUTPUT, (), ) -GREETING_WITH_ERRORS_INPUT: StaticSchema = (18, n1, _GWEI, {_sSI: _sU}) +GREETING_WITH_ERRORS_INPUT: StaticSchema = (18, n1, _GWEI, {_sSI: _sU, _s: None}) GREETING_WITH_ERRORS_OUTPUT: StaticSchema = ( 18, n1, _GWEO, - 0, + {_sm: None}, (_g,), ((3, {_sH: _XG}),), ) -INVALID_GREETING: StaticSchema = (18, n1, _IG, {_smi: _c, _sE: 400}, (_M,), ((3, 0),)) +INVALID_GREETING: StaticSchema = (18, n1, _IG, {_smith: _c, _sE: 400}, (_M,), ((3, 0),)) GREETING_WITH_ERRORS: StaticOperationSchema = ( 23, n1, _GWE, - {_s: MappingProxyType({"uri": "/GreetingWithErrors", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/GreetingWithErrors", "method": "PUT"})}, GREETING_WITH_ERRORS_INPUT, GREETING_WITH_ERRORS_OUTPUT, (INVALID_GREETING, COMPLEX_ERROR, FOO_ERROR), ) -HOST_WITH_PATH_OPERATION_INPUT: StaticSchema = (18, n1, _HWPOI, {_sSI: _sU}) +HOST_WITH_PATH_OPERATION_INPUT: StaticSchema = (18, n1, _HWPOI, {_sSI: _sU, _s: None}) -HOST_WITH_PATH_OPERATION_OUTPUT: StaticSchema = (18, n1, _HWPOO, {_sSI: _sU}) +HOST_WITH_PATH_OPERATION_OUTPUT: StaticSchema = (18, n1, _HWPOO, {_sSI: _sU, _sm: None}) HOST_WITH_PATH_OPERATION: StaticOperationSchema = ( 23, n1, _HWPO, - {_s: MappingProxyType({"uri": "/HostWithPathOperation", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/HostWithPathOperation", "method": "GET"})}, HOST_WITH_PATH_OPERATION_INPUT, HOST_WITH_PATH_OPERATION_OUTPUT, (), @@ -1529,7 +1609,7 @@ 18, n1, _HCRI, - {_sSI: _aHCRIO}, + {_sSI: _aHCRIO, _s: None}, (_fo,), ((3, 0),), ) @@ -1538,7 +1618,7 @@ 18, n1, _HCRO, - {_sSI: _aHCRIO}, + {_sSI: _aHCRIO, _sm: None}, (_fo,), ((3, 0),), ) @@ -1548,7 +1628,7 @@ n1, _HCR, { - _s: MappingProxyType({"uri": "/HttpChecksumRequired", "method": "POST"}), + _smi: MappingProxyType({"uri": "/HttpChecksumRequired", "method": "POST"}), _sCR: None, }, HTTP_CHECKSUM_REQUIRED_INPUT, @@ -1556,43 +1636,43 @@ (), ) -STRING_MAP: StaticSchema = (17, n0, _SM, 0, (_k, _v), ((3, 0), (3, 0))) +STRING_MAP: StaticSchema = (17, n0, _SM, 0, (_k, _va), ((3, 0), (3, 0))) HTTP_EMPTY_PREFIX_HEADERS_INPUT: StaticSchema = ( 18, n1, _HEPHI, - 0, + {_s: None}, (_pH, _sHp), - ((STRING_MAP, {_sPH: _v_}), (3, {_sH: _h})), + ((STRING_MAP, {_sPH: _v__}), (3, {_sH: _h})), ) HTTP_EMPTY_PREFIX_HEADERS_OUTPUT: StaticSchema = ( 18, n1, _HEPHO, - 0, + {_sm: None}, (_pH, _sHp), - ((STRING_MAP, {_sPH: _v_}), (3, {_sH: _h})), + ((STRING_MAP, {_sPH: _v__}), (3, {_sH: _h})), ) HTTP_EMPTY_PREFIX_HEADERS: StaticOperationSchema = ( 23, n1, _HEPH, - {_s: MappingProxyType({"uri": "/HttpEmptyPrefixHeaders", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/HttpEmptyPrefixHeaders", "method": "GET"})}, HTTP_EMPTY_PREFIX_HEADERS_INPUT, HTTP_EMPTY_PREFIX_HEADERS_OUTPUT, (), ) -STRING_ENUM: StaticSchema = (14, n1, _SEt, 0, (_V,), ((-1, 0),)) +STRING_ENUM: StaticSchema = (14, n1, _SEt, 0, (_V,), ((-1, {_sV: _en}),)) HTTP_ENUM_PAYLOAD_INPUT: StaticSchema = ( 18, n1, _HEPI, - {_sSI: _aEPI}, + {_sSI: _aEPI, _s: None}, (_p,), ((STRING_ENUM, 16),), ) @@ -1601,7 +1681,7 @@ 18, n1, _HEPO, - {_sSI: _aEPI}, + {_sSI: _aEPI, _sm: None}, (_p,), ((STRING_ENUM, 16),), ) @@ -1610,7 +1690,7 @@ 23, n1, _HEP, - {_s: MappingProxyType({"uri": "/EnumPayload", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/EnumPayload", "method": "POST"})}, HTTP_ENUM_PAYLOAD_INPUT, HTTP_ENUM_PAYLOAD_OUTPUT, (), @@ -1620,7 +1700,7 @@ 18, n1, _HPTI, - {_sSI: _aHPTIO}, + {_sSI: _aHPTIO, _s: None}, (_fo, _bl), ((3, {_sH: _XF}), (1, 16)), ) @@ -1629,7 +1709,7 @@ 18, n1, _HPTO, - {_sSI: _aHPTIO}, + {_sSI: _aHPTIO, _sm: None}, (_fo, _bl), ((3, {_sH: _XF}), (1, 16)), ) @@ -1638,7 +1718,7 @@ 23, n1, _HPT, - {_s: MappingProxyType({"uri": "/HttpPayloadTraits", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/HttpPayloadTraits", "method": "POST"})}, HTTP_PAYLOAD_TRAITS_INPUT, HTTP_PAYLOAD_TRAITS_OUTPUT, (), @@ -1650,7 +1730,7 @@ 18, n1, _HPTWMTI, - {_sSI: _aHPTWMTIO}, + {_sSI: _aHPTWMTIO, _s: None}, (_fo, _bl), ((3, {_sH: _XF}), (TEXT_PLAIN_BLOB, 16)), ) @@ -1659,7 +1739,7 @@ 18, n1, _HPTWMTO, - {_sSI: _aHPTWMTIO}, + {_sSI: _aHPTWMTIO, _sm: None}, (_fo, _bl), ((3, {_sH: _XF}), (TEXT_PLAIN_BLOB, 16)), ) @@ -1669,7 +1749,7 @@ n1, _HPTWMT, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/HttpPayloadTraitsWithMediaType", "method": "POST"} ) }, @@ -1684,7 +1764,7 @@ 18, n1, _HPWSI, - {_sSI: _aHPWSIO}, + {_sSI: _aHPWSIO, _s: None}, (_ne,), ((NESTED_PAYLOAD, 16),), ) @@ -1693,7 +1773,7 @@ 18, n1, _HPWSO, - {_sSI: _aHPWSIO}, + {_sSI: _aHPWSIO, _sm: None}, (_ne,), ((NESTED_PAYLOAD, 16),), ) @@ -1702,7 +1782,7 @@ 23, n1, _HPWS, - {_s: MappingProxyType({"uri": "/HttpPayloadWithStructure", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/HttpPayloadWithStructure", "method": "PUT"})}, HTTP_PAYLOAD_WITH_STRUCTURE_INPUT, HTTP_PAYLOAD_WITH_STRUCTURE_OUTPUT, (), @@ -1714,7 +1794,7 @@ 18, n1, _HPWUI, - {_sSI: _aHPWUIO}, + {_sSI: _aHPWUIO, _s: None}, (_ne,), ((UNION_PAYLOAD, 16),), ) @@ -1723,7 +1803,7 @@ 18, n1, _HPWUO, - {_sSI: _aHPWUIO}, + {_sSI: _aHPWUIO, _sm: None}, (_ne,), ((UNION_PAYLOAD, 16),), ) @@ -1732,7 +1812,7 @@ 23, n1, _HPWU, - {_s: MappingProxyType({"uri": "/HttpPayloadWithUnion", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/HttpPayloadWithUnion", "method": "PUT"})}, HTTP_PAYLOAD_WITH_UNION_INPUT, HTTP_PAYLOAD_WITH_UNION_OUTPUT, (), @@ -1742,7 +1822,7 @@ 18, n1, _HPHI, - 0, + {_s: None}, (_fo, _fM), ((3, {_sH: _xf}), (STRING_MAP, {_sPH: _xf_})), ) @@ -1751,7 +1831,7 @@ 18, n1, _HPHO, - 0, + {_sm: None}, (_fo, _fM), ((3, {_sH: _xf}), (STRING_MAP, {_sPH: _xf_})), ) @@ -1760,51 +1840,56 @@ 23, n1, _HPH, - {_s: MappingProxyType({"uri": "/HttpPrefixHeaders", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/HttpPrefixHeaders", "method": "GET"})}, HTTP_PREFIX_HEADERS_INPUT, HTTP_PREFIX_HEADERS_OUTPUT, (), ) -HTTP_PREFIX_HEADERS_IN_RESPONSE_INPUT: StaticSchema = (18, n1, _HPHIRI, 0) +HTTP_PREFIX_HEADERS_IN_RESPONSE_INPUT: StaticSchema = (18, n1, _HPHIRI, {_s: None}) HTTP_PREFIX_HEADERS_IN_RESPONSE_OUTPUT: StaticSchema = ( 18, n1, _HPHIRO, - 0, + {_sm: None}, (_pH,), - ((STRING_MAP, {_sPH: _v_}),), + ((STRING_MAP, {_sPH: _v__}),), ) HTTP_PREFIX_HEADERS_IN_RESPONSE: StaticOperationSchema = ( 23, n1, _HPHIR, - {_s: MappingProxyType({"uri": "/HttpPrefixHeadersResponse", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/HttpPrefixHeadersResponse", "method": "GET"})}, HTTP_PREFIX_HEADERS_IN_RESPONSE_INPUT, HTTP_PREFIX_HEADERS_IN_RESPONSE_OUTPUT, (), ) -QUERY_MAP: StaticSchema = (17, n1, _QM, 0, (_k, _v), ((3, 0), (3, 0))) +QUERY_MAP: StaticSchema = (17, n1, _QM, 0, (_k, _va), ((3, 0), (3, 0))) HTTP_QUERY_PARAMS_ONLY_OPERATION_INPUT: StaticSchema = ( 18, n1, _HQPOOI, - {_sSI: _aHQPOI}, + {_sSI: _aHQPOI, _s: None}, (_qM,), ((QUERY_MAP, 1024),), ) -HTTP_QUERY_PARAMS_ONLY_OPERATION_OUTPUT: StaticSchema = (18, n1, _HQPOOO, {_sSI: _sU}) +HTTP_QUERY_PARAMS_ONLY_OPERATION_OUTPUT: StaticSchema = ( + 18, + n1, + _HQPOOO, + {_sSI: _sU, _sm: None}, +) HTTP_QUERY_PARAMS_ONLY_OPERATION: StaticOperationSchema = ( 23, n1, _HQPOO, - {_s: MappingProxyType({"uri": "/http-query-params-only", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/http-query-params-only", "method": "GET"})}, HTTP_QUERY_PARAMS_ONLY_OPERATION_INPUT, HTTP_QUERY_PARAMS_ONLY_OPERATION_OUTPUT, (), @@ -1814,19 +1899,24 @@ 18, n1, _HRWFLI, - 0, + {_s: None}, (_fl, _do), ((9, 9), (10, 9)), ) -HTTP_REQUEST_WITH_FLOAT_LABELS_OUTPUT: StaticSchema = (18, n1, _HRWFLO, {_sSI: _sU}) +HTTP_REQUEST_WITH_FLOAT_LABELS_OUTPUT: StaticSchema = ( + 18, + n1, + _HRWFLO, + {_sSI: _sU, _sm: None}, +) HTTP_REQUEST_WITH_FLOAT_LABELS: StaticOperationSchema = ( 23, n1, _HRWFL, { - _s: MappingProxyType( + _smi: MappingProxyType( {"method": "GET", "uri": "/FloatHttpLabels/{float}/{double}"} ) }, @@ -1839,7 +1929,7 @@ 18, n1, _HRWGLIPI, - 0, + {_s: None}, (_fo, _b), ((3, 9), (3, 9)), ) @@ -1848,7 +1938,7 @@ 18, n1, _HRWGLIPO, - {_sSI: _sU}, + {_sSI: _sU, _sm: None}, ) HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH: StaticOperationSchema = ( @@ -1856,7 +1946,7 @@ n1, _HRWGLIP, { - _s: MappingProxyType( + _smi: MappingProxyType( { "method": "GET", "uri": "/HttpRequestWithGreedyLabelInPath/foo/{foo}/baz/{baz+}", @@ -1872,19 +1962,19 @@ 18, n1, _HRWLI, - 0, + {_s: None}, (_str, _sh, _i, _lo, _fl, _do, _bo, _ti), ((3, 9), (6, 9), (7, 9), (8, 9), (9, 9), (10, 9), (2, 9), (4, 9)), ) -HTTP_REQUEST_WITH_LABELS_OUTPUT: StaticSchema = (18, n1, _HRWLO, {_sSI: _sU}) +HTTP_REQUEST_WITH_LABELS_OUTPUT: StaticSchema = (18, n1, _HRWLO, {_sSI: _sU, _sm: None}) HTTP_REQUEST_WITH_LABELS: StaticOperationSchema = ( 23, n1, _HRWL, { - _s: MappingProxyType( + _smi: MappingProxyType( { "method": "GET", "uri": "/HttpRequestWithLabels/{string}/{short}/{integer}/{long}/{float}/{double}/{boolean}/{timestamp}", @@ -1904,12 +1994,12 @@ 18, n1, _HRWLATFI, - 0, + {_s: None}, (_mES, _mHD, _mDT, _dFe, _tES, _tHD, _tDT), ( - (4, {_sF: _es, _smit: None, _sL: None}), - (4, {_sF: _hd, _smit: None, _sL: None}), - (4, {_sF: _dt, _smit: None, _sL: None}), + (4, {_sF: _es, _smithy: None, _sL: None}), + (4, {_sF: _hd, _smithy: None, _sL: None}), + (4, {_sF: _dt, _smithy: None, _sL: None}), (4, 9), (EPOCH_SECONDS, 9), (HTTP_DATE, 9), @@ -1921,7 +2011,7 @@ 18, n1, _HRWLATFO, - {_sSI: _sU}, + {_sSI: _sU, _sm: None}, ) HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT: StaticOperationSchema = ( @@ -1929,7 +2019,7 @@ n1, _HRWLATF, { - _s: MappingProxyType( + _smi: MappingProxyType( { "method": "GET", "uri": "/HttpRequestWithLabelsAndTimestampFormat/{memberEpochSeconds}/{memberHttpDate}/{memberDateTime}/{defaultFormat}/{targetEpochSeconds}/{targetHttpDate}/{targetDateTime}", @@ -1945,32 +2035,44 @@ 18, n1, _HRWRLI, - 0, + {_s: None}, (_str_,), ((3, 9),), ) -HTTP_REQUEST_WITH_REGEX_LITERAL_OUTPUT: StaticSchema = (18, n1, _HRWRLO, {_sSI: _sU}) +HTTP_REQUEST_WITH_REGEX_LITERAL_OUTPUT: StaticSchema = ( + 18, + n1, + _HRWRLO, + {_sSI: _sU, _sm: None}, +) HTTP_REQUEST_WITH_REGEX_LITERAL: StaticOperationSchema = ( 23, n1, _HRWRL, - {_s: MappingProxyType({"method": "GET", "uri": "/ReDosLiteral/{str}/(a+)+"})}, + {_smi: MappingProxyType({"method": "GET", "uri": "/ReDosLiteral/{str}/(a+)+"})}, HTTP_REQUEST_WITH_REGEX_LITERAL_INPUT, HTTP_REQUEST_WITH_REGEX_LITERAL_OUTPUT, (), ) -HTTP_RESPONSE_CODE_INPUT: StaticSchema = (18, n1, _HRCI, {_sSI: _sU}) +HTTP_RESPONSE_CODE_INPUT: StaticSchema = (18, n1, _HRCI, {_sSI: _sU, _s: None}) -HTTP_RESPONSE_CODE_OUTPUT: StaticSchema = (18, n1, _HRCO, 0, (_St,), ((7, 128),)) +HTTP_RESPONSE_CODE_OUTPUT: StaticSchema = ( + 18, + n1, + _HRCO, + {_sm: None}, + (_St,), + ((7, 128),), +) HTTP_RESPONSE_CODE: StaticOperationSchema = ( 23, n1, _HRC, - {_s: MappingProxyType({"uri": "/HttpResponseCode", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/HttpResponseCode", "method": "PUT"})}, HTTP_RESPONSE_CODE_INPUT, HTTP_RESPONSE_CODE_OUTPUT, (), @@ -1980,7 +2082,7 @@ 18, n1, _HSPI, - {_sSI: _aSPI}, + {_sSI: _aSPI, _s: None}, (_p,), ((3, 16),), ) @@ -1989,7 +2091,7 @@ 18, n1, _HSPO, - {_sSI: _aSPI}, + {_sSI: _aSPI, _sm: None}, (_p,), ((3, 16),), ) @@ -1998,19 +2100,24 @@ 23, n1, _HSP, - {_s: MappingProxyType({"uri": "/StringPayload", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/StringPayload", "method": "POST"})}, HTTP_STRING_PAYLOAD_INPUT, HTTP_STRING_PAYLOAD_OUTPUT, (), ) -IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT: StaticSchema = (18, n1, _IQPIRI, {_sSI: _sU}) +IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT: StaticSchema = ( + 18, + n1, + _IQPIRI, + {_sSI: _sU, _s: None}, +) IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT: StaticSchema = ( 18, n1, _IQPIRO, - 0, + {_sm: None}, (_b,), ((3, {_sQ: _b}),), ) @@ -2019,7 +2126,7 @@ 23, n1, _IQPIR, - {_s: MappingProxyType({"uri": "/IgnoreQueryParamsInResponse", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/IgnoreQueryParamsInResponse", "method": "GET"})}, IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT, IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT, (), @@ -2029,7 +2136,7 @@ 18, n1, _IAOWHI, - {_sSI: _aIAOWHIO}, + {_sSI: _aIAOWHIO, _s: None}, ( _hS, _hB, @@ -2076,7 +2183,7 @@ 18, n1, _IAOWHO, - {_sSI: _aIAOWHIO}, + {_sSI: _aIAOWHIO, _sm: None}, ( _hS, _hB, @@ -2123,21 +2230,28 @@ 23, n1, _IAOWH, - {_s: MappingProxyType({"uri": "/InputAndOutputWithHeaders", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/InputAndOutputWithHeaders", "method": "POST"})}, INPUT_AND_OUTPUT_WITH_HEADERS_INPUT, INPUT_AND_OUTPUT_WITH_HEADERS_OUTPUT, (), ) -INPUT_STREAM_INPUT: StaticSchema = (18, n1, _ISI, 0, (_st,), ((EVENT_STREAM, 16),)) +INPUT_STREAM_INPUT: StaticSchema = ( + 18, + n1, + _ISI, + {_s: None}, + (_st,), + ((EVENT_STREAM, 16),), +) -INPUT_STREAM_OUTPUT: StaticSchema = (18, n1, _ISO, {_sSI: _sU}) +INPUT_STREAM_OUTPUT: StaticSchema = (18, n1, _ISO, {_sSI: _sU, _sm: None}) INPUT_STREAM: StaticOperationSchema = ( 23, n1, _ISn, - {_s: MappingProxyType({"method": "POST", "uri": "/InputStream"})}, + {_smi: MappingProxyType({"method": "POST", "uri": "/InputStream"})}, INPUT_STREAM_INPUT, INPUT_STREAM_OUTPUT, (), @@ -2147,38 +2261,61 @@ 18, n1, _ISWIRI, - 0, + {_s: None}, (_iRM, _st), - ((3, {_sH: _irm, _smit: None}), (EVENT_STREAM, 16)), + ((3, {_sH: _irm, _smithy: None}), (EVENT_STREAM, 16)), ) -INPUT_STREAM_WITH_INITIAL_REQUEST_OUTPUT: StaticSchema = (18, n1, _ISWIRO, {_sSI: _sU}) +INPUT_STREAM_WITH_INITIAL_REQUEST_OUTPUT: StaticSchema = ( + 18, + n1, + _ISWIRO, + {_sSI: _sU, _sm: None}, +) INPUT_STREAM_WITH_INITIAL_REQUEST: StaticOperationSchema = ( 23, n1, _ISWIR, - {_s: MappingProxyType({"method": "POST", "uri": "/InputStreamWithInitialRequest"})}, + { + _smi: MappingProxyType( + {"method": "POST", "uri": "/InputStreamWithInitialRequest"} + ) + }, INPUT_STREAM_WITH_INITIAL_REQUEST_INPUT, INPUT_STREAM_WITH_INITIAL_REQUEST_OUTPUT, (), ) -JSON_BLOBS_INPUT: StaticSchema = (18, n1, _JBI, {_sSI: _aJBIO}, (_da,), ((1, 0),)) +JSON_BLOBS_INPUT: StaticSchema = ( + 18, + n1, + _JBI, + {_sSI: _aJBIO, _s: None}, + (_da,), + ((1, 0),), +) -JSON_BLOBS_OUTPUT: StaticSchema = (18, n1, _JBO, {_sSI: _aJBIO}, (_da,), ((1, 0),)) +JSON_BLOBS_OUTPUT: StaticSchema = ( + 18, + n1, + _JBO, + {_sSI: _aJBIO, _sm: None}, + (_da,), + ((1, 0),), +) JSON_BLOBS: StaticOperationSchema = ( 23, n1, _JB, - {_s: MappingProxyType({"uri": "/JsonBlobs", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/JsonBlobs", "method": "POST"})}, JSON_BLOBS_INPUT, JSON_BLOBS_OUTPUT, (), ) -FOO_ENUM_MAP: StaticSchema = (17, n0, _FEM, 0, (_k, _v), ((3, 0), (FOO_ENUM, 0))) +FOO_ENUM_MAP: StaticSchema = (17, n0, _FEM, 0, (_k, _va), ((3, 0), (FOO_ENUM, 0))) FOO_ENUM_SET: StaticSchema = (16, n0, _FES, 0, (_m,), ((FOO_ENUM, 0),)) @@ -2186,7 +2323,7 @@ 18, n1, _JEI, - {_sSI: _aJEIO}, + {_sSI: _aJEIO, _s: None}, (_fE, _fEo, _fEoo, _fEL, _fES, _fEM), ( (FOO_ENUM, 0), @@ -2202,7 +2339,7 @@ 18, n1, _JEO, - {_sSI: _aJEIO}, + {_sSI: _aJEIO, _sm: None}, (_fE, _fEo, _fEoo, _fEL, _fES, _fEM), ( (FOO_ENUM, 0), @@ -2218,7 +2355,7 @@ 23, n1, _JE, - {_s: MappingProxyType({"uri": "/JsonEnums", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/JsonEnums", "method": "PUT"})}, JSON_ENUMS_INPUT, JSON_ENUMS_OUTPUT, (), @@ -2231,7 +2368,7 @@ n0, _IEM, 0, - (_k, _v), + (_k, _va), ((3, 0), (INTEGER_ENUM, 0)), ) @@ -2241,7 +2378,7 @@ 18, n1, _JIEI, - {_sSI: _aJIEIO}, + {_sSI: _aJIEIO, _s: None}, (_iE, _iEn, _iEnt, _iEL, _iES, _iEM), ( (INTEGER_ENUM, 0), @@ -2257,7 +2394,7 @@ 18, n1, _JIEO, - {_sSI: _aJIEIO}, + {_sSI: _aJIEIO, _sm: None}, (_iE, _iEn, _iEnt, _iEL, _iES, _iEM), ( (INTEGER_ENUM, 0), @@ -2273,7 +2410,7 @@ 23, n1, _JIE, - {_s: MappingProxyType({"uri": "/JsonIntEnums", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/JsonIntEnums", "method": "PUT"})}, JSON_INT_ENUMS_INPUT, JSON_INT_ENUMS_OUTPUT, (), @@ -2287,7 +2424,7 @@ _SLMt, 0, (_a_, _b_), - ((3, {_sN: _v}), (3, {_sN: _o})), + ((3, {_sN: _va}), (3, {_sN: _o})), ) STRUCTURE_LIST: StaticSchema = (16, n1, _SLt, 0, (_m,), ((STRUCTURE_LIST_MEMBER, 0),)) @@ -2296,7 +2433,7 @@ 18, n1, _JLI, - {_sSI: _aJLIO}, + {_sSI: _aJLIO, _s: None}, (_sLt, _sS, _iL, _bL, _tL, _eL, _iELn, _nSL, _sLtr), ( (STRING_LIST, 0), @@ -2315,7 +2452,7 @@ 18, n1, _JLO, - {_sSI: _aJLIO}, + {_sSI: _aJLIO, _sm: None}, (_sLt, _sS, _iL, _bL, _tL, _eL, _iELn, _nSL, _sLtr), ( (STRING_LIST, 0), @@ -2334,7 +2471,7 @@ 23, n1, _JL, - {_s: MappingProxyType({"uri": "/JsonLists", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/JsonLists", "method": "PUT"})}, JSON_LISTS_INPUT, JSON_LISTS_OUTPUT, (), @@ -2344,7 +2481,7 @@ 18, n1, _JMI, - {_sSI: _aJMIO}, + {_sSI: _aJMIO, _s: None}, (_dSM, _dNM, _dBM, _dSMe, _dSMen), ( (DENSE_STRUCT_MAP, 0), @@ -2359,7 +2496,7 @@ 18, n1, _JMO, - {_sSI: _aJMIO}, + {_sSI: _aJMIO, _sm: None}, (_dSM, _dNM, _dBM, _dSMe, _dSMen), ( (DENSE_STRUCT_MAP, 0), @@ -2374,7 +2511,7 @@ 23, n1, _JM, - {_s: MappingProxyType({"uri": "/JsonMaps", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/JsonMaps", "method": "POST"})}, JSON_MAPS_INPUT, JSON_MAPS_OUTPUT, (), @@ -2384,7 +2521,7 @@ 18, n1, _JTI, - {_sSI: _aJTIO}, + {_sSI: _aJTIO, _s: None}, (_no, _dTa, _dTOT, _eSp, _eSOT, _hDt, _hDOT), ( (4, 0), @@ -2401,7 +2538,7 @@ 18, n1, _JTO, - {_sSI: _aJTIO}, + {_sSI: _aJTIO, _sm: None}, (_no, _dTa, _dTOT, _eSp, _eSOT, _hDt, _hDOT), ( (4, 0), @@ -2418,7 +2555,7 @@ 23, n1, _JT, - {_s: MappingProxyType({"uri": "/JsonTimestamps", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/JsonTimestamps", "method": "POST"})}, JSON_TIMESTAMPS_INPUT, JSON_TIMESTAMPS_OUTPUT, (), @@ -2426,14 +2563,14 @@ RENAMED_GREETING: StaticSchema = (18, n2, _GS, 0, (_sa,), ((3, 0),)) -NESTED_UNION: StaticSchema = (19, n1, _NU, 0, (_sV,), ((3, 0),)) +NESTED_UNION: StaticSchema = (19, n1, _NU, 0, (_sVt,), ((3, 0),)) MY_UNION: StaticSchema = ( 19, n1, _MU, 0, - (_sV, _bV, _nV, _bVl, _tV, _eV, _lV, _mV, _sVt, _rSV, _uV), + (_sVt, _bV, _nV, _bVl, _tV, _eV, _lV, _mV, _sVtr, _rSV, _uV), ( (3, 0), (2, 0), @@ -2453,7 +2590,7 @@ 18, n1, _JUI, - {_sSI: _aUIO}, + {_sSI: _aUIO, _s: None}, (_co,), ((MY_UNION, 0),), ) @@ -2462,7 +2599,7 @@ 18, n1, _JUO, - {_sSI: _aUIO}, + {_sSI: _aUIO, _sm: None}, (_co,), ((MY_UNION, 0),), ) @@ -2471,7 +2608,7 @@ 23, n1, _JU, - {_s: MappingProxyType({"uri": "/JsonUnions", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/JsonUnions", "method": "PUT"})}, JSON_UNIONS_INPUT, JSON_UNIONS_OUTPUT, (), @@ -2479,13 +2616,13 @@ JSON_VALUE: StaticSchema = (3, n1, _JV, {_sT: _a}) -MALFORMED_ACCEPT_WITH_BODY_INPUT: StaticSchema = (18, n1, _MAWBI, {_sSI: _sU}) +MALFORMED_ACCEPT_WITH_BODY_INPUT: StaticSchema = (18, n1, _MAWBI, {_sSI: _sU, _s: None}) MALFORMED_ACCEPT_WITH_BODY_OUTPUT: StaticSchema = ( 18, n1, _MAWBO, - {_sSI: _aGS}, + {_sSI: _aGS, _sm: None}, (_hi,), ((3, 0),), ) @@ -2494,7 +2631,7 @@ 23, n1, _MAWB, - {_s: MappingProxyType({"method": "POST", "uri": "/MalformedAcceptWithBody"})}, + {_smi: MappingProxyType({"method": "POST", "uri": "/MalformedAcceptWithBody"})}, MALFORMED_ACCEPT_WITH_BODY_INPUT, MALFORMED_ACCEPT_WITH_BODY_OUTPUT, (), @@ -2504,14 +2641,14 @@ 18, n1, _MAWGSI, - {_sSI: _sU}, + {_sSI: _sU, _s: None}, ) MALFORMED_ACCEPT_WITH_GENERIC_STRING_OUTPUT: StaticSchema = ( 18, n1, _MAWGSO, - 0, + {_sm: None}, (_p,), ((3, 16),), ) @@ -2521,7 +2658,7 @@ n1, _MAWGS, { - _s: MappingProxyType( + _smi: MappingProxyType( {"method": "POST", "uri": "/MalformedAcceptWithGenericString"} ) }, @@ -2530,7 +2667,12 @@ (), ) -MALFORMED_ACCEPT_WITH_PAYLOAD_INPUT: StaticSchema = (18, n1, _MAWPI, {_sSI: _sU}) +MALFORMED_ACCEPT_WITH_PAYLOAD_INPUT: StaticSchema = ( + 18, + n1, + _MAWPI, + {_sSI: _sU, _s: None}, +) JPEG_BLOB: StaticSchema = (1, n0, _JBp, {_sT: _im}) @@ -2538,7 +2680,7 @@ 18, n1, _MAWPO, - 0, + {_sm: None}, (_p,), ((JPEG_BLOB, 16),), ) @@ -2547,21 +2689,21 @@ 23, n1, _MAWP, - {_s: MappingProxyType({"method": "POST", "uri": "/MalformedAcceptWithPayload"})}, + {_smi: MappingProxyType({"method": "POST", "uri": "/MalformedAcceptWithPayload"})}, MALFORMED_ACCEPT_WITH_PAYLOAD_INPUT, MALFORMED_ACCEPT_WITH_PAYLOAD_OUTPUT, (), ) -MALFORMED_BLOB_INPUT: StaticSchema = (18, n1, _MBI, 0, (_bl,), ((1, 0),)) +MALFORMED_BLOB_INPUT: StaticSchema = (18, n1, _MBI, {_s: None}, (_bl,), ((1, 0),)) -MALFORMED_BLOB_OUTPUT: StaticSchema = (18, n1, _MBO, {_sSI: _sU}) +MALFORMED_BLOB_OUTPUT: StaticSchema = (18, n1, _MBO, {_sSI: _sU, _sm: None}) MALFORMED_BLOB: StaticOperationSchema = ( 23, n1, _MB, - {_s: MappingProxyType({"uri": "/MalformedBlob", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/MalformedBlob", "method": "POST"})}, MALFORMED_BLOB_INPUT, MALFORMED_BLOB_OUTPUT, (), @@ -2571,19 +2713,19 @@ 18, n1, _MBIa, - 0, + {_s: None}, (_bIB, _bIP, _bIQ, _bIH), ((2, 0), (2, 9), (2, {_sQ: _bIQ}), (2, {_sH: _bIH})), ) -MALFORMED_BOOLEAN_OUTPUT: StaticSchema = (18, n1, _MBOa, {_sSI: _sU}) +MALFORMED_BOOLEAN_OUTPUT: StaticSchema = (18, n1, _MBOa, {_sSI: _sU, _sm: None}) MALFORMED_BOOLEAN: StaticOperationSchema = ( 23, n1, _MBa, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/MalformedBoolean/{booleanInPath}", "method": "POST"} ) }, @@ -2596,18 +2738,18 @@ 18, n1, _MBIal, - 0, + {_s: None}, (_bIBy, _bIPy, _bIQy, _bIHy), ((5, 0), (5, 9), (5, {_sQ: _bIQy}), (5, {_sH: _bIHy})), ) -MALFORMED_BYTE_OUTPUT: StaticSchema = (18, n1, _MBOal, {_sSI: _sU}) +MALFORMED_BYTE_OUTPUT: StaticSchema = (18, n1, _MBOal, {_sSI: _sU, _sm: None}) MALFORMED_BYTE: StaticOperationSchema = ( 23, n1, _MBal, - {_s: MappingProxyType({"uri": "/MalformedByte/{byteInPath}", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/MalformedByte/{byteInPath}", "method": "POST"})}, MALFORMED_BYTE_INPUT, MALFORMED_BYTE_OUTPUT, (), @@ -2617,18 +2759,27 @@ 18, n1, _MCTWBI, - {_sSI: _aGS}, + {_sSI: _aGS, _s: None}, (_hi,), ((3, 0),), ) -MALFORMED_CONTENT_TYPE_WITH_BODY_OUTPUT: StaticSchema = (18, n1, _MCTWBO, {_sSI: _sU}) +MALFORMED_CONTENT_TYPE_WITH_BODY_OUTPUT: StaticSchema = ( + 18, + n1, + _MCTWBO, + {_sSI: _sU, _sm: None}, +) MALFORMED_CONTENT_TYPE_WITH_BODY: StaticOperationSchema = ( 23, n1, _MCTWB, - {_s: MappingProxyType({"method": "POST", "uri": "/MalformedContentTypeWithBody"})}, + { + _smi: MappingProxyType( + {"method": "POST", "uri": "/MalformedContentTypeWithBody"} + ) + }, MALFORMED_CONTENT_TYPE_WITH_BODY_INPUT, MALFORMED_CONTENT_TYPE_WITH_BODY_OUTPUT, (), @@ -2638,7 +2789,7 @@ 18, n1, _MCTWGSI, - 0, + {_s: None}, (_p,), ((3, 16),), ) @@ -2647,7 +2798,7 @@ 18, n1, _MCTWGSO, - {_sSI: _sU}, + {_sSI: _sU, _sm: None}, ) MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING: StaticOperationSchema = ( @@ -2655,7 +2806,7 @@ n1, _MCTWGS, { - _s: MappingProxyType( + _smi: MappingProxyType( {"method": "POST", "uri": "/MalformedContentTypeWithGenericString"} ) }, @@ -2668,14 +2819,14 @@ 18, n1, _MCTWBIa, - {_sSI: _sU}, + {_sSI: _sU, _s: None}, ) MALFORMED_CONTENT_TYPE_WITHOUT_BODY_OUTPUT: StaticSchema = ( 18, n1, _MCTWBOa, - {_sSI: _sU}, + {_sSI: _sU, _sm: None}, ) MALFORMED_CONTENT_TYPE_WITHOUT_BODY: StaticOperationSchema = ( @@ -2683,7 +2834,7 @@ n1, _MCTWBa, { - _s: MappingProxyType( + _smi: MappingProxyType( {"method": "POST", "uri": "/MalformedContentTypeWithoutBody"} ) }, @@ -2696,7 +2847,7 @@ 18, n1, _MCTWBEII, - 0, + {_s: None}, (_he,), ((3, {_sH: _he}),), ) @@ -2705,7 +2856,7 @@ 18, n1, _MCTWBEIO, - {_sSI: _sU}, + {_sSI: _sU, _sm: None}, ) MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT: StaticOperationSchema = ( @@ -2713,7 +2864,7 @@ n1, _MCTWBEI, { - _s: MappingProxyType( + _smi: MappingProxyType( {"method": "POST", "uri": "/MalformedContentTypeWithoutBodyEmptyInput"} ) }, @@ -2726,7 +2877,7 @@ 18, n1, _MCTWPI, - 0, + {_s: None}, (_p,), ((JPEG_BLOB, 16),), ) @@ -2735,7 +2886,7 @@ 18, n1, _MCTWPO, - {_sSI: _sU}, + {_sSI: _sU, _sm: None}, ) MALFORMED_CONTENT_TYPE_WITH_PAYLOAD: StaticOperationSchema = ( @@ -2743,7 +2894,7 @@ n1, _MCTWP, { - _s: MappingProxyType( + _smi: MappingProxyType( {"method": "POST", "uri": "/MalformedContentTypeWithPayload"} ) }, @@ -2756,19 +2907,19 @@ 18, n1, _MDI, - 0, + {_s: None}, (_dIB, _dIP, _dIQ, _dIH), ((10, 0), (10, 9), (10, {_sQ: _dIQ}), (10, {_sH: _dIH})), ) -MALFORMED_DOUBLE_OUTPUT: StaticSchema = (18, n1, _MDO, {_sSI: _sU}) +MALFORMED_DOUBLE_OUTPUT: StaticSchema = (18, n1, _MDO, {_sSI: _sU, _sm: None}) MALFORMED_DOUBLE: StaticOperationSchema = ( 23, n1, _MD, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/MalformedDouble/{doubleInPath}", "method": "POST"} ) }, @@ -2781,18 +2932,22 @@ 18, n1, _MFI, - 0, + {_s: None}, (_fIB, _fIP, _fIQ, _fIH), ((9, 0), (9, 9), (9, {_sQ: _fIQ}), (9, {_sH: _fIH})), ) -MALFORMED_FLOAT_OUTPUT: StaticSchema = (18, n1, _MFO, {_sSI: _sU}) +MALFORMED_FLOAT_OUTPUT: StaticSchema = (18, n1, _MFO, {_sSI: _sU, _sm: None}) MALFORMED_FLOAT: StaticOperationSchema = ( 23, n1, _MF, - {_s: MappingProxyType({"uri": "/MalformedFloat/{floatInPath}", "method": "POST"})}, + { + _smi: MappingProxyType( + {"uri": "/MalformedFloat/{floatInPath}", "method": "POST"} + ) + }, MALFORMED_FLOAT_INPUT, MALFORMED_FLOAT_OUTPUT, (), @@ -2802,19 +2957,19 @@ 18, n1, _MII, - 0, + {_s: None}, (_iIB, _iIP, _iIQ, _iIH), ((7, 0), (7, 9), (7, {_sQ: _iIQ}), (7, {_sH: _iIH})), ) -MALFORMED_INTEGER_OUTPUT: StaticSchema = (18, n1, _MIO, {_sSI: _sU}) +MALFORMED_INTEGER_OUTPUT: StaticSchema = (18, n1, _MIO, {_sSI: _sU, _sm: None}) MALFORMED_INTEGER: StaticOperationSchema = ( 23, n1, _MI, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/MalformedInteger/{integerInPath}", "method": "POST"} ) }, @@ -2825,15 +2980,22 @@ SIMPLE_LIST: StaticSchema = (16, n1, _SLi, 0, (_m,), ((3, 0),)) -MALFORMED_LIST_INPUT: StaticSchema = (18, n1, _MLI, 0, (_bLo,), ((SIMPLE_LIST, 0),)) +MALFORMED_LIST_INPUT: StaticSchema = ( + 18, + n1, + _MLI, + {_s: None}, + (_bLo,), + ((SIMPLE_LIST, 0),), +) -MALFORMED_LIST_OUTPUT: StaticSchema = (18, n1, _MLO, {_sSI: _sU}) +MALFORMED_LIST_OUTPUT: StaticSchema = (18, n1, _MLO, {_sSI: _sU, _sm: None}) MALFORMED_LIST: StaticOperationSchema = ( 23, n1, _ML, - {_s: MappingProxyType({"uri": "/MalformedList", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/MalformedList", "method": "POST"})}, MALFORMED_LIST_INPUT, MALFORMED_LIST_OUTPUT, (), @@ -2843,34 +3005,41 @@ 18, n1, _MLIa, - 0, + {_s: None}, (_lIB, _lIP, _lIQ, _lIH), ((8, 0), (8, 9), (8, {_sQ: _lIQ}), (8, {_sH: _lIH})), ) -MALFORMED_LONG_OUTPUT: StaticSchema = (18, n1, _MLOa, {_sSI: _sU}) +MALFORMED_LONG_OUTPUT: StaticSchema = (18, n1, _MLOa, {_sSI: _sU, _sm: None}) MALFORMED_LONG: StaticOperationSchema = ( 23, n1, _MLa, - {_s: MappingProxyType({"uri": "/MalformedLong/{longInPath}", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/MalformedLong/{longInPath}", "method": "POST"})}, MALFORMED_LONG_INPUT, MALFORMED_LONG_OUTPUT, (), ) -SIMPLE_MAP: StaticSchema = (17, n1, _SMi, 0, (_k, _v), ((3, 0), (3, 0))) +SIMPLE_MAP: StaticSchema = (17, n1, _SMi, 0, (_k, _va), ((3, 0), (3, 0))) -MALFORMED_MAP_INPUT: StaticSchema = (18, n1, _MMI, 0, (_bM,), ((SIMPLE_MAP, 0),)) +MALFORMED_MAP_INPUT: StaticSchema = ( + 18, + n1, + _MMI, + {_s: None}, + (_bM,), + ((SIMPLE_MAP, 0),), +) -MALFORMED_MAP_OUTPUT: StaticSchema = (18, n1, _MMO, {_sSI: _sU}) +MALFORMED_MAP_OUTPUT: StaticSchema = (18, n1, _MMO, {_sSI: _sU, _sm: None}) MALFORMED_MAP: StaticOperationSchema = ( 23, n1, _MM, - {_s: MappingProxyType({"uri": "/MalformedMap", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/MalformedMap", "method": "POST"})}, MALFORMED_MAP_INPUT, MALFORMED_MAP_OUTPUT, (), @@ -2880,18 +3049,18 @@ 18, n1, _MRBI, - 0, + {_s: None}, (_in, _fl), ((7, 0), (9, 0)), ) -MALFORMED_REQUEST_BODY_OUTPUT: StaticSchema = (18, n1, _MRBO, {_sSI: _sU}) +MALFORMED_REQUEST_BODY_OUTPUT: StaticSchema = (18, n1, _MRBO, {_sSI: _sU, _sm: None}) MALFORMED_REQUEST_BODY: StaticOperationSchema = ( 23, n1, _MRB, - {_s: MappingProxyType({"uri": "/MalformedRequestBody", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/MalformedRequestBody", "method": "POST"})}, MALFORMED_REQUEST_BODY_INPUT, MALFORMED_REQUEST_BODY_OUTPUT, (), @@ -2901,18 +3070,22 @@ 18, n1, _MSI, - 0, + {_s: None}, (_sIB, _sIP, _sIQ, _sIH), ((6, 0), (6, 9), (6, {_sQ: _sIQ}), (6, {_sH: _sIH})), ) -MALFORMED_SHORT_OUTPUT: StaticSchema = (18, n1, _MSO, {_sSI: _sU}) +MALFORMED_SHORT_OUTPUT: StaticSchema = (18, n1, _MSO, {_sSI: _sU, _sm: None}) MALFORMED_SHORT: StaticOperationSchema = ( 23, n1, _MS, - {_s: MappingProxyType({"uri": "/MalformedShort/{shortInPath}", "method": "POST"})}, + { + _smi: MappingProxyType( + {"uri": "/MalformedShort/{shortInPath}", "method": "POST"} + ) + }, MALFORMED_SHORT_INPUT, MALFORMED_SHORT_OUTPUT, (), @@ -2922,18 +3095,18 @@ 18, n1, _MSIa, - 0, + {_s: None}, (_bl,), ((JSON_HEADER_STRING, {_sH: _amth}),), ) -MALFORMED_STRING_OUTPUT: StaticSchema = (18, n1, _MSOa, {_sSI: _sU}) +MALFORMED_STRING_OUTPUT: StaticSchema = (18, n1, _MSOa, {_sSI: _sU, _sm: None}) MALFORMED_STRING: StaticOperationSchema = ( 23, n1, _MSa, - {_s: MappingProxyType({"uri": "/MalformedString", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/MalformedString", "method": "POST"})}, MALFORMED_STRING_INPUT, MALFORMED_STRING_OUTPUT, (), @@ -2943,19 +3116,24 @@ 18, n1, _MTBDTI, - 0, + {_s: None}, (_ti,), - ((4, {_sF: _dt, _smit: None}),), + ((4, {_sF: _dt, _smithy: None}),), ) -MALFORMED_TIMESTAMP_BODY_DATE_TIME_OUTPUT: StaticSchema = (18, n1, _MTBDTO, {_sSI: _sU}) +MALFORMED_TIMESTAMP_BODY_DATE_TIME_OUTPUT: StaticSchema = ( + 18, + n1, + _MTBDTO, + {_sSI: _sU, _sm: None}, +) MALFORMED_TIMESTAMP_BODY_DATE_TIME: StaticOperationSchema = ( 23, n1, _MTBDT, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/MalformedTimestampBodyDateTime", "method": "POST"} ) }, @@ -2968,18 +3146,27 @@ 18, n1, _MTBDI, - 0, + {_s: None}, (_ti,), ((4, 1),), ) -MALFORMED_TIMESTAMP_BODY_DEFAULT_OUTPUT: StaticSchema = (18, n1, _MTBDO, {_sSI: _sU}) +MALFORMED_TIMESTAMP_BODY_DEFAULT_OUTPUT: StaticSchema = ( + 18, + n1, + _MTBDO, + {_sSI: _sU, _sm: None}, +) MALFORMED_TIMESTAMP_BODY_DEFAULT: StaticOperationSchema = ( 23, n1, _MTBD, - {_s: MappingProxyType({"uri": "/MalformedTimestampBodyDefault", "method": "POST"})}, + { + _smi: MappingProxyType( + {"uri": "/MalformedTimestampBodyDefault", "method": "POST"} + ) + }, MALFORMED_TIMESTAMP_BODY_DEFAULT_INPUT, MALFORMED_TIMESTAMP_BODY_DEFAULT_OUTPUT, (), @@ -2989,19 +3176,24 @@ 18, n1, _MTBHDI, - 0, + {_s: None}, (_ti,), - ((4, {_sF: _hd, _smit: None}),), + ((4, {_sF: _hd, _smithy: None}),), ) -MALFORMED_TIMESTAMP_BODY_HTTP_DATE_OUTPUT: StaticSchema = (18, n1, _MTBHDO, {_sSI: _sU}) +MALFORMED_TIMESTAMP_BODY_HTTP_DATE_OUTPUT: StaticSchema = ( + 18, + n1, + _MTBHDO, + {_sSI: _sU, _sm: None}, +) MALFORMED_TIMESTAMP_BODY_HTTP_DATE: StaticOperationSchema = ( 23, n1, _MTBHD, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/MalformedTimestampBodyHttpDate", "method": "POST"} ) }, @@ -3014,16 +3206,16 @@ 18, n1, _MTHDTI, - 0, + {_s: None}, (_ti,), - ((4, {_sF: _dt, _sH: _ti, _smit: None}),), + ((4, {_sF: _dt, _sH: _ti, _smithy: None}),), ) MALFORMED_TIMESTAMP_HEADER_DATE_TIME_OUTPUT: StaticSchema = ( 18, n1, _MTHDTO, - {_sSI: _sU}, + {_sSI: _sU, _sm: None}, ) MALFORMED_TIMESTAMP_HEADER_DATE_TIME: StaticOperationSchema = ( @@ -3031,7 +3223,7 @@ n1, _MTHDT, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/MalformedTimestampHeaderDateTime", "method": "POST"} ) }, @@ -3044,19 +3236,24 @@ 18, n1, _MTHDI, - 0, + {_s: None}, (_ti,), - ((4, {_sH: _ti, _smit: None}),), + ((4, {_sH: _ti, _smithy: None}),), ) -MALFORMED_TIMESTAMP_HEADER_DEFAULT_OUTPUT: StaticSchema = (18, n1, _MTHDO, {_sSI: _sU}) +MALFORMED_TIMESTAMP_HEADER_DEFAULT_OUTPUT: StaticSchema = ( + 18, + n1, + _MTHDO, + {_sSI: _sU, _sm: None}, +) MALFORMED_TIMESTAMP_HEADER_DEFAULT: StaticOperationSchema = ( 23, n1, _MTHD, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/MalformedTimestampHeaderDefault", "method": "POST"} ) }, @@ -3069,18 +3266,27 @@ 18, n1, _MTHEI, - 0, + {_s: None}, (_ti,), - ((4, {_sF: _es, _sH: _ti, _smit: None}),), + ((4, {_sF: _es, _sH: _ti, _smithy: None}),), ) -MALFORMED_TIMESTAMP_HEADER_EPOCH_OUTPUT: StaticSchema = (18, n1, _MTHEO, {_sSI: _sU}) +MALFORMED_TIMESTAMP_HEADER_EPOCH_OUTPUT: StaticSchema = ( + 18, + n1, + _MTHEO, + {_sSI: _sU, _sm: None}, +) MALFORMED_TIMESTAMP_HEADER_EPOCH: StaticOperationSchema = ( 23, n1, _MTHE, - {_s: MappingProxyType({"uri": "/MalformedTimestampHeaderEpoch", "method": "POST"})}, + { + _smi: MappingProxyType( + {"uri": "/MalformedTimestampHeaderEpoch", "method": "POST"} + ) + }, MALFORMED_TIMESTAMP_HEADER_EPOCH_INPUT, MALFORMED_TIMESTAMP_HEADER_EPOCH_OUTPUT, (), @@ -3090,19 +3296,24 @@ 18, n1, _MTPDI, - 0, + {_s: None}, (_ti,), ((4, 9),), ) -MALFORMED_TIMESTAMP_PATH_DEFAULT_OUTPUT: StaticSchema = (18, n1, _MTPDO, {_sSI: _sU}) +MALFORMED_TIMESTAMP_PATH_DEFAULT_OUTPUT: StaticSchema = ( + 18, + n1, + _MTPDO, + {_sSI: _sU, _sm: None}, +) MALFORMED_TIMESTAMP_PATH_DEFAULT: StaticOperationSchema = ( 23, n1, _MTPD, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/MalformedTimestampPathDefault/{timestamp}", "method": "POST"} ) }, @@ -3115,19 +3326,24 @@ 18, n1, _MTPEI, - 0, + {_s: None}, (_ti,), - ((4, {_sF: _es, _smit: None, _sL: None}),), + ((4, {_sF: _es, _smithy: None, _sL: None}),), ) -MALFORMED_TIMESTAMP_PATH_EPOCH_OUTPUT: StaticSchema = (18, n1, _MTPEO, {_sSI: _sU}) +MALFORMED_TIMESTAMP_PATH_EPOCH_OUTPUT: StaticSchema = ( + 18, + n1, + _MTPEO, + {_sSI: _sU, _sm: None}, +) MALFORMED_TIMESTAMP_PATH_EPOCH: StaticOperationSchema = ( 23, n1, _MTPE, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/MalformedTimestampPathEpoch/{timestamp}", "method": "POST"} ) }, @@ -3140,19 +3356,24 @@ 18, n1, _MTPHDI, - 0, + {_s: None}, (_ti,), - ((4, {_sF: _hd, _smit: None, _sL: None}),), + ((4, {_sF: _hd, _smithy: None, _sL: None}),), ) -MALFORMED_TIMESTAMP_PATH_HTTP_DATE_OUTPUT: StaticSchema = (18, n1, _MTPHDO, {_sSI: _sU}) +MALFORMED_TIMESTAMP_PATH_HTTP_DATE_OUTPUT: StaticSchema = ( + 18, + n1, + _MTPHDO, + {_sSI: _sU, _sm: None}, +) MALFORMED_TIMESTAMP_PATH_HTTP_DATE: StaticOperationSchema = ( 23, n1, _MTPHD, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/MalformedTimestampPathHttpDate/{timestamp}", "method": "POST"} ) }, @@ -3165,19 +3386,24 @@ 18, n1, _MTQDI, - 0, + {_s: None}, (_ti,), - ((4, {_sQ: _ti, _smit: None}),), + ((4, {_sQ: _ti, _smithy: None}),), ) -MALFORMED_TIMESTAMP_QUERY_DEFAULT_OUTPUT: StaticSchema = (18, n1, _MTQDO, {_sSI: _sU}) +MALFORMED_TIMESTAMP_QUERY_DEFAULT_OUTPUT: StaticSchema = ( + 18, + n1, + _MTQDO, + {_sSI: _sU, _sm: None}, +) MALFORMED_TIMESTAMP_QUERY_DEFAULT: StaticOperationSchema = ( 23, n1, _MTQD, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/MalformedTimestampQueryDefault", "method": "POST"} ) }, @@ -3190,18 +3416,27 @@ 18, n1, _MTQEI, - 0, + {_s: None}, (_ti,), - ((4, {_sF: _es, _sQ: _ti, _smit: None}),), + ((4, {_sF: _es, _sQ: _ti, _smithy: None}),), ) -MALFORMED_TIMESTAMP_QUERY_EPOCH_OUTPUT: StaticSchema = (18, n1, _MTQEO, {_sSI: _sU}) +MALFORMED_TIMESTAMP_QUERY_EPOCH_OUTPUT: StaticSchema = ( + 18, + n1, + _MTQEO, + {_sSI: _sU, _sm: None}, +) MALFORMED_TIMESTAMP_QUERY_EPOCH: StaticOperationSchema = ( 23, n1, _MTQE, - {_s: MappingProxyType({"uri": "/MalformedTimestampQueryEpoch", "method": "POST"})}, + { + _smi: MappingProxyType( + {"uri": "/MalformedTimestampQueryEpoch", "method": "POST"} + ) + }, MALFORMED_TIMESTAMP_QUERY_EPOCH_INPUT, MALFORMED_TIMESTAMP_QUERY_EPOCH_OUTPUT, (), @@ -3211,16 +3446,16 @@ 18, n1, _MTQHDI, - 0, + {_s: None}, (_ti,), - ((4, {_sF: _hd, _sQ: _ti, _smit: None}),), + ((4, {_sF: _hd, _sQ: _ti, _smithy: None}),), ) MALFORMED_TIMESTAMP_QUERY_HTTP_DATE_OUTPUT: StaticSchema = ( 18, n1, _MTQHDO, - {_sSI: _sU}, + {_sSI: _sU, _sm: None}, ) MALFORMED_TIMESTAMP_QUERY_HTTP_DATE: StaticOperationSchema = ( @@ -3228,7 +3463,7 @@ n1, _MTQHD, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/MalformedTimestampQueryHttpDate", "method": "POST"} ) }, @@ -3239,15 +3474,22 @@ SIMPLE_UNION: StaticSchema = (19, n1, _SU, 0, (_in, _str), ((7, 0), (3, 0))) -MALFORMED_UNION_INPUT: StaticSchema = (18, n1, _MUI, 0, (_u,), ((SIMPLE_UNION, 0),)) +MALFORMED_UNION_INPUT: StaticSchema = ( + 18, + n1, + _MUI, + {_s: None}, + (_u,), + ((SIMPLE_UNION, 0),), +) -MALFORMED_UNION_OUTPUT: StaticSchema = (18, n1, _MUO, {_sSI: _sU}) +MALFORMED_UNION_OUTPUT: StaticSchema = (18, n1, _MUO, {_sSI: _sU, _sm: None}) MALFORMED_UNION: StaticOperationSchema = ( 23, n1, _MUa, - {_s: MappingProxyType({"uri": "/MalformedUnion", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/MalformedUnion", "method": "POST"})}, MALFORMED_UNION_INPUT, MALFORMED_UNION_OUTPUT, (), @@ -3257,7 +3499,7 @@ 18, n1, _MTHI, - 0, + {_s: None}, (_j,), ((JSON_VALUE, {_sH: _XJ}),), ) @@ -3266,7 +3508,7 @@ 18, n1, _MTHO, - 0, + {_sm: None}, (_j,), ((JSON_VALUE, {_sH: _XJ}),), ) @@ -3275,35 +3517,35 @@ 23, n1, _MTH, - {_s: MappingProxyType({"uri": "/MediaTypeHeader", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/MediaTypeHeader", "method": "GET"})}, MEDIA_TYPE_HEADER_INPUT, MEDIA_TYPE_HEADER_OUTPUT, (), ) -NO_INPUT_AND_NO_OUTPUT_INPUT: StaticSchema = (18, n1, _NIANOI, {_sSI: _sU}) +NO_INPUT_AND_NO_OUTPUT_INPUT: StaticSchema = (18, n1, _NIANOI, {_sSI: _sU, _s: None}) -NO_INPUT_AND_NO_OUTPUT_OUTPUT: StaticSchema = (18, n1, _NIANOO, {_sSI: _sU}) +NO_INPUT_AND_NO_OUTPUT_OUTPUT: StaticSchema = (18, n1, _NIANOO, {_sSI: _sU, _sm: None}) NO_INPUT_AND_NO_OUTPUT: StaticOperationSchema = ( 23, n1, _NIANO, - {_s: MappingProxyType({"uri": "/NoInputAndNoOutput", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/NoInputAndNoOutput", "method": "POST"})}, NO_INPUT_AND_NO_OUTPUT_INPUT, NO_INPUT_AND_NO_OUTPUT_OUTPUT, (), ) -NO_INPUT_AND_OUTPUT_INPUT: StaticSchema = (18, n1, _NIAOI, {_sSI: _sU}) +NO_INPUT_AND_OUTPUT_INPUT: StaticSchema = (18, n1, _NIAOI, {_sSI: _sU, _s: None}) -NO_INPUT_AND_OUTPUT_OUTPUT: StaticSchema = (18, n1, _NIAOO, 0) +NO_INPUT_AND_OUTPUT_OUTPUT: StaticSchema = (18, n1, _NIAOO, {_sm: None}) NO_INPUT_AND_OUTPUT: StaticOperationSchema = ( 23, n1, _NIAO, - {_s: MappingProxyType({"uri": "/NoInputAndOutputOutput", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/NoInputAndOutputOutput", "method": "POST"})}, NO_INPUT_AND_OUTPUT_INPUT, NO_INPUT_AND_OUTPUT_OUTPUT, (), @@ -3313,7 +3555,7 @@ 18, n1, _NAEHCI, - {_sSI: _aNAEHIO}, + {_sSI: _aNAEHIO, _s: None}, (_a_, _b_, _c_), ((3, {_sH: _XA}), (3, {_sH: _XB____}), (STRING_LIST, {_sH: _XC})), ) @@ -3322,7 +3564,7 @@ 18, n1, _NAEHCO, - {_sSI: _aNAEHIO}, + {_sSI: _aNAEHIO, _sm: None}, (_a_, _b_, _c_), ((3, {_sH: _XA}), (3, {_sH: _XB____}), (STRING_LIST, {_sH: _XC})), ) @@ -3331,7 +3573,7 @@ 23, n1, _NAEHC, - {_s: MappingProxyType({"uri": "/NullAndEmptyHeadersClient", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/NullAndEmptyHeadersClient", "method": "GET"})}, NULL_AND_EMPTY_HEADERS_CLIENT_INPUT, NULL_AND_EMPTY_HEADERS_CLIENT_OUTPUT, (), @@ -3341,7 +3583,7 @@ 18, n1, _NAEHSI, - {_sSI: _aNAEHIO}, + {_sSI: _aNAEHIO, _s: None}, (_a_, _b_, _c_), ((3, {_sH: _XA}), (3, {_sH: _XB____}), (STRING_LIST, {_sH: _XC})), ) @@ -3350,7 +3592,7 @@ 18, n1, _NAEHSO, - {_sSI: _aNAEHIO}, + {_sSI: _aNAEHIO, _sm: None}, (_a_, _b_, _c_), ((3, {_sH: _XA}), (3, {_sH: _XB____}), (STRING_LIST, {_sH: _XC})), ) @@ -3359,7 +3601,7 @@ 23, n1, _NAEHS, - {_s: MappingProxyType({"uri": "/NullAndEmptyHeadersServer", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/NullAndEmptyHeadersServer", "method": "GET"})}, NULL_AND_EMPTY_HEADERS_SERVER_INPUT, NULL_AND_EMPTY_HEADERS_SERVER_OUTPUT, (), @@ -3369,18 +3611,27 @@ 18, n1, _ONSESI, - 0, + {_s: None}, (_nVu, _eS), ((3, {_sQ: _Nu}), (3, {_sQ: _Em})), ) -OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT: StaticSchema = (18, n1, _ONSESO, {_sSI: _sU}) +OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT: StaticSchema = ( + 18, + n1, + _ONSESO, + {_sSI: _sU, _sm: None}, +) OMITS_NULL_SERIALIZES_EMPTY_STRING: StaticOperationSchema = ( 23, n1, _ONSES, - {_s: MappingProxyType({"uri": "/OmitsNullSerializesEmptyString", "method": "GET"})}, + { + _smi: MappingProxyType( + {"uri": "/OmitsNullSerializesEmptyString", "method": "GET"} + ) + }, OMITS_NULL_SERIALIZES_EMPTY_STRING_INPUT, OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT, (), @@ -3390,7 +3641,7 @@ 18, n1, _OSELI, - 0, + {_s: None}, (_qSL, _qIL, _qDL, _qBL, _qTL, _qEL, _qIEL), ( (STRING_LIST, {_sQ: _SL}), @@ -3403,13 +3654,18 @@ ), ) -OMITS_SERIALIZING_EMPTY_LISTS_OUTPUT: StaticSchema = (18, n1, _OSELO, {_sSI: _sU}) +OMITS_SERIALIZING_EMPTY_LISTS_OUTPUT: StaticSchema = ( + 18, + n1, + _OSELO, + {_sSI: _sU, _sm: None}, +) OMITS_SERIALIZING_EMPTY_LISTS: StaticOperationSchema = ( 23, n1, _OSEL, - {_s: MappingProxyType({"uri": "/OmitsSerializingEmptyLists", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/OmitsSerializingEmptyLists", "method": "POST"})}, OMITS_SERIALIZING_EMPTY_LISTS_INPUT, OMITS_SERIALIZING_EMPTY_LISTS_OUTPUT, (), @@ -3419,16 +3675,16 @@ 18, n1, _OWDI, - 0, + {_s: None}, (_de, _cOD, _tLD, _oTLD), - ((DEFAULTS, 0), (CLIENT_OPTIONAL_DEFAULTS, 0), (3, {_sm: _hi}), (7, {_sm: 0})), + ((DEFAULTS, 0), (CLIENT_OPTIONAL_DEFAULTS, 0), (3, {_smit: _hi}), (7, {_smit: 0})), ) OPERATION_WITH_DEFAULTS_OUTPUT: StaticSchema = ( 18, n1, _OWDO, - 0, + {_sm: None}, ( _dS, _dB, @@ -3460,34 +3716,34 @@ _zD, ), ( - (3, {_sm: _hi}), - (2, {_sm: True}), - (TEST_STRING_LIST, {_sm: ()}), - (DOCUMENT, {_sm: None}), - (DOCUMENT, {_sm: _hi}), - (DOCUMENT, {_sm: True}), - (DOCUMENT, {_sm: ()}), - (DOCUMENT, {_sm: None}), - (4, {_sm: 0}), - (1, {_sm: _YWJ}), - (5, {_sm: 1}), - (6, {_sm: 1}), - (7, {_sm: 10}), - (8, {_sm: 100}), - (9, {_sm: 1.0}), - (10, {_sm: 1.0}), - (TEST_STRING_MAP, {_sm: None}), - (TEST_ENUM, {_sm: _FOO}), - (TEST_INT_ENUM, {_sm: 1}), - (3, {_sm: _v_}), - (2, {_sm: False}), - (1, {_sm: _v_}), - (5, {_sm: 0}), - (6, {_sm: 0}), - (7, {_sm: 0}), - (8, {_sm: 0}), - (9, {_sm: 0.0}), - (10, {_sm: 0.0}), + (3, {_smit: _hi}), + (2, {_smit: True}), + (TEST_STRING_LIST, {_smit: ()}), + (DOCUMENT, {_smit: MappingProxyType[str, object]({})}), + (DOCUMENT, {_smit: _hi}), + (DOCUMENT, {_smit: True}), + (DOCUMENT, {_smit: ()}), + (DOCUMENT, {_smit: None}), + (4, {_smit: 0}), + (1, {_smit: _YWJ}), + (5, {_smit: 1}), + (6, {_smit: 1}), + (7, {_smit: 10}), + (8, {_smit: 100}), + (9, {_smit: 1.0}), + (10, {_smit: 1.0}), + (TEST_STRING_MAP, {_smit: MappingProxyType[str, object]({})}), + (TEST_ENUM, {_smit: _FOO}), + (TEST_INT_ENUM, {_smit: 1}), + (3, {_smit: _v__}), + (2, {_smit: False}), + (1, {_smit: _v__}), + (5, {_smit: 0}), + (6, {_smit: 0}), + (7, {_smit: 0}), + (8, {_smit: 0}), + (9, {_smit: 0.0}), + (10, {_smit: 0.0}), ), ) @@ -3495,7 +3751,7 @@ 23, n1, _OWD, - {_s: MappingProxyType({"uri": "/OperationWithDefaults", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/OperationWithDefaults", "method": "POST"})}, OPERATION_WITH_DEFAULTS_INPUT, OPERATION_WITH_DEFAULTS_OUTPUT, (), @@ -3507,14 +3763,18 @@ _TLo, 0, (_di, _dLi, _dMi), - ((DIALOG, 1), (DIALOG_LIST, {_sm: ()}), (DIALOG_MAP, {_sm: None})), + ( + (DIALOG, 1), + (DIALOG_LIST, {_smit: ()}), + (DIALOG_MAP, {_smit: MappingProxyType[str, object]({})}), + ), ) OPERATION_WITH_NESTED_STRUCTURE_INPUT: StaticSchema = ( 18, n1, _OWNSI, - 0, + {_s: None}, (_tLo,), ((TOP_LEVEL, 1),), ) @@ -3523,44 +3783,64 @@ 18, n1, _OWNSO, - 0, + {_sm: None}, (_di, _dLi, _dMi), - ((DIALOG, 1), (DIALOG_LIST, {_sm: ()}), (DIALOG_MAP, {_sm: None})), + ( + (DIALOG, 1), + (DIALOG_LIST, {_smit: ()}), + (DIALOG_MAP, {_smit: MappingProxyType[str, object]({})}), + ), ) OPERATION_WITH_NESTED_STRUCTURE: StaticOperationSchema = ( 23, n1, _OWNS, - {_s: MappingProxyType({"uri": "/OperationWithNestedStructure", "method": "POST"})}, + { + _smi: MappingProxyType( + {"uri": "/OperationWithNestedStructure", "method": "POST"} + ) + }, OPERATION_WITH_NESTED_STRUCTURE_INPUT, OPERATION_WITH_NESTED_STRUCTURE_OUTPUT, (), ) -OUTPUT_STREAM_INPUT: StaticSchema = (18, n1, _OSI, {_sSI: _sU}) +OUTPUT_STREAM_INPUT: StaticSchema = (18, n1, _OSI, {_sSI: _sU, _s: None}) -OUTPUT_STREAM_OUTPUT: StaticSchema = (18, n1, _OSO, 0, (_st,), ((EVENT_STREAM, 16),)) +OUTPUT_STREAM_OUTPUT: StaticSchema = ( + 18, + n1, + _OSO, + {_sm: None}, + (_st,), + ((EVENT_STREAM, 16),), +) OUTPUT_STREAM: StaticOperationSchema = ( 23, n1, _OS, - {_s: MappingProxyType({"method": "POST", "uri": "/OutputStream"})}, + {_smi: MappingProxyType({"method": "POST", "uri": "/OutputStream"})}, OUTPUT_STREAM_INPUT, OUTPUT_STREAM_OUTPUT, (SERVICE_UNAVAILABLE_ERROR,), ) -OUTPUT_STREAM_WITH_INITIAL_RESPONSE_INPUT: StaticSchema = (18, n1, _OSWIRI, {_sSI: _sU}) +OUTPUT_STREAM_WITH_INITIAL_RESPONSE_INPUT: StaticSchema = ( + 18, + n1, + _OSWIRI, + {_sSI: _sU, _s: None}, +) OUTPUT_STREAM_WITH_INITIAL_RESPONSE_OUTPUT: StaticSchema = ( 18, n1, _OSWIRO, - 0, + {_sm: None}, (_iRMn, _st), - ((3, {_sH: _irm_, _smit: None}), (EVENT_STREAM, 16)), + ((3, {_sH: _irm_, _smithy: None}), (EVENT_STREAM, 16)), ) OUTPUT_STREAM_WITH_INITIAL_RESPONSE: StaticOperationSchema = ( @@ -3568,7 +3848,7 @@ n1, _OSWIR, { - _s: MappingProxyType( + _smi: MappingProxyType( {"method": "POST", "uri": "/OutputStreamWithInitialResponse"} ) }, @@ -3585,7 +3865,7 @@ 18, n1, _PPAI, - 0, + {_s: None}, (_ac,), ((PLAYER_ACTION, 0),), ) @@ -3594,7 +3874,7 @@ 18, n1, _PPAO, - 0, + {_sm: None}, (_ac,), ((PLAYER_ACTION, 1),), ) @@ -3603,7 +3883,7 @@ 23, n1, _PPA, - {_s: MappingProxyType({"uri": "/PostPlayerAction", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/PostPlayerAction", "method": "POST"})}, POST_PLAYER_ACTION_INPUT, POST_PLAYER_ACTION_OUTPUT, (), @@ -3622,8 +3902,8 @@ 18, n1, _PUWJNI, - 0, - (_v,), + {_s: None}, + (_va,), ((UNION_WITH_JSON_NAME, 0),), ) @@ -3631,8 +3911,8 @@ 18, n1, _PUWJNO, - 0, - (_v,), + {_sm: None}, + (_va,), ((UNION_WITH_JSON_NAME, 1),), ) @@ -3640,7 +3920,7 @@ 23, n1, _PUWJN, - {_s: MappingProxyType({"uri": "/PostUnionWithJsonName", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/PostUnionWithJsonName", "method": "POST"})}, POST_UNION_WITH_JSON_NAME_INPUT, POST_UNION_WITH_JSON_NAME_OUTPUT, (), @@ -3650,12 +3930,17 @@ 18, n1, _PWCEI, - 0, - (_en, _da), + {_s: None}, + (_enc, _da), ((3, {_sH: _CE_}), (3, 0)), ) -PUT_WITH_CONTENT_ENCODING_OUTPUT: StaticSchema = (18, n1, _PWCEO, {_sSI: _sU}) +PUT_WITH_CONTENT_ENCODING_OUTPUT: StaticSchema = ( + 18, + n1, + _PWCEO, + {_sSI: _sU, _sm: None}, +) PUT_WITH_CONTENT_ENCODING: StaticOperationSchema = ( 23, @@ -3663,7 +3948,7 @@ _PWCE, { _sC: MappingProxyType({"encodings": ("gzip",)}), - _s: MappingProxyType( + _smi: MappingProxyType( {"method": "POST", "uri": "/requestcompression/putcontentwithencoding"} ), }, @@ -3676,18 +3961,27 @@ 18, n1, _QITAFI, - 0, + {_s: None}, (_to,), ((3, {_sQ: _to, _sTm: None}),), ) -QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT: StaticSchema = (18, n1, _QITAFO, {_sSI: _sU}) +QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT: StaticSchema = ( + 18, + n1, + _QITAFO, + {_sSI: _sU, _sm: None}, +) QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL: StaticOperationSchema = ( 23, n1, _QITAF, - {_s: MappingProxyType({"uri": "/QueryIdempotencyTokenAutoFill", "method": "POST"})}, + { + _smi: MappingProxyType( + {"uri": "/QueryIdempotencyTokenAutoFill", "method": "POST"} + ) + }, QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT, QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT, (), @@ -3697,18 +3991,23 @@ 18, n1, _QPASLMI, - 0, + {_s: None}, (_qu, _fo), ((3, {_sQ: _cor}), (STRING_LIST_MAP, 1024)), ) -QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT: StaticSchema = (18, n1, _QPASLMO, {_sSI: _sU}) +QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT: StaticSchema = ( + 18, + n1, + _QPASLMO, + {_sSI: _sU, _sm: None}, +) QUERY_PARAMS_AS_STRING_LIST_MAP: StaticOperationSchema = ( 23, n1, _QPASLM, - {_s: MappingProxyType({"uri": "/StringListMap", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/StringListMap", "method": "POST"})}, QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT, QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT, (), @@ -3718,33 +4017,43 @@ 18, n1, _QPI, - 0, + {_s: None}, (_fo, _b), ((3, {_sQ: _ba}), (STRING_MAP, 1024)), ) -QUERY_PRECEDENCE_OUTPUT: StaticSchema = (18, n1, _QPO, {_sSI: _sU}) +QUERY_PRECEDENCE_OUTPUT: StaticSchema = (18, n1, _QPO, {_sSI: _sU, _sm: None}) QUERY_PRECEDENCE: StaticOperationSchema = ( 23, n1, _QP, - {_s: MappingProxyType({"uri": "/Precedence", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/Precedence", "method": "POST"})}, QUERY_PRECEDENCE_INPUT, QUERY_PRECEDENCE_OUTPUT, (), ) -RESPONSE_CODE_HTTP_FALLBACK_INPUT: StaticSchema = (18, n1, _RCHFI, {_sSI: _aRCHFIO}) +RESPONSE_CODE_HTTP_FALLBACK_INPUT: StaticSchema = ( + 18, + n1, + _RCHFI, + {_sSI: _aRCHFIO, _s: None}, +) -RESPONSE_CODE_HTTP_FALLBACK_OUTPUT: StaticSchema = (18, n1, _RCHFO, {_sSI: _aRCHFIO}) +RESPONSE_CODE_HTTP_FALLBACK_OUTPUT: StaticSchema = ( + 18, + n1, + _RCHFO, + {_sSI: _aRCHFIO, _sm: None}, +) RESPONSE_CODE_HTTP_FALLBACK: StaticOperationSchema = ( 23, n1, _RCHF, { - _s: MappingProxyType( + _smi: MappingProxyType( {"method": "GET", "uri": "/responseCodeHttpFallback", "code": 201} ) }, @@ -3753,16 +4062,23 @@ (), ) -RESPONSE_CODE_REQUIRED_INPUT: StaticSchema = (18, n1, _RCRI, {_sSI: _sU}) +RESPONSE_CODE_REQUIRED_INPUT: StaticSchema = (18, n1, _RCRI, {_sSI: _sU, _s: None}) -RESPONSE_CODE_REQUIRED_OUTPUT: StaticSchema = (18, n1, _RCRO, 0, (_rC,), ((7, 129),)) +RESPONSE_CODE_REQUIRED_OUTPUT: StaticSchema = ( + 18, + n1, + _RCRO, + {_sm: None}, + (_rC,), + ((7, 129),), +) RESPONSE_CODE_REQUIRED: StaticOperationSchema = ( 23, n1, _RCR, { - _s: MappingProxyType( + _smi: MappingProxyType( {"method": "GET", "uri": "/responseCodeRequired", "code": 200} ) }, @@ -3775,8 +4091,8 @@ 18, n1, _SSPI, - {_sSI: _aSSPIO}, - (_fo, _sV, _tBV, _fBV, _bVy, _sVh, _iV, _lVo, _fV, _dVo), + {_sSI: _aSSPIO, _s: None}, + (_fo, _sVt, _tBV, _fBV, _bVy, _sVh, _iV, _lVo, _fV, _dVo), ( (3, {_sH: _XF}), (3, 0), @@ -3795,8 +4111,8 @@ 18, n1, _SSPO, - {_sSI: _aSSPIO}, - (_fo, _sV, _tBV, _fBV, _bVy, _sVh, _iV, _lVo, _fV, _dVo), + {_sSI: _aSSPIO, _sm: None}, + (_fo, _sVt, _tBV, _fBV, _bVy, _sVh, _iV, _lVo, _fV, _dVo), ( (3, {_sH: _XF}), (3, 0), @@ -3815,7 +4131,7 @@ 23, n1, _SSP, - {_s: MappingProxyType({"uri": "/SimpleScalarProperties", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/SimpleScalarProperties", "method": "PUT"})}, SIMPLE_SCALAR_PROPERTIES_INPUT, SIMPLE_SCALAR_PROPERTIES_OUTPUT, (), @@ -3829,7 +4145,7 @@ 18, n1, _SJLI, - {_sSI: _aSJLIO}, + {_sSI: _aSJLIO, _s: None}, (_sSL, _sSLp), ((SPARSE_STRING_LIST, 0), (SPARSE_SHORT_LIST, 0)), ) @@ -3838,7 +4154,7 @@ 18, n1, _SJLO, - {_sSI: _aSJLIO}, + {_sSI: _aSJLIO, _sm: None}, (_sSL, _sSLp), ((SPARSE_STRING_LIST, 0), (SPARSE_SHORT_LIST, 0)), ) @@ -3847,26 +4163,26 @@ 23, n1, _SJL, - {_s: MappingProxyType({"uri": "/SparseJsonLists", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/SparseJsonLists", "method": "PUT"})}, SPARSE_JSON_LISTS_INPUT, SPARSE_JSON_LISTS_OUTPUT, (), ) -SPARSE_BOOLEAN_MAP: StaticSchema = (17, n1, _SBM, 64, (_k, _v), ((3, 0), (2, 0))) +SPARSE_BOOLEAN_MAP: StaticSchema = (17, n1, _SBM, 64, (_k, _va), ((3, 0), (2, 0))) -SPARSE_NUMBER_MAP: StaticSchema = (17, n1, _SNM, 64, (_k, _v), ((3, 0), (7, 0))) +SPARSE_NUMBER_MAP: StaticSchema = (17, n1, _SNM, 64, (_k, _va), ((3, 0), (7, 0))) -SPARSE_SET_MAP: StaticSchema = (17, n1, _SSM, 64, (_k, _v), ((3, 0), (STRING_SET, 0))) +SPARSE_SET_MAP: StaticSchema = (17, n1, _SSM, 64, (_k, _va), ((3, 0), (STRING_SET, 0))) -SPARSE_STRING_MAP: StaticSchema = (17, n0, _SSMp, 64, (_k, _v), ((3, 0), (3, 0))) +SPARSE_STRING_MAP: StaticSchema = (17, n0, _SSMp, 64, (_k, _va), ((3, 0), (3, 0))) SPARSE_STRUCT_MAP: StaticSchema = ( 17, n1, _SSMpa, 64, - (_k, _v), + (_k, _va), ((3, 0), (GREETING_STRUCT, 0)), ) @@ -3874,7 +4190,7 @@ 18, n1, _SJMI, - {_sSI: _aSJMIO}, + {_sSI: _aSJMIO, _s: None}, (_sSM, _sNM, _sBM, _sSMp, _sSMpa), ( (SPARSE_STRUCT_MAP, 0), @@ -3889,7 +4205,7 @@ 18, n1, _SJMO, - {_sSI: _aSJMIO}, + {_sSI: _aSJMIO, _sm: None}, (_sSM, _sNM, _sBM, _sSMp, _sSMpa), ( (SPARSE_STRUCT_MAP, 0), @@ -3904,37 +4220,37 @@ 23, n1, _SJM, - {_s: MappingProxyType({"uri": "/SparseJsonMaps", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/SparseJsonMaps", "method": "POST"})}, SPARSE_JSON_MAPS_INPUT, SPARSE_JSON_MAPS_OUTPUT, (), ) -STREAMING_BLOB: StaticSchema = (1, n1, _SB, {_smith: None}) +STREAMING_BLOB: StaticSchema = (1, n1, _SB, {_smithya: None}) STREAMING_TRAITS_INPUT: StaticSchema = ( 18, n1, _STI, - {_sSI: _aSTIO}, + {_sSI: _aSTIO, _s: None}, (_fo, _bl), - ((3, {_sH: _XF}), (STREAMING_BLOB, {_sm: _v_, _sPm: None})), + ((3, {_sH: _XF}), (STREAMING_BLOB, {_smit: _v__, _sPm: None})), ) STREAMING_TRAITS_OUTPUT: StaticSchema = ( 18, n1, _STO, - {_sSI: _aSTIO}, + {_sSI: _aSTIO, _sm: None}, (_fo, _bl), - ((3, {_sH: _XF}), (STREAMING_BLOB, {_sm: _v_, _sPm: None})), + ((3, {_sH: _XF}), (STREAMING_BLOB, {_smit: _v__, _sPm: None})), ) STREAMING_TRAITS: StaticOperationSchema = ( 23, n1, _ST, - {_s: MappingProxyType({"uri": "/StreamingTraits", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/StreamingTraits", "method": "POST"})}, STREAMING_TRAITS_INPUT, STREAMING_TRAITS_OUTPUT, (), @@ -3944,48 +4260,61 @@ 18, n1, _STRLI, - 0, + {_s: None}, (_fo, _bl), - ((3, {_sH: _XF}), (FINITE_STREAMING_BLOB, {_sm: _v_, _sPm: None})), + ((3, {_sH: _XF}), (FINITE_STREAMING_BLOB, {_smit: _v__, _sPm: None})), ) -STREAMING_TRAITS_REQUIRE_LENGTH_OUTPUT: StaticSchema = (18, n1, _STRLO, {_sSI: _sU}) +STREAMING_TRAITS_REQUIRE_LENGTH_OUTPUT: StaticSchema = ( + 18, + n1, + _STRLO, + {_sSI: _sU, _sm: None}, +) STREAMING_TRAITS_REQUIRE_LENGTH: StaticOperationSchema = ( 23, n1, _STRL, - {_s: MappingProxyType({"uri": "/StreamingTraitsRequireLength", "method": "POST"})}, + { + _smi: MappingProxyType( + {"uri": "/StreamingTraitsRequireLength", "method": "POST"} + ) + }, STREAMING_TRAITS_REQUIRE_LENGTH_INPUT, STREAMING_TRAITS_REQUIRE_LENGTH_OUTPUT, (), ) -STREAMING_TEXT_PLAIN_BLOB: StaticSchema = (1, n1, _STPB, {_smith: None, _sT: _t}) +STREAMING_TEXT_PLAIN_BLOB: StaticSchema = (1, n1, _STPB, {_smithya: None, _sT: _t}) STREAMING_TRAITS_WITH_MEDIA_TYPE_INPUT: StaticSchema = ( 18, n1, _STWMTI, - {_sSI: _aSTWMTIO}, + {_sSI: _aSTWMTIO, _s: None}, (_fo, _bl), - ((3, {_sH: _XF}), (STREAMING_TEXT_PLAIN_BLOB, {_sm: _v_, _sPm: None})), + ((3, {_sH: _XF}), (STREAMING_TEXT_PLAIN_BLOB, {_smit: _v__, _sPm: None})), ) STREAMING_TRAITS_WITH_MEDIA_TYPE_OUTPUT: StaticSchema = ( 18, n1, _STWMTO, - {_sSI: _aSTWMTIO}, + {_sSI: _aSTWMTIO, _sm: None}, (_fo, _bl), - ((3, {_sH: _XF}), (STREAMING_TEXT_PLAIN_BLOB, {_sm: _v_, _sPm: None})), + ((3, {_sH: _XF}), (STREAMING_TEXT_PLAIN_BLOB, {_smit: _v__, _sPm: None})), ) STREAMING_TRAITS_WITH_MEDIA_TYPE: StaticOperationSchema = ( 23, n1, _STWMT, - {_s: MappingProxyType({"uri": "/StreamingTraitsWithMediaType", "method": "POST"})}, + { + _smi: MappingProxyType( + {"uri": "/StreamingTraitsWithMediaType", "method": "POST"} + ) + }, STREAMING_TRAITS_WITH_MEDIA_TYPE_INPUT, STREAMING_TRAITS_WITH_MEDIA_TYPE_OUTPUT, (), @@ -3997,7 +4326,7 @@ 18, n1, _TBSI, - {_sSI: _aTBSIO}, + {_sSI: _aTBSIO, _s: None}, (_tI, _tC), ((3, {_sH: _xati}), (TEST_CONFIG, 0)), ) @@ -4006,7 +4335,7 @@ 18, n1, _TBSO, - {_sSI: _aTBSIO}, + {_sSI: _aTBSIO, _sm: None}, (_tI, _tC), ((3, {_sH: _xati}), (TEST_CONFIG, 0)), ) @@ -4015,19 +4344,24 @@ 23, n1, _TBS, - {_s: MappingProxyType({"uri": "/body", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/body", "method": "POST"})}, TEST_BODY_STRUCTURE_INPUT, TEST_BODY_STRUCTURE_OUTPUT, (), ) -TEST_GET_NO_INPUT_NO_PAYLOAD_INPUT: StaticSchema = (18, n1, _TGNINPI, {_sSI: _sU}) +TEST_GET_NO_INPUT_NO_PAYLOAD_INPUT: StaticSchema = ( + 18, + n1, + _TGNINPI, + {_sSI: _sU, _s: None}, +) TEST_GET_NO_INPUT_NO_PAYLOAD_OUTPUT: StaticSchema = ( 18, n1, _TGNINPO, - {_sSI: _aTNPIO}, + {_sSI: _aTNPIO, _sm: None}, (_tI,), ((3, {_sH: _XATI}),), ) @@ -4036,7 +4370,7 @@ 23, n1, _TGNINP, - {_s: MappingProxyType({"uri": "/no_input_no_payload", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/no_input_no_payload", "method": "GET"})}, TEST_GET_NO_INPUT_NO_PAYLOAD_INPUT, TEST_GET_NO_INPUT_NO_PAYLOAD_OUTPUT, (), @@ -4046,7 +4380,7 @@ 18, n1, _TGNPI, - {_sSI: _aTNPIO}, + {_sSI: _aTNPIO, _s: None}, (_tI,), ((3, {_sH: _XATI}),), ) @@ -4055,7 +4389,7 @@ 18, n1, _TGNPO, - {_sSI: _aTNPIO}, + {_sSI: _aTNPIO, _sm: None}, (_tI,), ((3, {_sH: _XATI}),), ) @@ -4064,7 +4398,7 @@ 23, n1, _TGNP, - {_s: MappingProxyType({"uri": "/no_payload", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/no_payload", "method": "GET"})}, TEST_GET_NO_PAYLOAD_INPUT, TEST_GET_NO_PAYLOAD_OUTPUT, (), @@ -4074,7 +4408,7 @@ 18, n1, _TPBI, - {_sSI: _aTPBIO}, + {_sSI: _aTPBIO, _s: None}, (_cT, _da), ((3, {_sH: _CT}), (1, 16)), ) @@ -4083,7 +4417,7 @@ 18, n1, _TPBO, - {_sSI: _aTPBIO}, + {_sSI: _aTPBIO, _sm: None}, (_cT, _da), ((3, {_sH: _CT}), (1, 16)), ) @@ -4092,7 +4426,7 @@ 23, n1, _TPBe, - {_s: MappingProxyType({"uri": "/blob_payload", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/blob_payload", "method": "POST"})}, TEST_PAYLOAD_BLOB_INPUT, TEST_PAYLOAD_BLOB_OUTPUT, (), @@ -4102,7 +4436,7 @@ 18, n1, _TPSI, - {_sSI: _aTPSIO}, + {_sSI: _aTPSIO, _s: None}, (_tI, _pC), ((3, {_sH: _xati}), (PAYLOAD_CONFIG, 16)), ) @@ -4111,7 +4445,7 @@ 18, n1, _TPSO, - {_sSI: _aTPSIO}, + {_sSI: _aTPSIO, _sm: None}, (_tI, _pC), ((3, {_sH: _xati}), (PAYLOAD_CONFIG, 16)), ) @@ -4120,19 +4454,24 @@ 23, n1, _TPS, - {_s: MappingProxyType({"uri": "/payload", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/payload", "method": "POST"})}, TEST_PAYLOAD_STRUCTURE_INPUT, TEST_PAYLOAD_STRUCTURE_OUTPUT, (), ) -TEST_POST_NO_INPUT_NO_PAYLOAD_INPUT: StaticSchema = (18, n1, _TPNINPI, {_sSI: _sU}) +TEST_POST_NO_INPUT_NO_PAYLOAD_INPUT: StaticSchema = ( + 18, + n1, + _TPNINPI, + {_sSI: _sU, _s: None}, +) TEST_POST_NO_INPUT_NO_PAYLOAD_OUTPUT: StaticSchema = ( 18, n1, _TPNINPO, - {_sSI: _aTNPIO}, + {_sSI: _aTNPIO, _sm: None}, (_tI,), ((3, {_sH: _XATI}),), ) @@ -4141,7 +4480,7 @@ 23, n1, _TPNINP, - {_s: MappingProxyType({"uri": "/no_input_no_payload", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/no_input_no_payload", "method": "POST"})}, TEST_POST_NO_INPUT_NO_PAYLOAD_INPUT, TEST_POST_NO_INPUT_NO_PAYLOAD_OUTPUT, (), @@ -4151,7 +4490,7 @@ 18, n1, _TPNPI, - {_sSI: _aTNPIO}, + {_sSI: _aTNPIO, _s: None}, (_tI,), ((3, {_sH: _XATI}),), ) @@ -4160,7 +4499,7 @@ 18, n1, _TPNPO, - {_sSI: _aTNPIO}, + {_sSI: _aTNPIO, _sm: None}, (_tI,), ((3, {_sH: _XATI}),), ) @@ -4169,7 +4508,7 @@ 23, n1, _TPNP, - {_s: MappingProxyType({"uri": "/no_payload", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/no_payload", "method": "POST"})}, TEST_POST_NO_PAYLOAD_INPUT, TEST_POST_NO_PAYLOAD_OUTPUT, (), @@ -4179,7 +4518,7 @@ 18, n1, _TFHI, - {_sSI: _aTFHIO}, + {_sSI: _aTFHIO, _s: None}, (_mES, _mHD, _mDT, _dFe, _tES, _tHD, _tDT), ( (4, {_sF: _es, _sH: _Xm}), @@ -4196,7 +4535,7 @@ 18, n1, _TFHO, - {_sSI: _aTFHIO}, + {_sSI: _aTFHIO, _sm: None}, (_mES, _mHD, _mDT, _dFe, _tES, _tHD, _tDT), ( (4, {_sF: _es, _sH: _Xm}), @@ -4213,21 +4552,21 @@ 23, n1, _TFH, - {_s: MappingProxyType({"uri": "/TimestampFormatHeaders", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/TimestampFormatHeaders", "method": "POST"})}, TIMESTAMP_FORMAT_HEADERS_INPUT, TIMESTAMP_FORMAT_HEADERS_OUTPUT, (), ) -UNIT_INPUT_AND_OUTPUT_INPUT: StaticSchema = (18, n1, _UIAOI, {_sSI: _sU}) +UNIT_INPUT_AND_OUTPUT_INPUT: StaticSchema = (18, n1, _UIAOI, {_sSI: _sU, _s: None}) -UNIT_INPUT_AND_OUTPUT_OUTPUT: StaticSchema = (18, n1, _UIAOO, {_sSI: _sU}) +UNIT_INPUT_AND_OUTPUT_OUTPUT: StaticSchema = (18, n1, _UIAOO, {_sSI: _sU, _sm: None}) UNIT_INPUT_AND_OUTPUT: StaticOperationSchema = ( 23, n1, _UIAO, - {_s: MappingProxyType({"uri": "/UnitInputAndOutput", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/UnitInputAndOutput", "method": "POST"})}, UNIT_INPUT_AND_OUTPUT_INPUT, UNIT_INPUT_AND_OUTPUT_OUTPUT, (), @@ -4255,7 +4594,7 @@ 18, n1, _RSI, - {_sSI: _aRSIO}, + {_sSI: _aRSIO, _s: None}, (_ne,), ((RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1, 0),), ) @@ -4264,7 +4603,7 @@ 18, n1, _RSO, - {_sSI: _aRSIO}, + {_sSI: _aRSIO, _sm: None}, (_ne,), ((RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1, 0),), ) @@ -4273,7 +4612,7 @@ 23, n1, _RS, - {_s: MappingProxyType({"uri": "/RecursiveShapes", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/RecursiveShapes", "method": "PUT"})}, RECURSIVE_SHAPES_INPUT, RECURSIVE_SHAPES_OUTPUT, (), diff --git a/codegen-output/rest-json-1/src/restjson/client.py b/codegen-output/rest-json-1/src/restjson/client.py index 5c0a36df8..feb06f211 100644 --- a/codegen-output/rest-json-1/src/restjson/client.py +++ b/codegen-output/rest-json-1/src/restjson/client.py @@ -1,5 +1,7 @@ # Code generated by smithy-python-codegen DO NOT EDIT. +from __future__ import annotations + from copy import deepcopy import logging from typing import Any, cast @@ -23,17 +25,9 @@ from .config import AsyncRestJsonProtocolConfig, Plugin from .models import ( ALL_QUERY_STRING_TYPES, - AllQueryStringTypesInput, - AllQueryStringTypesOutput, CONSTANT_AND_VARIABLE_QUERY_STRING, CONSTANT_QUERY_STRING, CONTENT_TYPE_PARAMETERS, - ConstantAndVariableQueryStringInput, - ConstantAndVariableQueryStringOutput, - ConstantQueryStringInput, - ConstantQueryStringOutput, - ContentTypeParametersInput, - ContentTypeParametersOutput, DATETIME_OFFSETS, DOCUMENT_TYPE, DOCUMENT_TYPE_AS_MAP_VALUE, @@ -41,14 +35,6 @@ DUPLEX_STREAM, DUPLEX_STREAM_WITH_DISTINCT_STREAMS, DUPLEX_STREAM_WITH_INITIAL_MESSAGES, - DatetimeOffsetsInput, - DatetimeOffsetsOutput, - DocumentTypeAsMapValueInput, - DocumentTypeAsMapValueOutput, - DocumentTypeAsPayloadInput, - DocumentTypeAsPayloadOutput, - DocumentTypeInput, - DocumentTypeOutput, DuplexStreamInput, DuplexStreamOutput, DuplexStreamWithDistinctStreamsInput, @@ -58,19 +44,9 @@ EMPTY_INPUT_AND_EMPTY_OUTPUT, ENDPOINT_OPERATION, ENDPOINT_WITH_HOST_LABEL_OPERATION, - EmptyInputAndEmptyOutputInput, - EmptyInputAndEmptyOutputOutput, - EndpointOperationInput, - EndpointOperationOutput, - EndpointWithHostLabelOperationInput, - EndpointWithHostLabelOperationOutput, EventStream, FRACTIONAL_SECONDS, - FractionalSecondsInput, - FractionalSecondsOutput, GREETING_WITH_ERRORS, - GreetingWithErrorsInput, - GreetingWithErrorsOutput, HOST_WITH_PATH_OPERATION, HTTP_CHECKSUM_REQUIRED, HTTP_EMPTY_PREFIX_HEADERS, @@ -89,50 +65,10 @@ HTTP_REQUEST_WITH_REGEX_LITERAL, HTTP_RESPONSE_CODE, HTTP_STRING_PAYLOAD, - HostWithPathOperationInput, - HostWithPathOperationOutput, - HttpChecksumRequiredInput, - HttpChecksumRequiredOutput, - HttpEmptyPrefixHeadersInput, - HttpEmptyPrefixHeadersOutput, - HttpEnumPayloadInput, - HttpEnumPayloadOutput, - HttpPayloadTraitsInput, - HttpPayloadTraitsOutput, - HttpPayloadTraitsWithMediaTypeInput, - HttpPayloadTraitsWithMediaTypeOutput, - HttpPayloadWithStructureInput, - HttpPayloadWithStructureOutput, - HttpPayloadWithUnionInput, - HttpPayloadWithUnionOutput, - HttpPrefixHeadersInResponseInput, - HttpPrefixHeadersInResponseOutput, - HttpPrefixHeadersInput, - HttpPrefixHeadersOutput, - HttpQueryParamsOnlyOperationInput, - HttpQueryParamsOnlyOperationOutput, - HttpRequestWithFloatLabelsInput, - HttpRequestWithFloatLabelsOutput, - HttpRequestWithGreedyLabelInPathInput, - HttpRequestWithGreedyLabelInPathOutput, - HttpRequestWithLabelsAndTimestampFormatInput, - HttpRequestWithLabelsAndTimestampFormatOutput, - HttpRequestWithLabelsInput, - HttpRequestWithLabelsOutput, - HttpRequestWithRegexLiteralInput, - HttpRequestWithRegexLiteralOutput, - HttpResponseCodeInput, - HttpResponseCodeOutput, - HttpStringPayloadInput, - HttpStringPayloadOutput, IGNORE_QUERY_PARAMS_IN_RESPONSE, INPUT_AND_OUTPUT_WITH_HEADERS, INPUT_STREAM, INPUT_STREAM_WITH_INITIAL_REQUEST, - IgnoreQueryParamsInResponseInput, - IgnoreQueryParamsInResponseOutput, - InputAndOutputWithHeadersInput, - InputAndOutputWithHeadersOutput, InputStreamInput, InputStreamOutput, InputStreamWithInitialRequestInput, @@ -144,20 +80,6 @@ JSON_MAPS, JSON_TIMESTAMPS, JSON_UNIONS, - JsonBlobsInput, - JsonBlobsOutput, - JsonEnumsInput, - JsonEnumsOutput, - JsonIntEnumsInput, - JsonIntEnumsOutput, - JsonListsInput, - JsonListsOutput, - JsonMapsInput, - JsonMapsOutput, - JsonTimestampsInput, - JsonTimestampsOutput, - JsonUnionsInput, - JsonUnionsOutput, MALFORMED_ACCEPT_WITH_BODY, MALFORMED_ACCEPT_WITH_GENERIC_STRING, MALFORMED_ACCEPT_WITH_PAYLOAD, @@ -192,100 +114,16 @@ MALFORMED_TIMESTAMP_QUERY_HTTP_DATE, MALFORMED_UNION, MEDIA_TYPE_HEADER, - MalformedAcceptWithBodyInput, - MalformedAcceptWithBodyOutput, - MalformedAcceptWithGenericStringInput, - MalformedAcceptWithGenericStringOutput, - MalformedAcceptWithPayloadInput, - MalformedAcceptWithPayloadOutput, - MalformedBlobInput, - MalformedBlobOutput, - MalformedBooleanInput, - MalformedBooleanOutput, - MalformedByteInput, - MalformedByteOutput, - MalformedContentTypeWithBodyInput, - MalformedContentTypeWithBodyOutput, - MalformedContentTypeWithGenericStringInput, - MalformedContentTypeWithGenericStringOutput, - MalformedContentTypeWithPayloadInput, - MalformedContentTypeWithPayloadOutput, - MalformedContentTypeWithoutBodyEmptyInputInput, - MalformedContentTypeWithoutBodyEmptyInputOutput, - MalformedContentTypeWithoutBodyInput, - MalformedContentTypeWithoutBodyOutput, - MalformedDoubleInput, - MalformedDoubleOutput, - MalformedFloatInput, - MalformedFloatOutput, - MalformedIntegerInput, - MalformedIntegerOutput, - MalformedListInput, - MalformedListOutput, - MalformedLongInput, - MalformedLongOutput, - MalformedMapInput, - MalformedMapOutput, - MalformedRequestBodyInput, - MalformedRequestBodyOutput, - MalformedShortInput, - MalformedShortOutput, - MalformedStringInput, - MalformedStringOutput, - MalformedTimestampBodyDateTimeInput, - MalformedTimestampBodyDateTimeOutput, - MalformedTimestampBodyDefaultInput, - MalformedTimestampBodyDefaultOutput, - MalformedTimestampBodyHttpDateInput, - MalformedTimestampBodyHttpDateOutput, - MalformedTimestampHeaderDateTimeInput, - MalformedTimestampHeaderDateTimeOutput, - MalformedTimestampHeaderDefaultInput, - MalformedTimestampHeaderDefaultOutput, - MalformedTimestampHeaderEpochInput, - MalformedTimestampHeaderEpochOutput, - MalformedTimestampPathDefaultInput, - MalformedTimestampPathDefaultOutput, - MalformedTimestampPathEpochInput, - MalformedTimestampPathEpochOutput, - MalformedTimestampPathHttpDateInput, - MalformedTimestampPathHttpDateOutput, - MalformedTimestampQueryDefaultInput, - MalformedTimestampQueryDefaultOutput, - MalformedTimestampQueryEpochInput, - MalformedTimestampQueryEpochOutput, - MalformedTimestampQueryHttpDateInput, - MalformedTimestampQueryHttpDateOutput, - MalformedUnionInput, - MalformedUnionOutput, - MediaTypeHeaderInput, - MediaTypeHeaderOutput, NO_INPUT_AND_NO_OUTPUT, NO_INPUT_AND_OUTPUT, NULL_AND_EMPTY_HEADERS_CLIENT, NULL_AND_EMPTY_HEADERS_SERVER, - NoInputAndNoOutputInput, - NoInputAndNoOutputOutput, - NoInputAndOutputInput, - NoInputAndOutputOutput, - NullAndEmptyHeadersClientInput, - NullAndEmptyHeadersClientOutput, - NullAndEmptyHeadersServerInput, - NullAndEmptyHeadersServerOutput, OMITS_NULL_SERIALIZES_EMPTY_STRING, OMITS_SERIALIZING_EMPTY_LISTS, OPERATION_WITH_DEFAULTS, OPERATION_WITH_NESTED_STRUCTURE, OUTPUT_STREAM, OUTPUT_STREAM_WITH_INITIAL_RESPONSE, - OmitsNullSerializesEmptyStringInput, - OmitsNullSerializesEmptyStringOutput, - OmitsSerializingEmptyListsInput, - OmitsSerializingEmptyListsOutput, - OperationWithDefaultsInput, - OperationWithDefaultsOutput, - OperationWithNestedStructureInput, - OperationWithNestedStructureOutput, OutputStreamInput, OutputStreamOutput, OutputStreamWithInitialResponseInput, @@ -293,48 +131,18 @@ POST_PLAYER_ACTION, POST_UNION_WITH_JSON_NAME, PUT_WITH_CONTENT_ENCODING, - PostPlayerActionInput, - PostPlayerActionOutput, - PostUnionWithJsonNameInput, - PostUnionWithJsonNameOutput, - PutWithContentEncodingInput, - PutWithContentEncodingOutput, QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, QUERY_PARAMS_AS_STRING_LIST_MAP, QUERY_PRECEDENCE, - QueryIdempotencyTokenAutoFillInput, - QueryIdempotencyTokenAutoFillOutput, - QueryParamsAsStringListMapInput, - QueryParamsAsStringListMapOutput, - QueryPrecedenceInput, - QueryPrecedenceOutput, RECURSIVE_SHAPES, RESPONSE_CODE_HTTP_FALLBACK, RESPONSE_CODE_REQUIRED, - RecursiveShapesInput, - RecursiveShapesOutput, - ResponseCodeHttpFallbackInput, - ResponseCodeHttpFallbackOutput, - ResponseCodeRequiredInput, - ResponseCodeRequiredOutput, SIMPLE_SCALAR_PROPERTIES, SPARSE_JSON_LISTS, SPARSE_JSON_MAPS, STREAMING_TRAITS, STREAMING_TRAITS_REQUIRE_LENGTH, STREAMING_TRAITS_WITH_MEDIA_TYPE, - SimpleScalarPropertiesInput, - SimpleScalarPropertiesOutput, - SparseJsonListsInput, - SparseJsonListsOutput, - SparseJsonMapsInput, - SparseJsonMapsOutput, - StreamingTraitsInput, - StreamingTraitsOutput, - StreamingTraitsRequireLengthInput, - StreamingTraitsRequireLengthOutput, - StreamingTraitsWithMediaTypeInput, - StreamingTraitsWithMediaTypeOutput, TEST_BODY_STRUCTURE, TEST_GET_NO_INPUT_NO_PAYLOAD, TEST_GET_NO_PAYLOAD, @@ -343,29 +151,229 @@ TEST_POST_NO_INPUT_NO_PAYLOAD, TEST_POST_NO_PAYLOAD, TIMESTAMP_FORMAT_HEADERS, - TestBodyStructureInput, - TestBodyStructureOutput, - TestGetNoInputNoPayloadInput, - TestGetNoInputNoPayloadOutput, - TestGetNoPayloadInput, - TestGetNoPayloadOutput, - TestPayloadBlobInput, - TestPayloadBlobOutput, - TestPayloadStructureInput, - TestPayloadStructureOutput, - TestPostNoInputNoPayloadInput, - TestPostNoInputNoPayloadOutput, - TestPostNoPayloadInput, - TestPostNoPayloadOutput, - TimestampFormatHeadersInput, - TimestampFormatHeadersOutput, UNIT_INPUT_AND_OUTPUT, - UnitInputAndOutputInput, - UnitInputAndOutputOutput, _EventStreamDeserializer, ) from .user_agent import aws_user_agent_plugin +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from .models import ( + AllQueryStringTypesInput, + AllQueryStringTypesOutput, + ConstantAndVariableQueryStringInput, + ConstantAndVariableQueryStringOutput, + ConstantQueryStringInput, + ConstantQueryStringOutput, + ContentTypeParametersInput, + ContentTypeParametersOutput, + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + DocumentTypeAsMapValueInput, + DocumentTypeAsMapValueOutput, + DocumentTypeAsPayloadInput, + DocumentTypeAsPayloadOutput, + DocumentTypeInput, + DocumentTypeOutput, + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HostWithPathOperationInput, + HostWithPathOperationOutput, + HttpChecksumRequiredInput, + HttpChecksumRequiredOutput, + HttpEmptyPrefixHeadersInput, + HttpEmptyPrefixHeadersOutput, + HttpEnumPayloadInput, + HttpEnumPayloadOutput, + HttpPayloadTraitsInput, + HttpPayloadTraitsOutput, + HttpPayloadTraitsWithMediaTypeInput, + HttpPayloadTraitsWithMediaTypeOutput, + HttpPayloadWithStructureInput, + HttpPayloadWithStructureOutput, + HttpPayloadWithUnionInput, + HttpPayloadWithUnionOutput, + HttpPrefixHeadersInResponseInput, + HttpPrefixHeadersInResponseOutput, + HttpPrefixHeadersInput, + HttpPrefixHeadersOutput, + HttpQueryParamsOnlyOperationInput, + HttpQueryParamsOnlyOperationOutput, + HttpRequestWithFloatLabelsInput, + HttpRequestWithFloatLabelsOutput, + HttpRequestWithGreedyLabelInPathInput, + HttpRequestWithGreedyLabelInPathOutput, + HttpRequestWithLabelsAndTimestampFormatInput, + HttpRequestWithLabelsAndTimestampFormatOutput, + HttpRequestWithLabelsInput, + HttpRequestWithLabelsOutput, + HttpRequestWithRegexLiteralInput, + HttpRequestWithRegexLiteralOutput, + HttpResponseCodeInput, + HttpResponseCodeOutput, + HttpStringPayloadInput, + HttpStringPayloadOutput, + IgnoreQueryParamsInResponseInput, + IgnoreQueryParamsInResponseOutput, + InputAndOutputWithHeadersInput, + InputAndOutputWithHeadersOutput, + JsonBlobsInput, + JsonBlobsOutput, + JsonEnumsInput, + JsonEnumsOutput, + JsonIntEnumsInput, + JsonIntEnumsOutput, + JsonListsInput, + JsonListsOutput, + JsonMapsInput, + JsonMapsOutput, + JsonTimestampsInput, + JsonTimestampsOutput, + JsonUnionsInput, + JsonUnionsOutput, + MalformedAcceptWithBodyInput, + MalformedAcceptWithBodyOutput, + MalformedAcceptWithGenericStringInput, + MalformedAcceptWithGenericStringOutput, + MalformedAcceptWithPayloadInput, + MalformedAcceptWithPayloadOutput, + MalformedBlobInput, + MalformedBlobOutput, + MalformedBooleanInput, + MalformedBooleanOutput, + MalformedByteInput, + MalformedByteOutput, + MalformedContentTypeWithBodyInput, + MalformedContentTypeWithBodyOutput, + MalformedContentTypeWithGenericStringInput, + MalformedContentTypeWithGenericStringOutput, + MalformedContentTypeWithPayloadInput, + MalformedContentTypeWithPayloadOutput, + MalformedContentTypeWithoutBodyEmptyInputInput, + MalformedContentTypeWithoutBodyEmptyInputOutput, + MalformedContentTypeWithoutBodyInput, + MalformedContentTypeWithoutBodyOutput, + MalformedDoubleInput, + MalformedDoubleOutput, + MalformedFloatInput, + MalformedFloatOutput, + MalformedIntegerInput, + MalformedIntegerOutput, + MalformedListInput, + MalformedListOutput, + MalformedLongInput, + MalformedLongOutput, + MalformedMapInput, + MalformedMapOutput, + MalformedRequestBodyInput, + MalformedRequestBodyOutput, + MalformedShortInput, + MalformedShortOutput, + MalformedStringInput, + MalformedStringOutput, + MalformedTimestampBodyDateTimeInput, + MalformedTimestampBodyDateTimeOutput, + MalformedTimestampBodyDefaultInput, + MalformedTimestampBodyDefaultOutput, + MalformedTimestampBodyHttpDateInput, + MalformedTimestampBodyHttpDateOutput, + MalformedTimestampHeaderDateTimeInput, + MalformedTimestampHeaderDateTimeOutput, + MalformedTimestampHeaderDefaultInput, + MalformedTimestampHeaderDefaultOutput, + MalformedTimestampHeaderEpochInput, + MalformedTimestampHeaderEpochOutput, + MalformedTimestampPathDefaultInput, + MalformedTimestampPathDefaultOutput, + MalformedTimestampPathEpochInput, + MalformedTimestampPathEpochOutput, + MalformedTimestampPathHttpDateInput, + MalformedTimestampPathHttpDateOutput, + MalformedTimestampQueryDefaultInput, + MalformedTimestampQueryDefaultOutput, + MalformedTimestampQueryEpochInput, + MalformedTimestampQueryEpochOutput, + MalformedTimestampQueryHttpDateInput, + MalformedTimestampQueryHttpDateOutput, + MalformedUnionInput, + MalformedUnionOutput, + MediaTypeHeaderInput, + MediaTypeHeaderOutput, + NoInputAndNoOutputInput, + NoInputAndNoOutputOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + NullAndEmptyHeadersClientInput, + NullAndEmptyHeadersClientOutput, + NullAndEmptyHeadersServerInput, + NullAndEmptyHeadersServerOutput, + OmitsNullSerializesEmptyStringInput, + OmitsNullSerializesEmptyStringOutput, + OmitsSerializingEmptyListsInput, + OmitsSerializingEmptyListsOutput, + OperationWithDefaultsInput, + OperationWithDefaultsOutput, + OperationWithNestedStructureInput, + OperationWithNestedStructureOutput, + PostPlayerActionInput, + PostPlayerActionOutput, + PostUnionWithJsonNameInput, + PostUnionWithJsonNameOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, + QueryIdempotencyTokenAutoFillInput, + QueryIdempotencyTokenAutoFillOutput, + QueryParamsAsStringListMapInput, + QueryParamsAsStringListMapOutput, + QueryPrecedenceInput, + QueryPrecedenceOutput, + RecursiveShapesInput, + RecursiveShapesOutput, + ResponseCodeHttpFallbackInput, + ResponseCodeHttpFallbackOutput, + ResponseCodeRequiredInput, + ResponseCodeRequiredOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + SparseJsonListsInput, + SparseJsonListsOutput, + SparseJsonMapsInput, + SparseJsonMapsOutput, + StreamingTraitsInput, + StreamingTraitsOutput, + StreamingTraitsRequireLengthInput, + StreamingTraitsRequireLengthOutput, + StreamingTraitsWithMediaTypeInput, + StreamingTraitsWithMediaTypeOutput, + TestBodyStructureInput, + TestBodyStructureOutput, + TestGetNoInputNoPayloadInput, + TestGetNoInputNoPayloadOutput, + TestGetNoPayloadInput, + TestGetNoPayloadOutput, + TestPayloadBlobInput, + TestPayloadBlobOutput, + TestPayloadStructureInput, + TestPayloadStructureOutput, + TestPostNoInputNoPayloadInput, + TestPostNoInputNoPayloadOutput, + TestPostNoPayloadInput, + TestPostNoPayloadOutput, + TimestampFormatHeadersInput, + TimestampFormatHeadersOutput, + UnitInputAndOutputInput, + UnitInputAndOutputOutput, + ) + logger = logging.getLogger(__name__) diff --git a/codegen-output/rest-json-1/src/restjson/config.py b/codegen-output/rest-json-1/src/restjson/config.py index 68c6a03da..b73cec319 100644 --- a/codegen-output/rest-json-1/src/restjson/config.py +++ b/codegen-output/rest-json-1/src/restjson/config.py @@ -1,7 +1,16 @@ # Code generated by smithy-python-codegen DO NOT EDIT. from dataclasses import dataclass, field -from typing import Any, Callable, ClassVar, Self, TypeAlias, Union, Unpack +from typing import ( + Any, + Callable, + ClassVar, + Self, + TYPE_CHECKING, + TypeAlias, + Union, + Unpack, +) from smithy_aws_core.aio.protocols import RestJsonClientProtocol from smithy_aws_core.auth import SigV4AuthScheme @@ -21,529 +30,578 @@ ) from smithy_core.aio.interfaces.auth import AuthScheme from smithy_core.aio.interfaces.identity import IdentityResolver -from smithy_core.interceptors import Interceptor from smithy_core.interfaces.auth import AuthSchemeResolver from smithy_core.shapes import ShapeID from smithy_http.aio.aiohttp import AIOHTTPClient from .auth import HTTPAuthSchemeResolver -from .models import ( - AllQueryStringTypesInput, - AllQueryStringTypesOutput, - ConstantAndVariableQueryStringInput, - ConstantAndVariableQueryStringOutput, - ConstantQueryStringInput, - ConstantQueryStringOutput, - ContentTypeParametersInput, - ContentTypeParametersOutput, - DatetimeOffsetsInput, - DatetimeOffsetsOutput, - DocumentTypeAsMapValueInput, - DocumentTypeAsMapValueOutput, - DocumentTypeAsPayloadInput, - DocumentTypeAsPayloadOutput, - DocumentTypeInput, - DocumentTypeOutput, - DuplexStreamInput, - DuplexStreamOutput, - DuplexStreamWithDistinctStreamsInput, - DuplexStreamWithDistinctStreamsOutput, - DuplexStreamWithInitialMessagesInput, - DuplexStreamWithInitialMessagesOutput, - EmptyInputAndEmptyOutputInput, - EmptyInputAndEmptyOutputOutput, - EndpointOperationInput, - EndpointOperationOutput, - EndpointWithHostLabelOperationInput, - EndpointWithHostLabelOperationOutput, - FractionalSecondsInput, - FractionalSecondsOutput, - GreetingWithErrorsInput, - GreetingWithErrorsOutput, - HostWithPathOperationInput, - HostWithPathOperationOutput, - HttpChecksumRequiredInput, - HttpChecksumRequiredOutput, - HttpEmptyPrefixHeadersInput, - HttpEmptyPrefixHeadersOutput, - HttpEnumPayloadInput, - HttpEnumPayloadOutput, - HttpPayloadTraitsInput, - HttpPayloadTraitsOutput, - HttpPayloadTraitsWithMediaTypeInput, - HttpPayloadTraitsWithMediaTypeOutput, - HttpPayloadWithStructureInput, - HttpPayloadWithStructureOutput, - HttpPayloadWithUnionInput, - HttpPayloadWithUnionOutput, - HttpPrefixHeadersInResponseInput, - HttpPrefixHeadersInResponseOutput, - HttpPrefixHeadersInput, - HttpPrefixHeadersOutput, - HttpQueryParamsOnlyOperationInput, - HttpQueryParamsOnlyOperationOutput, - HttpRequestWithFloatLabelsInput, - HttpRequestWithFloatLabelsOutput, - HttpRequestWithGreedyLabelInPathInput, - HttpRequestWithGreedyLabelInPathOutput, - HttpRequestWithLabelsAndTimestampFormatInput, - HttpRequestWithLabelsAndTimestampFormatOutput, - HttpRequestWithLabelsInput, - HttpRequestWithLabelsOutput, - HttpRequestWithRegexLiteralInput, - HttpRequestWithRegexLiteralOutput, - HttpResponseCodeInput, - HttpResponseCodeOutput, - HttpStringPayloadInput, - HttpStringPayloadOutput, - IgnoreQueryParamsInResponseInput, - IgnoreQueryParamsInResponseOutput, - InputAndOutputWithHeadersInput, - InputAndOutputWithHeadersOutput, - InputStreamInput, - InputStreamOutput, - InputStreamWithInitialRequestInput, - InputStreamWithInitialRequestOutput, - JsonBlobsInput, - JsonBlobsOutput, - JsonEnumsInput, - JsonEnumsOutput, - JsonIntEnumsInput, - JsonIntEnumsOutput, - JsonListsInput, - JsonListsOutput, - JsonMapsInput, - JsonMapsOutput, - JsonTimestampsInput, - JsonTimestampsOutput, - JsonUnionsInput, - JsonUnionsOutput, - MalformedAcceptWithBodyInput, - MalformedAcceptWithBodyOutput, - MalformedAcceptWithGenericStringInput, - MalformedAcceptWithGenericStringOutput, - MalformedAcceptWithPayloadInput, - MalformedAcceptWithPayloadOutput, - MalformedBlobInput, - MalformedBlobOutput, - MalformedBooleanInput, - MalformedBooleanOutput, - MalformedByteInput, - MalformedByteOutput, - MalformedContentTypeWithBodyInput, - MalformedContentTypeWithBodyOutput, - MalformedContentTypeWithGenericStringInput, - MalformedContentTypeWithGenericStringOutput, - MalformedContentTypeWithPayloadInput, - MalformedContentTypeWithPayloadOutput, - MalformedContentTypeWithoutBodyEmptyInputInput, - MalformedContentTypeWithoutBodyEmptyInputOutput, - MalformedContentTypeWithoutBodyInput, - MalformedContentTypeWithoutBodyOutput, - MalformedDoubleInput, - MalformedDoubleOutput, - MalformedFloatInput, - MalformedFloatOutput, - MalformedIntegerInput, - MalformedIntegerOutput, - MalformedListInput, - MalformedListOutput, - MalformedLongInput, - MalformedLongOutput, - MalformedMapInput, - MalformedMapOutput, - MalformedRequestBodyInput, - MalformedRequestBodyOutput, - MalformedShortInput, - MalformedShortOutput, - MalformedStringInput, - MalformedStringOutput, - MalformedTimestampBodyDateTimeInput, - MalformedTimestampBodyDateTimeOutput, - MalformedTimestampBodyDefaultInput, - MalformedTimestampBodyDefaultOutput, - MalformedTimestampBodyHttpDateInput, - MalformedTimestampBodyHttpDateOutput, - MalformedTimestampHeaderDateTimeInput, - MalformedTimestampHeaderDateTimeOutput, - MalformedTimestampHeaderDefaultInput, - MalformedTimestampHeaderDefaultOutput, - MalformedTimestampHeaderEpochInput, - MalformedTimestampHeaderEpochOutput, - MalformedTimestampPathDefaultInput, - MalformedTimestampPathDefaultOutput, - MalformedTimestampPathEpochInput, - MalformedTimestampPathEpochOutput, - MalformedTimestampPathHttpDateInput, - MalformedTimestampPathHttpDateOutput, - MalformedTimestampQueryDefaultInput, - MalformedTimestampQueryDefaultOutput, - MalformedTimestampQueryEpochInput, - MalformedTimestampQueryEpochOutput, - MalformedTimestampQueryHttpDateInput, - MalformedTimestampQueryHttpDateOutput, - MalformedUnionInput, - MalformedUnionOutput, - MediaTypeHeaderInput, - MediaTypeHeaderOutput, - NoInputAndNoOutputInput, - NoInputAndNoOutputOutput, - NoInputAndOutputInput, - NoInputAndOutputOutput, - NullAndEmptyHeadersClientInput, - NullAndEmptyHeadersClientOutput, - NullAndEmptyHeadersServerInput, - NullAndEmptyHeadersServerOutput, - OmitsNullSerializesEmptyStringInput, - OmitsNullSerializesEmptyStringOutput, - OmitsSerializingEmptyListsInput, - OmitsSerializingEmptyListsOutput, - OperationWithDefaultsInput, - OperationWithDefaultsOutput, - OperationWithNestedStructureInput, - OperationWithNestedStructureOutput, - OutputStreamInput, - OutputStreamOutput, - OutputStreamWithInitialResponseInput, - OutputStreamWithInitialResponseOutput, - PostPlayerActionInput, - PostPlayerActionOutput, - PostUnionWithJsonNameInput, - PostUnionWithJsonNameOutput, - PutWithContentEncodingInput, - PutWithContentEncodingOutput, - QueryIdempotencyTokenAutoFillInput, - QueryIdempotencyTokenAutoFillOutput, - QueryParamsAsStringListMapInput, - QueryParamsAsStringListMapOutput, - QueryPrecedenceInput, - QueryPrecedenceOutput, - RecursiveShapesInput, - RecursiveShapesOutput, - ResponseCodeHttpFallbackInput, - ResponseCodeHttpFallbackOutput, - ResponseCodeRequiredInput, - ResponseCodeRequiredOutput, - SimpleScalarPropertiesInput, - SimpleScalarPropertiesOutput, - SparseJsonListsInput, - SparseJsonListsOutput, - SparseJsonMapsInput, - SparseJsonMapsOutput, - StreamingTraitsInput, - StreamingTraitsOutput, - StreamingTraitsRequireLengthInput, - StreamingTraitsRequireLengthOutput, - StreamingTraitsWithMediaTypeInput, - StreamingTraitsWithMediaTypeOutput, - TestBodyStructureInput, - TestBodyStructureOutput, - TestGetNoInputNoPayloadInput, - TestGetNoInputNoPayloadOutput, - TestGetNoPayloadInput, - TestGetNoPayloadOutput, - TestPayloadBlobInput, - TestPayloadBlobOutput, - TestPayloadStructureInput, - TestPayloadStructureOutput, - TestPostNoInputNoPayloadInput, - TestPostNoInputNoPayloadOutput, - TestPostNoPayloadInput, - TestPostNoPayloadOutput, - TimestampFormatHeadersInput, - TimestampFormatHeadersOutput, - UnitInputAndOutputInput, - UnitInputAndOutputOutput, -) -_ServiceInterceptor = Union[ - Interceptor[AllQueryStringTypesInput, AllQueryStringTypesOutput, Any, Any], - Interceptor[ +if TYPE_CHECKING: + from smithy_core.interceptors import Interceptor + from .models import ( + AllQueryStringTypesInput, + AllQueryStringTypesOutput, ConstantAndVariableQueryStringInput, ConstantAndVariableQueryStringOutput, - Any, - Any, - ], - Interceptor[ConstantQueryStringInput, ConstantQueryStringOutput, Any, Any], - Interceptor[ContentTypeParametersInput, ContentTypeParametersOutput, Any, Any], - Interceptor[DatetimeOffsetsInput, DatetimeOffsetsOutput, Any, Any], - Interceptor[DocumentTypeInput, DocumentTypeOutput, Any, Any], - Interceptor[DocumentTypeAsMapValueInput, DocumentTypeAsMapValueOutput, Any, Any], - Interceptor[DocumentTypeAsPayloadInput, DocumentTypeAsPayloadOutput, Any, Any], - Interceptor[DuplexStreamInput, DuplexStreamOutput, Any, Any], - Interceptor[ + ConstantQueryStringInput, + ConstantQueryStringOutput, + ContentTypeParametersInput, + ContentTypeParametersOutput, + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + DocumentTypeAsMapValueInput, + DocumentTypeAsMapValueOutput, + DocumentTypeAsPayloadInput, + DocumentTypeAsPayloadOutput, + DocumentTypeInput, + DocumentTypeOutput, + DuplexStreamInput, + DuplexStreamOutput, DuplexStreamWithDistinctStreamsInput, DuplexStreamWithDistinctStreamsOutput, - Any, - Any, - ], - Interceptor[ DuplexStreamWithInitialMessagesInput, DuplexStreamWithInitialMessagesOutput, - Any, - Any, - ], - Interceptor[ - EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput, Any, Any - ], - Interceptor[EndpointOperationInput, EndpointOperationOutput, Any, Any], - Interceptor[ + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, EndpointWithHostLabelOperationInput, EndpointWithHostLabelOperationOutput, - Any, - Any, - ], - Interceptor[FractionalSecondsInput, FractionalSecondsOutput, Any, Any], - Interceptor[GreetingWithErrorsInput, GreetingWithErrorsOutput, Any, Any], - Interceptor[HostWithPathOperationInput, HostWithPathOperationOutput, Any, Any], - Interceptor[HttpChecksumRequiredInput, HttpChecksumRequiredOutput, Any, Any], - Interceptor[HttpEmptyPrefixHeadersInput, HttpEmptyPrefixHeadersOutput, Any, Any], - Interceptor[HttpEnumPayloadInput, HttpEnumPayloadOutput, Any, Any], - Interceptor[HttpPayloadTraitsInput, HttpPayloadTraitsOutput, Any, Any], - Interceptor[ + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HostWithPathOperationInput, + HostWithPathOperationOutput, + HttpChecksumRequiredInput, + HttpChecksumRequiredOutput, + HttpEmptyPrefixHeadersInput, + HttpEmptyPrefixHeadersOutput, + HttpEnumPayloadInput, + HttpEnumPayloadOutput, + HttpPayloadTraitsInput, + HttpPayloadTraitsOutput, HttpPayloadTraitsWithMediaTypeInput, HttpPayloadTraitsWithMediaTypeOutput, - Any, - Any, - ], - Interceptor[ - HttpPayloadWithStructureInput, HttpPayloadWithStructureOutput, Any, Any - ], - Interceptor[HttpPayloadWithUnionInput, HttpPayloadWithUnionOutput, Any, Any], - Interceptor[HttpPrefixHeadersInput, HttpPrefixHeadersOutput, Any, Any], - Interceptor[ - HttpPrefixHeadersInResponseInput, HttpPrefixHeadersInResponseOutput, Any, Any - ], - Interceptor[ - HttpQueryParamsOnlyOperationInput, HttpQueryParamsOnlyOperationOutput, Any, Any - ], - Interceptor[ - HttpRequestWithFloatLabelsInput, HttpRequestWithFloatLabelsOutput, Any, Any - ], - Interceptor[ + HttpPayloadWithStructureInput, + HttpPayloadWithStructureOutput, + HttpPayloadWithUnionInput, + HttpPayloadWithUnionOutput, + HttpPrefixHeadersInResponseInput, + HttpPrefixHeadersInResponseOutput, + HttpPrefixHeadersInput, + HttpPrefixHeadersOutput, + HttpQueryParamsOnlyOperationInput, + HttpQueryParamsOnlyOperationOutput, + HttpRequestWithFloatLabelsInput, + HttpRequestWithFloatLabelsOutput, HttpRequestWithGreedyLabelInPathInput, HttpRequestWithGreedyLabelInPathOutput, - Any, - Any, - ], - Interceptor[HttpRequestWithLabelsInput, HttpRequestWithLabelsOutput, Any, Any], - Interceptor[ HttpRequestWithLabelsAndTimestampFormatInput, HttpRequestWithLabelsAndTimestampFormatOutput, - Any, - Any, - ], - Interceptor[ - HttpRequestWithRegexLiteralInput, HttpRequestWithRegexLiteralOutput, Any, Any - ], - Interceptor[HttpResponseCodeInput, HttpResponseCodeOutput, Any, Any], - Interceptor[HttpStringPayloadInput, HttpStringPayloadOutput, Any, Any], - Interceptor[ - IgnoreQueryParamsInResponseInput, IgnoreQueryParamsInResponseOutput, Any, Any - ], - Interceptor[ - InputAndOutputWithHeadersInput, InputAndOutputWithHeadersOutput, Any, Any - ], - Interceptor[InputStreamInput, InputStreamOutput, Any, Any], - Interceptor[ + HttpRequestWithLabelsInput, + HttpRequestWithLabelsOutput, + HttpRequestWithRegexLiteralInput, + HttpRequestWithRegexLiteralOutput, + HttpResponseCodeInput, + HttpResponseCodeOutput, + HttpStringPayloadInput, + HttpStringPayloadOutput, + IgnoreQueryParamsInResponseInput, + IgnoreQueryParamsInResponseOutput, + InputAndOutputWithHeadersInput, + InputAndOutputWithHeadersOutput, + InputStreamInput, + InputStreamOutput, InputStreamWithInitialRequestInput, InputStreamWithInitialRequestOutput, - Any, - Any, - ], - Interceptor[JsonBlobsInput, JsonBlobsOutput, Any, Any], - Interceptor[JsonEnumsInput, JsonEnumsOutput, Any, Any], - Interceptor[JsonIntEnumsInput, JsonIntEnumsOutput, Any, Any], - Interceptor[JsonListsInput, JsonListsOutput, Any, Any], - Interceptor[JsonMapsInput, JsonMapsOutput, Any, Any], - Interceptor[JsonTimestampsInput, JsonTimestampsOutput, Any, Any], - Interceptor[JsonUnionsInput, JsonUnionsOutput, Any, Any], - Interceptor[MalformedAcceptWithBodyInput, MalformedAcceptWithBodyOutput, Any, Any], - Interceptor[ + JsonBlobsInput, + JsonBlobsOutput, + JsonEnumsInput, + JsonEnumsOutput, + JsonIntEnumsInput, + JsonIntEnumsOutput, + JsonListsInput, + JsonListsOutput, + JsonMapsInput, + JsonMapsOutput, + JsonTimestampsInput, + JsonTimestampsOutput, + JsonUnionsInput, + JsonUnionsOutput, + MalformedAcceptWithBodyInput, + MalformedAcceptWithBodyOutput, MalformedAcceptWithGenericStringInput, MalformedAcceptWithGenericStringOutput, - Any, - Any, - ], - Interceptor[ - MalformedAcceptWithPayloadInput, MalformedAcceptWithPayloadOutput, Any, Any - ], - Interceptor[MalformedBlobInput, MalformedBlobOutput, Any, Any], - Interceptor[MalformedBooleanInput, MalformedBooleanOutput, Any, Any], - Interceptor[MalformedByteInput, MalformedByteOutput, Any, Any], - Interceptor[ - MalformedContentTypeWithBodyInput, MalformedContentTypeWithBodyOutput, Any, Any - ], - Interceptor[ + MalformedAcceptWithPayloadInput, + MalformedAcceptWithPayloadOutput, + MalformedBlobInput, + MalformedBlobOutput, + MalformedBooleanInput, + MalformedBooleanOutput, + MalformedByteInput, + MalformedByteOutput, + MalformedContentTypeWithBodyInput, + MalformedContentTypeWithBodyOutput, MalformedContentTypeWithGenericStringInput, MalformedContentTypeWithGenericStringOutput, - Any, - Any, - ], - Interceptor[ - MalformedContentTypeWithoutBodyInput, - MalformedContentTypeWithoutBodyOutput, - Any, - Any, - ], - Interceptor[ - MalformedContentTypeWithoutBodyEmptyInputInput, - MalformedContentTypeWithoutBodyEmptyInputOutput, - Any, - Any, - ], - Interceptor[ MalformedContentTypeWithPayloadInput, MalformedContentTypeWithPayloadOutput, - Any, - Any, - ], - Interceptor[MalformedDoubleInput, MalformedDoubleOutput, Any, Any], - Interceptor[MalformedFloatInput, MalformedFloatOutput, Any, Any], - Interceptor[MalformedIntegerInput, MalformedIntegerOutput, Any, Any], - Interceptor[MalformedListInput, MalformedListOutput, Any, Any], - Interceptor[MalformedLongInput, MalformedLongOutput, Any, Any], - Interceptor[MalformedMapInput, MalformedMapOutput, Any, Any], - Interceptor[MalformedRequestBodyInput, MalformedRequestBodyOutput, Any, Any], - Interceptor[MalformedShortInput, MalformedShortOutput, Any, Any], - Interceptor[MalformedStringInput, MalformedStringOutput, Any, Any], - Interceptor[ + MalformedContentTypeWithoutBodyEmptyInputInput, + MalformedContentTypeWithoutBodyEmptyInputOutput, + MalformedContentTypeWithoutBodyInput, + MalformedContentTypeWithoutBodyOutput, + MalformedDoubleInput, + MalformedDoubleOutput, + MalformedFloatInput, + MalformedFloatOutput, + MalformedIntegerInput, + MalformedIntegerOutput, + MalformedListInput, + MalformedListOutput, + MalformedLongInput, + MalformedLongOutput, + MalformedMapInput, + MalformedMapOutput, + MalformedRequestBodyInput, + MalformedRequestBodyOutput, + MalformedShortInput, + MalformedShortOutput, + MalformedStringInput, + MalformedStringOutput, MalformedTimestampBodyDateTimeInput, MalformedTimestampBodyDateTimeOutput, - Any, - Any, - ], - Interceptor[ MalformedTimestampBodyDefaultInput, MalformedTimestampBodyDefaultOutput, - Any, - Any, - ], - Interceptor[ MalformedTimestampBodyHttpDateInput, MalformedTimestampBodyHttpDateOutput, - Any, - Any, - ], - Interceptor[ MalformedTimestampHeaderDateTimeInput, MalformedTimestampHeaderDateTimeOutput, - Any, - Any, - ], - Interceptor[ MalformedTimestampHeaderDefaultInput, MalformedTimestampHeaderDefaultOutput, - Any, - Any, - ], - Interceptor[ MalformedTimestampHeaderEpochInput, MalformedTimestampHeaderEpochOutput, - Any, - Any, - ], - Interceptor[ MalformedTimestampPathDefaultInput, MalformedTimestampPathDefaultOutput, - Any, - Any, - ], - Interceptor[ - MalformedTimestampPathEpochInput, MalformedTimestampPathEpochOutput, Any, Any - ], - Interceptor[ + MalformedTimestampPathEpochInput, + MalformedTimestampPathEpochOutput, MalformedTimestampPathHttpDateInput, MalformedTimestampPathHttpDateOutput, - Any, - Any, - ], - Interceptor[ MalformedTimestampQueryDefaultInput, MalformedTimestampQueryDefaultOutput, - Any, - Any, - ], - Interceptor[ - MalformedTimestampQueryEpochInput, MalformedTimestampQueryEpochOutput, Any, Any - ], - Interceptor[ + MalformedTimestampQueryEpochInput, + MalformedTimestampQueryEpochOutput, MalformedTimestampQueryHttpDateInput, MalformedTimestampQueryHttpDateOutput, - Any, - Any, - ], - Interceptor[MalformedUnionInput, MalformedUnionOutput, Any, Any], - Interceptor[MediaTypeHeaderInput, MediaTypeHeaderOutput, Any, Any], - Interceptor[NoInputAndNoOutputInput, NoInputAndNoOutputOutput, Any, Any], - Interceptor[NoInputAndOutputInput, NoInputAndOutputOutput, Any, Any], - Interceptor[ - NullAndEmptyHeadersClientInput, NullAndEmptyHeadersClientOutput, Any, Any - ], - Interceptor[ - NullAndEmptyHeadersServerInput, NullAndEmptyHeadersServerOutput, Any, Any - ], - Interceptor[ + MalformedUnionInput, + MalformedUnionOutput, + MediaTypeHeaderInput, + MediaTypeHeaderOutput, + NoInputAndNoOutputInput, + NoInputAndNoOutputOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + NullAndEmptyHeadersClientInput, + NullAndEmptyHeadersClientOutput, + NullAndEmptyHeadersServerInput, + NullAndEmptyHeadersServerOutput, OmitsNullSerializesEmptyStringInput, OmitsNullSerializesEmptyStringOutput, - Any, - Any, - ], - Interceptor[ - OmitsSerializingEmptyListsInput, OmitsSerializingEmptyListsOutput, Any, Any - ], - Interceptor[OperationWithDefaultsInput, OperationWithDefaultsOutput, Any, Any], - Interceptor[ - OperationWithNestedStructureInput, OperationWithNestedStructureOutput, Any, Any - ], - Interceptor[OutputStreamInput, OutputStreamOutput, Any, Any], - Interceptor[ + OmitsSerializingEmptyListsInput, + OmitsSerializingEmptyListsOutput, + OperationWithDefaultsInput, + OperationWithDefaultsOutput, + OperationWithNestedStructureInput, + OperationWithNestedStructureOutput, + OutputStreamInput, + OutputStreamOutput, OutputStreamWithInitialResponseInput, OutputStreamWithInitialResponseOutput, - Any, - Any, - ], - Interceptor[PostPlayerActionInput, PostPlayerActionOutput, Any, Any], - Interceptor[PostUnionWithJsonNameInput, PostUnionWithJsonNameOutput, Any, Any], - Interceptor[PutWithContentEncodingInput, PutWithContentEncodingOutput, Any, Any], - Interceptor[ + PostPlayerActionInput, + PostPlayerActionOutput, + PostUnionWithJsonNameInput, + PostUnionWithJsonNameOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, QueryIdempotencyTokenAutoFillInput, QueryIdempotencyTokenAutoFillOutput, - Any, - Any, - ], - Interceptor[ - QueryParamsAsStringListMapInput, QueryParamsAsStringListMapOutput, Any, Any - ], - Interceptor[QueryPrecedenceInput, QueryPrecedenceOutput, Any, Any], - Interceptor[RecursiveShapesInput, RecursiveShapesOutput, Any, Any], - Interceptor[ - ResponseCodeHttpFallbackInput, ResponseCodeHttpFallbackOutput, Any, Any - ], - Interceptor[ResponseCodeRequiredInput, ResponseCodeRequiredOutput, Any, Any], - Interceptor[SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput, Any, Any], - Interceptor[SparseJsonListsInput, SparseJsonListsOutput, Any, Any], - Interceptor[SparseJsonMapsInput, SparseJsonMapsOutput, Any, Any], - Interceptor[StreamingTraitsInput, StreamingTraitsOutput, Any, Any], - Interceptor[ - StreamingTraitsRequireLengthInput, StreamingTraitsRequireLengthOutput, Any, Any - ], - Interceptor[ - StreamingTraitsWithMediaTypeInput, StreamingTraitsWithMediaTypeOutput, Any, Any - ], - Interceptor[TestBodyStructureInput, TestBodyStructureOutput, Any, Any], - Interceptor[TestGetNoInputNoPayloadInput, TestGetNoInputNoPayloadOutput, Any, Any], - Interceptor[TestGetNoPayloadInput, TestGetNoPayloadOutput, Any, Any], - Interceptor[TestPayloadBlobInput, TestPayloadBlobOutput, Any, Any], - Interceptor[TestPayloadStructureInput, TestPayloadStructureOutput, Any, Any], - Interceptor[ - TestPostNoInputNoPayloadInput, TestPostNoInputNoPayloadOutput, Any, Any - ], - Interceptor[TestPostNoPayloadInput, TestPostNoPayloadOutput, Any, Any], - Interceptor[TimestampFormatHeadersInput, TimestampFormatHeadersOutput, Any, Any], - Interceptor[UnitInputAndOutputInput, UnitInputAndOutputOutput, Any, Any], -] + QueryParamsAsStringListMapInput, + QueryParamsAsStringListMapOutput, + QueryPrecedenceInput, + QueryPrecedenceOutput, + RecursiveShapesInput, + RecursiveShapesOutput, + ResponseCodeHttpFallbackInput, + ResponseCodeHttpFallbackOutput, + ResponseCodeRequiredInput, + ResponseCodeRequiredOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + SparseJsonListsInput, + SparseJsonListsOutput, + SparseJsonMapsInput, + SparseJsonMapsOutput, + StreamingTraitsInput, + StreamingTraitsOutput, + StreamingTraitsRequireLengthInput, + StreamingTraitsRequireLengthOutput, + StreamingTraitsWithMediaTypeInput, + StreamingTraitsWithMediaTypeOutput, + TestBodyStructureInput, + TestBodyStructureOutput, + TestGetNoInputNoPayloadInput, + TestGetNoInputNoPayloadOutput, + TestGetNoPayloadInput, + TestGetNoPayloadOutput, + TestPayloadBlobInput, + TestPayloadBlobOutput, + TestPayloadStructureInput, + TestPayloadStructureOutput, + TestPostNoInputNoPayloadInput, + TestPostNoInputNoPayloadOutput, + TestPostNoPayloadInput, + TestPostNoPayloadOutput, + TimestampFormatHeadersInput, + TimestampFormatHeadersOutput, + UnitInputAndOutputInput, + UnitInputAndOutputOutput, + ) + + _ServiceInterceptor = Union[ + Interceptor[AllQueryStringTypesInput, AllQueryStringTypesOutput, Any, Any], + Interceptor[ + ConstantAndVariableQueryStringInput, + ConstantAndVariableQueryStringOutput, + Any, + Any, + ], + Interceptor[ConstantQueryStringInput, ConstantQueryStringOutput, Any, Any], + Interceptor[ContentTypeParametersInput, ContentTypeParametersOutput, Any, Any], + Interceptor[DatetimeOffsetsInput, DatetimeOffsetsOutput, Any, Any], + Interceptor[DocumentTypeInput, DocumentTypeOutput, Any, Any], + Interceptor[ + DocumentTypeAsMapValueInput, DocumentTypeAsMapValueOutput, Any, Any + ], + Interceptor[DocumentTypeAsPayloadInput, DocumentTypeAsPayloadOutput, Any, Any], + Interceptor[DuplexStreamInput, DuplexStreamOutput, Any, Any], + Interceptor[ + DuplexStreamWithDistinctStreamsInput, + DuplexStreamWithDistinctStreamsOutput, + Any, + Any, + ], + Interceptor[ + DuplexStreamWithInitialMessagesInput, + DuplexStreamWithInitialMessagesOutput, + Any, + Any, + ], + Interceptor[ + EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput, Any, Any + ], + Interceptor[EndpointOperationInput, EndpointOperationOutput, Any, Any], + Interceptor[ + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + Any, + Any, + ], + Interceptor[FractionalSecondsInput, FractionalSecondsOutput, Any, Any], + Interceptor[GreetingWithErrorsInput, GreetingWithErrorsOutput, Any, Any], + Interceptor[HostWithPathOperationInput, HostWithPathOperationOutput, Any, Any], + Interceptor[HttpChecksumRequiredInput, HttpChecksumRequiredOutput, Any, Any], + Interceptor[ + HttpEmptyPrefixHeadersInput, HttpEmptyPrefixHeadersOutput, Any, Any + ], + Interceptor[HttpEnumPayloadInput, HttpEnumPayloadOutput, Any, Any], + Interceptor[HttpPayloadTraitsInput, HttpPayloadTraitsOutput, Any, Any], + Interceptor[ + HttpPayloadTraitsWithMediaTypeInput, + HttpPayloadTraitsWithMediaTypeOutput, + Any, + Any, + ], + Interceptor[ + HttpPayloadWithStructureInput, HttpPayloadWithStructureOutput, Any, Any + ], + Interceptor[HttpPayloadWithUnionInput, HttpPayloadWithUnionOutput, Any, Any], + Interceptor[HttpPrefixHeadersInput, HttpPrefixHeadersOutput, Any, Any], + Interceptor[ + HttpPrefixHeadersInResponseInput, + HttpPrefixHeadersInResponseOutput, + Any, + Any, + ], + Interceptor[ + HttpQueryParamsOnlyOperationInput, + HttpQueryParamsOnlyOperationOutput, + Any, + Any, + ], + Interceptor[ + HttpRequestWithFloatLabelsInput, HttpRequestWithFloatLabelsOutput, Any, Any + ], + Interceptor[ + HttpRequestWithGreedyLabelInPathInput, + HttpRequestWithGreedyLabelInPathOutput, + Any, + Any, + ], + Interceptor[HttpRequestWithLabelsInput, HttpRequestWithLabelsOutput, Any, Any], + Interceptor[ + HttpRequestWithLabelsAndTimestampFormatInput, + HttpRequestWithLabelsAndTimestampFormatOutput, + Any, + Any, + ], + Interceptor[ + HttpRequestWithRegexLiteralInput, + HttpRequestWithRegexLiteralOutput, + Any, + Any, + ], + Interceptor[HttpResponseCodeInput, HttpResponseCodeOutput, Any, Any], + Interceptor[HttpStringPayloadInput, HttpStringPayloadOutput, Any, Any], + Interceptor[ + IgnoreQueryParamsInResponseInput, + IgnoreQueryParamsInResponseOutput, + Any, + Any, + ], + Interceptor[ + InputAndOutputWithHeadersInput, InputAndOutputWithHeadersOutput, Any, Any + ], + Interceptor[InputStreamInput, InputStreamOutput, Any, Any], + Interceptor[ + InputStreamWithInitialRequestInput, + InputStreamWithInitialRequestOutput, + Any, + Any, + ], + Interceptor[JsonBlobsInput, JsonBlobsOutput, Any, Any], + Interceptor[JsonEnumsInput, JsonEnumsOutput, Any, Any], + Interceptor[JsonIntEnumsInput, JsonIntEnumsOutput, Any, Any], + Interceptor[JsonListsInput, JsonListsOutput, Any, Any], + Interceptor[JsonMapsInput, JsonMapsOutput, Any, Any], + Interceptor[JsonTimestampsInput, JsonTimestampsOutput, Any, Any], + Interceptor[JsonUnionsInput, JsonUnionsOutput, Any, Any], + Interceptor[ + MalformedAcceptWithBodyInput, MalformedAcceptWithBodyOutput, Any, Any + ], + Interceptor[ + MalformedAcceptWithGenericStringInput, + MalformedAcceptWithGenericStringOutput, + Any, + Any, + ], + Interceptor[ + MalformedAcceptWithPayloadInput, MalformedAcceptWithPayloadOutput, Any, Any + ], + Interceptor[MalformedBlobInput, MalformedBlobOutput, Any, Any], + Interceptor[MalformedBooleanInput, MalformedBooleanOutput, Any, Any], + Interceptor[MalformedByteInput, MalformedByteOutput, Any, Any], + Interceptor[ + MalformedContentTypeWithBodyInput, + MalformedContentTypeWithBodyOutput, + Any, + Any, + ], + Interceptor[ + MalformedContentTypeWithGenericStringInput, + MalformedContentTypeWithGenericStringOutput, + Any, + Any, + ], + Interceptor[ + MalformedContentTypeWithoutBodyInput, + MalformedContentTypeWithoutBodyOutput, + Any, + Any, + ], + Interceptor[ + MalformedContentTypeWithoutBodyEmptyInputInput, + MalformedContentTypeWithoutBodyEmptyInputOutput, + Any, + Any, + ], + Interceptor[ + MalformedContentTypeWithPayloadInput, + MalformedContentTypeWithPayloadOutput, + Any, + Any, + ], + Interceptor[MalformedDoubleInput, MalformedDoubleOutput, Any, Any], + Interceptor[MalformedFloatInput, MalformedFloatOutput, Any, Any], + Interceptor[MalformedIntegerInput, MalformedIntegerOutput, Any, Any], + Interceptor[MalformedListInput, MalformedListOutput, Any, Any], + Interceptor[MalformedLongInput, MalformedLongOutput, Any, Any], + Interceptor[MalformedMapInput, MalformedMapOutput, Any, Any], + Interceptor[MalformedRequestBodyInput, MalformedRequestBodyOutput, Any, Any], + Interceptor[MalformedShortInput, MalformedShortOutput, Any, Any], + Interceptor[MalformedStringInput, MalformedStringOutput, Any, Any], + Interceptor[ + MalformedTimestampBodyDateTimeInput, + MalformedTimestampBodyDateTimeOutput, + Any, + Any, + ], + Interceptor[ + MalformedTimestampBodyDefaultInput, + MalformedTimestampBodyDefaultOutput, + Any, + Any, + ], + Interceptor[ + MalformedTimestampBodyHttpDateInput, + MalformedTimestampBodyHttpDateOutput, + Any, + Any, + ], + Interceptor[ + MalformedTimestampHeaderDateTimeInput, + MalformedTimestampHeaderDateTimeOutput, + Any, + Any, + ], + Interceptor[ + MalformedTimestampHeaderDefaultInput, + MalformedTimestampHeaderDefaultOutput, + Any, + Any, + ], + Interceptor[ + MalformedTimestampHeaderEpochInput, + MalformedTimestampHeaderEpochOutput, + Any, + Any, + ], + Interceptor[ + MalformedTimestampPathDefaultInput, + MalformedTimestampPathDefaultOutput, + Any, + Any, + ], + Interceptor[ + MalformedTimestampPathEpochInput, + MalformedTimestampPathEpochOutput, + Any, + Any, + ], + Interceptor[ + MalformedTimestampPathHttpDateInput, + MalformedTimestampPathHttpDateOutput, + Any, + Any, + ], + Interceptor[ + MalformedTimestampQueryDefaultInput, + MalformedTimestampQueryDefaultOutput, + Any, + Any, + ], + Interceptor[ + MalformedTimestampQueryEpochInput, + MalformedTimestampQueryEpochOutput, + Any, + Any, + ], + Interceptor[ + MalformedTimestampQueryHttpDateInput, + MalformedTimestampQueryHttpDateOutput, + Any, + Any, + ], + Interceptor[MalformedUnionInput, MalformedUnionOutput, Any, Any], + Interceptor[MediaTypeHeaderInput, MediaTypeHeaderOutput, Any, Any], + Interceptor[NoInputAndNoOutputInput, NoInputAndNoOutputOutput, Any, Any], + Interceptor[NoInputAndOutputInput, NoInputAndOutputOutput, Any, Any], + Interceptor[ + NullAndEmptyHeadersClientInput, NullAndEmptyHeadersClientOutput, Any, Any + ], + Interceptor[ + NullAndEmptyHeadersServerInput, NullAndEmptyHeadersServerOutput, Any, Any + ], + Interceptor[ + OmitsNullSerializesEmptyStringInput, + OmitsNullSerializesEmptyStringOutput, + Any, + Any, + ], + Interceptor[ + OmitsSerializingEmptyListsInput, OmitsSerializingEmptyListsOutput, Any, Any + ], + Interceptor[OperationWithDefaultsInput, OperationWithDefaultsOutput, Any, Any], + Interceptor[ + OperationWithNestedStructureInput, + OperationWithNestedStructureOutput, + Any, + Any, + ], + Interceptor[OutputStreamInput, OutputStreamOutput, Any, Any], + Interceptor[ + OutputStreamWithInitialResponseInput, + OutputStreamWithInitialResponseOutput, + Any, + Any, + ], + Interceptor[PostPlayerActionInput, PostPlayerActionOutput, Any, Any], + Interceptor[PostUnionWithJsonNameInput, PostUnionWithJsonNameOutput, Any, Any], + Interceptor[ + PutWithContentEncodingInput, PutWithContentEncodingOutput, Any, Any + ], + Interceptor[ + QueryIdempotencyTokenAutoFillInput, + QueryIdempotencyTokenAutoFillOutput, + Any, + Any, + ], + Interceptor[ + QueryParamsAsStringListMapInput, QueryParamsAsStringListMapOutput, Any, Any + ], + Interceptor[QueryPrecedenceInput, QueryPrecedenceOutput, Any, Any], + Interceptor[RecursiveShapesInput, RecursiveShapesOutput, Any, Any], + Interceptor[ + ResponseCodeHttpFallbackInput, ResponseCodeHttpFallbackOutput, Any, Any + ], + Interceptor[ResponseCodeRequiredInput, ResponseCodeRequiredOutput, Any, Any], + Interceptor[ + SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput, Any, Any + ], + Interceptor[SparseJsonListsInput, SparseJsonListsOutput, Any, Any], + Interceptor[SparseJsonMapsInput, SparseJsonMapsOutput, Any, Any], + Interceptor[StreamingTraitsInput, StreamingTraitsOutput, Any, Any], + Interceptor[ + StreamingTraitsRequireLengthInput, + StreamingTraitsRequireLengthOutput, + Any, + Any, + ], + Interceptor[ + StreamingTraitsWithMediaTypeInput, + StreamingTraitsWithMediaTypeOutput, + Any, + Any, + ], + Interceptor[TestBodyStructureInput, TestBodyStructureOutput, Any, Any], + Interceptor[ + TestGetNoInputNoPayloadInput, TestGetNoInputNoPayloadOutput, Any, Any + ], + Interceptor[TestGetNoPayloadInput, TestGetNoPayloadOutput, Any, Any], + Interceptor[TestPayloadBlobInput, TestPayloadBlobOutput, Any, Any], + Interceptor[TestPayloadStructureInput, TestPayloadStructureOutput, Any, Any], + Interceptor[ + TestPostNoInputNoPayloadInput, TestPostNoInputNoPayloadOutput, Any, Any + ], + Interceptor[TestPostNoPayloadInput, TestPostNoPayloadOutput, Any, Any], + Interceptor[ + TimestampFormatHeadersInput, TimestampFormatHeadersOutput, Any, Any + ], + Interceptor[UnitInputAndOutputInput, UnitInputAndOutputOutput, Any, Any], + ] +else: + _ServiceInterceptor = Any + _PROTOCOL_SETTINGS = ProtocolSettings( namespace="aws.protocoltests.restjson", service_target="RestJson" ) diff --git a/codegen-output/rest-json-1/src/restjson/models.py b/codegen-output/rest-json-1/src/restjson/models.py index aab02c7e7..713560882 100644 --- a/codegen-output/rest-json-1/src/restjson/models.py +++ b/codegen-output/rest-json-1/src/restjson/models.py @@ -1,407 +1,128 @@ # Code generated by smithy-python-codegen DO NOT EDIT. -from base64 import b64decode -from dataclasses import dataclass, field -from datetime import datetime, timezone -from enum import IntEnum, StrEnum -import logging -from typing import Any, Literal, Self, Union - -from smithy_core._schema_compact import hydrate -from smithy_core.aio.interfaces import StreamingBlob -from smithy_core.deserializers import ShapeDeserializer -from smithy_core.documents import Document, TypeRegistry -from smithy_core.exceptions import ModeledError, SerializationError -from smithy_core.prelude import UNIT as _SCHEMA_UNIT -from smithy_core.response import EMPTY_RESPONSE_METADATA, ResponseMetadata -from smithy_core.schemas import APIOperation, Schema -from smithy_core.serializers import ShapeSerializer +from ._private import schemas as _schemas +from smithy_core._dynamic_models import ModelRegistry +from smithy_core.exceptions import ModeledError +from smithy_core.schemas import APIOperation from smithy_core.shapes import ShapeID -from smithy_core.types import JsonString, UnknownEnumMixin from ._private.schemas import ( ALL_QUERY_STRING_TYPES as _SCHEMA_ALL_QUERY_STRING_TYPES, - ALL_QUERY_STRING_TYPES_INPUT as _SCHEMA_ALL_QUERY_STRING_TYPES_INPUT, - ALL_QUERY_STRING_TYPES_OUTPUT as _SCHEMA_ALL_QUERY_STRING_TYPES_OUTPUT, - BLOB_PAYLOAD_EVENT as _SCHEMA_BLOB_PAYLOAD_EVENT, - CLIENT_OPTIONAL_DEFAULTS as _SCHEMA_CLIENT_OPTIONAL_DEFAULTS, - COMPLEX_ERROR as _SCHEMA_COMPLEX_ERROR, - COMPLEX_NESTED_ERROR_DATA as _SCHEMA_COMPLEX_NESTED_ERROR_DATA, CONSTANT_AND_VARIABLE_QUERY_STRING as _SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING, - CONSTANT_AND_VARIABLE_QUERY_STRING_INPUT as _SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING_INPUT, - CONSTANT_AND_VARIABLE_QUERY_STRING_OUTPUT as _SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING_OUTPUT, CONSTANT_QUERY_STRING as _SCHEMA_CONSTANT_QUERY_STRING, - CONSTANT_QUERY_STRING_INPUT as _SCHEMA_CONSTANT_QUERY_STRING_INPUT, - CONSTANT_QUERY_STRING_OUTPUT as _SCHEMA_CONSTANT_QUERY_STRING_OUTPUT, CONTENT_TYPE_PARAMETERS as _SCHEMA_CONTENT_TYPE_PARAMETERS, - CONTENT_TYPE_PARAMETERS_INPUT as _SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT, - CONTENT_TYPE_PARAMETERS_OUTPUT as _SCHEMA_CONTENT_TYPE_PARAMETERS_OUTPUT, DATETIME_OFFSETS as _SCHEMA_DATETIME_OFFSETS, - DATETIME_OFFSETS_INPUT as _SCHEMA_DATETIME_OFFSETS_INPUT, - DATETIME_OFFSETS_OUTPUT as _SCHEMA_DATETIME_OFFSETS_OUTPUT, - DEFAULTS as _SCHEMA_DEFAULTS, - DIALOG as _SCHEMA_DIALOG, DOCUMENT_TYPE as _SCHEMA_DOCUMENT_TYPE, DOCUMENT_TYPE_AS_MAP_VALUE as _SCHEMA_DOCUMENT_TYPE_AS_MAP_VALUE, - DOCUMENT_TYPE_AS_MAP_VALUE_INPUT as _SCHEMA_DOCUMENT_TYPE_AS_MAP_VALUE_INPUT, - DOCUMENT_TYPE_AS_MAP_VALUE_OUTPUT as _SCHEMA_DOCUMENT_TYPE_AS_MAP_VALUE_OUTPUT, DOCUMENT_TYPE_AS_PAYLOAD as _SCHEMA_DOCUMENT_TYPE_AS_PAYLOAD, - DOCUMENT_TYPE_AS_PAYLOAD_INPUT as _SCHEMA_DOCUMENT_TYPE_AS_PAYLOAD_INPUT, - DOCUMENT_TYPE_AS_PAYLOAD_OUTPUT as _SCHEMA_DOCUMENT_TYPE_AS_PAYLOAD_OUTPUT, - DOCUMENT_TYPE_INPUT as _SCHEMA_DOCUMENT_TYPE_INPUT, - DOCUMENT_TYPE_OUTPUT as _SCHEMA_DOCUMENT_TYPE_OUTPUT, DUPLEX_STREAM as _SCHEMA_DUPLEX_STREAM, - DUPLEX_STREAM_INPUT as _SCHEMA_DUPLEX_STREAM_INPUT, - DUPLEX_STREAM_OUTPUT as _SCHEMA_DUPLEX_STREAM_OUTPUT, DUPLEX_STREAM_WITH_DISTINCT_STREAMS as _SCHEMA_DUPLEX_STREAM_WITH_DISTINCT_STREAMS, - DUPLEX_STREAM_WITH_DISTINCT_STREAMS_INPUT as _SCHEMA_DUPLEX_STREAM_WITH_DISTINCT_STREAMS_INPUT, - DUPLEX_STREAM_WITH_DISTINCT_STREAMS_OUTPUT as _SCHEMA_DUPLEX_STREAM_WITH_DISTINCT_STREAMS_OUTPUT, DUPLEX_STREAM_WITH_INITIAL_MESSAGES as _SCHEMA_DUPLEX_STREAM_WITH_INITIAL_MESSAGES, - DUPLEX_STREAM_WITH_INITIAL_MESSAGES_INPUT as _SCHEMA_DUPLEX_STREAM_WITH_INITIAL_MESSAGES_INPUT, - DUPLEX_STREAM_WITH_INITIAL_MESSAGES_OUTPUT as _SCHEMA_DUPLEX_STREAM_WITH_INITIAL_MESSAGES_OUTPUT, EMPTY_INPUT_AND_EMPTY_OUTPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT, - EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT, - EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT, ENDPOINT_OPERATION as _SCHEMA_ENDPOINT_OPERATION, - ENDPOINT_OPERATION_INPUT as _SCHEMA_ENDPOINT_OPERATION_INPUT, - ENDPOINT_OPERATION_OUTPUT as _SCHEMA_ENDPOINT_OPERATION_OUTPUT, ENDPOINT_WITH_HOST_LABEL_OPERATION as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, - ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT, - ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT, - ERROR_EVENT as _SCHEMA_ERROR_EVENT, - EVENT_STREAM as _SCHEMA_EVENT_STREAM, - FAREWELL as _SCHEMA_FAREWELL, - FOO_ERROR as _SCHEMA_FOO_ERROR, FRACTIONAL_SECONDS as _SCHEMA_FRACTIONAL_SECONDS, - FRACTIONAL_SECONDS_INPUT as _SCHEMA_FRACTIONAL_SECONDS_INPUT, - FRACTIONAL_SECONDS_OUTPUT as _SCHEMA_FRACTIONAL_SECONDS_OUTPUT, - GREETING_STRUCT as _SCHEMA_GREETING_STRUCT, GREETING_WITH_ERRORS as _SCHEMA_GREETING_WITH_ERRORS, - GREETING_WITH_ERRORS_INPUT as _SCHEMA_GREETING_WITH_ERRORS_INPUT, - GREETING_WITH_ERRORS_OUTPUT as _SCHEMA_GREETING_WITH_ERRORS_OUTPUT, - HEADERS_AND_EXPLICIT_PAYLOAD_EVENT as _SCHEMA_HEADERS_AND_EXPLICIT_PAYLOAD_EVENT, - HEADERS_AND_IMPLICIT_PAYLOAD_EVENT as _SCHEMA_HEADERS_AND_IMPLICIT_PAYLOAD_EVENT, - HEADERS_EVENT as _SCHEMA_HEADERS_EVENT, HOST_WITH_PATH_OPERATION as _SCHEMA_HOST_WITH_PATH_OPERATION, - HOST_WITH_PATH_OPERATION_INPUT as _SCHEMA_HOST_WITH_PATH_OPERATION_INPUT, - HOST_WITH_PATH_OPERATION_OUTPUT as _SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT, HTTP_CHECKSUM_REQUIRED as _SCHEMA_HTTP_CHECKSUM_REQUIRED, - HTTP_CHECKSUM_REQUIRED_INPUT as _SCHEMA_HTTP_CHECKSUM_REQUIRED_INPUT, - HTTP_CHECKSUM_REQUIRED_OUTPUT as _SCHEMA_HTTP_CHECKSUM_REQUIRED_OUTPUT, HTTP_EMPTY_PREFIX_HEADERS as _SCHEMA_HTTP_EMPTY_PREFIX_HEADERS, - HTTP_EMPTY_PREFIX_HEADERS_INPUT as _SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_INPUT, - HTTP_EMPTY_PREFIX_HEADERS_OUTPUT as _SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_OUTPUT, HTTP_ENUM_PAYLOAD as _SCHEMA_HTTP_ENUM_PAYLOAD, - HTTP_ENUM_PAYLOAD_INPUT as _SCHEMA_HTTP_ENUM_PAYLOAD_INPUT, - HTTP_ENUM_PAYLOAD_OUTPUT as _SCHEMA_HTTP_ENUM_PAYLOAD_OUTPUT, HTTP_PAYLOAD_TRAITS as _SCHEMA_HTTP_PAYLOAD_TRAITS, - HTTP_PAYLOAD_TRAITS_INPUT as _SCHEMA_HTTP_PAYLOAD_TRAITS_INPUT, - HTTP_PAYLOAD_TRAITS_OUTPUT as _SCHEMA_HTTP_PAYLOAD_TRAITS_OUTPUT, HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE as _SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE, - HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_INPUT as _SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_INPUT, - HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_OUTPUT as _SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_OUTPUT, HTTP_PAYLOAD_WITH_STRUCTURE as _SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE, - HTTP_PAYLOAD_WITH_STRUCTURE_INPUT as _SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_INPUT, - HTTP_PAYLOAD_WITH_STRUCTURE_OUTPUT as _SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_OUTPUT, HTTP_PAYLOAD_WITH_UNION as _SCHEMA_HTTP_PAYLOAD_WITH_UNION, - HTTP_PAYLOAD_WITH_UNION_INPUT as _SCHEMA_HTTP_PAYLOAD_WITH_UNION_INPUT, - HTTP_PAYLOAD_WITH_UNION_OUTPUT as _SCHEMA_HTTP_PAYLOAD_WITH_UNION_OUTPUT, HTTP_PREFIX_HEADERS as _SCHEMA_HTTP_PREFIX_HEADERS, - HTTP_PREFIX_HEADERS_INPUT as _SCHEMA_HTTP_PREFIX_HEADERS_INPUT, HTTP_PREFIX_HEADERS_IN_RESPONSE as _SCHEMA_HTTP_PREFIX_HEADERS_IN_RESPONSE, - HTTP_PREFIX_HEADERS_IN_RESPONSE_INPUT as _SCHEMA_HTTP_PREFIX_HEADERS_IN_RESPONSE_INPUT, - HTTP_PREFIX_HEADERS_IN_RESPONSE_OUTPUT as _SCHEMA_HTTP_PREFIX_HEADERS_IN_RESPONSE_OUTPUT, - HTTP_PREFIX_HEADERS_OUTPUT as _SCHEMA_HTTP_PREFIX_HEADERS_OUTPUT, HTTP_QUERY_PARAMS_ONLY_OPERATION as _SCHEMA_HTTP_QUERY_PARAMS_ONLY_OPERATION, - HTTP_QUERY_PARAMS_ONLY_OPERATION_INPUT as _SCHEMA_HTTP_QUERY_PARAMS_ONLY_OPERATION_INPUT, - HTTP_QUERY_PARAMS_ONLY_OPERATION_OUTPUT as _SCHEMA_HTTP_QUERY_PARAMS_ONLY_OPERATION_OUTPUT, HTTP_REQUEST_WITH_FLOAT_LABELS as _SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS, - HTTP_REQUEST_WITH_FLOAT_LABELS_INPUT as _SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS_INPUT, - HTTP_REQUEST_WITH_FLOAT_LABELS_OUTPUT as _SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS_OUTPUT, HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH as _SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH, - HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_INPUT as _SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_INPUT, - HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_OUTPUT as _SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_OUTPUT, HTTP_REQUEST_WITH_LABELS as _SCHEMA_HTTP_REQUEST_WITH_LABELS, HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT as _SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT, - HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_INPUT as _SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_INPUT, - HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_OUTPUT as _SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_OUTPUT, - HTTP_REQUEST_WITH_LABELS_INPUT as _SCHEMA_HTTP_REQUEST_WITH_LABELS_INPUT, - HTTP_REQUEST_WITH_LABELS_OUTPUT as _SCHEMA_HTTP_REQUEST_WITH_LABELS_OUTPUT, HTTP_REQUEST_WITH_REGEX_LITERAL as _SCHEMA_HTTP_REQUEST_WITH_REGEX_LITERAL, - HTTP_REQUEST_WITH_REGEX_LITERAL_INPUT as _SCHEMA_HTTP_REQUEST_WITH_REGEX_LITERAL_INPUT, - HTTP_REQUEST_WITH_REGEX_LITERAL_OUTPUT as _SCHEMA_HTTP_REQUEST_WITH_REGEX_LITERAL_OUTPUT, HTTP_RESPONSE_CODE as _SCHEMA_HTTP_RESPONSE_CODE, - HTTP_RESPONSE_CODE_INPUT as _SCHEMA_HTTP_RESPONSE_CODE_INPUT, - HTTP_RESPONSE_CODE_OUTPUT as _SCHEMA_HTTP_RESPONSE_CODE_OUTPUT, HTTP_STRING_PAYLOAD as _SCHEMA_HTTP_STRING_PAYLOAD, - HTTP_STRING_PAYLOAD_INPUT as _SCHEMA_HTTP_STRING_PAYLOAD_INPUT, - HTTP_STRING_PAYLOAD_OUTPUT as _SCHEMA_HTTP_STRING_PAYLOAD_OUTPUT, IGNORE_QUERY_PARAMS_IN_RESPONSE as _SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE, - IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT as _SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT, - IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT as _SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT, INPUT_AND_OUTPUT_WITH_HEADERS as _SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS, - INPUT_AND_OUTPUT_WITH_HEADERS_INPUT as _SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_INPUT, - INPUT_AND_OUTPUT_WITH_HEADERS_OUTPUT as _SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_OUTPUT, INPUT_STREAM as _SCHEMA_INPUT_STREAM, - INPUT_STREAM_INPUT as _SCHEMA_INPUT_STREAM_INPUT, - INPUT_STREAM_OUTPUT as _SCHEMA_INPUT_STREAM_OUTPUT, INPUT_STREAM_WITH_INITIAL_REQUEST as _SCHEMA_INPUT_STREAM_WITH_INITIAL_REQUEST, - INPUT_STREAM_WITH_INITIAL_REQUEST_INPUT as _SCHEMA_INPUT_STREAM_WITH_INITIAL_REQUEST_INPUT, - INPUT_STREAM_WITH_INITIAL_REQUEST_OUTPUT as _SCHEMA_INPUT_STREAM_WITH_INITIAL_REQUEST_OUTPUT, - INVALID_GREETING as _SCHEMA_INVALID_GREETING, JSON_BLOBS as _SCHEMA_JSON_BLOBS, - JSON_BLOBS_INPUT as _SCHEMA_JSON_BLOBS_INPUT, - JSON_BLOBS_OUTPUT as _SCHEMA_JSON_BLOBS_OUTPUT, JSON_ENUMS as _SCHEMA_JSON_ENUMS, - JSON_ENUMS_INPUT as _SCHEMA_JSON_ENUMS_INPUT, - JSON_ENUMS_OUTPUT as _SCHEMA_JSON_ENUMS_OUTPUT, JSON_INT_ENUMS as _SCHEMA_JSON_INT_ENUMS, - JSON_INT_ENUMS_INPUT as _SCHEMA_JSON_INT_ENUMS_INPUT, - JSON_INT_ENUMS_OUTPUT as _SCHEMA_JSON_INT_ENUMS_OUTPUT, JSON_LISTS as _SCHEMA_JSON_LISTS, - JSON_LISTS_INPUT as _SCHEMA_JSON_LISTS_INPUT, - JSON_LISTS_OUTPUT as _SCHEMA_JSON_LISTS_OUTPUT, JSON_MAPS as _SCHEMA_JSON_MAPS, - JSON_MAPS_INPUT as _SCHEMA_JSON_MAPS_INPUT, - JSON_MAPS_OUTPUT as _SCHEMA_JSON_MAPS_OUTPUT, JSON_TIMESTAMPS as _SCHEMA_JSON_TIMESTAMPS, - JSON_TIMESTAMPS_INPUT as _SCHEMA_JSON_TIMESTAMPS_INPUT, - JSON_TIMESTAMPS_OUTPUT as _SCHEMA_JSON_TIMESTAMPS_OUTPUT, JSON_UNIONS as _SCHEMA_JSON_UNIONS, - JSON_UNIONS_INPUT as _SCHEMA_JSON_UNIONS_INPUT, - JSON_UNIONS_OUTPUT as _SCHEMA_JSON_UNIONS_OUTPUT, MALFORMED_ACCEPT_WITH_BODY as _SCHEMA_MALFORMED_ACCEPT_WITH_BODY, - MALFORMED_ACCEPT_WITH_BODY_INPUT as _SCHEMA_MALFORMED_ACCEPT_WITH_BODY_INPUT, - MALFORMED_ACCEPT_WITH_BODY_OUTPUT as _SCHEMA_MALFORMED_ACCEPT_WITH_BODY_OUTPUT, MALFORMED_ACCEPT_WITH_GENERIC_STRING as _SCHEMA_MALFORMED_ACCEPT_WITH_GENERIC_STRING, - MALFORMED_ACCEPT_WITH_GENERIC_STRING_INPUT as _SCHEMA_MALFORMED_ACCEPT_WITH_GENERIC_STRING_INPUT, - MALFORMED_ACCEPT_WITH_GENERIC_STRING_OUTPUT as _SCHEMA_MALFORMED_ACCEPT_WITH_GENERIC_STRING_OUTPUT, MALFORMED_ACCEPT_WITH_PAYLOAD as _SCHEMA_MALFORMED_ACCEPT_WITH_PAYLOAD, - MALFORMED_ACCEPT_WITH_PAYLOAD_INPUT as _SCHEMA_MALFORMED_ACCEPT_WITH_PAYLOAD_INPUT, - MALFORMED_ACCEPT_WITH_PAYLOAD_OUTPUT as _SCHEMA_MALFORMED_ACCEPT_WITH_PAYLOAD_OUTPUT, MALFORMED_BLOB as _SCHEMA_MALFORMED_BLOB, - MALFORMED_BLOB_INPUT as _SCHEMA_MALFORMED_BLOB_INPUT, - MALFORMED_BLOB_OUTPUT as _SCHEMA_MALFORMED_BLOB_OUTPUT, MALFORMED_BOOLEAN as _SCHEMA_MALFORMED_BOOLEAN, - MALFORMED_BOOLEAN_INPUT as _SCHEMA_MALFORMED_BOOLEAN_INPUT, - MALFORMED_BOOLEAN_OUTPUT as _SCHEMA_MALFORMED_BOOLEAN_OUTPUT, MALFORMED_BYTE as _SCHEMA_MALFORMED_BYTE, - MALFORMED_BYTE_INPUT as _SCHEMA_MALFORMED_BYTE_INPUT, - MALFORMED_BYTE_OUTPUT as _SCHEMA_MALFORMED_BYTE_OUTPUT, MALFORMED_CONTENT_TYPE_WITHOUT_BODY as _SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY, MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT as _SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT, - MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT_INPUT as _SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT_INPUT, - MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT_OUTPUT as _SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT_OUTPUT, - MALFORMED_CONTENT_TYPE_WITHOUT_BODY_INPUT as _SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_INPUT, - MALFORMED_CONTENT_TYPE_WITHOUT_BODY_OUTPUT as _SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_OUTPUT, MALFORMED_CONTENT_TYPE_WITH_BODY as _SCHEMA_MALFORMED_CONTENT_TYPE_WITH_BODY, - MALFORMED_CONTENT_TYPE_WITH_BODY_INPUT as _SCHEMA_MALFORMED_CONTENT_TYPE_WITH_BODY_INPUT, - MALFORMED_CONTENT_TYPE_WITH_BODY_OUTPUT as _SCHEMA_MALFORMED_CONTENT_TYPE_WITH_BODY_OUTPUT, MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING as _SCHEMA_MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING, - MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING_INPUT as _SCHEMA_MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING_INPUT, - MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING_OUTPUT as _SCHEMA_MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING_OUTPUT, MALFORMED_CONTENT_TYPE_WITH_PAYLOAD as _SCHEMA_MALFORMED_CONTENT_TYPE_WITH_PAYLOAD, - MALFORMED_CONTENT_TYPE_WITH_PAYLOAD_INPUT as _SCHEMA_MALFORMED_CONTENT_TYPE_WITH_PAYLOAD_INPUT, - MALFORMED_CONTENT_TYPE_WITH_PAYLOAD_OUTPUT as _SCHEMA_MALFORMED_CONTENT_TYPE_WITH_PAYLOAD_OUTPUT, MALFORMED_DOUBLE as _SCHEMA_MALFORMED_DOUBLE, - MALFORMED_DOUBLE_INPUT as _SCHEMA_MALFORMED_DOUBLE_INPUT, - MALFORMED_DOUBLE_OUTPUT as _SCHEMA_MALFORMED_DOUBLE_OUTPUT, MALFORMED_FLOAT as _SCHEMA_MALFORMED_FLOAT, - MALFORMED_FLOAT_INPUT as _SCHEMA_MALFORMED_FLOAT_INPUT, - MALFORMED_FLOAT_OUTPUT as _SCHEMA_MALFORMED_FLOAT_OUTPUT, MALFORMED_INTEGER as _SCHEMA_MALFORMED_INTEGER, - MALFORMED_INTEGER_INPUT as _SCHEMA_MALFORMED_INTEGER_INPUT, - MALFORMED_INTEGER_OUTPUT as _SCHEMA_MALFORMED_INTEGER_OUTPUT, MALFORMED_LIST as _SCHEMA_MALFORMED_LIST, - MALFORMED_LIST_INPUT as _SCHEMA_MALFORMED_LIST_INPUT, - MALFORMED_LIST_OUTPUT as _SCHEMA_MALFORMED_LIST_OUTPUT, MALFORMED_LONG as _SCHEMA_MALFORMED_LONG, - MALFORMED_LONG_INPUT as _SCHEMA_MALFORMED_LONG_INPUT, - MALFORMED_LONG_OUTPUT as _SCHEMA_MALFORMED_LONG_OUTPUT, MALFORMED_MAP as _SCHEMA_MALFORMED_MAP, - MALFORMED_MAP_INPUT as _SCHEMA_MALFORMED_MAP_INPUT, - MALFORMED_MAP_OUTPUT as _SCHEMA_MALFORMED_MAP_OUTPUT, MALFORMED_REQUEST_BODY as _SCHEMA_MALFORMED_REQUEST_BODY, - MALFORMED_REQUEST_BODY_INPUT as _SCHEMA_MALFORMED_REQUEST_BODY_INPUT, - MALFORMED_REQUEST_BODY_OUTPUT as _SCHEMA_MALFORMED_REQUEST_BODY_OUTPUT, MALFORMED_SHORT as _SCHEMA_MALFORMED_SHORT, - MALFORMED_SHORT_INPUT as _SCHEMA_MALFORMED_SHORT_INPUT, - MALFORMED_SHORT_OUTPUT as _SCHEMA_MALFORMED_SHORT_OUTPUT, MALFORMED_STRING as _SCHEMA_MALFORMED_STRING, - MALFORMED_STRING_INPUT as _SCHEMA_MALFORMED_STRING_INPUT, - MALFORMED_STRING_OUTPUT as _SCHEMA_MALFORMED_STRING_OUTPUT, MALFORMED_TIMESTAMP_BODY_DATE_TIME as _SCHEMA_MALFORMED_TIMESTAMP_BODY_DATE_TIME, - MALFORMED_TIMESTAMP_BODY_DATE_TIME_INPUT as _SCHEMA_MALFORMED_TIMESTAMP_BODY_DATE_TIME_INPUT, - MALFORMED_TIMESTAMP_BODY_DATE_TIME_OUTPUT as _SCHEMA_MALFORMED_TIMESTAMP_BODY_DATE_TIME_OUTPUT, MALFORMED_TIMESTAMP_BODY_DEFAULT as _SCHEMA_MALFORMED_TIMESTAMP_BODY_DEFAULT, - MALFORMED_TIMESTAMP_BODY_DEFAULT_INPUT as _SCHEMA_MALFORMED_TIMESTAMP_BODY_DEFAULT_INPUT, - MALFORMED_TIMESTAMP_BODY_DEFAULT_OUTPUT as _SCHEMA_MALFORMED_TIMESTAMP_BODY_DEFAULT_OUTPUT, MALFORMED_TIMESTAMP_BODY_HTTP_DATE as _SCHEMA_MALFORMED_TIMESTAMP_BODY_HTTP_DATE, - MALFORMED_TIMESTAMP_BODY_HTTP_DATE_INPUT as _SCHEMA_MALFORMED_TIMESTAMP_BODY_HTTP_DATE_INPUT, - MALFORMED_TIMESTAMP_BODY_HTTP_DATE_OUTPUT as _SCHEMA_MALFORMED_TIMESTAMP_BODY_HTTP_DATE_OUTPUT, MALFORMED_TIMESTAMP_HEADER_DATE_TIME as _SCHEMA_MALFORMED_TIMESTAMP_HEADER_DATE_TIME, - MALFORMED_TIMESTAMP_HEADER_DATE_TIME_INPUT as _SCHEMA_MALFORMED_TIMESTAMP_HEADER_DATE_TIME_INPUT, - MALFORMED_TIMESTAMP_HEADER_DATE_TIME_OUTPUT as _SCHEMA_MALFORMED_TIMESTAMP_HEADER_DATE_TIME_OUTPUT, MALFORMED_TIMESTAMP_HEADER_DEFAULT as _SCHEMA_MALFORMED_TIMESTAMP_HEADER_DEFAULT, - MALFORMED_TIMESTAMP_HEADER_DEFAULT_INPUT as _SCHEMA_MALFORMED_TIMESTAMP_HEADER_DEFAULT_INPUT, - MALFORMED_TIMESTAMP_HEADER_DEFAULT_OUTPUT as _SCHEMA_MALFORMED_TIMESTAMP_HEADER_DEFAULT_OUTPUT, MALFORMED_TIMESTAMP_HEADER_EPOCH as _SCHEMA_MALFORMED_TIMESTAMP_HEADER_EPOCH, - MALFORMED_TIMESTAMP_HEADER_EPOCH_INPUT as _SCHEMA_MALFORMED_TIMESTAMP_HEADER_EPOCH_INPUT, - MALFORMED_TIMESTAMP_HEADER_EPOCH_OUTPUT as _SCHEMA_MALFORMED_TIMESTAMP_HEADER_EPOCH_OUTPUT, MALFORMED_TIMESTAMP_PATH_DEFAULT as _SCHEMA_MALFORMED_TIMESTAMP_PATH_DEFAULT, - MALFORMED_TIMESTAMP_PATH_DEFAULT_INPUT as _SCHEMA_MALFORMED_TIMESTAMP_PATH_DEFAULT_INPUT, - MALFORMED_TIMESTAMP_PATH_DEFAULT_OUTPUT as _SCHEMA_MALFORMED_TIMESTAMP_PATH_DEFAULT_OUTPUT, MALFORMED_TIMESTAMP_PATH_EPOCH as _SCHEMA_MALFORMED_TIMESTAMP_PATH_EPOCH, - MALFORMED_TIMESTAMP_PATH_EPOCH_INPUT as _SCHEMA_MALFORMED_TIMESTAMP_PATH_EPOCH_INPUT, - MALFORMED_TIMESTAMP_PATH_EPOCH_OUTPUT as _SCHEMA_MALFORMED_TIMESTAMP_PATH_EPOCH_OUTPUT, MALFORMED_TIMESTAMP_PATH_HTTP_DATE as _SCHEMA_MALFORMED_TIMESTAMP_PATH_HTTP_DATE, - MALFORMED_TIMESTAMP_PATH_HTTP_DATE_INPUT as _SCHEMA_MALFORMED_TIMESTAMP_PATH_HTTP_DATE_INPUT, - MALFORMED_TIMESTAMP_PATH_HTTP_DATE_OUTPUT as _SCHEMA_MALFORMED_TIMESTAMP_PATH_HTTP_DATE_OUTPUT, MALFORMED_TIMESTAMP_QUERY_DEFAULT as _SCHEMA_MALFORMED_TIMESTAMP_QUERY_DEFAULT, - MALFORMED_TIMESTAMP_QUERY_DEFAULT_INPUT as _SCHEMA_MALFORMED_TIMESTAMP_QUERY_DEFAULT_INPUT, - MALFORMED_TIMESTAMP_QUERY_DEFAULT_OUTPUT as _SCHEMA_MALFORMED_TIMESTAMP_QUERY_DEFAULT_OUTPUT, MALFORMED_TIMESTAMP_QUERY_EPOCH as _SCHEMA_MALFORMED_TIMESTAMP_QUERY_EPOCH, - MALFORMED_TIMESTAMP_QUERY_EPOCH_INPUT as _SCHEMA_MALFORMED_TIMESTAMP_QUERY_EPOCH_INPUT, - MALFORMED_TIMESTAMP_QUERY_EPOCH_OUTPUT as _SCHEMA_MALFORMED_TIMESTAMP_QUERY_EPOCH_OUTPUT, MALFORMED_TIMESTAMP_QUERY_HTTP_DATE as _SCHEMA_MALFORMED_TIMESTAMP_QUERY_HTTP_DATE, - MALFORMED_TIMESTAMP_QUERY_HTTP_DATE_INPUT as _SCHEMA_MALFORMED_TIMESTAMP_QUERY_HTTP_DATE_INPUT, - MALFORMED_TIMESTAMP_QUERY_HTTP_DATE_OUTPUT as _SCHEMA_MALFORMED_TIMESTAMP_QUERY_HTTP_DATE_OUTPUT, MALFORMED_UNION as _SCHEMA_MALFORMED_UNION, - MALFORMED_UNION_INPUT as _SCHEMA_MALFORMED_UNION_INPUT, - MALFORMED_UNION_OUTPUT as _SCHEMA_MALFORMED_UNION_OUTPUT, MEDIA_TYPE_HEADER as _SCHEMA_MEDIA_TYPE_HEADER, - MEDIA_TYPE_HEADER_INPUT as _SCHEMA_MEDIA_TYPE_HEADER_INPUT, - MEDIA_TYPE_HEADER_OUTPUT as _SCHEMA_MEDIA_TYPE_HEADER_OUTPUT, - MY_UNION as _SCHEMA_MY_UNION, - NESTED_PAYLOAD as _SCHEMA_NESTED_PAYLOAD, - NESTED_UNION as _SCHEMA_NESTED_UNION, NO_INPUT_AND_NO_OUTPUT as _SCHEMA_NO_INPUT_AND_NO_OUTPUT, - NO_INPUT_AND_NO_OUTPUT_INPUT as _SCHEMA_NO_INPUT_AND_NO_OUTPUT_INPUT, - NO_INPUT_AND_NO_OUTPUT_OUTPUT as _SCHEMA_NO_INPUT_AND_NO_OUTPUT_OUTPUT, NO_INPUT_AND_OUTPUT as _SCHEMA_NO_INPUT_AND_OUTPUT, - NO_INPUT_AND_OUTPUT_INPUT as _SCHEMA_NO_INPUT_AND_OUTPUT_INPUT, - NO_INPUT_AND_OUTPUT_OUTPUT as _SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT, NULL_AND_EMPTY_HEADERS_CLIENT as _SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT, - NULL_AND_EMPTY_HEADERS_CLIENT_INPUT as _SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_INPUT, - NULL_AND_EMPTY_HEADERS_CLIENT_OUTPUT as _SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_OUTPUT, NULL_AND_EMPTY_HEADERS_SERVER as _SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER, - NULL_AND_EMPTY_HEADERS_SERVER_INPUT as _SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_INPUT, - NULL_AND_EMPTY_HEADERS_SERVER_OUTPUT as _SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_OUTPUT, OMITS_NULL_SERIALIZES_EMPTY_STRING as _SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING, - OMITS_NULL_SERIALIZES_EMPTY_STRING_INPUT as _SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING_INPUT, - OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT as _SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT, OMITS_SERIALIZING_EMPTY_LISTS as _SCHEMA_OMITS_SERIALIZING_EMPTY_LISTS, - OMITS_SERIALIZING_EMPTY_LISTS_INPUT as _SCHEMA_OMITS_SERIALIZING_EMPTY_LISTS_INPUT, - OMITS_SERIALIZING_EMPTY_LISTS_OUTPUT as _SCHEMA_OMITS_SERIALIZING_EMPTY_LISTS_OUTPUT, OPERATION_WITH_DEFAULTS as _SCHEMA_OPERATION_WITH_DEFAULTS, - OPERATION_WITH_DEFAULTS_INPUT as _SCHEMA_OPERATION_WITH_DEFAULTS_INPUT, - OPERATION_WITH_DEFAULTS_OUTPUT as _SCHEMA_OPERATION_WITH_DEFAULTS_OUTPUT, OPERATION_WITH_NESTED_STRUCTURE as _SCHEMA_OPERATION_WITH_NESTED_STRUCTURE, - OPERATION_WITH_NESTED_STRUCTURE_INPUT as _SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_INPUT, - OPERATION_WITH_NESTED_STRUCTURE_OUTPUT as _SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_OUTPUT, OUTPUT_STREAM as _SCHEMA_OUTPUT_STREAM, - OUTPUT_STREAM_INPUT as _SCHEMA_OUTPUT_STREAM_INPUT, - OUTPUT_STREAM_OUTPUT as _SCHEMA_OUTPUT_STREAM_OUTPUT, OUTPUT_STREAM_WITH_INITIAL_RESPONSE as _SCHEMA_OUTPUT_STREAM_WITH_INITIAL_RESPONSE, - OUTPUT_STREAM_WITH_INITIAL_RESPONSE_INPUT as _SCHEMA_OUTPUT_STREAM_WITH_INITIAL_RESPONSE_INPUT, - OUTPUT_STREAM_WITH_INITIAL_RESPONSE_OUTPUT as _SCHEMA_OUTPUT_STREAM_WITH_INITIAL_RESPONSE_OUTPUT, - PAYLOAD_CONFIG as _SCHEMA_PAYLOAD_CONFIG, - PAYLOAD_STRUCTURE as _SCHEMA_PAYLOAD_STRUCTURE, - PAYLOAD_UNION as _SCHEMA_PAYLOAD_UNION, - PLAYER_ACTION as _SCHEMA_PLAYER_ACTION, POST_PLAYER_ACTION as _SCHEMA_POST_PLAYER_ACTION, - POST_PLAYER_ACTION_INPUT as _SCHEMA_POST_PLAYER_ACTION_INPUT, - POST_PLAYER_ACTION_OUTPUT as _SCHEMA_POST_PLAYER_ACTION_OUTPUT, POST_UNION_WITH_JSON_NAME as _SCHEMA_POST_UNION_WITH_JSON_NAME, - POST_UNION_WITH_JSON_NAME_INPUT as _SCHEMA_POST_UNION_WITH_JSON_NAME_INPUT, - POST_UNION_WITH_JSON_NAME_OUTPUT as _SCHEMA_POST_UNION_WITH_JSON_NAME_OUTPUT, PUT_WITH_CONTENT_ENCODING as _SCHEMA_PUT_WITH_CONTENT_ENCODING, - PUT_WITH_CONTENT_ENCODING_INPUT as _SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT, - PUT_WITH_CONTENT_ENCODING_OUTPUT as _SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT, QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL as _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, - QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT as _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT, - QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT as _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT, QUERY_PARAMS_AS_STRING_LIST_MAP as _SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP, - QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT as _SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT, - QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT as _SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT, QUERY_PRECEDENCE as _SCHEMA_QUERY_PRECEDENCE, - QUERY_PRECEDENCE_INPUT as _SCHEMA_QUERY_PRECEDENCE_INPUT, - QUERY_PRECEDENCE_OUTPUT as _SCHEMA_QUERY_PRECEDENCE_OUTPUT, RECURSIVE_SHAPES as _SCHEMA_RECURSIVE_SHAPES, - RECURSIVE_SHAPES_INPUT as _SCHEMA_RECURSIVE_SHAPES_INPUT, - RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1 as _SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1, - RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2 as _SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2, - RECURSIVE_SHAPES_OUTPUT as _SCHEMA_RECURSIVE_SHAPES_OUTPUT, - RENAMED_GREETING as _SCHEMA_RENAMED_GREETING, RESPONSE_CODE_HTTP_FALLBACK as _SCHEMA_RESPONSE_CODE_HTTP_FALLBACK, - RESPONSE_CODE_HTTP_FALLBACK_INPUT as _SCHEMA_RESPONSE_CODE_HTTP_FALLBACK_INPUT, - RESPONSE_CODE_HTTP_FALLBACK_OUTPUT as _SCHEMA_RESPONSE_CODE_HTTP_FALLBACK_OUTPUT, RESPONSE_CODE_REQUIRED as _SCHEMA_RESPONSE_CODE_REQUIRED, - RESPONSE_CODE_REQUIRED_INPUT as _SCHEMA_RESPONSE_CODE_REQUIRED_INPUT, - RESPONSE_CODE_REQUIRED_OUTPUT as _SCHEMA_RESPONSE_CODE_REQUIRED_OUTPUT, - SERVICE_UNAVAILABLE_ERROR as _SCHEMA_SERVICE_UNAVAILABLE_ERROR, SIMPLE_SCALAR_PROPERTIES as _SCHEMA_SIMPLE_SCALAR_PROPERTIES, - SIMPLE_SCALAR_PROPERTIES_INPUT as _SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT, - SIMPLE_SCALAR_PROPERTIES_OUTPUT as _SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT, - SIMPLE_UNION as _SCHEMA_SIMPLE_UNION, - SINGLETON_EVENT as _SCHEMA_SINGLETON_EVENT, - SINGLETON_EVENT_STREAM as _SCHEMA_SINGLETON_EVENT_STREAM, SPARSE_JSON_LISTS as _SCHEMA_SPARSE_JSON_LISTS, - SPARSE_JSON_LISTS_INPUT as _SCHEMA_SPARSE_JSON_LISTS_INPUT, - SPARSE_JSON_LISTS_OUTPUT as _SCHEMA_SPARSE_JSON_LISTS_OUTPUT, SPARSE_JSON_MAPS as _SCHEMA_SPARSE_JSON_MAPS, - SPARSE_JSON_MAPS_INPUT as _SCHEMA_SPARSE_JSON_MAPS_INPUT, - SPARSE_JSON_MAPS_OUTPUT as _SCHEMA_SPARSE_JSON_MAPS_OUTPUT, STREAMING_TRAITS as _SCHEMA_STREAMING_TRAITS, - STREAMING_TRAITS_INPUT as _SCHEMA_STREAMING_TRAITS_INPUT, - STREAMING_TRAITS_OUTPUT as _SCHEMA_STREAMING_TRAITS_OUTPUT, STREAMING_TRAITS_REQUIRE_LENGTH as _SCHEMA_STREAMING_TRAITS_REQUIRE_LENGTH, - STREAMING_TRAITS_REQUIRE_LENGTH_INPUT as _SCHEMA_STREAMING_TRAITS_REQUIRE_LENGTH_INPUT, - STREAMING_TRAITS_REQUIRE_LENGTH_OUTPUT as _SCHEMA_STREAMING_TRAITS_REQUIRE_LENGTH_OUTPUT, STREAMING_TRAITS_WITH_MEDIA_TYPE as _SCHEMA_STREAMING_TRAITS_WITH_MEDIA_TYPE, - STREAMING_TRAITS_WITH_MEDIA_TYPE_INPUT as _SCHEMA_STREAMING_TRAITS_WITH_MEDIA_TYPE_INPUT, - STREAMING_TRAITS_WITH_MEDIA_TYPE_OUTPUT as _SCHEMA_STREAMING_TRAITS_WITH_MEDIA_TYPE_OUTPUT, - STRING_PAYLOAD_EVENT as _SCHEMA_STRING_PAYLOAD_EVENT, - STRUCTURE_LIST_MEMBER as _SCHEMA_STRUCTURE_LIST_MEMBER, - STRUCTURE_PAYLOAD_EVENT as _SCHEMA_STRUCTURE_PAYLOAD_EVENT, TEST_BODY_STRUCTURE as _SCHEMA_TEST_BODY_STRUCTURE, - TEST_BODY_STRUCTURE_INPUT as _SCHEMA_TEST_BODY_STRUCTURE_INPUT, - TEST_BODY_STRUCTURE_OUTPUT as _SCHEMA_TEST_BODY_STRUCTURE_OUTPUT, - TEST_CONFIG as _SCHEMA_TEST_CONFIG, TEST_GET_NO_INPUT_NO_PAYLOAD as _SCHEMA_TEST_GET_NO_INPUT_NO_PAYLOAD, - TEST_GET_NO_INPUT_NO_PAYLOAD_INPUT as _SCHEMA_TEST_GET_NO_INPUT_NO_PAYLOAD_INPUT, - TEST_GET_NO_INPUT_NO_PAYLOAD_OUTPUT as _SCHEMA_TEST_GET_NO_INPUT_NO_PAYLOAD_OUTPUT, TEST_GET_NO_PAYLOAD as _SCHEMA_TEST_GET_NO_PAYLOAD, - TEST_GET_NO_PAYLOAD_INPUT as _SCHEMA_TEST_GET_NO_PAYLOAD_INPUT, - TEST_GET_NO_PAYLOAD_OUTPUT as _SCHEMA_TEST_GET_NO_PAYLOAD_OUTPUT, TEST_PAYLOAD_BLOB as _SCHEMA_TEST_PAYLOAD_BLOB, - TEST_PAYLOAD_BLOB_INPUT as _SCHEMA_TEST_PAYLOAD_BLOB_INPUT, - TEST_PAYLOAD_BLOB_OUTPUT as _SCHEMA_TEST_PAYLOAD_BLOB_OUTPUT, TEST_PAYLOAD_STRUCTURE as _SCHEMA_TEST_PAYLOAD_STRUCTURE, - TEST_PAYLOAD_STRUCTURE_INPUT as _SCHEMA_TEST_PAYLOAD_STRUCTURE_INPUT, - TEST_PAYLOAD_STRUCTURE_OUTPUT as _SCHEMA_TEST_PAYLOAD_STRUCTURE_OUTPUT, TEST_POST_NO_INPUT_NO_PAYLOAD as _SCHEMA_TEST_POST_NO_INPUT_NO_PAYLOAD, - TEST_POST_NO_INPUT_NO_PAYLOAD_INPUT as _SCHEMA_TEST_POST_NO_INPUT_NO_PAYLOAD_INPUT, - TEST_POST_NO_INPUT_NO_PAYLOAD_OUTPUT as _SCHEMA_TEST_POST_NO_INPUT_NO_PAYLOAD_OUTPUT, TEST_POST_NO_PAYLOAD as _SCHEMA_TEST_POST_NO_PAYLOAD, - TEST_POST_NO_PAYLOAD_INPUT as _SCHEMA_TEST_POST_NO_PAYLOAD_INPUT, - TEST_POST_NO_PAYLOAD_OUTPUT as _SCHEMA_TEST_POST_NO_PAYLOAD_OUTPUT, TIMESTAMP_FORMAT_HEADERS as _SCHEMA_TIMESTAMP_FORMAT_HEADERS, - TIMESTAMP_FORMAT_HEADERS_INPUT as _SCHEMA_TIMESTAMP_FORMAT_HEADERS_INPUT, - TIMESTAMP_FORMAT_HEADERS_OUTPUT as _SCHEMA_TIMESTAMP_FORMAT_HEADERS_OUTPUT, - TOP_LEVEL as _SCHEMA_TOP_LEVEL, - UNION_PAYLOAD as _SCHEMA_UNION_PAYLOAD, - UNION_PAYLOAD_EVENT as _SCHEMA_UNION_PAYLOAD_EVENT, - UNION_WITH_JSON_NAME as _SCHEMA_UNION_WITH_JSON_NAME, UNIT_INPUT_AND_OUTPUT as _SCHEMA_UNIT_INPUT_AND_OUTPUT, - UNIT_INPUT_AND_OUTPUT_INPUT as _SCHEMA_UNIT_INPUT_AND_OUTPUT_INPUT, - UNIT_INPUT_AND_OUTPUT_OUTPUT as _SCHEMA_UNIT_INPUT_AND_OUTPUT_OUTPUT, ) -logger = logging.getLogger(__name__) - - class ServiceError(ModeledError): """ Base error for all errors in the service. @@ -411,15582 +132,1386 @@ class ServiceError(ModeledError): """ -def _serialize_boolean_list( - serializer: ShapeSerializer, schema: Schema, value: list[bool] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_boolean(member_schema, e) - +_registry = ModelRegistry( + _schemas, + renames={"RenamedGreeting": "RENAMED_GREETING"}, + index={ + "AllQueryStringTypesInput": "ALL_QUERY_STRING_TYPES_INPUT", + "AllQueryStringTypesOutput": "ALL_QUERY_STRING_TYPES_OUTPUT", + "BlobPayloadEvent": "BLOB_PAYLOAD_EVENT", + "ClientOptionalDefaults": "CLIENT_OPTIONAL_DEFAULTS", + "ComplexError": "COMPLEX_ERROR", + "ComplexNestedErrorData": "COMPLEX_NESTED_ERROR_DATA", + "ConstantAndVariableQueryStringInput": "CONSTANT_AND_VARIABLE_QUERY_STRING_INPUT", + "ConstantAndVariableQueryStringOutput": "CONSTANT_AND_VARIABLE_QUERY_STRING_OUTPUT", + "ConstantQueryStringInput": "CONSTANT_QUERY_STRING_INPUT", + "ConstantQueryStringOutput": "CONSTANT_QUERY_STRING_OUTPUT", + "ContentTypeParametersInput": "CONTENT_TYPE_PARAMETERS_INPUT", + "ContentTypeParametersOutput": "CONTENT_TYPE_PARAMETERS_OUTPUT", + "DatetimeOffsetsInput": "DATETIME_OFFSETS_INPUT", + "DatetimeOffsetsOutput": "DATETIME_OFFSETS_OUTPUT", + "Defaults": "DEFAULTS", + "Dialog": "DIALOG", + "DocumentTypeAsMapValueInput": "DOCUMENT_TYPE_AS_MAP_VALUE_INPUT", + "DocumentTypeAsMapValueOutput": "DOCUMENT_TYPE_AS_MAP_VALUE_OUTPUT", + "DocumentTypeAsPayloadInput": "DOCUMENT_TYPE_AS_PAYLOAD_INPUT", + "DocumentTypeAsPayloadOutput": "DOCUMENT_TYPE_AS_PAYLOAD_OUTPUT", + "DocumentTypeInput": "DOCUMENT_TYPE_INPUT", + "DocumentTypeOutput": "DOCUMENT_TYPE_OUTPUT", + "DuplexStreamInput": "DUPLEX_STREAM_INPUT", + "DuplexStreamOutput": "DUPLEX_STREAM_OUTPUT", + "DuplexStreamWithDistinctStreamsInput": "DUPLEX_STREAM_WITH_DISTINCT_STREAMS_INPUT", + "DuplexStreamWithDistinctStreamsOutput": "DUPLEX_STREAM_WITH_DISTINCT_STREAMS_OUTPUT", + "DuplexStreamWithInitialMessagesInput": "DUPLEX_STREAM_WITH_INITIAL_MESSAGES_INPUT", + "DuplexStreamWithInitialMessagesOutput": "DUPLEX_STREAM_WITH_INITIAL_MESSAGES_OUTPUT", + "EmptyInputAndEmptyOutputInput": "EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT", + "EmptyInputAndEmptyOutputOutput": "EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT", + "EndpointOperationInput": "ENDPOINT_OPERATION_INPUT", + "EndpointOperationOutput": "ENDPOINT_OPERATION_OUTPUT", + "EndpointWithHostLabelOperationInput": "ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT", + "EndpointWithHostLabelOperationOutput": "ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT", + "ErrorEvent": "ERROR_EVENT", + "EventStream": "EVENT_STREAM", + "EventStreamHeaders": "EVENT_STREAM", + "EventStreamBlobPayload": "EVENT_STREAM", + "EventStreamStringPayload": "EVENT_STREAM", + "EventStreamStructurePayload": "EVENT_STREAM", + "EventStreamUnionPayload": "EVENT_STREAM", + "EventStreamHeadersAndExplicitPayload": "EVENT_STREAM", + "EventStreamHeadersAndImplicitPayload": "EVENT_STREAM", + "EventStreamError": "EVENT_STREAM", + "EventStreamUnknown": "EVENT_STREAM", + "Farewell": "FAREWELL", + "FooError": "FOO_ERROR", + "FractionalSecondsInput": "FRACTIONAL_SECONDS_INPUT", + "FractionalSecondsOutput": "FRACTIONAL_SECONDS_OUTPUT", + "GreetingWithErrorsInput": "GREETING_WITH_ERRORS_INPUT", + "GreetingWithErrorsOutput": "GREETING_WITH_ERRORS_OUTPUT", + "HeadersAndExplicitPayloadEvent": "HEADERS_AND_EXPLICIT_PAYLOAD_EVENT", + "HeadersAndImplicitPayloadEvent": "HEADERS_AND_IMPLICIT_PAYLOAD_EVENT", + "HeadersEvent": "HEADERS_EVENT", + "HostWithPathOperationInput": "HOST_WITH_PATH_OPERATION_INPUT", + "HostWithPathOperationOutput": "HOST_WITH_PATH_OPERATION_OUTPUT", + "HttpChecksumRequiredInput": "HTTP_CHECKSUM_REQUIRED_INPUT", + "HttpChecksumRequiredOutput": "HTTP_CHECKSUM_REQUIRED_OUTPUT", + "HttpEmptyPrefixHeadersInput": "HTTP_EMPTY_PREFIX_HEADERS_INPUT", + "HttpEmptyPrefixHeadersOutput": "HTTP_EMPTY_PREFIX_HEADERS_OUTPUT", + "HttpEnumPayloadInput": "HTTP_ENUM_PAYLOAD_INPUT", + "HttpEnumPayloadOutput": "HTTP_ENUM_PAYLOAD_OUTPUT", + "HttpPayloadTraitsInput": "HTTP_PAYLOAD_TRAITS_INPUT", + "HttpPayloadTraitsOutput": "HTTP_PAYLOAD_TRAITS_OUTPUT", + "HttpPayloadTraitsWithMediaTypeInput": "HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_INPUT", + "HttpPayloadTraitsWithMediaTypeOutput": "HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_OUTPUT", + "HttpPayloadWithStructureInput": "HTTP_PAYLOAD_WITH_STRUCTURE_INPUT", + "HttpPayloadWithStructureOutput": "HTTP_PAYLOAD_WITH_STRUCTURE_OUTPUT", + "HttpPayloadWithUnionInput": "HTTP_PAYLOAD_WITH_UNION_INPUT", + "HttpPayloadWithUnionOutput": "HTTP_PAYLOAD_WITH_UNION_OUTPUT", + "HttpPrefixHeadersInput": "HTTP_PREFIX_HEADERS_INPUT", + "HttpPrefixHeadersInResponseInput": "HTTP_PREFIX_HEADERS_IN_RESPONSE_INPUT", + "HttpPrefixHeadersInResponseOutput": "HTTP_PREFIX_HEADERS_IN_RESPONSE_OUTPUT", + "HttpPrefixHeadersOutput": "HTTP_PREFIX_HEADERS_OUTPUT", + "HttpQueryParamsOnlyOperationInput": "HTTP_QUERY_PARAMS_ONLY_OPERATION_INPUT", + "HttpQueryParamsOnlyOperationOutput": "HTTP_QUERY_PARAMS_ONLY_OPERATION_OUTPUT", + "HttpRequestWithFloatLabelsInput": "HTTP_REQUEST_WITH_FLOAT_LABELS_INPUT", + "HttpRequestWithFloatLabelsOutput": "HTTP_REQUEST_WITH_FLOAT_LABELS_OUTPUT", + "HttpRequestWithGreedyLabelInPathInput": "HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_INPUT", + "HttpRequestWithGreedyLabelInPathOutput": "HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_OUTPUT", + "HttpRequestWithLabelsAndTimestampFormatInput": "HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_INPUT", + "HttpRequestWithLabelsAndTimestampFormatOutput": "HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_OUTPUT", + "HttpRequestWithLabelsInput": "HTTP_REQUEST_WITH_LABELS_INPUT", + "HttpRequestWithLabelsOutput": "HTTP_REQUEST_WITH_LABELS_OUTPUT", + "HttpRequestWithRegexLiteralInput": "HTTP_REQUEST_WITH_REGEX_LITERAL_INPUT", + "HttpRequestWithRegexLiteralOutput": "HTTP_REQUEST_WITH_REGEX_LITERAL_OUTPUT", + "HttpResponseCodeInput": "HTTP_RESPONSE_CODE_INPUT", + "HttpResponseCodeOutput": "HTTP_RESPONSE_CODE_OUTPUT", + "HttpStringPayloadInput": "HTTP_STRING_PAYLOAD_INPUT", + "HttpStringPayloadOutput": "HTTP_STRING_PAYLOAD_OUTPUT", + "IgnoreQueryParamsInResponseInput": "IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT", + "IgnoreQueryParamsInResponseOutput": "IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT", + "InputAndOutputWithHeadersInput": "INPUT_AND_OUTPUT_WITH_HEADERS_INPUT", + "InputAndOutputWithHeadersOutput": "INPUT_AND_OUTPUT_WITH_HEADERS_OUTPUT", + "InputStreamInput": "INPUT_STREAM_INPUT", + "InputStreamOutput": "INPUT_STREAM_OUTPUT", + "InputStreamWithInitialRequestInput": "INPUT_STREAM_WITH_INITIAL_REQUEST_INPUT", + "InputStreamWithInitialRequestOutput": "INPUT_STREAM_WITH_INITIAL_REQUEST_OUTPUT", + "InvalidGreeting": "INVALID_GREETING", + "JsonBlobsInput": "JSON_BLOBS_INPUT", + "JsonBlobsOutput": "JSON_BLOBS_OUTPUT", + "JsonEnumsInput": "JSON_ENUMS_INPUT", + "JsonEnumsOutput": "JSON_ENUMS_OUTPUT", + "JsonIntEnumsInput": "JSON_INT_ENUMS_INPUT", + "JsonIntEnumsOutput": "JSON_INT_ENUMS_OUTPUT", + "JsonListsInput": "JSON_LISTS_INPUT", + "JsonListsOutput": "JSON_LISTS_OUTPUT", + "JsonMapsInput": "JSON_MAPS_INPUT", + "JsonMapsOutput": "JSON_MAPS_OUTPUT", + "JsonTimestampsInput": "JSON_TIMESTAMPS_INPUT", + "JsonTimestampsOutput": "JSON_TIMESTAMPS_OUTPUT", + "JsonUnionsInput": "JSON_UNIONS_INPUT", + "JsonUnionsOutput": "JSON_UNIONS_OUTPUT", + "MalformedAcceptWithBodyInput": "MALFORMED_ACCEPT_WITH_BODY_INPUT", + "MalformedAcceptWithBodyOutput": "MALFORMED_ACCEPT_WITH_BODY_OUTPUT", + "MalformedAcceptWithGenericStringInput": "MALFORMED_ACCEPT_WITH_GENERIC_STRING_INPUT", + "MalformedAcceptWithGenericStringOutput": "MALFORMED_ACCEPT_WITH_GENERIC_STRING_OUTPUT", + "MalformedAcceptWithPayloadInput": "MALFORMED_ACCEPT_WITH_PAYLOAD_INPUT", + "MalformedAcceptWithPayloadOutput": "MALFORMED_ACCEPT_WITH_PAYLOAD_OUTPUT", + "MalformedBlobInput": "MALFORMED_BLOB_INPUT", + "MalformedBlobOutput": "MALFORMED_BLOB_OUTPUT", + "MalformedBooleanInput": "MALFORMED_BOOLEAN_INPUT", + "MalformedBooleanOutput": "MALFORMED_BOOLEAN_OUTPUT", + "MalformedByteInput": "MALFORMED_BYTE_INPUT", + "MalformedByteOutput": "MALFORMED_BYTE_OUTPUT", + "MalformedContentTypeWithBodyInput": "MALFORMED_CONTENT_TYPE_WITH_BODY_INPUT", + "MalformedContentTypeWithBodyOutput": "MALFORMED_CONTENT_TYPE_WITH_BODY_OUTPUT", + "MalformedContentTypeWithGenericStringInput": "MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING_INPUT", + "MalformedContentTypeWithGenericStringOutput": "MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING_OUTPUT", + "MalformedContentTypeWithoutBodyEmptyInputInput": "MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT_INPUT", + "MalformedContentTypeWithoutBodyEmptyInputOutput": "MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT_OUTPUT", + "MalformedContentTypeWithoutBodyInput": "MALFORMED_CONTENT_TYPE_WITHOUT_BODY_INPUT", + "MalformedContentTypeWithoutBodyOutput": "MALFORMED_CONTENT_TYPE_WITHOUT_BODY_OUTPUT", + "MalformedContentTypeWithPayloadInput": "MALFORMED_CONTENT_TYPE_WITH_PAYLOAD_INPUT", + "MalformedContentTypeWithPayloadOutput": "MALFORMED_CONTENT_TYPE_WITH_PAYLOAD_OUTPUT", + "MalformedDoubleInput": "MALFORMED_DOUBLE_INPUT", + "MalformedDoubleOutput": "MALFORMED_DOUBLE_OUTPUT", + "MalformedFloatInput": "MALFORMED_FLOAT_INPUT", + "MalformedFloatOutput": "MALFORMED_FLOAT_OUTPUT", + "MalformedIntegerInput": "MALFORMED_INTEGER_INPUT", + "MalformedIntegerOutput": "MALFORMED_INTEGER_OUTPUT", + "MalformedListInput": "MALFORMED_LIST_INPUT", + "MalformedListOutput": "MALFORMED_LIST_OUTPUT", + "MalformedLongInput": "MALFORMED_LONG_INPUT", + "MalformedLongOutput": "MALFORMED_LONG_OUTPUT", + "MalformedMapInput": "MALFORMED_MAP_INPUT", + "MalformedMapOutput": "MALFORMED_MAP_OUTPUT", + "MalformedRequestBodyInput": "MALFORMED_REQUEST_BODY_INPUT", + "MalformedRequestBodyOutput": "MALFORMED_REQUEST_BODY_OUTPUT", + "MalformedShortInput": "MALFORMED_SHORT_INPUT", + "MalformedShortOutput": "MALFORMED_SHORT_OUTPUT", + "MalformedStringInput": "MALFORMED_STRING_INPUT", + "MalformedStringOutput": "MALFORMED_STRING_OUTPUT", + "MalformedTimestampBodyDateTimeInput": "MALFORMED_TIMESTAMP_BODY_DATE_TIME_INPUT", + "MalformedTimestampBodyDateTimeOutput": "MALFORMED_TIMESTAMP_BODY_DATE_TIME_OUTPUT", + "MalformedTimestampBodyDefaultInput": "MALFORMED_TIMESTAMP_BODY_DEFAULT_INPUT", + "MalformedTimestampBodyDefaultOutput": "MALFORMED_TIMESTAMP_BODY_DEFAULT_OUTPUT", + "MalformedTimestampBodyHttpDateInput": "MALFORMED_TIMESTAMP_BODY_HTTP_DATE_INPUT", + "MalformedTimestampBodyHttpDateOutput": "MALFORMED_TIMESTAMP_BODY_HTTP_DATE_OUTPUT", + "MalformedTimestampHeaderDateTimeInput": "MALFORMED_TIMESTAMP_HEADER_DATE_TIME_INPUT", + "MalformedTimestampHeaderDateTimeOutput": "MALFORMED_TIMESTAMP_HEADER_DATE_TIME_OUTPUT", + "MalformedTimestampHeaderDefaultInput": "MALFORMED_TIMESTAMP_HEADER_DEFAULT_INPUT", + "MalformedTimestampHeaderDefaultOutput": "MALFORMED_TIMESTAMP_HEADER_DEFAULT_OUTPUT", + "MalformedTimestampHeaderEpochInput": "MALFORMED_TIMESTAMP_HEADER_EPOCH_INPUT", + "MalformedTimestampHeaderEpochOutput": "MALFORMED_TIMESTAMP_HEADER_EPOCH_OUTPUT", + "MalformedTimestampPathDefaultInput": "MALFORMED_TIMESTAMP_PATH_DEFAULT_INPUT", + "MalformedTimestampPathDefaultOutput": "MALFORMED_TIMESTAMP_PATH_DEFAULT_OUTPUT", + "MalformedTimestampPathEpochInput": "MALFORMED_TIMESTAMP_PATH_EPOCH_INPUT", + "MalformedTimestampPathEpochOutput": "MALFORMED_TIMESTAMP_PATH_EPOCH_OUTPUT", + "MalformedTimestampPathHttpDateInput": "MALFORMED_TIMESTAMP_PATH_HTTP_DATE_INPUT", + "MalformedTimestampPathHttpDateOutput": "MALFORMED_TIMESTAMP_PATH_HTTP_DATE_OUTPUT", + "MalformedTimestampQueryDefaultInput": "MALFORMED_TIMESTAMP_QUERY_DEFAULT_INPUT", + "MalformedTimestampQueryDefaultOutput": "MALFORMED_TIMESTAMP_QUERY_DEFAULT_OUTPUT", + "MalformedTimestampQueryEpochInput": "MALFORMED_TIMESTAMP_QUERY_EPOCH_INPUT", + "MalformedTimestampQueryEpochOutput": "MALFORMED_TIMESTAMP_QUERY_EPOCH_OUTPUT", + "MalformedTimestampQueryHttpDateInput": "MALFORMED_TIMESTAMP_QUERY_HTTP_DATE_INPUT", + "MalformedTimestampQueryHttpDateOutput": "MALFORMED_TIMESTAMP_QUERY_HTTP_DATE_OUTPUT", + "MalformedUnionInput": "MALFORMED_UNION_INPUT", + "MalformedUnionOutput": "MALFORMED_UNION_OUTPUT", + "MediaTypeHeaderInput": "MEDIA_TYPE_HEADER_INPUT", + "MediaTypeHeaderOutput": "MEDIA_TYPE_HEADER_OUTPUT", + "MyUnion": "MY_UNION", + "MyUnionStringValue": "MY_UNION", + "MyUnionBooleanValue": "MY_UNION", + "MyUnionNumberValue": "MY_UNION", + "MyUnionBlobValue": "MY_UNION", + "MyUnionTimestampValue": "MY_UNION", + "MyUnionEnumValue": "MY_UNION", + "MyUnionListValue": "MY_UNION", + "MyUnionMapValue": "MY_UNION", + "MyUnionStructureValue": "MY_UNION", + "MyUnionRenamedStructureValue": "MY_UNION", + "MyUnionUnionValue": "MY_UNION", + "MyUnionUnknown": "MY_UNION", + "NestedPayload": "NESTED_PAYLOAD", + "NestedUnion": "NESTED_UNION", + "NestedUnionStringValue": "NESTED_UNION", + "NestedUnionUnknown": "NESTED_UNION", + "NoInputAndNoOutputInput": "NO_INPUT_AND_NO_OUTPUT_INPUT", + "NoInputAndNoOutputOutput": "NO_INPUT_AND_NO_OUTPUT_OUTPUT", + "NoInputAndOutputInput": "NO_INPUT_AND_OUTPUT_INPUT", + "NoInputAndOutputOutput": "NO_INPUT_AND_OUTPUT_OUTPUT", + "NullAndEmptyHeadersClientInput": "NULL_AND_EMPTY_HEADERS_CLIENT_INPUT", + "NullAndEmptyHeadersClientOutput": "NULL_AND_EMPTY_HEADERS_CLIENT_OUTPUT", + "NullAndEmptyHeadersServerInput": "NULL_AND_EMPTY_HEADERS_SERVER_INPUT", + "NullAndEmptyHeadersServerOutput": "NULL_AND_EMPTY_HEADERS_SERVER_OUTPUT", + "OmitsNullSerializesEmptyStringInput": "OMITS_NULL_SERIALIZES_EMPTY_STRING_INPUT", + "OmitsNullSerializesEmptyStringOutput": "OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT", + "OmitsSerializingEmptyListsInput": "OMITS_SERIALIZING_EMPTY_LISTS_INPUT", + "OmitsSerializingEmptyListsOutput": "OMITS_SERIALIZING_EMPTY_LISTS_OUTPUT", + "OperationWithDefaultsInput": "OPERATION_WITH_DEFAULTS_INPUT", + "OperationWithDefaultsOutput": "OPERATION_WITH_DEFAULTS_OUTPUT", + "OperationWithNestedStructureInput": "OPERATION_WITH_NESTED_STRUCTURE_INPUT", + "OperationWithNestedStructureOutput": "OPERATION_WITH_NESTED_STRUCTURE_OUTPUT", + "OutputStreamInput": "OUTPUT_STREAM_INPUT", + "OutputStreamOutput": "OUTPUT_STREAM_OUTPUT", + "OutputStreamWithInitialResponseInput": "OUTPUT_STREAM_WITH_INITIAL_RESPONSE_INPUT", + "OutputStreamWithInitialResponseOutput": "OUTPUT_STREAM_WITH_INITIAL_RESPONSE_OUTPUT", + "PayloadConfig": "PAYLOAD_CONFIG", + "PayloadStructure": "PAYLOAD_STRUCTURE", + "PayloadUnion": "PAYLOAD_UNION", + "PayloadUnionUnionMember": "PAYLOAD_UNION", + "PayloadUnionUnknown": "PAYLOAD_UNION", + "PlayerAction": "PLAYER_ACTION", + "PlayerActionQuit": "PLAYER_ACTION", + "PlayerActionUnknown": "PLAYER_ACTION", + "PostPlayerActionInput": "POST_PLAYER_ACTION_INPUT", + "PostPlayerActionOutput": "POST_PLAYER_ACTION_OUTPUT", + "PostUnionWithJsonNameInput": "POST_UNION_WITH_JSON_NAME_INPUT", + "PostUnionWithJsonNameOutput": "POST_UNION_WITH_JSON_NAME_OUTPUT", + "PutWithContentEncodingInput": "PUT_WITH_CONTENT_ENCODING_INPUT", + "PutWithContentEncodingOutput": "PUT_WITH_CONTENT_ENCODING_OUTPUT", + "QueryIdempotencyTokenAutoFillInput": "QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT", + "QueryIdempotencyTokenAutoFillOutput": "QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT", + "QueryParamsAsStringListMapInput": "QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT", + "QueryParamsAsStringListMapOutput": "QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT", + "QueryPrecedenceInput": "QUERY_PRECEDENCE_INPUT", + "QueryPrecedenceOutput": "QUERY_PRECEDENCE_OUTPUT", + "RecursiveShapesInput": "RECURSIVE_SHAPES_INPUT", + "RecursiveShapesInputOutputNested1": "RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1", + "RecursiveShapesInputOutputNested2": "RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2", + "RecursiveShapesOutput": "RECURSIVE_SHAPES_OUTPUT", + "ResponseCodeHttpFallbackInput": "RESPONSE_CODE_HTTP_FALLBACK_INPUT", + "ResponseCodeHttpFallbackOutput": "RESPONSE_CODE_HTTP_FALLBACK_OUTPUT", + "ResponseCodeRequiredInput": "RESPONSE_CODE_REQUIRED_INPUT", + "ResponseCodeRequiredOutput": "RESPONSE_CODE_REQUIRED_OUTPUT", + "ServiceUnavailableError": "SERVICE_UNAVAILABLE_ERROR", + "SimpleScalarPropertiesInput": "SIMPLE_SCALAR_PROPERTIES_INPUT", + "SimpleScalarPropertiesOutput": "SIMPLE_SCALAR_PROPERTIES_OUTPUT", + "SimpleUnion": "SIMPLE_UNION", + "SimpleUnionInt": "SIMPLE_UNION", + "SimpleUnionString": "SIMPLE_UNION", + "SimpleUnionUnknown": "SIMPLE_UNION", + "SingletonEvent": "SINGLETON_EVENT", + "SingletonEventStream": "SINGLETON_EVENT_STREAM", + "SingletonEventStreamSingleton": "SINGLETON_EVENT_STREAM", + "SingletonEventStreamUnknown": "SINGLETON_EVENT_STREAM", + "SparseJsonListsInput": "SPARSE_JSON_LISTS_INPUT", + "SparseJsonListsOutput": "SPARSE_JSON_LISTS_OUTPUT", + "SparseJsonMapsInput": "SPARSE_JSON_MAPS_INPUT", + "SparseJsonMapsOutput": "SPARSE_JSON_MAPS_OUTPUT", + "StreamingTraitsInput": "STREAMING_TRAITS_INPUT", + "StreamingTraitsOutput": "STREAMING_TRAITS_OUTPUT", + "StreamingTraitsRequireLengthInput": "STREAMING_TRAITS_REQUIRE_LENGTH_INPUT", + "StreamingTraitsRequireLengthOutput": "STREAMING_TRAITS_REQUIRE_LENGTH_OUTPUT", + "StreamingTraitsWithMediaTypeInput": "STREAMING_TRAITS_WITH_MEDIA_TYPE_INPUT", + "StreamingTraitsWithMediaTypeOutput": "STREAMING_TRAITS_WITH_MEDIA_TYPE_OUTPUT", + "StringEnum": "STRING_ENUM", + "StringPayloadEvent": "STRING_PAYLOAD_EVENT", + "StructureListMember": "STRUCTURE_LIST_MEMBER", + "StructurePayloadEvent": "STRUCTURE_PAYLOAD_EVENT", + "TestBodyStructureInput": "TEST_BODY_STRUCTURE_INPUT", + "TestBodyStructureOutput": "TEST_BODY_STRUCTURE_OUTPUT", + "TestConfig": "TEST_CONFIG", + "TestEnum": "TEST_ENUM", + "TestGetNoInputNoPayloadInput": "TEST_GET_NO_INPUT_NO_PAYLOAD_INPUT", + "TestGetNoInputNoPayloadOutput": "TEST_GET_NO_INPUT_NO_PAYLOAD_OUTPUT", + "TestGetNoPayloadInput": "TEST_GET_NO_PAYLOAD_INPUT", + "TestGetNoPayloadOutput": "TEST_GET_NO_PAYLOAD_OUTPUT", + "TestIntEnum": "TEST_INT_ENUM", + "TestPayloadBlobInput": "TEST_PAYLOAD_BLOB_INPUT", + "TestPayloadBlobOutput": "TEST_PAYLOAD_BLOB_OUTPUT", + "TestPayloadStructureInput": "TEST_PAYLOAD_STRUCTURE_INPUT", + "TestPayloadStructureOutput": "TEST_PAYLOAD_STRUCTURE_OUTPUT", + "TestPostNoInputNoPayloadInput": "TEST_POST_NO_INPUT_NO_PAYLOAD_INPUT", + "TestPostNoInputNoPayloadOutput": "TEST_POST_NO_INPUT_NO_PAYLOAD_OUTPUT", + "TestPostNoPayloadInput": "TEST_POST_NO_PAYLOAD_INPUT", + "TestPostNoPayloadOutput": "TEST_POST_NO_PAYLOAD_OUTPUT", + "TimestampFormatHeadersInput": "TIMESTAMP_FORMAT_HEADERS_INPUT", + "TimestampFormatHeadersOutput": "TIMESTAMP_FORMAT_HEADERS_OUTPUT", + "TopLevel": "TOP_LEVEL", + "UnionPayload": "UNION_PAYLOAD", + "UnionPayloadGreeting": "UNION_PAYLOAD", + "UnionPayloadUnknown": "UNION_PAYLOAD", + "UnionPayloadEvent": "UNION_PAYLOAD_EVENT", + "UnionWithJsonName": "UNION_WITH_JSON_NAME", + "UnionWithJsonNameFoo": "UNION_WITH_JSON_NAME", + "UnionWithJsonNameBar": "UNION_WITH_JSON_NAME", + "UnionWithJsonNameBaz": "UNION_WITH_JSON_NAME", + "UnionWithJsonNameUnknown": "UNION_WITH_JSON_NAME", + "UnitInputAndOutputInput": "UNIT_INPUT_AND_OUTPUT_INPUT", + "UnitInputAndOutputOutput": "UNIT_INPUT_AND_OUTPUT_OUTPUT", + "GreetingStruct": "GREETING_STRUCT", + "FooEnum": "FOO_ENUM", + "IntegerEnum": "INTEGER_ENUM", + }, + shape_names=frozenset( + { + "AllQueryStringTypesInput", + "AllQueryStringTypesOutput", + "BlobPayloadEvent", + "ClientOptionalDefaults", + "ComplexError", + "ComplexNestedErrorData", + "ConstantAndVariableQueryStringInput", + "ConstantAndVariableQueryStringOutput", + "ConstantQueryStringInput", + "ConstantQueryStringOutput", + "ContentTypeParametersInput", + "ContentTypeParametersOutput", + "DatetimeOffsetsInput", + "DatetimeOffsetsOutput", + "Defaults", + "Dialog", + "DocumentTypeAsMapValueInput", + "DocumentTypeAsMapValueOutput", + "DocumentTypeAsPayloadInput", + "DocumentTypeAsPayloadOutput", + "DocumentTypeInput", + "DocumentTypeOutput", + "DuplexStreamInput", + "DuplexStreamOutput", + "DuplexStreamWithDistinctStreamsInput", + "DuplexStreamWithDistinctStreamsOutput", + "DuplexStreamWithInitialMessagesInput", + "DuplexStreamWithInitialMessagesOutput", + "EmptyInputAndEmptyOutputInput", + "EmptyInputAndEmptyOutputOutput", + "EndpointOperationInput", + "EndpointOperationOutput", + "EndpointWithHostLabelOperationInput", + "EndpointWithHostLabelOperationOutput", + "ErrorEvent", + "EventStream", + "Farewell", + "FooEnum", + "FooError", + "FractionalSecondsInput", + "FractionalSecondsOutput", + "GreetingStruct", + "GreetingWithErrorsInput", + "GreetingWithErrorsOutput", + "HeadersAndExplicitPayloadEvent", + "HeadersAndImplicitPayloadEvent", + "HeadersEvent", + "HostWithPathOperationInput", + "HostWithPathOperationOutput", + "HttpChecksumRequiredInput", + "HttpChecksumRequiredOutput", + "HttpEmptyPrefixHeadersInput", + "HttpEmptyPrefixHeadersOutput", + "HttpEnumPayloadInput", + "HttpEnumPayloadOutput", + "HttpPayloadTraitsInput", + "HttpPayloadTraitsOutput", + "HttpPayloadTraitsWithMediaTypeInput", + "HttpPayloadTraitsWithMediaTypeOutput", + "HttpPayloadWithStructureInput", + "HttpPayloadWithStructureOutput", + "HttpPayloadWithUnionInput", + "HttpPayloadWithUnionOutput", + "HttpPrefixHeadersInResponseInput", + "HttpPrefixHeadersInResponseOutput", + "HttpPrefixHeadersInput", + "HttpPrefixHeadersOutput", + "HttpQueryParamsOnlyOperationInput", + "HttpQueryParamsOnlyOperationOutput", + "HttpRequestWithFloatLabelsInput", + "HttpRequestWithFloatLabelsOutput", + "HttpRequestWithGreedyLabelInPathInput", + "HttpRequestWithGreedyLabelInPathOutput", + "HttpRequestWithLabelsAndTimestampFormatInput", + "HttpRequestWithLabelsAndTimestampFormatOutput", + "HttpRequestWithLabelsInput", + "HttpRequestWithLabelsOutput", + "HttpRequestWithRegexLiteralInput", + "HttpRequestWithRegexLiteralOutput", + "HttpResponseCodeInput", + "HttpResponseCodeOutput", + "HttpStringPayloadInput", + "HttpStringPayloadOutput", + "IgnoreQueryParamsInResponseInput", + "IgnoreQueryParamsInResponseOutput", + "InputAndOutputWithHeadersInput", + "InputAndOutputWithHeadersOutput", + "InputStreamInput", + "InputStreamOutput", + "InputStreamWithInitialRequestInput", + "InputStreamWithInitialRequestOutput", + "IntegerEnum", + "InvalidGreeting", + "JsonBlobsInput", + "JsonBlobsOutput", + "JsonEnumsInput", + "JsonEnumsOutput", + "JsonIntEnumsInput", + "JsonIntEnumsOutput", + "JsonListsInput", + "JsonListsOutput", + "JsonMapsInput", + "JsonMapsOutput", + "JsonTimestampsInput", + "JsonTimestampsOutput", + "JsonUnionsInput", + "JsonUnionsOutput", + "MalformedAcceptWithBodyInput", + "MalformedAcceptWithBodyOutput", + "MalformedAcceptWithGenericStringInput", + "MalformedAcceptWithGenericStringOutput", + "MalformedAcceptWithPayloadInput", + "MalformedAcceptWithPayloadOutput", + "MalformedBlobInput", + "MalformedBlobOutput", + "MalformedBooleanInput", + "MalformedBooleanOutput", + "MalformedByteInput", + "MalformedByteOutput", + "MalformedContentTypeWithBodyInput", + "MalformedContentTypeWithBodyOutput", + "MalformedContentTypeWithGenericStringInput", + "MalformedContentTypeWithGenericStringOutput", + "MalformedContentTypeWithPayloadInput", + "MalformedContentTypeWithPayloadOutput", + "MalformedContentTypeWithoutBodyEmptyInputInput", + "MalformedContentTypeWithoutBodyEmptyInputOutput", + "MalformedContentTypeWithoutBodyInput", + "MalformedContentTypeWithoutBodyOutput", + "MalformedDoubleInput", + "MalformedDoubleOutput", + "MalformedFloatInput", + "MalformedFloatOutput", + "MalformedIntegerInput", + "MalformedIntegerOutput", + "MalformedListInput", + "MalformedListOutput", + "MalformedLongInput", + "MalformedLongOutput", + "MalformedMapInput", + "MalformedMapOutput", + "MalformedRequestBodyInput", + "MalformedRequestBodyOutput", + "MalformedShortInput", + "MalformedShortOutput", + "MalformedStringInput", + "MalformedStringOutput", + "MalformedTimestampBodyDateTimeInput", + "MalformedTimestampBodyDateTimeOutput", + "MalformedTimestampBodyDefaultInput", + "MalformedTimestampBodyDefaultOutput", + "MalformedTimestampBodyHttpDateInput", + "MalformedTimestampBodyHttpDateOutput", + "MalformedTimestampHeaderDateTimeInput", + "MalformedTimestampHeaderDateTimeOutput", + "MalformedTimestampHeaderDefaultInput", + "MalformedTimestampHeaderDefaultOutput", + "MalformedTimestampHeaderEpochInput", + "MalformedTimestampHeaderEpochOutput", + "MalformedTimestampPathDefaultInput", + "MalformedTimestampPathDefaultOutput", + "MalformedTimestampPathEpochInput", + "MalformedTimestampPathEpochOutput", + "MalformedTimestampPathHttpDateInput", + "MalformedTimestampPathHttpDateOutput", + "MalformedTimestampQueryDefaultInput", + "MalformedTimestampQueryDefaultOutput", + "MalformedTimestampQueryEpochInput", + "MalformedTimestampQueryEpochOutput", + "MalformedTimestampQueryHttpDateInput", + "MalformedTimestampQueryHttpDateOutput", + "MalformedUnionInput", + "MalformedUnionOutput", + "MediaTypeHeaderInput", + "MediaTypeHeaderOutput", + "MyUnion", + "NestedPayload", + "NestedUnion", + "NoInputAndNoOutputInput", + "NoInputAndNoOutputOutput", + "NoInputAndOutputInput", + "NoInputAndOutputOutput", + "NullAndEmptyHeadersClientInput", + "NullAndEmptyHeadersClientOutput", + "NullAndEmptyHeadersServerInput", + "NullAndEmptyHeadersServerOutput", + "OmitsNullSerializesEmptyStringInput", + "OmitsNullSerializesEmptyStringOutput", + "OmitsSerializingEmptyListsInput", + "OmitsSerializingEmptyListsOutput", + "OperationWithDefaultsInput", + "OperationWithDefaultsOutput", + "OperationWithNestedStructureInput", + "OperationWithNestedStructureOutput", + "OutputStreamInput", + "OutputStreamOutput", + "OutputStreamWithInitialResponseInput", + "OutputStreamWithInitialResponseOutput", + "PayloadConfig", + "PayloadStructure", + "PayloadUnion", + "PlayerAction", + "PostPlayerActionInput", + "PostPlayerActionOutput", + "PostUnionWithJsonNameInput", + "PostUnionWithJsonNameOutput", + "PutWithContentEncodingInput", + "PutWithContentEncodingOutput", + "QueryIdempotencyTokenAutoFillInput", + "QueryIdempotencyTokenAutoFillOutput", + "QueryParamsAsStringListMapInput", + "QueryParamsAsStringListMapOutput", + "QueryPrecedenceInput", + "QueryPrecedenceOutput", + "RecursiveShapesInput", + "RecursiveShapesInputOutputNested1", + "RecursiveShapesInputOutputNested2", + "RecursiveShapesOutput", + "ResponseCodeHttpFallbackInput", + "ResponseCodeHttpFallbackOutput", + "ResponseCodeRequiredInput", + "ResponseCodeRequiredOutput", + "ServiceUnavailableError", + "SimpleScalarPropertiesInput", + "SimpleScalarPropertiesOutput", + "SimpleUnion", + "SingletonEvent", + "SingletonEventStream", + "SparseJsonListsInput", + "SparseJsonListsOutput", + "SparseJsonMapsInput", + "SparseJsonMapsOutput", + "StreamingTraitsInput", + "StreamingTraitsOutput", + "StreamingTraitsRequireLengthInput", + "StreamingTraitsRequireLengthOutput", + "StreamingTraitsWithMediaTypeInput", + "StreamingTraitsWithMediaTypeOutput", + "StringEnum", + "StringPayloadEvent", + "StructureListMember", + "StructurePayloadEvent", + "TestBodyStructureInput", + "TestBodyStructureOutput", + "TestConfig", + "TestEnum", + "TestGetNoInputNoPayloadInput", + "TestGetNoInputNoPayloadOutput", + "TestGetNoPayloadInput", + "TestGetNoPayloadOutput", + "TestIntEnum", + "TestPayloadBlobInput", + "TestPayloadBlobOutput", + "TestPayloadStructureInput", + "TestPayloadStructureOutput", + "TestPostNoInputNoPayloadInput", + "TestPostNoInputNoPayloadOutput", + "TestPostNoPayloadInput", + "TestPostNoPayloadOutput", + "TimestampFormatHeadersInput", + "TimestampFormatHeadersOutput", + "TopLevel", + "UnionPayload", + "UnionPayloadEvent", + "UnionWithJsonName", + "UnitInputAndOutputInput", + "UnitInputAndOutputOutput", + } + ), + service_error="ServiceError", +) -def _deserialize_boolean_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[bool]: - result: list[bool] = [] - member_schema = schema.members_by_index[0] - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +def __getattr__(name: str): + return _registry.build(name) - else: - result.append(d.read_boolean(member_schema)) - deserializer.read_list(schema, _read_value) - return result +ALL_QUERY_STRING_TYPES = APIOperation( + static_schema=_SCHEMA_ALL_QUERY_STRING_TYPES, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +CONSTANT_AND_VARIABLE_QUERY_STRING = APIOperation( + static_schema=_SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_double_list( - serializer: ShapeSerializer, schema: Schema, value: list[float] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_double(member_schema, e) +CONSTANT_QUERY_STRING = APIOperation( + static_schema=_SCHEMA_CONSTANT_QUERY_STRING, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +CONTENT_TYPE_PARAMETERS = APIOperation( + static_schema=_SCHEMA_CONTENT_TYPE_PARAMETERS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_double_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[float]: - result: list[float] = [] - member_schema = schema.members_by_index[0] +DATETIME_OFFSETS = APIOperation( + static_schema=_SCHEMA_DATETIME_OFFSETS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +DOCUMENT_TYPE = APIOperation( + static_schema=_SCHEMA_DOCUMENT_TYPE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result.append(d.read_double(member_schema)) +DOCUMENT_TYPE_AS_MAP_VALUE = APIOperation( + static_schema=_SCHEMA_DOCUMENT_TYPE_AS_MAP_VALUE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_list(schema, _read_value) - return result +DOCUMENT_TYPE_AS_PAYLOAD = APIOperation( + static_schema=_SCHEMA_DOCUMENT_TYPE_AS_PAYLOAD, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +DUPLEX_STREAM = APIOperation( + static_schema=_SCHEMA_DUPLEX_STREAM, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -class FooEnum(UnknownEnumMixin, StrEnum): - FOO = "Foo" - BAZ = "Baz" - BAR = "Bar" - ONE = "1" - ZERO = "0" +DUPLEX_STREAM_WITH_DISTINCT_STREAMS = APIOperation( + static_schema=_SCHEMA_DUPLEX_STREAM_WITH_DISTINCT_STREAMS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +DUPLEX_STREAM_WITH_INITIAL_MESSAGES = APIOperation( + static_schema=_SCHEMA_DUPLEX_STREAM_WITH_INITIAL_MESSAGES, + model_registry=_registry, + error_ids=[ShapeID("aws.protocoltests.restjson#ServiceUnavailableError")], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_foo_enum_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) +EMPTY_INPUT_AND_EMPTY_OUTPUT = APIOperation( + static_schema=_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +ENDPOINT_OPERATION = APIOperation( + static_schema=_SCHEMA_ENDPOINT_OPERATION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_foo_enum_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] +ENDPOINT_WITH_HOST_LABEL_OPERATION = APIOperation( + static_schema=_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +FRACTIONAL_SECONDS = APIOperation( + static_schema=_SCHEMA_FRACTIONAL_SECONDS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result.append(FooEnum(d.read_string(member_schema))) +GREETING_WITH_ERRORS = APIOperation( + static_schema=_SCHEMA_GREETING_WITH_ERRORS, + model_registry=_registry, + error_ids=[ + ShapeID("aws.protocoltests.restjson#InvalidGreeting"), + ShapeID("aws.protocoltests.restjson#ComplexError"), + ShapeID("aws.protocoltests.restjson#FooError"), + ], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_list(schema, _read_value) - return result +HOST_WITH_PATH_OPERATION = APIOperation( + static_schema=_SCHEMA_HOST_WITH_PATH_OPERATION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +HTTP_CHECKSUM_REQUIRED = APIOperation( + static_schema=_SCHEMA_HTTP_CHECKSUM_REQUIRED, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -class IntegerEnum(UnknownEnumMixin, IntEnum): - A = 1 - B = 2 - C = 3 +HTTP_EMPTY_PREFIX_HEADERS = APIOperation( + static_schema=_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +HTTP_ENUM_PAYLOAD = APIOperation( + static_schema=_SCHEMA_HTTP_ENUM_PAYLOAD, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_integer_enum_list( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) +HTTP_PAYLOAD_TRAITS = APIOperation( + static_schema=_SCHEMA_HTTP_PAYLOAD_TRAITS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE = APIOperation( + static_schema=_SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_integer_enum_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] +HTTP_PAYLOAD_WITH_STRUCTURE = APIOperation( + static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +HTTP_PAYLOAD_WITH_UNION = APIOperation( + static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_UNION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result.append(IntegerEnum(d.read_integer(member_schema))) +HTTP_PREFIX_HEADERS = APIOperation( + static_schema=_SCHEMA_HTTP_PREFIX_HEADERS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_list(schema, _read_value) - return result +HTTP_PREFIX_HEADERS_IN_RESPONSE = APIOperation( + static_schema=_SCHEMA_HTTP_PREFIX_HEADERS_IN_RESPONSE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +HTTP_QUERY_PARAMS_ONLY_OPERATION = APIOperation( + static_schema=_SCHEMA_HTTP_QUERY_PARAMS_ONLY_OPERATION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_integer_list( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) +HTTP_REQUEST_WITH_FLOAT_LABELS = APIOperation( + static_schema=_SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH = APIOperation( + static_schema=_SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_integer_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] +HTTP_REQUEST_WITH_LABELS = APIOperation( + static_schema=_SCHEMA_HTTP_REQUEST_WITH_LABELS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT = APIOperation( + static_schema=_SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result.append(d.read_integer(member_schema)) +HTTP_REQUEST_WITH_REGEX_LITERAL = APIOperation( + static_schema=_SCHEMA_HTTP_REQUEST_WITH_REGEX_LITERAL, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_list(schema, _read_value) - return result +HTTP_RESPONSE_CODE = APIOperation( + static_schema=_SCHEMA_HTTP_RESPONSE_CODE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +HTTP_STRING_PAYLOAD = APIOperation( + static_schema=_SCHEMA_HTTP_STRING_PAYLOAD, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_integer_set( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) +IGNORE_QUERY_PARAMS_IN_RESPONSE = APIOperation( + static_schema=_SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +INPUT_AND_OUTPUT_WITH_HEADERS = APIOperation( + static_schema=_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_integer_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] +INPUT_STREAM = APIOperation( + static_schema=_SCHEMA_INPUT_STREAM, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +INPUT_STREAM_WITH_INITIAL_REQUEST = APIOperation( + static_schema=_SCHEMA_INPUT_STREAM_WITH_INITIAL_REQUEST, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result.append(d.read_integer(member_schema)) +JSON_BLOBS = APIOperation( + static_schema=_SCHEMA_JSON_BLOBS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_list(schema, _read_value) - return result +JSON_ENUMS = APIOperation( + static_schema=_SCHEMA_JSON_ENUMS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +JSON_INT_ENUMS = APIOperation( + static_schema=_SCHEMA_JSON_INT_ENUMS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) +JSON_LISTS = APIOperation( + static_schema=_SCHEMA_JSON_LISTS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +JSON_MAPS = APIOperation( + static_schema=_SCHEMA_JSON_MAPS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] +JSON_TIMESTAMPS = APIOperation( + static_schema=_SCHEMA_JSON_TIMESTAMPS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +JSON_UNIONS = APIOperation( + static_schema=_SCHEMA_JSON_UNIONS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result.append(d.read_string(member_schema)) +MALFORMED_ACCEPT_WITH_BODY = APIOperation( + static_schema=_SCHEMA_MALFORMED_ACCEPT_WITH_BODY, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_list(schema, _read_value) - return result +MALFORMED_ACCEPT_WITH_GENERIC_STRING = APIOperation( + static_schema=_SCHEMA_MALFORMED_ACCEPT_WITH_GENERIC_STRING, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +MALFORMED_ACCEPT_WITH_PAYLOAD = APIOperation( + static_schema=_SCHEMA_MALFORMED_ACCEPT_WITH_PAYLOAD, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_string_list_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, list[str]] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: _serialize_string_list(vs, value_schema, v)) +MALFORMED_BLOB = APIOperation( + static_schema=_SCHEMA_MALFORMED_BLOB, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +MALFORMED_BOOLEAN = APIOperation( + static_schema=_SCHEMA_MALFORMED_BOOLEAN, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_string_list_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, list[str]]: - result: dict[str, list[str]] = {} - value_schema = schema.members_by_index[1] +MALFORMED_BYTE = APIOperation( + static_schema=_SCHEMA_MALFORMED_BYTE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() +MALFORMED_CONTENT_TYPE_WITH_BODY = APIOperation( + static_schema=_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_BODY, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result[k] = _deserialize_string_list(d, value_schema) +MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING = APIOperation( + static_schema=_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_map(schema, _read_value) - return result +MALFORMED_CONTENT_TYPE_WITHOUT_BODY = APIOperation( + static_schema=_SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT = APIOperation( + static_schema=_SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_string_set( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) +MALFORMED_CONTENT_TYPE_WITH_PAYLOAD = APIOperation( + static_schema=_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_PAYLOAD, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +MALFORMED_DOUBLE = APIOperation( + static_schema=_SCHEMA_MALFORMED_DOUBLE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_string_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] +MALFORMED_FLOAT = APIOperation( + static_schema=_SCHEMA_MALFORMED_FLOAT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +MALFORMED_INTEGER = APIOperation( + static_schema=_SCHEMA_MALFORMED_INTEGER, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result.append(d.read_string(member_schema)) +MALFORMED_LIST = APIOperation( + static_schema=_SCHEMA_MALFORMED_LIST, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_list(schema, _read_value) - return result +MALFORMED_LONG = APIOperation( + static_schema=_SCHEMA_MALFORMED_LONG, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +MALFORMED_MAP = APIOperation( + static_schema=_SCHEMA_MALFORMED_MAP, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_timestamp_list( - serializer: ShapeSerializer, schema: Schema, value: list[datetime] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_timestamp(member_schema, e) - - -def _deserialize_timestamp_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[datetime]: - result: list[datetime] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_timestamp(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class AllQueryStringTypesInput: - """Dataclass for AllQueryStringTypesInput structure.""" - - query_string: str | None = None - - query_string_list: list[str] | None = None - - query_string_set: list[str] | None = None - - query_byte: int | None = None - - query_short: int | None = None - - query_integer: int | None = None - - query_integer_list: list[int] | None = None - - query_integer_set: list[int] | None = None - - query_long: int | None = None - - query_float: float | None = None - - query_double: float | None = None - - query_double_list: list[float] | None = None - - query_boolean: bool | None = None - - query_boolean_list: list[bool] | None = None - - query_timestamp: datetime | None = None - - query_timestamp_list: list[datetime] | None = None - - query_enum: str | None = None - - query_enum_list: list[str] | None = None - - query_integer_enum: int | None = None - - query_integer_enum_list: list[int] | None = None - - query_params_map_of_string_list: dict[str, list[str]] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ALL_QUERY_STRING_TYPES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_ALL_QUERY_STRING_TYPES_INPUT).members_by_index - if self.query_string is not None: - serializer.write_string(members[0], self.query_string) - - if self.query_string_list is not None: - _serialize_string_list(serializer, members[1], self.query_string_list) - - if self.query_string_set is not None: - _serialize_string_set(serializer, members[2], self.query_string_set) - - if self.query_byte is not None: - serializer.write_byte(members[3], self.query_byte) - - if self.query_short is not None: - serializer.write_short(members[4], self.query_short) - - if self.query_integer is not None: - serializer.write_integer(members[5], self.query_integer) - - if self.query_integer_list is not None: - _serialize_integer_list(serializer, members[6], self.query_integer_list) - - if self.query_integer_set is not None: - _serialize_integer_set(serializer, members[7], self.query_integer_set) - - if self.query_long is not None: - serializer.write_long(members[8], self.query_long) - - if self.query_float is not None: - serializer.write_float(members[9], self.query_float) - - if self.query_double is not None: - serializer.write_double(members[10], self.query_double) - - if self.query_double_list is not None: - _serialize_double_list(serializer, members[11], self.query_double_list) - - if self.query_boolean is not None: - serializer.write_boolean(members[12], self.query_boolean) - - if self.query_boolean_list is not None: - _serialize_boolean_list(serializer, members[13], self.query_boolean_list) - - if self.query_timestamp is not None: - serializer.write_timestamp(members[14], self.query_timestamp) - - if self.query_timestamp_list is not None: - _serialize_timestamp_list( - serializer, members[15], self.query_timestamp_list - ) - - if self.query_enum is not None: - serializer.write_string(members[16], self.query_enum) - - if self.query_enum_list is not None: - _serialize_foo_enum_list(serializer, members[17], self.query_enum_list) - - if self.query_integer_enum is not None: - serializer.write_integer(members[18], self.query_integer_enum) - - if self.query_integer_enum_list is not None: - _serialize_integer_enum_list( - serializer, members[19], self.query_integer_enum_list - ) - - if self.query_params_map_of_string_list is not None: - _serialize_string_list_map( - serializer, members[20], self.query_params_map_of_string_list - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ALL_QUERY_STRING_TYPES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["query_string"] = de.read_string(members[0]) - - case 1: - kwargs["query_string_list"] = _deserialize_string_list( - de, members[1] - ) - - case 2: - kwargs["query_string_set"] = _deserialize_string_set(de, members[2]) - - case 3: - kwargs["query_byte"] = de.read_byte(members[3]) - - case 4: - kwargs["query_short"] = de.read_short(members[4]) - - case 5: - kwargs["query_integer"] = de.read_integer(members[5]) - - case 6: - kwargs["query_integer_list"] = _deserialize_integer_list( - de, members[6] - ) - - case 7: - kwargs["query_integer_set"] = _deserialize_integer_set( - de, members[7] - ) - - case 8: - kwargs["query_long"] = de.read_long(members[8]) - - case 9: - kwargs["query_float"] = de.read_float(members[9]) - - case 10: - kwargs["query_double"] = de.read_double(members[10]) - - case 11: - kwargs["query_double_list"] = _deserialize_double_list( - de, members[11] - ) - - case 12: - kwargs["query_boolean"] = de.read_boolean(members[12]) - - case 13: - kwargs["query_boolean_list"] = _deserialize_boolean_list( - de, members[13] - ) - - case 14: - kwargs["query_timestamp"] = de.read_timestamp(members[14]) - - case 15: - kwargs["query_timestamp_list"] = _deserialize_timestamp_list( - de, members[15] - ) - - case 16: - kwargs["query_enum"] = FooEnum(de.read_string(members[16])) - - case 17: - kwargs["query_enum_list"] = _deserialize_foo_enum_list( - de, members[17] - ) - - case 18: - kwargs["query_integer_enum"] = IntegerEnum( - de.read_integer(members[18]) - ) - - case 19: - kwargs["query_integer_enum_list"] = _deserialize_integer_enum_list( - de, members[19] - ) - - case 20: - kwargs["query_params_map_of_string_list"] = ( - _deserialize_string_list_map(de, members[20]) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class AllQueryStringTypesOutput: - """Dataclass for AllQueryStringTypesOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ALL_QUERY_STRING_TYPES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ALL_QUERY_STRING_TYPES_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -ALL_QUERY_STRING_TYPES = APIOperation( - input=AllQueryStringTypesInput, - output=AllQueryStringTypesOutput, - static_schema=_SCHEMA_ALL_QUERY_STRING_TYPES, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class BlobPayloadEvent: - """Dataclass for BlobPayloadEvent structure.""" - - payload: bytes | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_BLOB_PAYLOAD_EVENT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_BLOB_PAYLOAD_EVENT).members_by_index - if self.payload is not None: - serializer.write_blob(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_BLOB_PAYLOAD_EVENT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = de.read_blob(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ClientOptionalDefaults: - """Dataclass for ClientOptionalDefaults structure.""" - - member: int = 0 - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CLIENT_OPTIONAL_DEFAULTS), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_CLIENT_OPTIONAL_DEFAULTS).members_by_index - if self.member is not None: - serializer.write_integer(members[0], self.member) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CLIENT_OPTIONAL_DEFAULTS) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["member"] = de.read_integer(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ComplexNestedErrorData: - """Dataclass for ComplexNestedErrorData structure.""" - - foo: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ComplexError(ServiceError): - """This error is thrown when a request is invalid.""" - - fault: Literal["client", "server"] | None = "client" - - header: str | None = None - - top_level: str | None = None - - nested: ComplexNestedErrorData | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_COMPLEX_ERROR), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_COMPLEX_ERROR).members_by_index - if self.header is not None: - serializer.write_string(members[0], self.header) - - if self.top_level is not None: - serializer.write_string(members[1], self.top_level) - - if self.nested is not None: - serializer.write_struct(members[2], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_COMPLEX_ERROR) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["header"] = de.read_string(members[0]) - - case 1: - kwargs["top_level"] = de.read_string(members[1]) - - case 2: - kwargs["nested"] = ComplexNestedErrorData.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ConstantAndVariableQueryStringInput: - """Dataclass for ConstantAndVariableQueryStringInput structure.""" - - baz: str | None = None - - maybe_set: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING_INPUT - ).members_by_index - if self.baz is not None: - serializer.write_string(members[0], self.baz) - - if self.maybe_set is not None: - serializer.write_string(members[1], self.maybe_set) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["baz"] = de.read_string(members[0]) - - case 1: - kwargs["maybe_set"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ConstantAndVariableQueryStringOutput: - """Dataclass for ConstantAndVariableQueryStringOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -CONSTANT_AND_VARIABLE_QUERY_STRING = APIOperation( - input=ConstantAndVariableQueryStringInput, - output=ConstantAndVariableQueryStringOutput, - static_schema=_SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class ConstantQueryStringInput: - """Dataclass for ConstantQueryStringInput structure.""" - - hello: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CONSTANT_QUERY_STRING_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_CONSTANT_QUERY_STRING_INPUT).members_by_index - if self.hello is not None: - serializer.write_string(members[0], self.hello) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONSTANT_QUERY_STRING_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["hello"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ConstantQueryStringOutput: - """Dataclass for ConstantQueryStringOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CONSTANT_QUERY_STRING_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONSTANT_QUERY_STRING_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -CONSTANT_QUERY_STRING = APIOperation( - input=ConstantQueryStringInput, - output=ConstantQueryStringOutput, - static_schema=_SCHEMA_CONSTANT_QUERY_STRING, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class ContentTypeParametersInput: - """Dataclass for ContentTypeParametersInput structure.""" - - value: int | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT).members_by_index - if self.value is not None: - serializer.write_integer(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["value"] = de.read_integer(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ContentTypeParametersOutput: - """Dataclass for ContentTypeParametersOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -CONTENT_TYPE_PARAMETERS = APIOperation( - input=ContentTypeParametersInput, - output=ContentTypeParametersOutput, - static_schema=_SCHEMA_CONTENT_TYPE_PARAMETERS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class DatetimeOffsetsInput: - """Dataclass for DatetimeOffsetsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DATETIME_OFFSETS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DATETIME_OFFSETS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class DatetimeOffsetsOutput: - """Dataclass for DatetimeOffsetsOutput structure.""" - - datetime_: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT).members_by_index - if self.datetime_ is not None: - serializer.write_timestamp(members[0], self.datetime_) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["datetime_"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -DATETIME_OFFSETS = APIOperation( - input=DatetimeOffsetsInput, - output=DatetimeOffsetsOutput, - static_schema=_SCHEMA_DATETIME_OFFSETS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -class TestEnum(UnknownEnumMixin, StrEnum): - FOO = "FOO" - BAR = "BAR" - BAZ = "BAZ" - - -class TestIntEnum(UnknownEnumMixin, IntEnum): - ONE = 1 - TWO = 2 - - -def _serialize_test_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_test_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_test_string_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_test_string_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class Defaults: - """Dataclass for Defaults structure.""" - - default_string: str = "hi" - - default_boolean: bool = True - - default_list: list[str] = field(default_factory=list[str]) - - default_document_map: Document = field(default_factory=lambda: Document(dict())) - - default_document_string: Document = field(default_factory=lambda: Document("hi")) - - default_document_boolean: Document = field(default_factory=lambda: Document(True)) - - default_document_list: Document = field(default_factory=lambda: Document(list())) - - default_null_document: Document = field(default_factory=lambda: Document(None)) - - default_timestamp: datetime = datetime(1970, 1, 1, 0, 0, 0, 0, timezone.utc) - - default_blob: bytes = b64decode("YWJj") - - default_byte: int = 1 - - default_short: int = 1 - - default_integer: int = 10 - - default_long: int = 100 - - default_float: float = 1.0 - - default_double: float = 1.0 - - default_map: dict[str, str] = field(default_factory=dict[str, str]) - - default_enum: str = TestEnum("FOO") - - default_int_enum: int = TestIntEnum(1) - - empty_string: str = "" - - false_boolean: bool = False - - empty_blob: bytes = b64decode("") - - zero_byte: int = 0 - - zero_short: int = 0 - - zero_integer: int = 0 - - zero_long: int = 0 - - zero_float: float = 0.0 - - zero_double: float = 0.0 - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DEFAULTS), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DEFAULTS).members_by_index - serializer.write_string(members[0], self.default_string) - serializer.write_boolean(members[1], self.default_boolean) - _serialize_test_string_list(serializer, members[2], self.default_list) - serializer.write_document(members[3], self.default_document_map) - serializer.write_document(members[4], self.default_document_string) - serializer.write_document(members[5], self.default_document_boolean) - serializer.write_document(members[6], self.default_document_list) - serializer.write_document(members[7], self.default_null_document) - serializer.write_timestamp(members[8], self.default_timestamp) - serializer.write_blob(members[9], self.default_blob) - serializer.write_byte(members[10], self.default_byte) - serializer.write_short(members[11], self.default_short) - serializer.write_integer(members[12], self.default_integer) - serializer.write_long(members[13], self.default_long) - serializer.write_float(members[14], self.default_float) - serializer.write_double(members[15], self.default_double) - _serialize_test_string_map(serializer, members[16], self.default_map) - serializer.write_string(members[17], self.default_enum) - serializer.write_integer(members[18], self.default_int_enum) - serializer.write_string(members[19], self.empty_string) - serializer.write_boolean(members[20], self.false_boolean) - serializer.write_blob(members[21], self.empty_blob) - serializer.write_byte(members[22], self.zero_byte) - serializer.write_short(members[23], self.zero_short) - serializer.write_integer(members[24], self.zero_integer) - serializer.write_long(members[25], self.zero_long) - serializer.write_float(members[26], self.zero_float) - serializer.write_double(members[27], self.zero_double) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DEFAULTS) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["default_string"] = de.read_string(members[0]) - - case 1: - kwargs["default_boolean"] = de.read_boolean(members[1]) - - case 2: - kwargs["default_list"] = _deserialize_test_string_list( - de, members[2] - ) - - case 3: - kwargs["default_document_map"] = de.read_document(members[3]) - - case 4: - kwargs["default_document_string"] = de.read_document(members[4]) - - case 5: - kwargs["default_document_boolean"] = de.read_document(members[5]) - - case 6: - kwargs["default_document_list"] = de.read_document(members[6]) - - case 7: - kwargs["default_null_document"] = de.read_document(members[7]) - - case 8: - kwargs["default_timestamp"] = de.read_timestamp(members[8]) - - case 9: - kwargs["default_blob"] = de.read_blob(members[9]) - - case 10: - kwargs["default_byte"] = de.read_byte(members[10]) - - case 11: - kwargs["default_short"] = de.read_short(members[11]) - - case 12: - kwargs["default_integer"] = de.read_integer(members[12]) - - case 13: - kwargs["default_long"] = de.read_long(members[13]) - - case 14: - kwargs["default_float"] = de.read_float(members[14]) - - case 15: - kwargs["default_double"] = de.read_double(members[15]) - - case 16: - kwargs["default_map"] = _deserialize_test_string_map( - de, members[16] - ) - - case 17: - kwargs["default_enum"] = TestEnum(de.read_string(members[17])) - - case 18: - kwargs["default_int_enum"] = TestIntEnum( - de.read_integer(members[18]) - ) - - case 19: - kwargs["empty_string"] = de.read_string(members[19]) - - case 20: - kwargs["false_boolean"] = de.read_boolean(members[20]) - - case 21: - kwargs["empty_blob"] = de.read_blob(members[21]) - - case 22: - kwargs["zero_byte"] = de.read_byte(members[22]) - - case 23: - kwargs["zero_short"] = de.read_short(members[23]) - - case 24: - kwargs["zero_integer"] = de.read_integer(members[24]) - - case 25: - kwargs["zero_long"] = de.read_long(members[25]) - - case 26: - kwargs["zero_float"] = de.read_float(members[26]) - - case 27: - kwargs["zero_double"] = de.read_double(members[27]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_dense_boolean_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, bool] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_boolean(value_schema, v)) - - -def _deserialize_dense_boolean_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, bool]: - result: dict[str, bool] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_boolean(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_dense_number_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, int] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_integer(value_schema, v)) - - -def _deserialize_dense_number_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, int]: - result: dict[str, int] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_integer(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_dense_set_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, list[str]] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: _serialize_string_set(vs, value_schema, v)) - - -def _deserialize_dense_set_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, list[str]]: - result: dict[str, list[str]] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = _deserialize_string_set(d, value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_dense_string_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_dense_string_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class GreetingStruct: - """Dataclass for GreetingStruct structure.""" - - hi: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_STRUCT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_STRUCT).members_by_index - if self.hi is not None: - serializer.write_string(members[0], self.hi) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_STRUCT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["hi"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_dense_struct_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, GreetingStruct] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_struct(value_schema, v)) - - -def _deserialize_dense_struct_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, GreetingStruct]: - result: dict[str, GreetingStruct] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = GreetingStruct.deserialize(d) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class Farewell: - """Dataclass for Farewell structure.""" - - phrase: str = "bye" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FAREWELL), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_FAREWELL).members_by_index - serializer.write_string(members[0], self.phrase) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FAREWELL) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["phrase"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class Dialog: - """Dataclass for Dialog structure.""" - - language: str | None = None - - greeting: str = "hi" - - farewell: Farewell | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DIALOG), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DIALOG).members_by_index - if self.language is not None: - serializer.write_string(members[0], self.language) - - serializer.write_string(members[1], self.greeting) - if self.farewell is not None: - serializer.write_struct(members[2], self.farewell) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DIALOG) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["language"] = de.read_string(members[0]) - - case 1: - kwargs["greeting"] = de.read_string(members[1]) - - case 2: - kwargs["farewell"] = Farewell.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - @classmethod - def _smithy_default(cls) -> Self: - return cls() - - -def _serialize_dialog_list( - serializer: ShapeSerializer, schema: Schema, value: list[Dialog] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_struct(member_schema, e) - - -def _deserialize_dialog_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[Dialog]: - result: list[Dialog] = [] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(Dialog.deserialize(d)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_dialog_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, Dialog] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_struct(value_schema, v)) - - -def _deserialize_dialog_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, Dialog]: - result: dict[str, Dialog] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = Dialog.deserialize(d) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class DocumentTypeInput: - """Dataclass for DocumentTypeInput structure.""" - - string_value: str | None = None - - document_value: Document | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DOCUMENT_TYPE_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DOCUMENT_TYPE_INPUT).members_by_index - if self.string_value is not None: - serializer.write_string(members[0], self.string_value) - - if self.document_value is not None: - serializer.write_document(members[1], self.document_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DOCUMENT_TYPE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_value"] = de.read_string(members[0]) - - case 1: - kwargs["document_value"] = de.read_document(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class DocumentTypeOutput: - """Dataclass for DocumentTypeOutput structure.""" - - string_value: str | None = None - - document_value: Document | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DOCUMENT_TYPE_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DOCUMENT_TYPE_OUTPUT).members_by_index - if self.string_value is not None: - serializer.write_string(members[0], self.string_value) - - if self.document_value is not None: - serializer.write_document(members[1], self.document_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DOCUMENT_TYPE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_value"] = de.read_string(members[0]) - - case 1: - kwargs["document_value"] = de.read_document(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -DOCUMENT_TYPE = APIOperation( - input=DocumentTypeInput, - output=DocumentTypeOutput, - static_schema=_SCHEMA_DOCUMENT_TYPE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_document_valued_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, Document] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_document(value_schema, v)) - - -def _deserialize_document_valued_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, Document]: - result: dict[str, Document] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_document(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class DocumentTypeAsMapValueInput: - """Dataclass for DocumentTypeAsMapValueInput structure.""" - - doc_valued_map: dict[str, Document] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DOCUMENT_TYPE_AS_MAP_VALUE_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DOCUMENT_TYPE_AS_MAP_VALUE_INPUT).members_by_index - if self.doc_valued_map is not None: - _serialize_document_valued_map(serializer, members[0], self.doc_valued_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DOCUMENT_TYPE_AS_MAP_VALUE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["doc_valued_map"] = _deserialize_document_valued_map( - de, members[0] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class DocumentTypeAsMapValueOutput: - """Dataclass for DocumentTypeAsMapValueOutput structure.""" - - doc_valued_map: dict[str, Document] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_DOCUMENT_TYPE_AS_MAP_VALUE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DOCUMENT_TYPE_AS_MAP_VALUE_OUTPUT).members_by_index - if self.doc_valued_map is not None: - _serialize_document_valued_map(serializer, members[0], self.doc_valued_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DOCUMENT_TYPE_AS_MAP_VALUE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["doc_valued_map"] = _deserialize_document_valued_map( - de, members[0] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -DOCUMENT_TYPE_AS_MAP_VALUE = APIOperation( - input=DocumentTypeAsMapValueInput, - output=DocumentTypeAsMapValueOutput, - static_schema=_SCHEMA_DOCUMENT_TYPE_AS_MAP_VALUE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class DocumentTypeAsPayloadInput: - """Dataclass for DocumentTypeAsPayloadInput structure.""" - - document_value: Document | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DOCUMENT_TYPE_AS_PAYLOAD_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DOCUMENT_TYPE_AS_PAYLOAD_INPUT).members_by_index - if self.document_value is not None: - serializer.write_document(members[0], self.document_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DOCUMENT_TYPE_AS_PAYLOAD_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["document_value"] = de.read_document(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class DocumentTypeAsPayloadOutput: - """Dataclass for DocumentTypeAsPayloadOutput structure.""" - - document_value: Document | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DOCUMENT_TYPE_AS_PAYLOAD_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DOCUMENT_TYPE_AS_PAYLOAD_OUTPUT).members_by_index - if self.document_value is not None: - serializer.write_document(members[0], self.document_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DOCUMENT_TYPE_AS_PAYLOAD_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["document_value"] = de.read_document(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -DOCUMENT_TYPE_AS_PAYLOAD = APIOperation( - input=DocumentTypeAsPayloadInput, - output=DocumentTypeAsPayloadOutput, - static_schema=_SCHEMA_DOCUMENT_TYPE_AS_PAYLOAD, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class ErrorEvent(ServiceError): - """Dataclass for ErrorEvent structure.""" - - fault: Literal["client", "server"] | None = "client" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ERROR_EVENT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_ERROR_EVENT).members_by_index - if self.message is not None: - serializer.write_string(members[0], self.message) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ERROR_EVENT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["message"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HeadersEvent: - """Dataclass for HeadersEvent structure.""" - - boolean_header: bool | None = None - - byte_header: int | None = None - - short_header: int | None = None - - int_header: int | None = None - - long_header: int | None = None - - blob_header: bytes | None = None - - string_header: str | None = None - - timestamp_header: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HEADERS_EVENT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HEADERS_EVENT).members_by_index - if self.boolean_header is not None: - serializer.write_boolean(members[0], self.boolean_header) - - if self.byte_header is not None: - serializer.write_byte(members[1], self.byte_header) - - if self.short_header is not None: - serializer.write_short(members[2], self.short_header) - - if self.int_header is not None: - serializer.write_integer(members[3], self.int_header) - - if self.long_header is not None: - serializer.write_long(members[4], self.long_header) - - if self.blob_header is not None: - serializer.write_blob(members[5], self.blob_header) - - if self.string_header is not None: - serializer.write_string(members[6], self.string_header) - - if self.timestamp_header is not None: - serializer.write_timestamp(members[7], self.timestamp_header) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HEADERS_EVENT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["boolean_header"] = de.read_boolean(members[0]) - - case 1: - kwargs["byte_header"] = de.read_byte(members[1]) - - case 2: - kwargs["short_header"] = de.read_short(members[2]) - - case 3: - kwargs["int_header"] = de.read_integer(members[3]) - - case 4: - kwargs["long_header"] = de.read_long(members[4]) - - case 5: - kwargs["blob_header"] = de.read_blob(members[5]) - - case 6: - kwargs["string_header"] = de.read_string(members[6]) - - case 7: - kwargs["timestamp_header"] = de.read_timestamp(members[7]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class PayloadStructure: - """Dataclass for PayloadStructure structure.""" - - structure_member: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PAYLOAD_STRUCTURE), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_PAYLOAD_STRUCTURE).members_by_index - if self.structure_member is not None: - serializer.write_string(members[0], self.structure_member) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PAYLOAD_STRUCTURE) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["structure_member"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HeadersAndExplicitPayloadEvent: - """Dataclass for HeadersAndExplicitPayloadEvent structure.""" - - header: str | None = None - - payload: PayloadStructure | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HEADERS_AND_EXPLICIT_PAYLOAD_EVENT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HEADERS_AND_EXPLICIT_PAYLOAD_EVENT).members_by_index - if self.header is not None: - serializer.write_string(members[0], self.header) - - if self.payload is not None: - serializer.write_struct(members[1], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HEADERS_AND_EXPLICIT_PAYLOAD_EVENT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["header"] = de.read_string(members[0]) - - case 1: - kwargs["payload"] = PayloadStructure.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HeadersAndImplicitPayloadEvent: - """Dataclass for HeadersAndImplicitPayloadEvent structure.""" - - header: str | None = None - - payload: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HEADERS_AND_IMPLICIT_PAYLOAD_EVENT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HEADERS_AND_IMPLICIT_PAYLOAD_EVENT).members_by_index - if self.header is not None: - serializer.write_string(members[0], self.header) - - if self.payload is not None: - serializer.write_string(members[1], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HEADERS_AND_IMPLICIT_PAYLOAD_EVENT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["header"] = de.read_string(members[0]) - - case 1: - kwargs["payload"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class StringPayloadEvent: - """Dataclass for StringPayloadEvent structure.""" - - payload: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_STRING_PAYLOAD_EVENT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_STRING_PAYLOAD_EVENT).members_by_index - if self.payload is not None: - serializer.write_string(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STRING_PAYLOAD_EVENT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class StructurePayloadEvent: - """Dataclass for StructurePayloadEvent structure.""" - - payload: PayloadStructure | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_STRUCTURE_PAYLOAD_EVENT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_STRUCTURE_PAYLOAD_EVENT).members_by_index - if self.payload is not None: - serializer.write_struct(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STRUCTURE_PAYLOAD_EVENT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = PayloadStructure.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass -class PayloadUnionUnionMember: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PAYLOAD_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_PAYLOAD_UNION).members_by_index - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_PAYLOAD_UNION).members_by_index - return cls(value=deserializer.read_string(members[0])) - - -@dataclass -class PayloadUnionUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -PayloadUnion = Union[PayloadUnionUnionMember | PayloadUnionUnknown] - - -class _PayloadUnionDeserializer: - _result: PayloadUnion | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> PayloadUnion: - self._result = None - deserializer.read_struct(hydrate(_SCHEMA_PAYLOAD_UNION), self._consumer) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(PayloadUnionUnionMember.deserialize(de)) - - case _: - self._set_result(PayloadUnionUnknown(tag=schema.expect_member_name())) - - def _set_result(self, value: PayloadUnion) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -@dataclass(kw_only=True) -class UnionPayloadEvent: - """Dataclass for UnionPayloadEvent structure.""" - - payload: PayloadUnion | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_UNION_PAYLOAD_EVENT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_UNION_PAYLOAD_EVENT).members_by_index - if self.payload is not None: - serializer.write_struct(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_UNION_PAYLOAD_EVENT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = _PayloadUnionDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass -class EventStreamHeaders: - value: HeadersEvent - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_EVENT_STREAM), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_EVENT_STREAM).members_by_index - serializer.write_struct(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=HeadersEvent.deserialize(deserializer)) - - -@dataclass -class EventStreamBlobPayload: - value: BlobPayloadEvent - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_EVENT_STREAM), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_EVENT_STREAM).members_by_index - serializer.write_struct(members[1], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=BlobPayloadEvent.deserialize(deserializer)) - - -@dataclass -class EventStreamStringPayload: - value: StringPayloadEvent - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_EVENT_STREAM), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_EVENT_STREAM).members_by_index - serializer.write_struct(members[2], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=StringPayloadEvent.deserialize(deserializer)) - - -@dataclass -class EventStreamStructurePayload: - value: StructurePayloadEvent - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_EVENT_STREAM), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_EVENT_STREAM).members_by_index - serializer.write_struct(members[3], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=StructurePayloadEvent.deserialize(deserializer)) - - -@dataclass -class EventStreamUnionPayload: - value: UnionPayloadEvent - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_EVENT_STREAM), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_EVENT_STREAM).members_by_index - serializer.write_struct(members[4], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=UnionPayloadEvent.deserialize(deserializer)) - - -@dataclass -class EventStreamHeadersAndExplicitPayload: - value: HeadersAndExplicitPayloadEvent - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_EVENT_STREAM), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_EVENT_STREAM).members_by_index - serializer.write_struct(members[5], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=HeadersAndExplicitPayloadEvent.deserialize(deserializer)) - - -@dataclass -class EventStreamHeadersAndImplicitPayload: - value: HeadersAndImplicitPayloadEvent - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_EVENT_STREAM), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_EVENT_STREAM).members_by_index - serializer.write_struct(members[6], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=HeadersAndImplicitPayloadEvent.deserialize(deserializer)) - - -@dataclass -class EventStreamError: - value: ErrorEvent - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_EVENT_STREAM), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_EVENT_STREAM).members_by_index - serializer.write_struct(members[7], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=ErrorEvent.deserialize(deserializer)) - - -@dataclass -class EventStreamUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -EventStream = Union[ - EventStreamHeaders - | EventStreamBlobPayload - | EventStreamStringPayload - | EventStreamStructurePayload - | EventStreamUnionPayload - | EventStreamHeadersAndExplicitPayload - | EventStreamHeadersAndImplicitPayload - | EventStreamError - | EventStreamUnknown -] - - -class _EventStreamDeserializer: - _result: EventStream | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> EventStream: - self._result = None - deserializer.read_struct(hydrate(_SCHEMA_EVENT_STREAM), self._consumer) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(EventStreamHeaders.deserialize(de)) - - case 1: - self._set_result(EventStreamBlobPayload.deserialize(de)) - - case 2: - self._set_result(EventStreamStringPayload.deserialize(de)) - - case 3: - self._set_result(EventStreamStructurePayload.deserialize(de)) - - case 4: - self._set_result(EventStreamUnionPayload.deserialize(de)) - - case 5: - self._set_result(EventStreamHeadersAndExplicitPayload.deserialize(de)) - - case 6: - self._set_result(EventStreamHeadersAndImplicitPayload.deserialize(de)) - - case 7: - self._set_result(EventStreamError.deserialize(de)) - - case _: - self._set_result(EventStreamUnknown(tag=schema.expect_member_name())) - - def _set_result(self, value: EventStream) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -@dataclass(kw_only=True) -class DuplexStreamInput: - """Dataclass for DuplexStreamInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DUPLEX_STREAM_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DUPLEX_STREAM_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class DuplexStreamOutput: - """Dataclass for DuplexStreamOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DUPLEX_STREAM_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DUPLEX_STREAM_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -DUPLEX_STREAM = APIOperation( - input=DuplexStreamInput, - output=DuplexStreamOutput, - static_schema=_SCHEMA_DUPLEX_STREAM, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class DuplexStreamWithDistinctStreamsInput: - """Dataclass for DuplexStreamWithDistinctStreamsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_DUPLEX_STREAM_WITH_DISTINCT_STREAMS_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DUPLEX_STREAM_WITH_DISTINCT_STREAMS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SingletonEvent: - """Dataclass for SingletonEvent structure.""" - - value: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SINGLETON_EVENT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SINGLETON_EVENT).members_by_index - if self.value is not None: - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SINGLETON_EVENT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["value"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass -class SingletonEventStreamSingleton: - value: SingletonEvent - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SINGLETON_EVENT_STREAM), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SINGLETON_EVENT_STREAM).members_by_index - serializer.write_struct(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=SingletonEvent.deserialize(deserializer)) - - -@dataclass -class SingletonEventStreamUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -SingletonEventStream = Union[ - SingletonEventStreamSingleton | SingletonEventStreamUnknown -] - - -class _SingletonEventStreamDeserializer: - _result: SingletonEventStream | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> SingletonEventStream: - self._result = None - deserializer.read_struct( - hydrate(_SCHEMA_SINGLETON_EVENT_STREAM), self._consumer - ) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(SingletonEventStreamSingleton.deserialize(de)) - - case _: - self._set_result( - SingletonEventStreamUnknown(tag=schema.expect_member_name()) - ) - - def _set_result(self, value: SingletonEventStream) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -@dataclass(kw_only=True) -class DuplexStreamWithDistinctStreamsOutput: - """Dataclass for DuplexStreamWithDistinctStreamsOutput structure.""" - - stream: SingletonEventStream | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_DUPLEX_STREAM_WITH_DISTINCT_STREAMS_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_DUPLEX_STREAM_WITH_DISTINCT_STREAMS_OUTPUT - ).members_by_index - if self.stream is not None: - serializer.write_struct(members[0], self.stream) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DUPLEX_STREAM_WITH_DISTINCT_STREAMS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["stream"] = _SingletonEventStreamDeserializer().deserialize( - de - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -DUPLEX_STREAM_WITH_DISTINCT_STREAMS = APIOperation( - input=DuplexStreamWithDistinctStreamsInput, - output=DuplexStreamWithDistinctStreamsOutput, - static_schema=_SCHEMA_DUPLEX_STREAM_WITH_DISTINCT_STREAMS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class DuplexStreamWithInitialMessagesInput: - """Dataclass for DuplexStreamWithInitialMessagesInput structure.""" - - initial_request_member: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_DUPLEX_STREAM_WITH_INITIAL_MESSAGES_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_DUPLEX_STREAM_WITH_INITIAL_MESSAGES_INPUT - ).members_by_index - if self.initial_request_member is not None: - serializer.write_string(members[0], self.initial_request_member) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DUPLEX_STREAM_WITH_INITIAL_MESSAGES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["initial_request_member"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class DuplexStreamWithInitialMessagesOutput: - """Dataclass for DuplexStreamWithInitialMessagesOutput structure.""" - - initial_response_member: str - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_DUPLEX_STREAM_WITH_INITIAL_MESSAGES_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_DUPLEX_STREAM_WITH_INITIAL_MESSAGES_OUTPUT - ).members_by_index - serializer.write_string(members[0], self.initial_response_member) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DUPLEX_STREAM_WITH_INITIAL_MESSAGES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["initial_response_member"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - if "initial_response_member" not in kwargs: - kwargs["initial_response_member"] = "" - return kwargs - - -@dataclass(kw_only=True) -class ServiceUnavailableError(ServiceError): - """Dataclass for ServiceUnavailableError structure.""" - - fault: Literal["client", "server"] | None = "server" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SERVICE_UNAVAILABLE_ERROR), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SERVICE_UNAVAILABLE_ERROR).members_by_index - if self.message is not None: - serializer.write_string(members[0], self.message) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SERVICE_UNAVAILABLE_ERROR) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["message"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -DUPLEX_STREAM_WITH_INITIAL_MESSAGES = APIOperation( - input=DuplexStreamWithInitialMessagesInput, - output=DuplexStreamWithInitialMessagesOutput, - static_schema=_SCHEMA_DUPLEX_STREAM_WITH_INITIAL_MESSAGES, - error_registry=TypeRegistry( - { - ShapeID( - "aws.protocoltests.restjson#ServiceUnavailableError" - ): ServiceUnavailableError - } - ), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class EmptyInputAndEmptyOutputInput: - """Dataclass for EmptyInputAndEmptyOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EmptyInputAndEmptyOutputOutput: - """Dataclass for EmptyInputAndEmptyOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -EMPTY_INPUT_AND_EMPTY_OUTPUT = APIOperation( - input=EmptyInputAndEmptyOutputInput, - output=EmptyInputAndEmptyOutputOutput, - static_schema=_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class EndpointOperationInput: - """Dataclass for EndpointOperationInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ENDPOINT_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_OPERATION_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EndpointOperationOutput: - """Dataclass for EndpointOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ENDPOINT_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -ENDPOINT_OPERATION = APIOperation( - input=EndpointOperationInput, - output=EndpointOperationOutput, - static_schema=_SCHEMA_ENDPOINT_OPERATION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class EndpointWithHostLabelOperationInput: - """Dataclass for EndpointWithHostLabelOperationInput structure.""" - - label: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT - ).members_by_index - if self.label is not None: - serializer.write_string(members[0], self.label) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["label"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EndpointWithHostLabelOperationOutput: - """Dataclass for EndpointWithHostLabelOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -ENDPOINT_WITH_HOST_LABEL_OPERATION = APIOperation( - input=EndpointWithHostLabelOperationInput, - output=EndpointWithHostLabelOperationOutput, - static_schema=_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class FooError(ServiceError): - """ - This error has test cases that test some of the dark corners of Amazon - service framework history. It should only be implemented by clients. - """ - - fault: Literal["client", "server"] | None = "server" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FOO_ERROR), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FOO_ERROR) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class FractionalSecondsInput: - """Dataclass for FractionalSecondsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FRACTIONAL_SECONDS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FRACTIONAL_SECONDS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class FractionalSecondsOutput: - """Dataclass for FractionalSecondsOutput structure.""" - - datetime_: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT).members_by_index - if self.datetime_ is not None: - serializer.write_timestamp(members[0], self.datetime_) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["datetime_"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -FRACTIONAL_SECONDS = APIOperation( - input=FractionalSecondsInput, - output=FractionalSecondsOutput, - static_schema=_SCHEMA_FRACTIONAL_SECONDS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class GreetingWithErrorsInput: - """Dataclass for GreetingWithErrorsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class GreetingWithErrorsOutput: - """Dataclass for GreetingWithErrorsOutput structure.""" - - greeting: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT).members_by_index - if self.greeting is not None: - serializer.write_string(members[0], self.greeting) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["greeting"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class InvalidGreeting(ServiceError): - """This error is thrown when an invalid greeting value is provided.""" - - fault: Literal["client", "server"] | None = "client" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_INVALID_GREETING), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_INVALID_GREETING).members_by_index - if self.message is not None: - serializer.write_string(members[0], self.message) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INVALID_GREETING) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["message"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -GREETING_WITH_ERRORS = APIOperation( - input=GreetingWithErrorsInput, - output=GreetingWithErrorsOutput, - static_schema=_SCHEMA_GREETING_WITH_ERRORS, - error_registry=TypeRegistry( - { - ShapeID("aws.protocoltests.restjson#InvalidGreeting"): InvalidGreeting, - ShapeID("aws.protocoltests.restjson#ComplexError"): ComplexError, - ShapeID("aws.protocoltests.restjson#FooError"): FooError, - } - ), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HostWithPathOperationInput: - """Dataclass for HostWithPathOperationInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HostWithPathOperationOutput: - """Dataclass for HostWithPathOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HOST_WITH_PATH_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HOST_WITH_PATH_OPERATION = APIOperation( - input=HostWithPathOperationInput, - output=HostWithPathOperationOutput, - static_schema=_SCHEMA_HOST_WITH_PATH_OPERATION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpChecksumRequiredInput: - """Dataclass for HttpChecksumRequiredInput structure.""" - - foo: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_CHECKSUM_REQUIRED_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_CHECKSUM_REQUIRED_INPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_CHECKSUM_REQUIRED_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpChecksumRequiredOutput: - """Dataclass for HttpChecksumRequiredOutput structure.""" - - foo: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_CHECKSUM_REQUIRED_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_CHECKSUM_REQUIRED_OUTPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_CHECKSUM_REQUIRED_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_CHECKSUM_REQUIRED = APIOperation( - input=HttpChecksumRequiredInput, - output=HttpChecksumRequiredOutput, - static_schema=_SCHEMA_HTTP_CHECKSUM_REQUIRED, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_string_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_string_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class HttpEmptyPrefixHeadersInput: - """Dataclass for HttpEmptyPrefixHeadersInput structure.""" - - prefix_headers: dict[str, str] | None = None - - specific_header: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_INPUT).members_by_index - if self.prefix_headers is not None: - _serialize_string_map(serializer, members[0], self.prefix_headers) - - if self.specific_header is not None: - serializer.write_string(members[1], self.specific_header) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["prefix_headers"] = _deserialize_string_map(de, members[0]) - - case 1: - kwargs["specific_header"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpEmptyPrefixHeadersOutput: - """Dataclass for HttpEmptyPrefixHeadersOutput structure.""" - - prefix_headers: dict[str, str] | None = None - - specific_header: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_OUTPUT).members_by_index - if self.prefix_headers is not None: - _serialize_string_map(serializer, members[0], self.prefix_headers) - - if self.specific_header is not None: - serializer.write_string(members[1], self.specific_header) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["prefix_headers"] = _deserialize_string_map(de, members[0]) - - case 1: - kwargs["specific_header"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_EMPTY_PREFIX_HEADERS = APIOperation( - input=HttpEmptyPrefixHeadersInput, - output=HttpEmptyPrefixHeadersOutput, - static_schema=_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -class StringEnum(UnknownEnumMixin, StrEnum): - V = "enumvalue" - - -@dataclass(kw_only=True) -class HttpEnumPayloadInput: - """Dataclass for HttpEnumPayloadInput structure.""" - - payload: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_ENUM_PAYLOAD_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_ENUM_PAYLOAD_INPUT).members_by_index - if self.payload is not None: - serializer.write_string(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_ENUM_PAYLOAD_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = StringEnum(de.read_string(members[0])) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpEnumPayloadOutput: - """Dataclass for HttpEnumPayloadOutput structure.""" - - payload: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_ENUM_PAYLOAD_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_ENUM_PAYLOAD_OUTPUT).members_by_index - if self.payload is not None: - serializer.write_string(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_ENUM_PAYLOAD_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = StringEnum(de.read_string(members[0])) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_ENUM_PAYLOAD = APIOperation( - input=HttpEnumPayloadInput, - output=HttpEnumPayloadOutput, - static_schema=_SCHEMA_HTTP_ENUM_PAYLOAD, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpPayloadTraitsInput: - """Dataclass for HttpPayloadTraitsInput structure.""" - - foo: str | None = None - - blob: bytes | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_INPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.blob is not None: - serializer.write_blob(members[1], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["blob"] = de.read_blob(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadTraitsOutput: - """Dataclass for HttpPayloadTraitsOutput structure.""" - - foo: str | None = None - - blob: bytes | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_OUTPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.blob is not None: - serializer.write_blob(members[1], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["blob"] = de.read_blob(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PAYLOAD_TRAITS = APIOperation( - input=HttpPayloadTraitsInput, - output=HttpPayloadTraitsOutput, - static_schema=_SCHEMA_HTTP_PAYLOAD_TRAITS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpPayloadTraitsWithMediaTypeInput: - """Dataclass for HttpPayloadTraitsWithMediaTypeInput structure.""" - - foo: str | None = None - - blob: bytes | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_INPUT - ).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.blob is not None: - serializer.write_blob(members[1], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["blob"] = de.read_blob(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadTraitsWithMediaTypeOutput: - """Dataclass for HttpPayloadTraitsWithMediaTypeOutput structure.""" - - foo: str | None = None - - blob: bytes | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_OUTPUT - ).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.blob is not None: - serializer.write_blob(members[1], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["blob"] = de.read_blob(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE = APIOperation( - input=HttpPayloadTraitsWithMediaTypeInput, - output=HttpPayloadTraitsWithMediaTypeOutput, - static_schema=_SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NestedPayload: - """Dataclass for NestedPayload structure.""" - - greeting: str | None = None - - name: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NESTED_PAYLOAD), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NESTED_PAYLOAD).members_by_index - if self.greeting is not None: - serializer.write_string(members[0], self.greeting) - - if self.name is not None: - serializer.write_string(members[1], self.name) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NESTED_PAYLOAD) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["greeting"] = de.read_string(members[0]) - - case 1: - kwargs["name"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadWithStructureInput: - """Dataclass for HttpPayloadWithStructureInput structure.""" - - nested: NestedPayload | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_INPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = NestedPayload.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadWithStructureOutput: - """Dataclass for HttpPayloadWithStructureOutput structure.""" - - nested: NestedPayload | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_OUTPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = NestedPayload.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PAYLOAD_WITH_STRUCTURE = APIOperation( - input=HttpPayloadWithStructureInput, - output=HttpPayloadWithStructureOutput, - static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass -class UnionPayloadGreeting: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_UNION_PAYLOAD), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_UNION_PAYLOAD).members_by_index - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_UNION_PAYLOAD).members_by_index - return cls(value=deserializer.read_string(members[0])) - - -@dataclass -class UnionPayloadUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -UnionPayload = Union[UnionPayloadGreeting | UnionPayloadUnknown] - - -class _UnionPayloadDeserializer: - _result: UnionPayload | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> UnionPayload: - self._result = None - deserializer.read_struct(hydrate(_SCHEMA_UNION_PAYLOAD), self._consumer) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(UnionPayloadGreeting.deserialize(de)) - - case _: - self._set_result(UnionPayloadUnknown(tag=schema.expect_member_name())) - - def _set_result(self, value: UnionPayload) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -@dataclass(kw_only=True) -class HttpPayloadWithUnionInput: - """Dataclass for HttpPayloadWithUnionInput structure.""" - - nested: UnionPayload | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_UNION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_UNION_INPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_UNION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = _UnionPayloadDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadWithUnionOutput: - """Dataclass for HttpPayloadWithUnionOutput structure.""" - - nested: UnionPayload | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_UNION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_UNION_OUTPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_UNION_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = _UnionPayloadDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PAYLOAD_WITH_UNION = APIOperation( - input=HttpPayloadWithUnionInput, - output=HttpPayloadWithUnionOutput, - static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_UNION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpPrefixHeadersInput: - """Dataclass for HttpPrefixHeadersInput structure.""" - - foo: str | None = None - - foo_map: dict[str, str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_INPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.foo_map is not None: - _serialize_string_map(serializer, members[1], self.foo_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["foo_map"] = _deserialize_string_map(de, members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPrefixHeadersOutput: - """Dataclass for HttpPrefixHeadersOutput structure.""" - - foo: str | None = None - - foo_map: dict[str, str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_OUTPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.foo_map is not None: - _serialize_string_map(serializer, members[1], self.foo_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["foo_map"] = _deserialize_string_map(de, members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PREFIX_HEADERS = APIOperation( - input=HttpPrefixHeadersInput, - output=HttpPrefixHeadersOutput, - static_schema=_SCHEMA_HTTP_PREFIX_HEADERS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpPrefixHeadersInResponseInput: - """Dataclass for HttpPrefixHeadersInResponseInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_IN_RESPONSE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_IN_RESPONSE_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPrefixHeadersInResponseOutput: - """Dataclass for HttpPrefixHeadersInResponseOutput structure.""" - - prefix_headers: dict[str, str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_IN_RESPONSE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_PREFIX_HEADERS_IN_RESPONSE_OUTPUT - ).members_by_index - if self.prefix_headers is not None: - _serialize_string_map(serializer, members[0], self.prefix_headers) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_IN_RESPONSE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["prefix_headers"] = _deserialize_string_map(de, members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PREFIX_HEADERS_IN_RESPONSE = APIOperation( - input=HttpPrefixHeadersInResponseInput, - output=HttpPrefixHeadersInResponseOutput, - static_schema=_SCHEMA_HTTP_PREFIX_HEADERS_IN_RESPONSE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_query_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_query_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class HttpQueryParamsOnlyOperationInput: - """Dataclass for HttpQueryParamsOnlyOperationInput structure.""" - - query_map: dict[str, str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_QUERY_PARAMS_ONLY_OPERATION_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_QUERY_PARAMS_ONLY_OPERATION_INPUT - ).members_by_index - if self.query_map is not None: - _serialize_query_map(serializer, members[0], self.query_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_QUERY_PARAMS_ONLY_OPERATION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["query_map"] = _deserialize_query_map(de, members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpQueryParamsOnlyOperationOutput: - """Dataclass for HttpQueryParamsOnlyOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_QUERY_PARAMS_ONLY_OPERATION_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_QUERY_PARAMS_ONLY_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_QUERY_PARAMS_ONLY_OPERATION = APIOperation( - input=HttpQueryParamsOnlyOperationInput, - output=HttpQueryParamsOnlyOperationOutput, - static_schema=_SCHEMA_HTTP_QUERY_PARAMS_ONLY_OPERATION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpRequestWithFloatLabelsInput: - """Dataclass for HttpRequestWithFloatLabelsInput structure.""" - - float_: float | None = None - - double: float | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS_INPUT).members_by_index - if self.float_ is not None: - serializer.write_float(members[0], self.float_) - - if self.double is not None: - serializer.write_double(members[1], self.double) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["float_"] = de.read_float(members[0]) - - case 1: - kwargs["double"] = de.read_double(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpRequestWithFloatLabelsOutput: - """Dataclass for HttpRequestWithFloatLabelsOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_REQUEST_WITH_FLOAT_LABELS = APIOperation( - input=HttpRequestWithFloatLabelsInput, - output=HttpRequestWithFloatLabelsOutput, - static_schema=_SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpRequestWithGreedyLabelInPathInput: - """Dataclass for HttpRequestWithGreedyLabelInPathInput structure.""" - - foo: str | None = None - - baz: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_INPUT - ).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.baz is not None: - serializer.write_string(members[1], self.baz) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["baz"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpRequestWithGreedyLabelInPathOutput: - """Dataclass for HttpRequestWithGreedyLabelInPathOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH = APIOperation( - input=HttpRequestWithGreedyLabelInPathInput, - output=HttpRequestWithGreedyLabelInPathOutput, - static_schema=_SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpRequestWithLabelsInput: - """Dataclass for HttpRequestWithLabelsInput structure.""" - - string: str | None = None - - short: int | None = None - - integer: int | None = None - - long: int | None = None - - float_: float | None = None - - double: float | None = None - - boolean: bool | None = None - """Serialized in the path as true or false.""" - - timestamp: datetime | None = None - """ - Note that this member has no format, so it's serialized as an RFC 3399 - date-time. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_INPUT).members_by_index - if self.string is not None: - serializer.write_string(members[0], self.string) - - if self.short is not None: - serializer.write_short(members[1], self.short) - - if self.integer is not None: - serializer.write_integer(members[2], self.integer) - - if self.long is not None: - serializer.write_long(members[3], self.long) - - if self.float_ is not None: - serializer.write_float(members[4], self.float_) - - if self.double is not None: - serializer.write_double(members[5], self.double) - - if self.boolean is not None: - serializer.write_boolean(members[6], self.boolean) - - if self.timestamp is not None: - serializer.write_timestamp(members[7], self.timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string"] = de.read_string(members[0]) - - case 1: - kwargs["short"] = de.read_short(members[1]) - - case 2: - kwargs["integer"] = de.read_integer(members[2]) - - case 3: - kwargs["long"] = de.read_long(members[3]) - - case 4: - kwargs["float_"] = de.read_float(members[4]) - - case 5: - kwargs["double"] = de.read_double(members[5]) - - case 6: - kwargs["boolean"] = de.read_boolean(members[6]) - - case 7: - kwargs["timestamp"] = de.read_timestamp(members[7]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpRequestWithLabelsOutput: - """Dataclass for HttpRequestWithLabelsOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_REQUEST_WITH_LABELS = APIOperation( - input=HttpRequestWithLabelsInput, - output=HttpRequestWithLabelsOutput, - static_schema=_SCHEMA_HTTP_REQUEST_WITH_LABELS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpRequestWithLabelsAndTimestampFormatInput: - """Dataclass for HttpRequestWithLabelsAndTimestampFormatInput structure.""" - - member_epoch_seconds: datetime | None = None - - member_http_date: datetime | None = None - - member_date_time: datetime | None = None - - default_format: datetime | None = None - - target_epoch_seconds: datetime | None = None - - target_http_date: datetime | None = None - - target_date_time: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_INPUT - ).members_by_index - if self.member_epoch_seconds is not None: - serializer.write_timestamp(members[0], self.member_epoch_seconds) - - if self.member_http_date is not None: - serializer.write_timestamp(members[1], self.member_http_date) - - if self.member_date_time is not None: - serializer.write_timestamp(members[2], self.member_date_time) - - if self.default_format is not None: - serializer.write_timestamp(members[3], self.default_format) - - if self.target_epoch_seconds is not None: - serializer.write_timestamp(members[4], self.target_epoch_seconds) - - if self.target_http_date is not None: - serializer.write_timestamp(members[5], self.target_http_date) - - if self.target_date_time is not None: - serializer.write_timestamp(members[6], self.target_date_time) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["member_epoch_seconds"] = de.read_timestamp(members[0]) - - case 1: - kwargs["member_http_date"] = de.read_timestamp(members[1]) - - case 2: - kwargs["member_date_time"] = de.read_timestamp(members[2]) - - case 3: - kwargs["default_format"] = de.read_timestamp(members[3]) - - case 4: - kwargs["target_epoch_seconds"] = de.read_timestamp(members[4]) - - case 5: - kwargs["target_http_date"] = de.read_timestamp(members[5]) - - case 6: - kwargs["target_date_time"] = de.read_timestamp(members[6]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpRequestWithLabelsAndTimestampFormatOutput: - """Dataclass for HttpRequestWithLabelsAndTimestampFormatOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT = APIOperation( - input=HttpRequestWithLabelsAndTimestampFormatInput, - output=HttpRequestWithLabelsAndTimestampFormatOutput, - static_schema=_SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpRequestWithRegexLiteralInput: - """Dataclass for HttpRequestWithRegexLiteralInput structure.""" - - str_: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_REQUEST_WITH_REGEX_LITERAL_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_REQUEST_WITH_REGEX_LITERAL_INPUT - ).members_by_index - if self.str_ is not None: - serializer.write_string(members[0], self.str_) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_REGEX_LITERAL_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["str_"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpRequestWithRegexLiteralOutput: - """Dataclass for HttpRequestWithRegexLiteralOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_REQUEST_WITH_REGEX_LITERAL_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_REGEX_LITERAL_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_REQUEST_WITH_REGEX_LITERAL = APIOperation( - input=HttpRequestWithRegexLiteralInput, - output=HttpRequestWithRegexLiteralOutput, - static_schema=_SCHEMA_HTTP_REQUEST_WITH_REGEX_LITERAL, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpResponseCodeInput: - """Dataclass for HttpResponseCodeInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_RESPONSE_CODE_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_RESPONSE_CODE_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpResponseCodeOutput: - """Dataclass for HttpResponseCodeOutput structure.""" - - status: int | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_RESPONSE_CODE_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_RESPONSE_CODE_OUTPUT).members_by_index - if self.status is not None: - serializer.write_integer(members[0], self.status) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_RESPONSE_CODE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["status"] = de.read_integer(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_RESPONSE_CODE = APIOperation( - input=HttpResponseCodeInput, - output=HttpResponseCodeOutput, - static_schema=_SCHEMA_HTTP_RESPONSE_CODE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpStringPayloadInput: - """Dataclass for HttpStringPayloadInput structure.""" - - payload: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_STRING_PAYLOAD_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_STRING_PAYLOAD_INPUT).members_by_index - if self.payload is not None: - serializer.write_string(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_STRING_PAYLOAD_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpStringPayloadOutput: - """Dataclass for HttpStringPayloadOutput structure.""" - - payload: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_STRING_PAYLOAD_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_STRING_PAYLOAD_OUTPUT).members_by_index - if self.payload is not None: - serializer.write_string(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_STRING_PAYLOAD_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_STRING_PAYLOAD = APIOperation( - input=HttpStringPayloadInput, - output=HttpStringPayloadOutput, - static_schema=_SCHEMA_HTTP_STRING_PAYLOAD, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class IgnoreQueryParamsInResponseInput: - """Dataclass for IgnoreQueryParamsInResponseInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class IgnoreQueryParamsInResponseOutput: - """Dataclass for IgnoreQueryParamsInResponseOutput structure.""" - - baz: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT - ).members_by_index - if self.baz is not None: - serializer.write_string(members[0], self.baz) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["baz"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -IGNORE_QUERY_PARAMS_IN_RESPONSE = APIOperation( - input=IgnoreQueryParamsInResponseInput, - output=IgnoreQueryParamsInResponseOutput, - static_schema=_SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class InputAndOutputWithHeadersInput: - """Dataclass for InputAndOutputWithHeadersInput structure.""" - - header_string: str | None = None - - header_byte: int | None = None - - header_short: int | None = None - - header_integer: int | None = None - - header_long: int | None = None - - header_float: float | None = None - - header_double: float | None = None - - header_true_bool: bool | None = None - - header_false_bool: bool | None = None - - header_string_list: list[str] | None = None - - header_string_set: list[str] | None = None - - header_integer_list: list[int] | None = None - - header_boolean_list: list[bool] | None = None - - header_timestamp_list: list[datetime] | None = None - - header_enum: str | None = None - - header_enum_list: list[str] | None = None - - header_integer_enum: int | None = None - - header_integer_enum_list: list[int] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_INPUT).members_by_index - if self.header_string is not None: - serializer.write_string(members[0], self.header_string) - - if self.header_byte is not None: - serializer.write_byte(members[1], self.header_byte) - - if self.header_short is not None: - serializer.write_short(members[2], self.header_short) - - if self.header_integer is not None: - serializer.write_integer(members[3], self.header_integer) - - if self.header_long is not None: - serializer.write_long(members[4], self.header_long) - - if self.header_float is not None: - serializer.write_float(members[5], self.header_float) - - if self.header_double is not None: - serializer.write_double(members[6], self.header_double) - - if self.header_true_bool is not None: - serializer.write_boolean(members[7], self.header_true_bool) - - if self.header_false_bool is not None: - serializer.write_boolean(members[8], self.header_false_bool) - - if self.header_string_list is not None: - _serialize_string_list(serializer, members[9], self.header_string_list) - - if self.header_string_set is not None: - _serialize_string_set(serializer, members[10], self.header_string_set) - - if self.header_integer_list is not None: - _serialize_integer_list(serializer, members[11], self.header_integer_list) - - if self.header_boolean_list is not None: - _serialize_boolean_list(serializer, members[12], self.header_boolean_list) - - if self.header_timestamp_list is not None: - _serialize_timestamp_list( - serializer, members[13], self.header_timestamp_list - ) - - if self.header_enum is not None: - serializer.write_string(members[14], self.header_enum) - - if self.header_enum_list is not None: - _serialize_foo_enum_list(serializer, members[15], self.header_enum_list) - - if self.header_integer_enum is not None: - serializer.write_integer(members[16], self.header_integer_enum) - - if self.header_integer_enum_list is not None: - _serialize_integer_enum_list( - serializer, members[17], self.header_integer_enum_list - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["header_string"] = de.read_string(members[0]) - - case 1: - kwargs["header_byte"] = de.read_byte(members[1]) - - case 2: - kwargs["header_short"] = de.read_short(members[2]) - - case 3: - kwargs["header_integer"] = de.read_integer(members[3]) - - case 4: - kwargs["header_long"] = de.read_long(members[4]) - - case 5: - kwargs["header_float"] = de.read_float(members[5]) - - case 6: - kwargs["header_double"] = de.read_double(members[6]) - - case 7: - kwargs["header_true_bool"] = de.read_boolean(members[7]) - - case 8: - kwargs["header_false_bool"] = de.read_boolean(members[8]) - - case 9: - kwargs["header_string_list"] = _deserialize_string_list( - de, members[9] - ) - - case 10: - kwargs["header_string_set"] = _deserialize_string_set( - de, members[10] - ) - - case 11: - kwargs["header_integer_list"] = _deserialize_integer_list( - de, members[11] - ) - - case 12: - kwargs["header_boolean_list"] = _deserialize_boolean_list( - de, members[12] - ) - - case 13: - kwargs["header_timestamp_list"] = _deserialize_timestamp_list( - de, members[13] - ) - - case 14: - kwargs["header_enum"] = FooEnum(de.read_string(members[14])) - - case 15: - kwargs["header_enum_list"] = _deserialize_foo_enum_list( - de, members[15] - ) - - case 16: - kwargs["header_integer_enum"] = IntegerEnum( - de.read_integer(members[16]) - ) - - case 17: - kwargs["header_integer_enum_list"] = _deserialize_integer_enum_list( - de, members[17] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class InputAndOutputWithHeadersOutput: - """Dataclass for InputAndOutputWithHeadersOutput structure.""" - - header_string: str | None = None - - header_byte: int | None = None - - header_short: int | None = None - - header_integer: int | None = None - - header_long: int | None = None - - header_float: float | None = None - - header_double: float | None = None - - header_true_bool: bool | None = None - - header_false_bool: bool | None = None - - header_string_list: list[str] | None = None - - header_string_set: list[str] | None = None - - header_integer_list: list[int] | None = None - - header_boolean_list: list[bool] | None = None - - header_timestamp_list: list[datetime] | None = None - - header_enum: str | None = None - - header_enum_list: list[str] | None = None - - header_integer_enum: int | None = None - - header_integer_enum_list: list[int] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_OUTPUT).members_by_index - if self.header_string is not None: - serializer.write_string(members[0], self.header_string) - - if self.header_byte is not None: - serializer.write_byte(members[1], self.header_byte) - - if self.header_short is not None: - serializer.write_short(members[2], self.header_short) - - if self.header_integer is not None: - serializer.write_integer(members[3], self.header_integer) - - if self.header_long is not None: - serializer.write_long(members[4], self.header_long) - - if self.header_float is not None: - serializer.write_float(members[5], self.header_float) - - if self.header_double is not None: - serializer.write_double(members[6], self.header_double) - - if self.header_true_bool is not None: - serializer.write_boolean(members[7], self.header_true_bool) - - if self.header_false_bool is not None: - serializer.write_boolean(members[8], self.header_false_bool) - - if self.header_string_list is not None: - _serialize_string_list(serializer, members[9], self.header_string_list) - - if self.header_string_set is not None: - _serialize_string_set(serializer, members[10], self.header_string_set) - - if self.header_integer_list is not None: - _serialize_integer_list(serializer, members[11], self.header_integer_list) - - if self.header_boolean_list is not None: - _serialize_boolean_list(serializer, members[12], self.header_boolean_list) - - if self.header_timestamp_list is not None: - _serialize_timestamp_list( - serializer, members[13], self.header_timestamp_list - ) - - if self.header_enum is not None: - serializer.write_string(members[14], self.header_enum) - - if self.header_enum_list is not None: - _serialize_foo_enum_list(serializer, members[15], self.header_enum_list) - - if self.header_integer_enum is not None: - serializer.write_integer(members[16], self.header_integer_enum) - - if self.header_integer_enum_list is not None: - _serialize_integer_enum_list( - serializer, members[17], self.header_integer_enum_list - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["header_string"] = de.read_string(members[0]) - - case 1: - kwargs["header_byte"] = de.read_byte(members[1]) - - case 2: - kwargs["header_short"] = de.read_short(members[2]) - - case 3: - kwargs["header_integer"] = de.read_integer(members[3]) - - case 4: - kwargs["header_long"] = de.read_long(members[4]) - - case 5: - kwargs["header_float"] = de.read_float(members[5]) - - case 6: - kwargs["header_double"] = de.read_double(members[6]) - - case 7: - kwargs["header_true_bool"] = de.read_boolean(members[7]) - - case 8: - kwargs["header_false_bool"] = de.read_boolean(members[8]) - - case 9: - kwargs["header_string_list"] = _deserialize_string_list( - de, members[9] - ) - - case 10: - kwargs["header_string_set"] = _deserialize_string_set( - de, members[10] - ) - - case 11: - kwargs["header_integer_list"] = _deserialize_integer_list( - de, members[11] - ) - - case 12: - kwargs["header_boolean_list"] = _deserialize_boolean_list( - de, members[12] - ) - - case 13: - kwargs["header_timestamp_list"] = _deserialize_timestamp_list( - de, members[13] - ) - - case 14: - kwargs["header_enum"] = FooEnum(de.read_string(members[14])) - - case 15: - kwargs["header_enum_list"] = _deserialize_foo_enum_list( - de, members[15] - ) - - case 16: - kwargs["header_integer_enum"] = IntegerEnum( - de.read_integer(members[16]) - ) - - case 17: - kwargs["header_integer_enum_list"] = _deserialize_integer_enum_list( - de, members[17] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -INPUT_AND_OUTPUT_WITH_HEADERS = APIOperation( - input=InputAndOutputWithHeadersInput, - output=InputAndOutputWithHeadersOutput, - static_schema=_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class InputStreamInput: - """Dataclass for InputStreamInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_INPUT_STREAM_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INPUT_STREAM_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class InputStreamOutput: - """Dataclass for InputStreamOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_INPUT_STREAM_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INPUT_STREAM_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -INPUT_STREAM = APIOperation( - input=InputStreamInput, - output=InputStreamOutput, - static_schema=_SCHEMA_INPUT_STREAM, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class InputStreamWithInitialRequestInput: - """Dataclass for InputStreamWithInitialRequestInput structure.""" - - initial_request_member: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_INPUT_STREAM_WITH_INITIAL_REQUEST_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_INPUT_STREAM_WITH_INITIAL_REQUEST_INPUT - ).members_by_index - if self.initial_request_member is not None: - serializer.write_string(members[0], self.initial_request_member) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INPUT_STREAM_WITH_INITIAL_REQUEST_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["initial_request_member"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class InputStreamWithInitialRequestOutput: - """Dataclass for InputStreamWithInitialRequestOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_INPUT_STREAM_WITH_INITIAL_REQUEST_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INPUT_STREAM_WITH_INITIAL_REQUEST_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -INPUT_STREAM_WITH_INITIAL_REQUEST = APIOperation( - input=InputStreamWithInitialRequestInput, - output=InputStreamWithInitialRequestOutput, - static_schema=_SCHEMA_INPUT_STREAM_WITH_INITIAL_REQUEST, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class JsonBlobsInput: - """Dataclass for JsonBlobsInput structure.""" - - data: bytes | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_BLOBS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_BLOBS_INPUT).members_by_index - if self.data is not None: - serializer.write_blob(members[0], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_BLOBS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["data"] = de.read_blob(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class JsonBlobsOutput: - """Dataclass for JsonBlobsOutput structure.""" - - data: bytes | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_BLOBS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_BLOBS_OUTPUT).members_by_index - if self.data is not None: - serializer.write_blob(members[0], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_BLOBS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["data"] = de.read_blob(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -JSON_BLOBS = APIOperation( - input=JsonBlobsInput, - output=JsonBlobsOutput, - static_schema=_SCHEMA_JSON_BLOBS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_foo_enum_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_foo_enum_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = FooEnum(d.read_string(value_schema)) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_foo_enum_set( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_foo_enum_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(FooEnum(d.read_string(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class JsonEnumsInput: - """Dataclass for JsonEnumsInput structure.""" - - foo_enum1: str | None = None - - foo_enum2: str | None = None - - foo_enum3: str | None = None - - foo_enum_list: list[str] | None = None - - foo_enum_set: list[str] | None = None - - foo_enum_map: dict[str, str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_ENUMS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_ENUMS_INPUT).members_by_index - if self.foo_enum1 is not None: - serializer.write_string(members[0], self.foo_enum1) - - if self.foo_enum2 is not None: - serializer.write_string(members[1], self.foo_enum2) - - if self.foo_enum3 is not None: - serializer.write_string(members[2], self.foo_enum3) - - if self.foo_enum_list is not None: - _serialize_foo_enum_list(serializer, members[3], self.foo_enum_list) - - if self.foo_enum_set is not None: - _serialize_foo_enum_set(serializer, members[4], self.foo_enum_set) - - if self.foo_enum_map is not None: - _serialize_foo_enum_map(serializer, members[5], self.foo_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_ENUMS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo_enum1"] = FooEnum(de.read_string(members[0])) - - case 1: - kwargs["foo_enum2"] = FooEnum(de.read_string(members[1])) - - case 2: - kwargs["foo_enum3"] = FooEnum(de.read_string(members[2])) - - case 3: - kwargs["foo_enum_list"] = _deserialize_foo_enum_list(de, members[3]) - - case 4: - kwargs["foo_enum_set"] = _deserialize_foo_enum_set(de, members[4]) - - case 5: - kwargs["foo_enum_map"] = _deserialize_foo_enum_map(de, members[5]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class JsonEnumsOutput: - """Dataclass for JsonEnumsOutput structure.""" - - foo_enum1: str | None = None - - foo_enum2: str | None = None - - foo_enum3: str | None = None - - foo_enum_list: list[str] | None = None - - foo_enum_set: list[str] | None = None - - foo_enum_map: dict[str, str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_ENUMS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_ENUMS_OUTPUT).members_by_index - if self.foo_enum1 is not None: - serializer.write_string(members[0], self.foo_enum1) - - if self.foo_enum2 is not None: - serializer.write_string(members[1], self.foo_enum2) - - if self.foo_enum3 is not None: - serializer.write_string(members[2], self.foo_enum3) - - if self.foo_enum_list is not None: - _serialize_foo_enum_list(serializer, members[3], self.foo_enum_list) - - if self.foo_enum_set is not None: - _serialize_foo_enum_set(serializer, members[4], self.foo_enum_set) - - if self.foo_enum_map is not None: - _serialize_foo_enum_map(serializer, members[5], self.foo_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_ENUMS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo_enum1"] = FooEnum(de.read_string(members[0])) - - case 1: - kwargs["foo_enum2"] = FooEnum(de.read_string(members[1])) - - case 2: - kwargs["foo_enum3"] = FooEnum(de.read_string(members[2])) - - case 3: - kwargs["foo_enum_list"] = _deserialize_foo_enum_list(de, members[3]) - - case 4: - kwargs["foo_enum_set"] = _deserialize_foo_enum_set(de, members[4]) - - case 5: - kwargs["foo_enum_map"] = _deserialize_foo_enum_map(de, members[5]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -JSON_ENUMS = APIOperation( - input=JsonEnumsInput, - output=JsonEnumsOutput, - static_schema=_SCHEMA_JSON_ENUMS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_integer_enum_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, int] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_integer(value_schema, v)) - - -def _deserialize_integer_enum_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, int]: - result: dict[str, int] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = IntegerEnum(d.read_integer(value_schema)) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_integer_enum_set( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) - - -def _deserialize_integer_enum_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(IntegerEnum(d.read_integer(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class JsonIntEnumsInput: - """Dataclass for JsonIntEnumsInput structure.""" - - integer_enum1: int | None = None - - integer_enum2: int | None = None - - integer_enum3: int | None = None - - integer_enum_list: list[int] | None = None - - integer_enum_set: list[int] | None = None - - integer_enum_map: dict[str, int] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_INT_ENUMS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_INT_ENUMS_INPUT).members_by_index - if self.integer_enum1 is not None: - serializer.write_integer(members[0], self.integer_enum1) - - if self.integer_enum2 is not None: - serializer.write_integer(members[1], self.integer_enum2) - - if self.integer_enum3 is not None: - serializer.write_integer(members[2], self.integer_enum3) - - if self.integer_enum_list is not None: - _serialize_integer_enum_list(serializer, members[3], self.integer_enum_list) - - if self.integer_enum_set is not None: - _serialize_integer_enum_set(serializer, members[4], self.integer_enum_set) - - if self.integer_enum_map is not None: - _serialize_integer_enum_map(serializer, members[5], self.integer_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_INT_ENUMS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["integer_enum1"] = IntegerEnum(de.read_integer(members[0])) - - case 1: - kwargs["integer_enum2"] = IntegerEnum(de.read_integer(members[1])) - - case 2: - kwargs["integer_enum3"] = IntegerEnum(de.read_integer(members[2])) - - case 3: - kwargs["integer_enum_list"] = _deserialize_integer_enum_list( - de, members[3] - ) - - case 4: - kwargs["integer_enum_set"] = _deserialize_integer_enum_set( - de, members[4] - ) - - case 5: - kwargs["integer_enum_map"] = _deserialize_integer_enum_map( - de, members[5] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class JsonIntEnumsOutput: - """Dataclass for JsonIntEnumsOutput structure.""" - - integer_enum1: int | None = None - - integer_enum2: int | None = None - - integer_enum3: int | None = None - - integer_enum_list: list[int] | None = None - - integer_enum_set: list[int] | None = None - - integer_enum_map: dict[str, int] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_INT_ENUMS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_INT_ENUMS_OUTPUT).members_by_index - if self.integer_enum1 is not None: - serializer.write_integer(members[0], self.integer_enum1) - - if self.integer_enum2 is not None: - serializer.write_integer(members[1], self.integer_enum2) - - if self.integer_enum3 is not None: - serializer.write_integer(members[2], self.integer_enum3) - - if self.integer_enum_list is not None: - _serialize_integer_enum_list(serializer, members[3], self.integer_enum_list) - - if self.integer_enum_set is not None: - _serialize_integer_enum_set(serializer, members[4], self.integer_enum_set) - - if self.integer_enum_map is not None: - _serialize_integer_enum_map(serializer, members[5], self.integer_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_INT_ENUMS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["integer_enum1"] = IntegerEnum(de.read_integer(members[0])) - - case 1: - kwargs["integer_enum2"] = IntegerEnum(de.read_integer(members[1])) - - case 2: - kwargs["integer_enum3"] = IntegerEnum(de.read_integer(members[2])) - - case 3: - kwargs["integer_enum_list"] = _deserialize_integer_enum_list( - de, members[3] - ) - - case 4: - kwargs["integer_enum_set"] = _deserialize_integer_enum_set( - de, members[4] - ) - - case 5: - kwargs["integer_enum_map"] = _deserialize_integer_enum_map( - de, members[5] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -JSON_INT_ENUMS = APIOperation( - input=JsonIntEnumsInput, - output=JsonIntEnumsOutput, - static_schema=_SCHEMA_JSON_INT_ENUMS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_nested_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[list[str]] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - _serialize_string_list(ls, member_schema, e) - - -def _deserialize_nested_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[list[str]]: - result: list[list[str]] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(_deserialize_string_list(d, member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class StructureListMember: - """Dataclass for StructureListMember structure.""" - - a: str | None = None - - b: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER).members_by_index - if self.a is not None: - serializer.write_string(members[0], self.a) - - if self.b is not None: - serializer.write_string(members[1], self.b) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["a"] = de.read_string(members[0]) - - case 1: - kwargs["b"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_structure_list( - serializer: ShapeSerializer, schema: Schema, value: list[StructureListMember] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_struct(member_schema, e) - - -def _deserialize_structure_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[StructureListMember]: - result: list[StructureListMember] = [] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(StructureListMember.deserialize(d)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class JsonListsInput: - """Dataclass for JsonListsInput structure.""" - - string_list: list[str] | None = None - - string_set: list[str] | None = None - - integer_list: list[int] | None = None - - boolean_list: list[bool] | None = None - - timestamp_list: list[datetime] | None = None - - enum_list: list[str] | None = None - - int_enum_list: list[int] | None = None - - nested_string_list: list[list[str]] | None = None - """A list of lists of strings.""" - - structure_list: list[StructureListMember] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_LISTS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_LISTS_INPUT).members_by_index - if self.string_list is not None: - _serialize_string_list(serializer, members[0], self.string_list) - - if self.string_set is not None: - _serialize_string_set(serializer, members[1], self.string_set) - - if self.integer_list is not None: - _serialize_integer_list(serializer, members[2], self.integer_list) - - if self.boolean_list is not None: - _serialize_boolean_list(serializer, members[3], self.boolean_list) - - if self.timestamp_list is not None: - _serialize_timestamp_list(serializer, members[4], self.timestamp_list) - - if self.enum_list is not None: - _serialize_foo_enum_list(serializer, members[5], self.enum_list) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[6], self.int_enum_list) - - if self.nested_string_list is not None: - _serialize_nested_string_list( - serializer, members[7], self.nested_string_list - ) - - if self.structure_list is not None: - _serialize_structure_list(serializer, members[8], self.structure_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_LISTS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_list"] = _deserialize_string_list(de, members[0]) - - case 1: - kwargs["string_set"] = _deserialize_string_set(de, members[1]) - - case 2: - kwargs["integer_list"] = _deserialize_integer_list(de, members[2]) - - case 3: - kwargs["boolean_list"] = _deserialize_boolean_list(de, members[3]) - - case 4: - kwargs["timestamp_list"] = _deserialize_timestamp_list( - de, members[4] - ) - - case 5: - kwargs["enum_list"] = _deserialize_foo_enum_list(de, members[5]) - - case 6: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[6] - ) - - case 7: - kwargs["nested_string_list"] = _deserialize_nested_string_list( - de, members[7] - ) - - case 8: - kwargs["structure_list"] = _deserialize_structure_list( - de, members[8] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class JsonListsOutput: - """Dataclass for JsonListsOutput structure.""" - - string_list: list[str] | None = None - - string_set: list[str] | None = None - - integer_list: list[int] | None = None - - boolean_list: list[bool] | None = None - - timestamp_list: list[datetime] | None = None - - enum_list: list[str] | None = None - - int_enum_list: list[int] | None = None - - nested_string_list: list[list[str]] | None = None - """A list of lists of strings.""" - - structure_list: list[StructureListMember] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_LISTS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_LISTS_OUTPUT).members_by_index - if self.string_list is not None: - _serialize_string_list(serializer, members[0], self.string_list) - - if self.string_set is not None: - _serialize_string_set(serializer, members[1], self.string_set) - - if self.integer_list is not None: - _serialize_integer_list(serializer, members[2], self.integer_list) - - if self.boolean_list is not None: - _serialize_boolean_list(serializer, members[3], self.boolean_list) - - if self.timestamp_list is not None: - _serialize_timestamp_list(serializer, members[4], self.timestamp_list) - - if self.enum_list is not None: - _serialize_foo_enum_list(serializer, members[5], self.enum_list) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[6], self.int_enum_list) - - if self.nested_string_list is not None: - _serialize_nested_string_list( - serializer, members[7], self.nested_string_list - ) - - if self.structure_list is not None: - _serialize_structure_list(serializer, members[8], self.structure_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_LISTS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_list"] = _deserialize_string_list(de, members[0]) - - case 1: - kwargs["string_set"] = _deserialize_string_set(de, members[1]) - - case 2: - kwargs["integer_list"] = _deserialize_integer_list(de, members[2]) - - case 3: - kwargs["boolean_list"] = _deserialize_boolean_list(de, members[3]) - - case 4: - kwargs["timestamp_list"] = _deserialize_timestamp_list( - de, members[4] - ) - - case 5: - kwargs["enum_list"] = _deserialize_foo_enum_list(de, members[5]) - - case 6: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[6] - ) - - case 7: - kwargs["nested_string_list"] = _deserialize_nested_string_list( - de, members[7] - ) - - case 8: - kwargs["structure_list"] = _deserialize_structure_list( - de, members[8] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -JSON_LISTS = APIOperation( - input=JsonListsInput, - output=JsonListsOutput, - static_schema=_SCHEMA_JSON_LISTS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class JsonMapsInput: - """Dataclass for JsonMapsInput structure.""" - - dense_struct_map: dict[str, GreetingStruct] | None = None - - dense_number_map: dict[str, int] | None = None - - dense_boolean_map: dict[str, bool] | None = None - - dense_string_map: dict[str, str] | None = None - - dense_set_map: dict[str, list[str]] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_MAPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_MAPS_INPUT).members_by_index - if self.dense_struct_map is not None: - _serialize_dense_struct_map(serializer, members[0], self.dense_struct_map) - - if self.dense_number_map is not None: - _serialize_dense_number_map(serializer, members[1], self.dense_number_map) - - if self.dense_boolean_map is not None: - _serialize_dense_boolean_map(serializer, members[2], self.dense_boolean_map) - - if self.dense_string_map is not None: - _serialize_dense_string_map(serializer, members[3], self.dense_string_map) - - if self.dense_set_map is not None: - _serialize_dense_set_map(serializer, members[4], self.dense_set_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_MAPS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["dense_struct_map"] = _deserialize_dense_struct_map( - de, members[0] - ) - - case 1: - kwargs["dense_number_map"] = _deserialize_dense_number_map( - de, members[1] - ) - - case 2: - kwargs["dense_boolean_map"] = _deserialize_dense_boolean_map( - de, members[2] - ) - - case 3: - kwargs["dense_string_map"] = _deserialize_dense_string_map( - de, members[3] - ) - - case 4: - kwargs["dense_set_map"] = _deserialize_dense_set_map(de, members[4]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class JsonMapsOutput: - """Dataclass for JsonMapsOutput structure.""" - - dense_struct_map: dict[str, GreetingStruct] | None = None - - dense_number_map: dict[str, int] | None = None - - dense_boolean_map: dict[str, bool] | None = None - - dense_string_map: dict[str, str] | None = None - - dense_set_map: dict[str, list[str]] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_MAPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_MAPS_OUTPUT).members_by_index - if self.dense_struct_map is not None: - _serialize_dense_struct_map(serializer, members[0], self.dense_struct_map) - - if self.dense_number_map is not None: - _serialize_dense_number_map(serializer, members[1], self.dense_number_map) - - if self.dense_boolean_map is not None: - _serialize_dense_boolean_map(serializer, members[2], self.dense_boolean_map) - - if self.dense_string_map is not None: - _serialize_dense_string_map(serializer, members[3], self.dense_string_map) - - if self.dense_set_map is not None: - _serialize_dense_set_map(serializer, members[4], self.dense_set_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_MAPS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["dense_struct_map"] = _deserialize_dense_struct_map( - de, members[0] - ) - - case 1: - kwargs["dense_number_map"] = _deserialize_dense_number_map( - de, members[1] - ) - - case 2: - kwargs["dense_boolean_map"] = _deserialize_dense_boolean_map( - de, members[2] - ) - - case 3: - kwargs["dense_string_map"] = _deserialize_dense_string_map( - de, members[3] - ) - - case 4: - kwargs["dense_set_map"] = _deserialize_dense_set_map(de, members[4]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -JSON_MAPS = APIOperation( - input=JsonMapsInput, - output=JsonMapsOutput, - static_schema=_SCHEMA_JSON_MAPS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class JsonTimestampsInput: - """Dataclass for JsonTimestampsInput structure.""" - - normal: datetime | None = None - - date_time: datetime | None = None - - date_time_on_target: datetime | None = None - - epoch_seconds: datetime | None = None - - epoch_seconds_on_target: datetime | None = None - - http_date: datetime | None = None - - http_date_on_target: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_TIMESTAMPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_TIMESTAMPS_INPUT).members_by_index - if self.normal is not None: - serializer.write_timestamp(members[0], self.normal) - - if self.date_time is not None: - serializer.write_timestamp(members[1], self.date_time) - - if self.date_time_on_target is not None: - serializer.write_timestamp(members[2], self.date_time_on_target) - - if self.epoch_seconds is not None: - serializer.write_timestamp(members[3], self.epoch_seconds) - - if self.epoch_seconds_on_target is not None: - serializer.write_timestamp(members[4], self.epoch_seconds_on_target) - - if self.http_date is not None: - serializer.write_timestamp(members[5], self.http_date) - - if self.http_date_on_target is not None: - serializer.write_timestamp(members[6], self.http_date_on_target) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_TIMESTAMPS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["normal"] = de.read_timestamp(members[0]) - - case 1: - kwargs["date_time"] = de.read_timestamp(members[1]) - - case 2: - kwargs["date_time_on_target"] = de.read_timestamp(members[2]) - - case 3: - kwargs["epoch_seconds"] = de.read_timestamp(members[3]) - - case 4: - kwargs["epoch_seconds_on_target"] = de.read_timestamp(members[4]) - - case 5: - kwargs["http_date"] = de.read_timestamp(members[5]) - - case 6: - kwargs["http_date_on_target"] = de.read_timestamp(members[6]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class JsonTimestampsOutput: - """Dataclass for JsonTimestampsOutput structure.""" - - normal: datetime | None = None - - date_time: datetime | None = None - - date_time_on_target: datetime | None = None - - epoch_seconds: datetime | None = None - - epoch_seconds_on_target: datetime | None = None - - http_date: datetime | None = None - - http_date_on_target: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_TIMESTAMPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_TIMESTAMPS_OUTPUT).members_by_index - if self.normal is not None: - serializer.write_timestamp(members[0], self.normal) - - if self.date_time is not None: - serializer.write_timestamp(members[1], self.date_time) - - if self.date_time_on_target is not None: - serializer.write_timestamp(members[2], self.date_time_on_target) - - if self.epoch_seconds is not None: - serializer.write_timestamp(members[3], self.epoch_seconds) - - if self.epoch_seconds_on_target is not None: - serializer.write_timestamp(members[4], self.epoch_seconds_on_target) - - if self.http_date is not None: - serializer.write_timestamp(members[5], self.http_date) - - if self.http_date_on_target is not None: - serializer.write_timestamp(members[6], self.http_date_on_target) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_TIMESTAMPS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["normal"] = de.read_timestamp(members[0]) - - case 1: - kwargs["date_time"] = de.read_timestamp(members[1]) - - case 2: - kwargs["date_time_on_target"] = de.read_timestamp(members[2]) - - case 3: - kwargs["epoch_seconds"] = de.read_timestamp(members[3]) - - case 4: - kwargs["epoch_seconds_on_target"] = de.read_timestamp(members[4]) - - case 5: - kwargs["http_date"] = de.read_timestamp(members[5]) - - case 6: - kwargs["http_date_on_target"] = de.read_timestamp(members[6]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -JSON_TIMESTAMPS = APIOperation( - input=JsonTimestampsInput, - output=JsonTimestampsOutput, - static_schema=_SCHEMA_JSON_TIMESTAMPS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class RenamedGreeting: - """Dataclass for GreetingStruct structure.""" - - salutation: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RENAMED_GREETING), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RENAMED_GREETING).members_by_index - if self.salutation is not None: - serializer.write_string(members[0], self.salutation) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RENAMED_GREETING) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["salutation"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass -class NestedUnionStringValue: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NESTED_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NESTED_UNION).members_by_index - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_NESTED_UNION).members_by_index - return cls(value=deserializer.read_string(members[0])) - - -@dataclass -class NestedUnionUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -NestedUnion = Union[NestedUnionStringValue | NestedUnionUnknown] -"""A union used to test unions nested inside unions.""" - - -class _NestedUnionDeserializer: - _result: NestedUnion | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> NestedUnion: - self._result = None - deserializer.read_struct(hydrate(_SCHEMA_NESTED_UNION), self._consumer) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(NestedUnionStringValue.deserialize(de)) - - case _: - self._set_result(NestedUnionUnknown(tag=schema.expect_member_name())) - - def _set_result(self, value: NestedUnion) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -@dataclass -class MyUnionStringValue: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_string(members[0])) - - -@dataclass -class MyUnionBooleanValue: - value: bool - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_boolean(members[1], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_boolean(members[1])) - - -@dataclass -class MyUnionNumberValue: - value: int - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_integer(members[2], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_integer(members[2])) - - -@dataclass -class MyUnionBlobValue: - value: bytes - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_blob(members[3], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_blob(members[3])) - - -@dataclass -class MyUnionTimestampValue: - value: datetime - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_timestamp(members[4], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=deserializer.read_timestamp(members[4])) - - -@dataclass -class MyUnionEnumValue: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_string(members[5], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=FooEnum(deserializer.read_string(members[5]))) - - -@dataclass -class MyUnionListValue: - value: list[str] - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - _serialize_string_list(serializer, members[6], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=_deserialize_string_list(deserializer, members[6])) - - -@dataclass -class MyUnionMapValue: - value: dict[str, str] - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - _serialize_string_map(serializer, members[7], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_MY_UNION).members_by_index - return cls(value=_deserialize_string_map(deserializer, members[7])) - - -@dataclass -class MyUnionStructureValue: - value: GreetingStruct - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_struct(members[8], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=GreetingStruct.deserialize(deserializer)) - - -@dataclass -class MyUnionRenamedStructureValue: - value: RenamedGreeting - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_struct(members[9], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=RenamedGreeting.deserialize(deserializer)) - - -@dataclass -class MyUnionUnionValue: - """A union used to test unions nested inside unions.""" - - value: NestedUnion - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MY_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MY_UNION).members_by_index - serializer.write_struct(members[10], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=_NestedUnionDeserializer().deserialize(deserializer)) - - -@dataclass -class MyUnionUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -MyUnion = Union[ - MyUnionStringValue - | MyUnionBooleanValue - | MyUnionNumberValue - | MyUnionBlobValue - | MyUnionTimestampValue - | MyUnionEnumValue - | MyUnionListValue - | MyUnionMapValue - | MyUnionStructureValue - | MyUnionRenamedStructureValue - | MyUnionUnionValue - | MyUnionUnknown -] -"""A union with a representative set of types for members.""" - - -class _MyUnionDeserializer: - _result: MyUnion | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> MyUnion: - self._result = None - deserializer.read_struct(hydrate(_SCHEMA_MY_UNION), self._consumer) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(MyUnionStringValue.deserialize(de)) - - case 1: - self._set_result(MyUnionBooleanValue.deserialize(de)) - - case 2: - self._set_result(MyUnionNumberValue.deserialize(de)) - - case 3: - self._set_result(MyUnionBlobValue.deserialize(de)) - - case 4: - self._set_result(MyUnionTimestampValue.deserialize(de)) - - case 5: - self._set_result(MyUnionEnumValue.deserialize(de)) - - case 6: - self._set_result(MyUnionListValue.deserialize(de)) - - case 7: - self._set_result(MyUnionMapValue.deserialize(de)) - - case 8: - self._set_result(MyUnionStructureValue.deserialize(de)) - - case 9: - self._set_result(MyUnionRenamedStructureValue.deserialize(de)) - - case 10: - self._set_result(MyUnionUnionValue.deserialize(de)) - - case _: - self._set_result(MyUnionUnknown(tag=schema.expect_member_name())) - - def _set_result(self, value: MyUnion) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -@dataclass(kw_only=True) -class JsonUnionsInput: - """A shared structure that contains a single union member.""" - - contents: MyUnion | None = None - """A union with a representative set of types for members.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_UNIONS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_UNIONS_INPUT).members_by_index - if self.contents is not None: - serializer.write_struct(members[0], self.contents) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_UNIONS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["contents"] = _MyUnionDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class JsonUnionsOutput: - """A shared structure that contains a single union member.""" - - contents: MyUnion | None = None - """A union with a representative set of types for members.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_JSON_UNIONS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_JSON_UNIONS_OUTPUT).members_by_index - if self.contents is not None: - serializer.write_struct(members[0], self.contents) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_JSON_UNIONS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["contents"] = _MyUnionDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -JSON_UNIONS = APIOperation( - input=JsonUnionsInput, - output=JsonUnionsOutput, - static_schema=_SCHEMA_JSON_UNIONS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedAcceptWithBodyInput: - """Dataclass for MalformedAcceptWithBodyInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_ACCEPT_WITH_BODY_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_ACCEPT_WITH_BODY_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedAcceptWithBodyOutput: - """Dataclass for MalformedAcceptWithBodyOutput structure.""" - - hi: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_ACCEPT_WITH_BODY_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_ACCEPT_WITH_BODY_OUTPUT).members_by_index - if self.hi is not None: - serializer.write_string(members[0], self.hi) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_ACCEPT_WITH_BODY_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["hi"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_ACCEPT_WITH_BODY = APIOperation( - input=MalformedAcceptWithBodyInput, - output=MalformedAcceptWithBodyOutput, - static_schema=_SCHEMA_MALFORMED_ACCEPT_WITH_BODY, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedAcceptWithGenericStringInput: - """Dataclass for MalformedAcceptWithGenericStringInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_ACCEPT_WITH_GENERIC_STRING_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_ACCEPT_WITH_GENERIC_STRING_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedAcceptWithGenericStringOutput: - """Dataclass for MalformedAcceptWithGenericStringOutput structure.""" - - payload: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_ACCEPT_WITH_GENERIC_STRING_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_ACCEPT_WITH_GENERIC_STRING_OUTPUT - ).members_by_index - if self.payload is not None: - serializer.write_string(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_ACCEPT_WITH_GENERIC_STRING_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_ACCEPT_WITH_GENERIC_STRING = APIOperation( - input=MalformedAcceptWithGenericStringInput, - output=MalformedAcceptWithGenericStringOutput, - static_schema=_SCHEMA_MALFORMED_ACCEPT_WITH_GENERIC_STRING, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedAcceptWithPayloadInput: - """Dataclass for MalformedAcceptWithPayloadInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_ACCEPT_WITH_PAYLOAD_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_ACCEPT_WITH_PAYLOAD_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedAcceptWithPayloadOutput: - """Dataclass for MalformedAcceptWithPayloadOutput structure.""" - - payload: bytes | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_ACCEPT_WITH_PAYLOAD_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_ACCEPT_WITH_PAYLOAD_OUTPUT).members_by_index - if self.payload is not None: - serializer.write_blob(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_ACCEPT_WITH_PAYLOAD_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = de.read_blob(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_ACCEPT_WITH_PAYLOAD = APIOperation( - input=MalformedAcceptWithPayloadInput, - output=MalformedAcceptWithPayloadOutput, - static_schema=_SCHEMA_MALFORMED_ACCEPT_WITH_PAYLOAD, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedBlobInput: - """Dataclass for MalformedBlobInput structure.""" - - blob: bytes | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_BLOB_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_BLOB_INPUT).members_by_index - if self.blob is not None: - serializer.write_blob(members[0], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_BLOB_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["blob"] = de.read_blob(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedBlobOutput: - """Dataclass for MalformedBlobOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_BLOB_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_BLOB_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_BLOB = APIOperation( - input=MalformedBlobInput, - output=MalformedBlobOutput, - static_schema=_SCHEMA_MALFORMED_BLOB, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedBooleanInput: - """Dataclass for MalformedBooleanInput structure.""" - - boolean_in_body: bool | None = None - - boolean_in_path: bool | None = None - - boolean_in_query: bool | None = None - - boolean_in_header: bool | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_BOOLEAN_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_BOOLEAN_INPUT).members_by_index - if self.boolean_in_body is not None: - serializer.write_boolean(members[0], self.boolean_in_body) - - if self.boolean_in_path is not None: - serializer.write_boolean(members[1], self.boolean_in_path) - - if self.boolean_in_query is not None: - serializer.write_boolean(members[2], self.boolean_in_query) - - if self.boolean_in_header is not None: - serializer.write_boolean(members[3], self.boolean_in_header) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_BOOLEAN_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["boolean_in_body"] = de.read_boolean(members[0]) - - case 1: - kwargs["boolean_in_path"] = de.read_boolean(members[1]) - - case 2: - kwargs["boolean_in_query"] = de.read_boolean(members[2]) - - case 3: - kwargs["boolean_in_header"] = de.read_boolean(members[3]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedBooleanOutput: - """Dataclass for MalformedBooleanOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_BOOLEAN_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_BOOLEAN_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_BOOLEAN = APIOperation( - input=MalformedBooleanInput, - output=MalformedBooleanOutput, - static_schema=_SCHEMA_MALFORMED_BOOLEAN, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedByteInput: - """Dataclass for MalformedByteInput structure.""" - - byte_in_body: int | None = None - - byte_in_path: int | None = None - - byte_in_query: int | None = None - - byte_in_header: int | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_BYTE_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_BYTE_INPUT).members_by_index - if self.byte_in_body is not None: - serializer.write_byte(members[0], self.byte_in_body) - - if self.byte_in_path is not None: - serializer.write_byte(members[1], self.byte_in_path) - - if self.byte_in_query is not None: - serializer.write_byte(members[2], self.byte_in_query) - - if self.byte_in_header is not None: - serializer.write_byte(members[3], self.byte_in_header) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_BYTE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["byte_in_body"] = de.read_byte(members[0]) - - case 1: - kwargs["byte_in_path"] = de.read_byte(members[1]) - - case 2: - kwargs["byte_in_query"] = de.read_byte(members[2]) - - case 3: - kwargs["byte_in_header"] = de.read_byte(members[3]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedByteOutput: - """Dataclass for MalformedByteOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_BYTE_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_BYTE_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_BYTE = APIOperation( - input=MalformedByteInput, - output=MalformedByteOutput, - static_schema=_SCHEMA_MALFORMED_BYTE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedContentTypeWithBodyInput: - """Dataclass for MalformedContentTypeWithBodyInput structure.""" - - hi: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_BODY_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_CONTENT_TYPE_WITH_BODY_INPUT - ).members_by_index - if self.hi is not None: - serializer.write_string(members[0], self.hi) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_BODY_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["hi"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedContentTypeWithBodyOutput: - """Dataclass for MalformedContentTypeWithBodyOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_BODY_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_BODY_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_CONTENT_TYPE_WITH_BODY = APIOperation( - input=MalformedContentTypeWithBodyInput, - output=MalformedContentTypeWithBodyOutput, - static_schema=_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_BODY, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedContentTypeWithGenericStringInput: - """Dataclass for MalformedContentTypeWithGenericStringInput structure.""" - - payload: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING_INPUT - ).members_by_index - if self.payload is not None: - serializer.write_string(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedContentTypeWithGenericStringOutput: - """Dataclass for MalformedContentTypeWithGenericStringOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING = APIOperation( - input=MalformedContentTypeWithGenericStringInput, - output=MalformedContentTypeWithGenericStringOutput, - static_schema=_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedContentTypeWithoutBodyInput: - """Dataclass for MalformedContentTypeWithoutBodyInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedContentTypeWithoutBodyOutput: - """Dataclass for MalformedContentTypeWithoutBodyOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_CONTENT_TYPE_WITHOUT_BODY = APIOperation( - input=MalformedContentTypeWithoutBodyInput, - output=MalformedContentTypeWithoutBodyOutput, - static_schema=_SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedContentTypeWithoutBodyEmptyInputInput: - """Dataclass for MalformedContentTypeWithoutBodyEmptyInputInput structure.""" - - header: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT_INPUT - ).members_by_index - if self.header is not None: - serializer.write_string(members[0], self.header) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["header"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedContentTypeWithoutBodyEmptyInputOutput: - """Dataclass for MalformedContentTypeWithoutBodyEmptyInputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT_OUTPUT), - self, - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT = APIOperation( - input=MalformedContentTypeWithoutBodyEmptyInputInput, - output=MalformedContentTypeWithoutBodyEmptyInputOutput, - static_schema=_SCHEMA_MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedContentTypeWithPayloadInput: - """Dataclass for MalformedContentTypeWithPayloadInput structure.""" - - payload: bytes | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_PAYLOAD_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_CONTENT_TYPE_WITH_PAYLOAD_INPUT - ).members_by_index - if self.payload is not None: - serializer.write_blob(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_PAYLOAD_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = de.read_blob(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedContentTypeWithPayloadOutput: - """Dataclass for MalformedContentTypeWithPayloadOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_PAYLOAD_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_PAYLOAD_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_CONTENT_TYPE_WITH_PAYLOAD = APIOperation( - input=MalformedContentTypeWithPayloadInput, - output=MalformedContentTypeWithPayloadOutput, - static_schema=_SCHEMA_MALFORMED_CONTENT_TYPE_WITH_PAYLOAD, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedDoubleInput: - """Dataclass for MalformedDoubleInput structure.""" - - double_in_body: float | None = None - - double_in_path: float | None = None - - double_in_query: float | None = None - - double_in_header: float | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_DOUBLE_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_DOUBLE_INPUT).members_by_index - if self.double_in_body is not None: - serializer.write_double(members[0], self.double_in_body) - - if self.double_in_path is not None: - serializer.write_double(members[1], self.double_in_path) - - if self.double_in_query is not None: - serializer.write_double(members[2], self.double_in_query) - - if self.double_in_header is not None: - serializer.write_double(members[3], self.double_in_header) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_DOUBLE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["double_in_body"] = de.read_double(members[0]) - - case 1: - kwargs["double_in_path"] = de.read_double(members[1]) - - case 2: - kwargs["double_in_query"] = de.read_double(members[2]) - - case 3: - kwargs["double_in_header"] = de.read_double(members[3]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedDoubleOutput: - """Dataclass for MalformedDoubleOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_DOUBLE_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_DOUBLE_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_DOUBLE = APIOperation( - input=MalformedDoubleInput, - output=MalformedDoubleOutput, - static_schema=_SCHEMA_MALFORMED_DOUBLE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedFloatInput: - """Dataclass for MalformedFloatInput structure.""" - - float_in_body: float | None = None - - float_in_path: float | None = None - - float_in_query: float | None = None - - float_in_header: float | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_FLOAT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_FLOAT_INPUT).members_by_index - if self.float_in_body is not None: - serializer.write_float(members[0], self.float_in_body) - - if self.float_in_path is not None: - serializer.write_float(members[1], self.float_in_path) - - if self.float_in_query is not None: - serializer.write_float(members[2], self.float_in_query) - - if self.float_in_header is not None: - serializer.write_float(members[3], self.float_in_header) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_FLOAT_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["float_in_body"] = de.read_float(members[0]) - - case 1: - kwargs["float_in_path"] = de.read_float(members[1]) - - case 2: - kwargs["float_in_query"] = de.read_float(members[2]) - - case 3: - kwargs["float_in_header"] = de.read_float(members[3]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedFloatOutput: - """Dataclass for MalformedFloatOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_FLOAT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_FLOAT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_FLOAT = APIOperation( - input=MalformedFloatInput, - output=MalformedFloatOutput, - static_schema=_SCHEMA_MALFORMED_FLOAT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedIntegerInput: - """Dataclass for MalformedIntegerInput structure.""" - - integer_in_body: int | None = None - - integer_in_path: int | None = None - - integer_in_query: int | None = None - - integer_in_header: int | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_INTEGER_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_INTEGER_INPUT).members_by_index - if self.integer_in_body is not None: - serializer.write_integer(members[0], self.integer_in_body) - - if self.integer_in_path is not None: - serializer.write_integer(members[1], self.integer_in_path) - - if self.integer_in_query is not None: - serializer.write_integer(members[2], self.integer_in_query) - - if self.integer_in_header is not None: - serializer.write_integer(members[3], self.integer_in_header) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_INTEGER_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["integer_in_body"] = de.read_integer(members[0]) - - case 1: - kwargs["integer_in_path"] = de.read_integer(members[1]) - - case 2: - kwargs["integer_in_query"] = de.read_integer(members[2]) - - case 3: - kwargs["integer_in_header"] = de.read_integer(members[3]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedIntegerOutput: - """Dataclass for MalformedIntegerOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_INTEGER_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_INTEGER_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_INTEGER = APIOperation( - input=MalformedIntegerInput, - output=MalformedIntegerOutput, - static_schema=_SCHEMA_MALFORMED_INTEGER, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_simple_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_simple_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class MalformedListInput: - """Dataclass for MalformedListInput structure.""" - - body_list: list[str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_LIST_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_LIST_INPUT).members_by_index - if self.body_list is not None: - _serialize_simple_list(serializer, members[0], self.body_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_LIST_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["body_list"] = _deserialize_simple_list(de, members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedListOutput: - """Dataclass for MalformedListOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_LIST_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_LIST_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_LIST = APIOperation( - input=MalformedListInput, - output=MalformedListOutput, - static_schema=_SCHEMA_MALFORMED_LIST, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedLongInput: - """Dataclass for MalformedLongInput structure.""" - - long_in_body: int | None = None - - long_in_path: int | None = None - - long_in_query: int | None = None - - long_in_header: int | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_LONG_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_LONG_INPUT).members_by_index - if self.long_in_body is not None: - serializer.write_long(members[0], self.long_in_body) - - if self.long_in_path is not None: - serializer.write_long(members[1], self.long_in_path) - - if self.long_in_query is not None: - serializer.write_long(members[2], self.long_in_query) - - if self.long_in_header is not None: - serializer.write_long(members[3], self.long_in_header) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_LONG_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["long_in_body"] = de.read_long(members[0]) - - case 1: - kwargs["long_in_path"] = de.read_long(members[1]) - - case 2: - kwargs["long_in_query"] = de.read_long(members[2]) - - case 3: - kwargs["long_in_header"] = de.read_long(members[3]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedLongOutput: - """Dataclass for MalformedLongOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_LONG_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_LONG_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_LONG = APIOperation( - input=MalformedLongInput, - output=MalformedLongOutput, - static_schema=_SCHEMA_MALFORMED_LONG, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_simple_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_simple_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class MalformedMapInput: - """Dataclass for MalformedMapInput structure.""" - - body_map: dict[str, str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_MAP_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_MAP_INPUT).members_by_index - if self.body_map is not None: - _serialize_simple_map(serializer, members[0], self.body_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_MAP_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["body_map"] = _deserialize_simple_map(de, members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedMapOutput: - """Dataclass for MalformedMapOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_MAP_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_MAP_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_MAP = APIOperation( - input=MalformedMapInput, - output=MalformedMapOutput, - static_schema=_SCHEMA_MALFORMED_MAP, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedRequestBodyInput: - """Dataclass for MalformedRequestBodyInput structure.""" - - int_: int | None = None - - float_: float | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_REQUEST_BODY_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_REQUEST_BODY_INPUT).members_by_index - if self.int_ is not None: - serializer.write_integer(members[0], self.int_) - - if self.float_ is not None: - serializer.write_float(members[1], self.float_) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_REQUEST_BODY_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["int_"] = de.read_integer(members[0]) - - case 1: - kwargs["float_"] = de.read_float(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedRequestBodyOutput: - """Dataclass for MalformedRequestBodyOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_REQUEST_BODY_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_REQUEST_BODY_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_REQUEST_BODY = APIOperation( - input=MalformedRequestBodyInput, - output=MalformedRequestBodyOutput, - static_schema=_SCHEMA_MALFORMED_REQUEST_BODY, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedShortInput: - """Dataclass for MalformedShortInput structure.""" - - short_in_body: int | None = None - - short_in_path: int | None = None - - short_in_query: int | None = None - - short_in_header: int | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_SHORT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_SHORT_INPUT).members_by_index - if self.short_in_body is not None: - serializer.write_short(members[0], self.short_in_body) - - if self.short_in_path is not None: - serializer.write_short(members[1], self.short_in_path) - - if self.short_in_query is not None: - serializer.write_short(members[2], self.short_in_query) - - if self.short_in_header is not None: - serializer.write_short(members[3], self.short_in_header) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_SHORT_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["short_in_body"] = de.read_short(members[0]) - - case 1: - kwargs["short_in_path"] = de.read_short(members[1]) - - case 2: - kwargs["short_in_query"] = de.read_short(members[2]) - - case 3: - kwargs["short_in_header"] = de.read_short(members[3]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedShortOutput: - """Dataclass for MalformedShortOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_SHORT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_SHORT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_SHORT = APIOperation( - input=MalformedShortInput, - output=MalformedShortOutput, - static_schema=_SCHEMA_MALFORMED_SHORT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedStringInput: - """Dataclass for MalformedStringInput structure.""" - - blob: str | JsonString | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_STRING_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_STRING_INPUT).members_by_index - if self.blob is not None: - serializer.write_string(members[0], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_STRING_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["blob"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedStringOutput: - """Dataclass for MalformedStringOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_STRING_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_STRING_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_STRING = APIOperation( - input=MalformedStringInput, - output=MalformedStringOutput, - static_schema=_SCHEMA_MALFORMED_STRING, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedTimestampBodyDateTimeInput: - """Dataclass for MalformedTimestampBodyDateTimeInput structure.""" - - timestamp: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_BODY_DATE_TIME_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_TIMESTAMP_BODY_DATE_TIME_INPUT - ).members_by_index - if self.timestamp is not None: - serializer.write_timestamp(members[0], self.timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_BODY_DATE_TIME_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["timestamp"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedTimestampBodyDateTimeOutput: - """Dataclass for MalformedTimestampBodyDateTimeOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_BODY_DATE_TIME_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_BODY_DATE_TIME_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_TIMESTAMP_BODY_DATE_TIME = APIOperation( - input=MalformedTimestampBodyDateTimeInput, - output=MalformedTimestampBodyDateTimeOutput, - static_schema=_SCHEMA_MALFORMED_TIMESTAMP_BODY_DATE_TIME, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedTimestampBodyDefaultInput: - """Dataclass for MalformedTimestampBodyDefaultInput structure.""" - - timestamp: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_BODY_DEFAULT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_TIMESTAMP_BODY_DEFAULT_INPUT - ).members_by_index - if self.timestamp is not None: - serializer.write_timestamp(members[0], self.timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_BODY_DEFAULT_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["timestamp"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedTimestampBodyDefaultOutput: - """Dataclass for MalformedTimestampBodyDefaultOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_BODY_DEFAULT_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_BODY_DEFAULT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_TIMESTAMP_BODY_DEFAULT = APIOperation( - input=MalformedTimestampBodyDefaultInput, - output=MalformedTimestampBodyDefaultOutput, - static_schema=_SCHEMA_MALFORMED_TIMESTAMP_BODY_DEFAULT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedTimestampBodyHttpDateInput: - """Dataclass for MalformedTimestampBodyHttpDateInput structure.""" - - timestamp: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_BODY_HTTP_DATE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_TIMESTAMP_BODY_HTTP_DATE_INPUT - ).members_by_index - if self.timestamp is not None: - serializer.write_timestamp(members[0], self.timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_BODY_HTTP_DATE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["timestamp"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedTimestampBodyHttpDateOutput: - """Dataclass for MalformedTimestampBodyHttpDateOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_BODY_HTTP_DATE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_BODY_HTTP_DATE_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_TIMESTAMP_BODY_HTTP_DATE = APIOperation( - input=MalformedTimestampBodyHttpDateInput, - output=MalformedTimestampBodyHttpDateOutput, - static_schema=_SCHEMA_MALFORMED_TIMESTAMP_BODY_HTTP_DATE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedTimestampHeaderDateTimeInput: - """Dataclass for MalformedTimestampHeaderDateTimeInput structure.""" - - timestamp: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_HEADER_DATE_TIME_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_TIMESTAMP_HEADER_DATE_TIME_INPUT - ).members_by_index - if self.timestamp is not None: - serializer.write_timestamp(members[0], self.timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_HEADER_DATE_TIME_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["timestamp"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedTimestampHeaderDateTimeOutput: - """Dataclass for MalformedTimestampHeaderDateTimeOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_HEADER_DATE_TIME_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_HEADER_DATE_TIME_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_TIMESTAMP_HEADER_DATE_TIME = APIOperation( - input=MalformedTimestampHeaderDateTimeInput, - output=MalformedTimestampHeaderDateTimeOutput, - static_schema=_SCHEMA_MALFORMED_TIMESTAMP_HEADER_DATE_TIME, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedTimestampHeaderDefaultInput: - """Dataclass for MalformedTimestampHeaderDefaultInput structure.""" - - timestamp: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_HEADER_DEFAULT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_TIMESTAMP_HEADER_DEFAULT_INPUT - ).members_by_index - if self.timestamp is not None: - serializer.write_timestamp(members[0], self.timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_HEADER_DEFAULT_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["timestamp"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedTimestampHeaderDefaultOutput: - """Dataclass for MalformedTimestampHeaderDefaultOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_HEADER_DEFAULT_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_HEADER_DEFAULT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_TIMESTAMP_HEADER_DEFAULT = APIOperation( - input=MalformedTimestampHeaderDefaultInput, - output=MalformedTimestampHeaderDefaultOutput, - static_schema=_SCHEMA_MALFORMED_TIMESTAMP_HEADER_DEFAULT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedTimestampHeaderEpochInput: - """Dataclass for MalformedTimestampHeaderEpochInput structure.""" - - timestamp: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_HEADER_EPOCH_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_TIMESTAMP_HEADER_EPOCH_INPUT - ).members_by_index - if self.timestamp is not None: - serializer.write_timestamp(members[0], self.timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_HEADER_EPOCH_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["timestamp"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedTimestampHeaderEpochOutput: - """Dataclass for MalformedTimestampHeaderEpochOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_HEADER_EPOCH_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_HEADER_EPOCH_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_TIMESTAMP_HEADER_EPOCH = APIOperation( - input=MalformedTimestampHeaderEpochInput, - output=MalformedTimestampHeaderEpochOutput, - static_schema=_SCHEMA_MALFORMED_TIMESTAMP_HEADER_EPOCH, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedTimestampPathDefaultInput: - """Dataclass for MalformedTimestampPathDefaultInput structure.""" - - timestamp: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_PATH_DEFAULT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_TIMESTAMP_PATH_DEFAULT_INPUT - ).members_by_index - if self.timestamp is not None: - serializer.write_timestamp(members[0], self.timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_PATH_DEFAULT_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["timestamp"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedTimestampPathDefaultOutput: - """Dataclass for MalformedTimestampPathDefaultOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_PATH_DEFAULT_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_PATH_DEFAULT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_TIMESTAMP_PATH_DEFAULT = APIOperation( - input=MalformedTimestampPathDefaultInput, - output=MalformedTimestampPathDefaultOutput, - static_schema=_SCHEMA_MALFORMED_TIMESTAMP_PATH_DEFAULT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedTimestampPathEpochInput: - """Dataclass for MalformedTimestampPathEpochInput structure.""" - - timestamp: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_PATH_EPOCH_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_PATH_EPOCH_INPUT).members_by_index - if self.timestamp is not None: - serializer.write_timestamp(members[0], self.timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_PATH_EPOCH_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["timestamp"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedTimestampPathEpochOutput: - """Dataclass for MalformedTimestampPathEpochOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_PATH_EPOCH_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_PATH_EPOCH_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_TIMESTAMP_PATH_EPOCH = APIOperation( - input=MalformedTimestampPathEpochInput, - output=MalformedTimestampPathEpochOutput, - static_schema=_SCHEMA_MALFORMED_TIMESTAMP_PATH_EPOCH, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedTimestampPathHttpDateInput: - """Dataclass for MalformedTimestampPathHttpDateInput structure.""" - - timestamp: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_PATH_HTTP_DATE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_TIMESTAMP_PATH_HTTP_DATE_INPUT - ).members_by_index - if self.timestamp is not None: - serializer.write_timestamp(members[0], self.timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_PATH_HTTP_DATE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["timestamp"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedTimestampPathHttpDateOutput: - """Dataclass for MalformedTimestampPathHttpDateOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_PATH_HTTP_DATE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_PATH_HTTP_DATE_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_TIMESTAMP_PATH_HTTP_DATE = APIOperation( - input=MalformedTimestampPathHttpDateInput, - output=MalformedTimestampPathHttpDateOutput, - static_schema=_SCHEMA_MALFORMED_TIMESTAMP_PATH_HTTP_DATE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedTimestampQueryDefaultInput: - """Dataclass for MalformedTimestampQueryDefaultInput structure.""" - - timestamp: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_QUERY_DEFAULT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_TIMESTAMP_QUERY_DEFAULT_INPUT - ).members_by_index - if self.timestamp is not None: - serializer.write_timestamp(members[0], self.timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_QUERY_DEFAULT_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["timestamp"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedTimestampQueryDefaultOutput: - """Dataclass for MalformedTimestampQueryDefaultOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_QUERY_DEFAULT_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_QUERY_DEFAULT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_TIMESTAMP_QUERY_DEFAULT = APIOperation( - input=MalformedTimestampQueryDefaultInput, - output=MalformedTimestampQueryDefaultOutput, - static_schema=_SCHEMA_MALFORMED_TIMESTAMP_QUERY_DEFAULT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedTimestampQueryEpochInput: - """Dataclass for MalformedTimestampQueryEpochInput structure.""" - - timestamp: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_QUERY_EPOCH_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_TIMESTAMP_QUERY_EPOCH_INPUT - ).members_by_index - if self.timestamp is not None: - serializer.write_timestamp(members[0], self.timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_QUERY_EPOCH_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["timestamp"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedTimestampQueryEpochOutput: - """Dataclass for MalformedTimestampQueryEpochOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_QUERY_EPOCH_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_QUERY_EPOCH_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_TIMESTAMP_QUERY_EPOCH = APIOperation( - input=MalformedTimestampQueryEpochInput, - output=MalformedTimestampQueryEpochOutput, - static_schema=_SCHEMA_MALFORMED_TIMESTAMP_QUERY_EPOCH, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MalformedTimestampQueryHttpDateInput: - """Dataclass for MalformedTimestampQueryHttpDateInput structure.""" - - timestamp: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_QUERY_HTTP_DATE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_MALFORMED_TIMESTAMP_QUERY_HTTP_DATE_INPUT - ).members_by_index - if self.timestamp is not None: - serializer.write_timestamp(members[0], self.timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_QUERY_HTTP_DATE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["timestamp"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedTimestampQueryHttpDateOutput: - """Dataclass for MalformedTimestampQueryHttpDateOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_MALFORMED_TIMESTAMP_QUERY_HTTP_DATE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_TIMESTAMP_QUERY_HTTP_DATE_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_TIMESTAMP_QUERY_HTTP_DATE = APIOperation( - input=MalformedTimestampQueryHttpDateInput, - output=MalformedTimestampQueryHttpDateOutput, - static_schema=_SCHEMA_MALFORMED_TIMESTAMP_QUERY_HTTP_DATE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass -class SimpleUnionInt: - value: int - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_UNION).members_by_index - serializer.write_integer(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_SIMPLE_UNION).members_by_index - return cls(value=deserializer.read_integer(members[0])) - - -@dataclass -class SimpleUnionString: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_UNION).members_by_index - serializer.write_string(members[1], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_SIMPLE_UNION).members_by_index - return cls(value=deserializer.read_string(members[1])) - - -@dataclass -class SimpleUnionUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -SimpleUnion = Union[SimpleUnionInt | SimpleUnionString | SimpleUnionUnknown] - - -class _SimpleUnionDeserializer: - _result: SimpleUnion | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> SimpleUnion: - self._result = None - deserializer.read_struct(hydrate(_SCHEMA_SIMPLE_UNION), self._consumer) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(SimpleUnionInt.deserialize(de)) - - case 1: - self._set_result(SimpleUnionString.deserialize(de)) - - case _: - self._set_result(SimpleUnionUnknown(tag=schema.expect_member_name())) - - def _set_result(self, value: SimpleUnion) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -@dataclass(kw_only=True) -class MalformedUnionInput: - """Dataclass for MalformedUnionInput structure.""" - - union: SimpleUnion | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_UNION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MALFORMED_UNION_INPUT).members_by_index - if self.union is not None: - serializer.write_struct(members[0], self.union) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_UNION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["union"] = _SimpleUnionDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MalformedUnionOutput: - """Dataclass for MalformedUnionOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MALFORMED_UNION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MALFORMED_UNION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MALFORMED_UNION = APIOperation( - input=MalformedUnionInput, - output=MalformedUnionOutput, - static_schema=_SCHEMA_MALFORMED_UNION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class MediaTypeHeaderInput: - """Dataclass for MediaTypeHeaderInput structure.""" - - json: str | JsonString | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MEDIA_TYPE_HEADER_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MEDIA_TYPE_HEADER_INPUT).members_by_index - if self.json is not None: - serializer.write_string(members[0], self.json) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MEDIA_TYPE_HEADER_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["json"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class MediaTypeHeaderOutput: - """Dataclass for MediaTypeHeaderOutput structure.""" - - json: str | JsonString | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_MEDIA_TYPE_HEADER_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_MEDIA_TYPE_HEADER_OUTPUT).members_by_index - if self.json is not None: - serializer.write_string(members[0], self.json) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_MEDIA_TYPE_HEADER_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["json"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -MEDIA_TYPE_HEADER = APIOperation( - input=MediaTypeHeaderInput, - output=MediaTypeHeaderOutput, - static_schema=_SCHEMA_MEDIA_TYPE_HEADER, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NoInputAndNoOutputInput: - """Dataclass for NoInputAndNoOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NoInputAndNoOutputOutput: - """Dataclass for NoInputAndNoOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NO_INPUT_AND_NO_OUTPUT = APIOperation( - input=NoInputAndNoOutputInput, - output=NoInputAndNoOutputOutput, - static_schema=_SCHEMA_NO_INPUT_AND_NO_OUTPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NoInputAndOutputInput: - """Dataclass for NoInputAndOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NoInputAndOutputOutput: - """Dataclass for NoInputAndOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NO_INPUT_AND_OUTPUT = APIOperation( - input=NoInputAndOutputInput, - output=NoInputAndOutputOutput, - static_schema=_SCHEMA_NO_INPUT_AND_OUTPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NullAndEmptyHeadersClientInput: - """Dataclass for NullAndEmptyHeadersClientInput structure.""" - - a: str | None = None - - b: str | None = None - - c: list[str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_INPUT).members_by_index - if self.a is not None: - serializer.write_string(members[0], self.a) - - if self.b is not None: - serializer.write_string(members[1], self.b) - - if self.c is not None: - _serialize_string_list(serializer, members[2], self.c) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["a"] = de.read_string(members[0]) - - case 1: - kwargs["b"] = de.read_string(members[1]) - - case 2: - kwargs["c"] = _deserialize_string_list(de, members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NullAndEmptyHeadersClientOutput: - """Dataclass for NullAndEmptyHeadersClientOutput structure.""" - - a: str | None = None - - b: str | None = None - - c: list[str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_OUTPUT).members_by_index - if self.a is not None: - serializer.write_string(members[0], self.a) - - if self.b is not None: - serializer.write_string(members[1], self.b) - - if self.c is not None: - _serialize_string_list(serializer, members[2], self.c) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["a"] = de.read_string(members[0]) - - case 1: - kwargs["b"] = de.read_string(members[1]) - - case 2: - kwargs["c"] = _deserialize_string_list(de, members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NULL_AND_EMPTY_HEADERS_CLIENT = APIOperation( - input=NullAndEmptyHeadersClientInput, - output=NullAndEmptyHeadersClientOutput, - static_schema=_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NullAndEmptyHeadersServerInput: - """Dataclass for NullAndEmptyHeadersServerInput structure.""" - - a: str | None = None - - b: str | None = None - - c: list[str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_INPUT).members_by_index - if self.a is not None: - serializer.write_string(members[0], self.a) - - if self.b is not None: - serializer.write_string(members[1], self.b) - - if self.c is not None: - _serialize_string_list(serializer, members[2], self.c) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["a"] = de.read_string(members[0]) - - case 1: - kwargs["b"] = de.read_string(members[1]) - - case 2: - kwargs["c"] = _deserialize_string_list(de, members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NullAndEmptyHeadersServerOutput: - """Dataclass for NullAndEmptyHeadersServerOutput structure.""" - - a: str | None = None - - b: str | None = None - - c: list[str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_OUTPUT).members_by_index - if self.a is not None: - serializer.write_string(members[0], self.a) - - if self.b is not None: - serializer.write_string(members[1], self.b) - - if self.c is not None: - _serialize_string_list(serializer, members[2], self.c) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["a"] = de.read_string(members[0]) - - case 1: - kwargs["b"] = de.read_string(members[1]) - - case 2: - kwargs["c"] = _deserialize_string_list(de, members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NULL_AND_EMPTY_HEADERS_SERVER = APIOperation( - input=NullAndEmptyHeadersServerInput, - output=NullAndEmptyHeadersServerOutput, - static_schema=_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class OmitsNullSerializesEmptyStringInput: - """Dataclass for OmitsNullSerializesEmptyStringInput structure.""" - - null_value: str | None = None - - empty_string: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING_INPUT - ).members_by_index - if self.null_value is not None: - serializer.write_string(members[0], self.null_value) - - if self.empty_string is not None: - serializer.write_string(members[1], self.empty_string) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["null_value"] = de.read_string(members[0]) - - case 1: - kwargs["empty_string"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class OmitsNullSerializesEmptyStringOutput: - """Dataclass for OmitsNullSerializesEmptyStringOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -OMITS_NULL_SERIALIZES_EMPTY_STRING = APIOperation( - input=OmitsNullSerializesEmptyStringInput, - output=OmitsNullSerializesEmptyStringOutput, - static_schema=_SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class OmitsSerializingEmptyListsInput: - """Dataclass for OmitsSerializingEmptyListsInput structure.""" - - query_string_list: list[str] | None = None - - query_integer_list: list[int] | None = None - - query_double_list: list[float] | None = None - - query_boolean_list: list[bool] | None = None - - query_timestamp_list: list[datetime] | None = None - - query_enum_list: list[str] | None = None - - query_integer_enum_list: list[int] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OMITS_SERIALIZING_EMPTY_LISTS_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_OMITS_SERIALIZING_EMPTY_LISTS_INPUT).members_by_index - if self.query_string_list is not None: - _serialize_string_list(serializer, members[0], self.query_string_list) - - if self.query_integer_list is not None: - _serialize_integer_list(serializer, members[1], self.query_integer_list) - - if self.query_double_list is not None: - _serialize_double_list(serializer, members[2], self.query_double_list) - - if self.query_boolean_list is not None: - _serialize_boolean_list(serializer, members[3], self.query_boolean_list) - - if self.query_timestamp_list is not None: - _serialize_timestamp_list(serializer, members[4], self.query_timestamp_list) - - if self.query_enum_list is not None: - _serialize_foo_enum_list(serializer, members[5], self.query_enum_list) - - if self.query_integer_enum_list is not None: - _serialize_integer_enum_list( - serializer, members[6], self.query_integer_enum_list - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OMITS_SERIALIZING_EMPTY_LISTS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["query_string_list"] = _deserialize_string_list( - de, members[0] - ) - - case 1: - kwargs["query_integer_list"] = _deserialize_integer_list( - de, members[1] - ) - - case 2: - kwargs["query_double_list"] = _deserialize_double_list( - de, members[2] - ) - - case 3: - kwargs["query_boolean_list"] = _deserialize_boolean_list( - de, members[3] - ) - - case 4: - kwargs["query_timestamp_list"] = _deserialize_timestamp_list( - de, members[4] - ) - - case 5: - kwargs["query_enum_list"] = _deserialize_foo_enum_list( - de, members[5] - ) - - case 6: - kwargs["query_integer_enum_list"] = _deserialize_integer_enum_list( - de, members[6] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class OmitsSerializingEmptyListsOutput: - """Dataclass for OmitsSerializingEmptyListsOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OMITS_SERIALIZING_EMPTY_LISTS_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OMITS_SERIALIZING_EMPTY_LISTS_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -OMITS_SERIALIZING_EMPTY_LISTS = APIOperation( - input=OmitsSerializingEmptyListsInput, - output=OmitsSerializingEmptyListsOutput, - static_schema=_SCHEMA_OMITS_SERIALIZING_EMPTY_LISTS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class OperationWithDefaultsInput: - """Dataclass for OperationWithDefaultsInput structure.""" - - defaults: Defaults | None = None - - client_optional_defaults: ClientOptionalDefaults | None = None - - top_level_default: str = "hi" - - other_top_level_default: int = 0 - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_INPUT).members_by_index - if self.defaults is not None: - serializer.write_struct(members[0], self.defaults) - - if self.client_optional_defaults is not None: - serializer.write_struct(members[1], self.client_optional_defaults) - - if self.top_level_default is not None: - serializer.write_string(members[2], self.top_level_default) - - if self.other_top_level_default is not None: - serializer.write_integer(members[3], self.other_top_level_default) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["defaults"] = Defaults.deserialize(de) - - case 1: - kwargs["client_optional_defaults"] = ( - ClientOptionalDefaults.deserialize(de) - ) - - case 2: - kwargs["top_level_default"] = de.read_string(members[2]) - - case 3: - kwargs["other_top_level_default"] = de.read_integer(members[3]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class OperationWithDefaultsOutput: - """Dataclass for OperationWithDefaultsOutput structure.""" - - default_string: str = "hi" - - default_boolean: bool = True - - default_list: list[str] = field(default_factory=list[str]) - - default_document_map: Document = field(default_factory=lambda: Document(dict())) - - default_document_string: Document = field(default_factory=lambda: Document("hi")) - - default_document_boolean: Document = field(default_factory=lambda: Document(True)) - - default_document_list: Document = field(default_factory=lambda: Document(list())) - - default_null_document: Document = field(default_factory=lambda: Document(None)) - - default_timestamp: datetime = datetime(1970, 1, 1, 0, 0, 0, 0, timezone.utc) - - default_blob: bytes = b64decode("YWJj") - - default_byte: int = 1 - - default_short: int = 1 - - default_integer: int = 10 - - default_long: int = 100 - - default_float: float = 1.0 - - default_double: float = 1.0 - - default_map: dict[str, str] = field(default_factory=dict[str, str]) - - default_enum: str = TestEnum("FOO") - - default_int_enum: int = TestIntEnum(1) - - empty_string: str = "" - - false_boolean: bool = False - - empty_blob: bytes = b64decode("") - - zero_byte: int = 0 - - zero_short: int = 0 - - zero_integer: int = 0 - - zero_long: int = 0 - - zero_float: float = 0.0 - - zero_double: float = 0.0 - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_OUTPUT).members_by_index - serializer.write_string(members[0], self.default_string) - serializer.write_boolean(members[1], self.default_boolean) - _serialize_test_string_list(serializer, members[2], self.default_list) - serializer.write_document(members[3], self.default_document_map) - serializer.write_document(members[4], self.default_document_string) - serializer.write_document(members[5], self.default_document_boolean) - serializer.write_document(members[6], self.default_document_list) - serializer.write_document(members[7], self.default_null_document) - serializer.write_timestamp(members[8], self.default_timestamp) - serializer.write_blob(members[9], self.default_blob) - serializer.write_byte(members[10], self.default_byte) - serializer.write_short(members[11], self.default_short) - serializer.write_integer(members[12], self.default_integer) - serializer.write_long(members[13], self.default_long) - serializer.write_float(members[14], self.default_float) - serializer.write_double(members[15], self.default_double) - _serialize_test_string_map(serializer, members[16], self.default_map) - serializer.write_string(members[17], self.default_enum) - serializer.write_integer(members[18], self.default_int_enum) - serializer.write_string(members[19], self.empty_string) - serializer.write_boolean(members[20], self.false_boolean) - serializer.write_blob(members[21], self.empty_blob) - serializer.write_byte(members[22], self.zero_byte) - serializer.write_short(members[23], self.zero_short) - serializer.write_integer(members[24], self.zero_integer) - serializer.write_long(members[25], self.zero_long) - serializer.write_float(members[26], self.zero_float) - serializer.write_double(members[27], self.zero_double) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["default_string"] = de.read_string(members[0]) - - case 1: - kwargs["default_boolean"] = de.read_boolean(members[1]) - - case 2: - kwargs["default_list"] = _deserialize_test_string_list( - de, members[2] - ) - - case 3: - kwargs["default_document_map"] = de.read_document(members[3]) - - case 4: - kwargs["default_document_string"] = de.read_document(members[4]) - - case 5: - kwargs["default_document_boolean"] = de.read_document(members[5]) - - case 6: - kwargs["default_document_list"] = de.read_document(members[6]) - - case 7: - kwargs["default_null_document"] = de.read_document(members[7]) - - case 8: - kwargs["default_timestamp"] = de.read_timestamp(members[8]) - - case 9: - kwargs["default_blob"] = de.read_blob(members[9]) - - case 10: - kwargs["default_byte"] = de.read_byte(members[10]) - - case 11: - kwargs["default_short"] = de.read_short(members[11]) - - case 12: - kwargs["default_integer"] = de.read_integer(members[12]) - - case 13: - kwargs["default_long"] = de.read_long(members[13]) - - case 14: - kwargs["default_float"] = de.read_float(members[14]) - - case 15: - kwargs["default_double"] = de.read_double(members[15]) - - case 16: - kwargs["default_map"] = _deserialize_test_string_map( - de, members[16] - ) - - case 17: - kwargs["default_enum"] = TestEnum(de.read_string(members[17])) - - case 18: - kwargs["default_int_enum"] = TestIntEnum( - de.read_integer(members[18]) - ) - - case 19: - kwargs["empty_string"] = de.read_string(members[19]) - - case 20: - kwargs["false_boolean"] = de.read_boolean(members[20]) - - case 21: - kwargs["empty_blob"] = de.read_blob(members[21]) - - case 22: - kwargs["zero_byte"] = de.read_byte(members[22]) - - case 23: - kwargs["zero_short"] = de.read_short(members[23]) - - case 24: - kwargs["zero_integer"] = de.read_integer(members[24]) - - case 25: - kwargs["zero_long"] = de.read_long(members[25]) - - case 26: - kwargs["zero_float"] = de.read_float(members[26]) - - case 27: - kwargs["zero_double"] = de.read_double(members[27]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -OPERATION_WITH_DEFAULTS = APIOperation( - input=OperationWithDefaultsInput, - output=OperationWithDefaultsOutput, - static_schema=_SCHEMA_OPERATION_WITH_DEFAULTS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class TopLevel: - """Dataclass for TopLevel structure.""" - - dialog: Dialog - - dialog_list: list[Dialog] = field(default_factory=list[Dialog]) - - dialog_map: dict[str, Dialog] = field(default_factory=dict[str, Dialog]) - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TOP_LEVEL), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TOP_LEVEL).members_by_index - serializer.write_struct(members[0], self.dialog) - _serialize_dialog_list(serializer, members[1], self.dialog_list) - _serialize_dialog_map(serializer, members[2], self.dialog_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TOP_LEVEL) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["dialog"] = Dialog.deserialize(de) - - case 1: - kwargs["dialog_list"] = _deserialize_dialog_list(de, members[1]) - - case 2: - kwargs["dialog_map"] = _deserialize_dialog_map(de, members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - if "dialog" not in kwargs: - kwargs["dialog"] = Dialog._smithy_default() - return kwargs - - -@dataclass(kw_only=True) -class OperationWithNestedStructureInput: - """Dataclass for OperationWithNestedStructureInput structure.""" - - top_level: TopLevel | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_INPUT - ).members_by_index - if self.top_level is not None: - serializer.write_struct(members[0], self.top_level) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["top_level"] = TopLevel.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class OperationWithNestedStructureOutput: - """Dataclass for OperationWithNestedStructureOutput structure.""" - - dialog: Dialog - - dialog_list: list[Dialog] = field(default_factory=list[Dialog]) - - dialog_map: dict[str, Dialog] = field(default_factory=dict[str, Dialog]) - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_OUTPUT - ).members_by_index - serializer.write_struct(members[0], self.dialog) - _serialize_dialog_list(serializer, members[1], self.dialog_list) - _serialize_dialog_map(serializer, members[2], self.dialog_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_NESTED_STRUCTURE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["dialog"] = Dialog.deserialize(de) - - case 1: - kwargs["dialog_list"] = _deserialize_dialog_list(de, members[1]) - - case 2: - kwargs["dialog_map"] = _deserialize_dialog_map(de, members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - if "dialog" not in kwargs: - kwargs["dialog"] = Dialog._smithy_default() - return kwargs - - -OPERATION_WITH_NESTED_STRUCTURE = APIOperation( - input=OperationWithNestedStructureInput, - output=OperationWithNestedStructureOutput, - static_schema=_SCHEMA_OPERATION_WITH_NESTED_STRUCTURE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class OutputStreamInput: - """Dataclass for OutputStreamInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_OUTPUT_STREAM_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OUTPUT_STREAM_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class OutputStreamOutput: - """Dataclass for OutputStreamOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_OUTPUT_STREAM_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OUTPUT_STREAM_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -OUTPUT_STREAM = APIOperation( - input=OutputStreamInput, - output=OutputStreamOutput, - static_schema=_SCHEMA_OUTPUT_STREAM, - error_registry=TypeRegistry( - { - ShapeID( - "aws.protocoltests.restjson#ServiceUnavailableError" - ): ServiceUnavailableError - } - ), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class OutputStreamWithInitialResponseInput: - """Dataclass for OutputStreamWithInitialResponseInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OUTPUT_STREAM_WITH_INITIAL_RESPONSE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OUTPUT_STREAM_WITH_INITIAL_RESPONSE_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class OutputStreamWithInitialResponseOutput: - """Dataclass for OutputStreamWithInitialResponseOutput structure.""" - - initial_response_member: str - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OUTPUT_STREAM_WITH_INITIAL_RESPONSE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_OUTPUT_STREAM_WITH_INITIAL_RESPONSE_OUTPUT - ).members_by_index - serializer.write_string(members[0], self.initial_response_member) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OUTPUT_STREAM_WITH_INITIAL_RESPONSE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["initial_response_member"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - if "initial_response_member" not in kwargs: - kwargs["initial_response_member"] = "" - return kwargs - - -OUTPUT_STREAM_WITH_INITIAL_RESPONSE = APIOperation( - input=OutputStreamWithInitialResponseInput, - output=OutputStreamWithInitialResponseOutput, - static_schema=_SCHEMA_OUTPUT_STREAM_WITH_INITIAL_RESPONSE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class PayloadConfig: - """Dataclass for PayloadConfig structure.""" - - data: int | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PAYLOAD_CONFIG), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_PAYLOAD_CONFIG).members_by_index - if self.data is not None: - serializer.write_integer(members[0], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PAYLOAD_CONFIG) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["data"] = de.read_integer(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class Unit: - """Dataclass for Unit structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_UNIT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_UNIT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass -class PlayerActionQuit: - """Quit the game.""" - - value: Unit - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PLAYER_ACTION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_PLAYER_ACTION).members_by_index - serializer.write_struct(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=Unit.deserialize(deserializer)) - - -@dataclass -class PlayerActionUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -PlayerAction = Union[PlayerActionQuit | PlayerActionUnknown] - - -class _PlayerActionDeserializer: - _result: PlayerAction | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> PlayerAction: - self._result = None - deserializer.read_struct(hydrate(_SCHEMA_PLAYER_ACTION), self._consumer) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(PlayerActionQuit.deserialize(de)) - - case _: - self._set_result(PlayerActionUnknown(tag=schema.expect_member_name())) - - def _set_result(self, value: PlayerAction) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -@dataclass(kw_only=True) -class PostPlayerActionInput: - """Dataclass for PostPlayerActionInput structure.""" - - action: PlayerAction | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_POST_PLAYER_ACTION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_POST_PLAYER_ACTION_INPUT).members_by_index - if self.action is not None: - serializer.write_struct(members[0], self.action) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_POST_PLAYER_ACTION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["action"] = _PlayerActionDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class PostPlayerActionOutput: - """Dataclass for PostPlayerActionOutput structure.""" - - action: PlayerAction - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_POST_PLAYER_ACTION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_POST_PLAYER_ACTION_OUTPUT).members_by_index - serializer.write_struct(members[0], self.action) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_POST_PLAYER_ACTION_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["action"] = _PlayerActionDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - if "action" not in kwargs: - kwargs["action"] = PlayerActionUnknown(tag="") - return kwargs - - -POST_PLAYER_ACTION = APIOperation( - input=PostPlayerActionInput, - output=PostPlayerActionOutput, - static_schema=_SCHEMA_POST_PLAYER_ACTION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass -class UnionWithJsonNameFoo: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_UNION_WITH_JSON_NAME), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_UNION_WITH_JSON_NAME).members_by_index - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_UNION_WITH_JSON_NAME).members_by_index - return cls(value=deserializer.read_string(members[0])) - - -@dataclass -class UnionWithJsonNameBar: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_UNION_WITH_JSON_NAME), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_UNION_WITH_JSON_NAME).members_by_index - serializer.write_string(members[1], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_UNION_WITH_JSON_NAME).members_by_index - return cls(value=deserializer.read_string(members[1])) - - -@dataclass -class UnionWithJsonNameBaz: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_UNION_WITH_JSON_NAME), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_UNION_WITH_JSON_NAME).members_by_index - serializer.write_string(members[2], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_UNION_WITH_JSON_NAME).members_by_index - return cls(value=deserializer.read_string(members[2])) - - -@dataclass -class UnionWithJsonNameUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -UnionWithJsonName = Union[ - UnionWithJsonNameFoo - | UnionWithJsonNameBar - | UnionWithJsonNameBaz - | UnionWithJsonNameUnknown -] - - -class _UnionWithJsonNameDeserializer: - _result: UnionWithJsonName | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> UnionWithJsonName: - self._result = None - deserializer.read_struct(hydrate(_SCHEMA_UNION_WITH_JSON_NAME), self._consumer) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(UnionWithJsonNameFoo.deserialize(de)) - - case 1: - self._set_result(UnionWithJsonNameBar.deserialize(de)) - - case 2: - self._set_result(UnionWithJsonNameBaz.deserialize(de)) - - case _: - self._set_result( - UnionWithJsonNameUnknown(tag=schema.expect_member_name()) - ) - - def _set_result(self, value: UnionWithJsonName) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -@dataclass(kw_only=True) -class PostUnionWithJsonNameInput: - """Dataclass for PostUnionWithJsonNameInput structure.""" - - value: UnionWithJsonName | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_POST_UNION_WITH_JSON_NAME_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_POST_UNION_WITH_JSON_NAME_INPUT).members_by_index - if self.value is not None: - serializer.write_struct(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_POST_UNION_WITH_JSON_NAME_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["value"] = _UnionWithJsonNameDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class PostUnionWithJsonNameOutput: - """Dataclass for PostUnionWithJsonNameOutput structure.""" - - value: UnionWithJsonName - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_POST_UNION_WITH_JSON_NAME_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_POST_UNION_WITH_JSON_NAME_OUTPUT).members_by_index - serializer.write_struct(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_POST_UNION_WITH_JSON_NAME_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["value"] = _UnionWithJsonNameDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - if "value" not in kwargs: - kwargs["value"] = UnionWithJsonNameUnknown(tag="") - return kwargs - - -POST_UNION_WITH_JSON_NAME = APIOperation( - input=PostUnionWithJsonNameInput, - output=PostUnionWithJsonNameOutput, - static_schema=_SCHEMA_POST_UNION_WITH_JSON_NAME, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class PutWithContentEncodingInput: - """Dataclass for PutWithContentEncodingInput structure.""" - - encoding: str | None = None - - data: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT).members_by_index - if self.encoding is not None: - serializer.write_string(members[0], self.encoding) - - if self.data is not None: - serializer.write_string(members[1], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["encoding"] = de.read_string(members[0]) - - case 1: - kwargs["data"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class PutWithContentEncodingOutput: - """Dataclass for PutWithContentEncodingOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -PUT_WITH_CONTENT_ENCODING = APIOperation( - input=PutWithContentEncodingInput, - output=PutWithContentEncodingOutput, - static_schema=_SCHEMA_PUT_WITH_CONTENT_ENCODING, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class QueryIdempotencyTokenAutoFillInput: - """Dataclass for QueryIdempotencyTokenAutoFillInput structure.""" - - token: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT - ).members_by_index - if self.token is not None: - serializer.write_string(members[0], self.token) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["token"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryIdempotencyTokenAutoFillOutput: - """Dataclass for QueryIdempotencyTokenAutoFillOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL = APIOperation( - input=QueryIdempotencyTokenAutoFillInput, - output=QueryIdempotencyTokenAutoFillOutput, - static_schema=_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class QueryParamsAsStringListMapInput: - """Dataclass for QueryParamsAsStringListMapInput structure.""" - - qux: str | None = None - - foo: dict[str, list[str]] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT - ).members_by_index - if self.qux is not None: - serializer.write_string(members[0], self.qux) - - if self.foo is not None: - _serialize_string_list_map(serializer, members[1], self.foo) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["qux"] = de.read_string(members[0]) - - case 1: - kwargs["foo"] = _deserialize_string_list_map(de, members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryParamsAsStringListMapOutput: - """Dataclass for QueryParamsAsStringListMapOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -QUERY_PARAMS_AS_STRING_LIST_MAP = APIOperation( - input=QueryParamsAsStringListMapInput, - output=QueryParamsAsStringListMapOutput, - static_schema=_SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class QueryPrecedenceInput: - """Dataclass for QueryPrecedenceInput structure.""" - - foo: str | None = None - - baz: dict[str, str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_QUERY_PRECEDENCE_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_QUERY_PRECEDENCE_INPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.baz is not None: - _serialize_string_map(serializer, members[1], self.baz) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_PRECEDENCE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["baz"] = _deserialize_string_map(de, members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryPrecedenceOutput: - """Dataclass for QueryPrecedenceOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_QUERY_PRECEDENCE_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_PRECEDENCE_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -QUERY_PRECEDENCE = APIOperation( - input=QueryPrecedenceInput, - output=QueryPrecedenceOutput, - static_schema=_SCHEMA_QUERY_PRECEDENCE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class ResponseCodeHttpFallbackInput: - """Dataclass for ResponseCodeHttpFallbackInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_RESPONSE_CODE_HTTP_FALLBACK_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RESPONSE_CODE_HTTP_FALLBACK_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ResponseCodeHttpFallbackOutput: - """Dataclass for ResponseCodeHttpFallbackOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_RESPONSE_CODE_HTTP_FALLBACK_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RESPONSE_CODE_HTTP_FALLBACK_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -RESPONSE_CODE_HTTP_FALLBACK = APIOperation( - input=ResponseCodeHttpFallbackInput, - output=ResponseCodeHttpFallbackOutput, - static_schema=_SCHEMA_RESPONSE_CODE_HTTP_FALLBACK, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class ResponseCodeRequiredInput: - """Dataclass for ResponseCodeRequiredInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RESPONSE_CODE_REQUIRED_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RESPONSE_CODE_REQUIRED_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ResponseCodeRequiredOutput: - """Dataclass for ResponseCodeRequiredOutput structure.""" - - response_code: int - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RESPONSE_CODE_REQUIRED_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RESPONSE_CODE_REQUIRED_OUTPUT).members_by_index - serializer.write_integer(members[0], self.response_code) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RESPONSE_CODE_REQUIRED_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["response_code"] = de.read_integer(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - if "response_code" not in kwargs: - kwargs["response_code"] = 0 - return kwargs - - -RESPONSE_CODE_REQUIRED = APIOperation( - input=ResponseCodeRequiredInput, - output=ResponseCodeRequiredOutput, - static_schema=_SCHEMA_RESPONSE_CODE_REQUIRED, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class SimpleScalarPropertiesInput: - """Dataclass for SimpleScalarPropertiesInput structure.""" - - foo: str | None = None - - string_value: str | None = None - - true_boolean_value: bool | None = None - - false_boolean_value: bool | None = None - - byte_value: int | None = None - - short_value: int | None = None - - integer_value: int | None = None - - long_value: int | None = None - - float_value: float | None = None - - double_value: float | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.string_value is not None: - serializer.write_string(members[1], self.string_value) - - if self.true_boolean_value is not None: - serializer.write_boolean(members[2], self.true_boolean_value) - - if self.false_boolean_value is not None: - serializer.write_boolean(members[3], self.false_boolean_value) - - if self.byte_value is not None: - serializer.write_byte(members[4], self.byte_value) - - if self.short_value is not None: - serializer.write_short(members[5], self.short_value) - - if self.integer_value is not None: - serializer.write_integer(members[6], self.integer_value) - - if self.long_value is not None: - serializer.write_long(members[7], self.long_value) - - if self.float_value is not None: - serializer.write_float(members[8], self.float_value) - - if self.double_value is not None: - serializer.write_double(members[9], self.double_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["string_value"] = de.read_string(members[1]) - - case 2: - kwargs["true_boolean_value"] = de.read_boolean(members[2]) - - case 3: - kwargs["false_boolean_value"] = de.read_boolean(members[3]) - - case 4: - kwargs["byte_value"] = de.read_byte(members[4]) - - case 5: - kwargs["short_value"] = de.read_short(members[5]) - - case 6: - kwargs["integer_value"] = de.read_integer(members[6]) - - case 7: - kwargs["long_value"] = de.read_long(members[7]) - - case 8: - kwargs["float_value"] = de.read_float(members[8]) - - case 9: - kwargs["double_value"] = de.read_double(members[9]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SimpleScalarPropertiesOutput: - """Dataclass for SimpleScalarPropertiesOutput structure.""" - - foo: str | None = None - - string_value: str | None = None - - true_boolean_value: bool | None = None - - false_boolean_value: bool | None = None - - byte_value: int | None = None - - short_value: int | None = None - - integer_value: int | None = None - - long_value: int | None = None - - float_value: float | None = None - - double_value: float | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.string_value is not None: - serializer.write_string(members[1], self.string_value) - - if self.true_boolean_value is not None: - serializer.write_boolean(members[2], self.true_boolean_value) - - if self.false_boolean_value is not None: - serializer.write_boolean(members[3], self.false_boolean_value) - - if self.byte_value is not None: - serializer.write_byte(members[4], self.byte_value) - - if self.short_value is not None: - serializer.write_short(members[5], self.short_value) - - if self.integer_value is not None: - serializer.write_integer(members[6], self.integer_value) - - if self.long_value is not None: - serializer.write_long(members[7], self.long_value) - - if self.float_value is not None: - serializer.write_float(members[8], self.float_value) - - if self.double_value is not None: - serializer.write_double(members[9], self.double_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["string_value"] = de.read_string(members[1]) - - case 2: - kwargs["true_boolean_value"] = de.read_boolean(members[2]) - - case 3: - kwargs["false_boolean_value"] = de.read_boolean(members[3]) - - case 4: - kwargs["byte_value"] = de.read_byte(members[4]) - - case 5: - kwargs["short_value"] = de.read_short(members[5]) - - case 6: - kwargs["integer_value"] = de.read_integer(members[6]) - - case 7: - kwargs["long_value"] = de.read_long(members[7]) - - case 8: - kwargs["float_value"] = de.read_float(members[8]) - - case 9: - kwargs["double_value"] = de.read_double(members[9]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -SIMPLE_SCALAR_PROPERTIES = APIOperation( - input=SimpleScalarPropertiesInput, - output=SimpleScalarPropertiesOutput, - static_schema=_SCHEMA_SIMPLE_SCALAR_PROPERTIES, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_sparse_short_list( - serializer: ShapeSerializer, schema: Schema, value: list[int | None] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - if e is None: - ls.write_null(member_schema) - else: - ls.write_short(member_schema, e) - - -def _deserialize_sparse_short_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int | None]: - result: list[int | None] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result.append(None) - else: - result.append(d.read_short(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_sparse_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[str | None] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - if e is None: - ls.write_null(member_schema) - else: - ls.write_string(member_schema, e) - - -def _deserialize_sparse_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str | None]: - result: list[str | None] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result.append(None) - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class SparseJsonListsInput: - """Dataclass for SparseJsonListsInput structure.""" - - sparse_string_list: list[str | None] | None = None - - sparse_short_list: list[int | None] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SPARSE_JSON_LISTS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SPARSE_JSON_LISTS_INPUT).members_by_index - if self.sparse_string_list is not None: - _serialize_sparse_string_list( - serializer, members[0], self.sparse_string_list - ) - - if self.sparse_short_list is not None: - _serialize_sparse_short_list(serializer, members[1], self.sparse_short_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SPARSE_JSON_LISTS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["sparse_string_list"] = _deserialize_sparse_string_list( - de, members[0] - ) - - case 1: - kwargs["sparse_short_list"] = _deserialize_sparse_short_list( - de, members[1] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SparseJsonListsOutput: - """Dataclass for SparseJsonListsOutput structure.""" - - sparse_string_list: list[str | None] | None = None - - sparse_short_list: list[int | None] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SPARSE_JSON_LISTS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SPARSE_JSON_LISTS_OUTPUT).members_by_index - if self.sparse_string_list is not None: - _serialize_sparse_string_list( - serializer, members[0], self.sparse_string_list - ) - - if self.sparse_short_list is not None: - _serialize_sparse_short_list(serializer, members[1], self.sparse_short_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SPARSE_JSON_LISTS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["sparse_string_list"] = _deserialize_sparse_string_list( - de, members[0] - ) - - case 1: - kwargs["sparse_short_list"] = _deserialize_sparse_short_list( - de, members[1] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -SPARSE_JSON_LISTS = APIOperation( - input=SparseJsonListsInput, - output=SparseJsonListsOutput, - static_schema=_SCHEMA_SPARSE_JSON_LISTS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_sparse_boolean_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, bool | None] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - if v is None: - m.entry(k, lambda vs: vs.write_null(value_schema)) - else: - m.entry(k, lambda vs: vs.write_boolean(value_schema, v)) # type: ignore - - -def _deserialize_sparse_boolean_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, bool | None]: - result: dict[str, bool | None] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result[k] = None - else: - result[k] = d.read_boolean(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_sparse_number_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, int | None] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - if v is None: - m.entry(k, lambda vs: vs.write_null(value_schema)) - else: - m.entry(k, lambda vs: vs.write_integer(value_schema, v)) # type: ignore - - -def _deserialize_sparse_number_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, int | None]: - result: dict[str, int | None] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result[k] = None - else: - result[k] = d.read_integer(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_sparse_set_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, list[str] | None] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - if v is None: - m.entry(k, lambda vs: vs.write_null(value_schema)) - else: - m.entry(k, lambda vs: _serialize_string_set(vs, value_schema, v)) # type: ignore - - -def _deserialize_sparse_set_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, list[str] | None]: - result: dict[str, list[str] | None] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result[k] = None - else: - result[k] = _deserialize_string_set(d, value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_sparse_string_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str | None] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - if v is None: - m.entry(k, lambda vs: vs.write_null(value_schema)) - else: - m.entry(k, lambda vs: vs.write_string(value_schema, v)) # type: ignore - - -def _deserialize_sparse_string_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str | None]: - result: dict[str, str | None] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result[k] = None - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_sparse_struct_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, GreetingStruct | None] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - if v is None: - m.entry(k, lambda vs: vs.write_null(value_schema)) - else: - m.entry(k, lambda vs: vs.write_struct(value_schema, v)) # type: ignore - - -def _deserialize_sparse_struct_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, GreetingStruct | None]: - result: dict[str, GreetingStruct | None] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result[k] = None - else: - result[k] = GreetingStruct.deserialize(d) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class SparseJsonMapsInput: - """Dataclass for SparseJsonMapsInput structure.""" - - sparse_struct_map: dict[str, GreetingStruct | None] | None = None - - sparse_number_map: dict[str, int | None] | None = None - - sparse_boolean_map: dict[str, bool | None] | None = None - - sparse_string_map: dict[str, str | None] | None = None - - sparse_set_map: dict[str, list[str] | None] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SPARSE_JSON_MAPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SPARSE_JSON_MAPS_INPUT).members_by_index - if self.sparse_struct_map is not None: - _serialize_sparse_struct_map(serializer, members[0], self.sparse_struct_map) - - if self.sparse_number_map is not None: - _serialize_sparse_number_map(serializer, members[1], self.sparse_number_map) - - if self.sparse_boolean_map is not None: - _serialize_sparse_boolean_map( - serializer, members[2], self.sparse_boolean_map - ) - - if self.sparse_string_map is not None: - _serialize_sparse_string_map(serializer, members[3], self.sparse_string_map) - - if self.sparse_set_map is not None: - _serialize_sparse_set_map(serializer, members[4], self.sparse_set_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SPARSE_JSON_MAPS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["sparse_struct_map"] = _deserialize_sparse_struct_map( - de, members[0] - ) - - case 1: - kwargs["sparse_number_map"] = _deserialize_sparse_number_map( - de, members[1] - ) - - case 2: - kwargs["sparse_boolean_map"] = _deserialize_sparse_boolean_map( - de, members[2] - ) - - case 3: - kwargs["sparse_string_map"] = _deserialize_sparse_string_map( - de, members[3] - ) - - case 4: - kwargs["sparse_set_map"] = _deserialize_sparse_set_map( - de, members[4] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SparseJsonMapsOutput: - """Dataclass for SparseJsonMapsOutput structure.""" - - sparse_struct_map: dict[str, GreetingStruct | None] | None = None - - sparse_number_map: dict[str, int | None] | None = None - - sparse_boolean_map: dict[str, bool | None] | None = None - - sparse_string_map: dict[str, str | None] | None = None - - sparse_set_map: dict[str, list[str] | None] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SPARSE_JSON_MAPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SPARSE_JSON_MAPS_OUTPUT).members_by_index - if self.sparse_struct_map is not None: - _serialize_sparse_struct_map(serializer, members[0], self.sparse_struct_map) - - if self.sparse_number_map is not None: - _serialize_sparse_number_map(serializer, members[1], self.sparse_number_map) - - if self.sparse_boolean_map is not None: - _serialize_sparse_boolean_map( - serializer, members[2], self.sparse_boolean_map - ) - - if self.sparse_string_map is not None: - _serialize_sparse_string_map(serializer, members[3], self.sparse_string_map) - - if self.sparse_set_map is not None: - _serialize_sparse_set_map(serializer, members[4], self.sparse_set_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SPARSE_JSON_MAPS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["sparse_struct_map"] = _deserialize_sparse_struct_map( - de, members[0] - ) - - case 1: - kwargs["sparse_number_map"] = _deserialize_sparse_number_map( - de, members[1] - ) - - case 2: - kwargs["sparse_boolean_map"] = _deserialize_sparse_boolean_map( - de, members[2] - ) - - case 3: - kwargs["sparse_string_map"] = _deserialize_sparse_string_map( - de, members[3] - ) - - case 4: - kwargs["sparse_set_map"] = _deserialize_sparse_set_map( - de, members[4] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -SPARSE_JSON_MAPS = APIOperation( - input=SparseJsonMapsInput, - output=SparseJsonMapsOutput, - static_schema=_SCHEMA_SPARSE_JSON_MAPS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class StreamingTraitsInput: - """Dataclass for StreamingTraitsInput structure.""" - - foo: str | None = None - - blob: StreamingBlob = b64decode("") - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_STREAMING_TRAITS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_STREAMING_TRAITS_INPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.blob is not None: - serializer.write_data_stream(members[1], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STREAMING_TRAITS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["blob"] = de.read_data_stream(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class StreamingTraitsOutput: - """Dataclass for StreamingTraitsOutput structure.""" - - foo: str | None = None - - blob: StreamingBlob = b64decode("") - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_STREAMING_TRAITS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_STREAMING_TRAITS_OUTPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - serializer.write_data_stream(members[1], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STREAMING_TRAITS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["blob"] = de.read_data_stream(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -STREAMING_TRAITS = APIOperation( - input=StreamingTraitsInput, - output=StreamingTraitsOutput, - static_schema=_SCHEMA_STREAMING_TRAITS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class StreamingTraitsRequireLengthInput: - """Dataclass for StreamingTraitsRequireLengthInput structure.""" - - foo: str | None = None - - blob: StreamingBlob = b64decode("") - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_STREAMING_TRAITS_REQUIRE_LENGTH_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_STREAMING_TRAITS_REQUIRE_LENGTH_INPUT - ).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.blob is not None: - serializer.write_data_stream(members[1], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STREAMING_TRAITS_REQUIRE_LENGTH_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["blob"] = de.read_data_stream(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class StreamingTraitsRequireLengthOutput: - """Dataclass for StreamingTraitsRequireLengthOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_STREAMING_TRAITS_REQUIRE_LENGTH_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STREAMING_TRAITS_REQUIRE_LENGTH_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -STREAMING_TRAITS_REQUIRE_LENGTH = APIOperation( - input=StreamingTraitsRequireLengthInput, - output=StreamingTraitsRequireLengthOutput, - static_schema=_SCHEMA_STREAMING_TRAITS_REQUIRE_LENGTH, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class StreamingTraitsWithMediaTypeInput: - """Dataclass for StreamingTraitsWithMediaTypeInput structure.""" - - foo: str | None = None - - blob: StreamingBlob = b64decode("") - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_STREAMING_TRAITS_WITH_MEDIA_TYPE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_STREAMING_TRAITS_WITH_MEDIA_TYPE_INPUT - ).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.blob is not None: - serializer.write_data_stream(members[1], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STREAMING_TRAITS_WITH_MEDIA_TYPE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["blob"] = de.read_data_stream(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class StreamingTraitsWithMediaTypeOutput: - """Dataclass for StreamingTraitsWithMediaTypeOutput structure.""" - - foo: str | None = None - - blob: StreamingBlob = b64decode("") - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_STREAMING_TRAITS_WITH_MEDIA_TYPE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_STREAMING_TRAITS_WITH_MEDIA_TYPE_OUTPUT - ).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - serializer.write_data_stream(members[1], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STREAMING_TRAITS_WITH_MEDIA_TYPE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["blob"] = de.read_data_stream(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -STREAMING_TRAITS_WITH_MEDIA_TYPE = APIOperation( - input=StreamingTraitsWithMediaTypeInput, - output=StreamingTraitsWithMediaTypeOutput, - static_schema=_SCHEMA_STREAMING_TRAITS_WITH_MEDIA_TYPE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class TestConfig: - """Dataclass for TestConfig structure.""" - - timeout: int | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TEST_CONFIG), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TEST_CONFIG).members_by_index - if self.timeout is not None: - serializer.write_integer(members[0], self.timeout) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_CONFIG) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["timeout"] = de.read_integer(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class TestBodyStructureInput: - """Dataclass for TestBodyStructureInput structure.""" - - test_id: str | None = None - - test_config: TestConfig | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TEST_BODY_STRUCTURE_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TEST_BODY_STRUCTURE_INPUT).members_by_index - if self.test_id is not None: - serializer.write_string(members[0], self.test_id) - - if self.test_config is not None: - serializer.write_struct(members[1], self.test_config) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_BODY_STRUCTURE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["test_id"] = de.read_string(members[0]) - - case 1: - kwargs["test_config"] = TestConfig.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class TestBodyStructureOutput: - """Dataclass for TestBodyStructureOutput structure.""" - - test_id: str | None = None - - test_config: TestConfig | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TEST_BODY_STRUCTURE_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TEST_BODY_STRUCTURE_OUTPUT).members_by_index - if self.test_id is not None: - serializer.write_string(members[0], self.test_id) - - if self.test_config is not None: - serializer.write_struct(members[1], self.test_config) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_BODY_STRUCTURE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["test_id"] = de.read_string(members[0]) - - case 1: - kwargs["test_config"] = TestConfig.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -TEST_BODY_STRUCTURE = APIOperation( - input=TestBodyStructureInput, - output=TestBodyStructureOutput, - static_schema=_SCHEMA_TEST_BODY_STRUCTURE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class TestGetNoInputNoPayloadInput: - """Dataclass for TestGetNoInputNoPayloadInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_TEST_GET_NO_INPUT_NO_PAYLOAD_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_GET_NO_INPUT_NO_PAYLOAD_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class TestGetNoInputNoPayloadOutput: - """Dataclass for TestGetNoInputNoPayloadOutput structure.""" - - test_id: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_TEST_GET_NO_INPUT_NO_PAYLOAD_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TEST_GET_NO_INPUT_NO_PAYLOAD_OUTPUT).members_by_index - if self.test_id is not None: - serializer.write_string(members[0], self.test_id) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_GET_NO_INPUT_NO_PAYLOAD_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["test_id"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -TEST_GET_NO_INPUT_NO_PAYLOAD = APIOperation( - input=TestGetNoInputNoPayloadInput, - output=TestGetNoInputNoPayloadOutput, - static_schema=_SCHEMA_TEST_GET_NO_INPUT_NO_PAYLOAD, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class TestGetNoPayloadInput: - """Dataclass for TestGetNoPayloadInput structure.""" - - test_id: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TEST_GET_NO_PAYLOAD_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TEST_GET_NO_PAYLOAD_INPUT).members_by_index - if self.test_id is not None: - serializer.write_string(members[0], self.test_id) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_GET_NO_PAYLOAD_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["test_id"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class TestGetNoPayloadOutput: - """Dataclass for TestGetNoPayloadOutput structure.""" - - test_id: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TEST_GET_NO_PAYLOAD_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TEST_GET_NO_PAYLOAD_OUTPUT).members_by_index - if self.test_id is not None: - serializer.write_string(members[0], self.test_id) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_GET_NO_PAYLOAD_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["test_id"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -TEST_GET_NO_PAYLOAD = APIOperation( - input=TestGetNoPayloadInput, - output=TestGetNoPayloadOutput, - static_schema=_SCHEMA_TEST_GET_NO_PAYLOAD, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class TestPayloadBlobInput: - """Dataclass for TestPayloadBlobInput structure.""" - - content_type: str | None = None - - data: bytes | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TEST_PAYLOAD_BLOB_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TEST_PAYLOAD_BLOB_INPUT).members_by_index - if self.content_type is not None: - serializer.write_string(members[0], self.content_type) - - if self.data is not None: - serializer.write_blob(members[1], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_PAYLOAD_BLOB_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["content_type"] = de.read_string(members[0]) - - case 1: - kwargs["data"] = de.read_blob(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class TestPayloadBlobOutput: - """Dataclass for TestPayloadBlobOutput structure.""" - - content_type: str | None = None - - data: bytes | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TEST_PAYLOAD_BLOB_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TEST_PAYLOAD_BLOB_OUTPUT).members_by_index - if self.content_type is not None: - serializer.write_string(members[0], self.content_type) - - if self.data is not None: - serializer.write_blob(members[1], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_PAYLOAD_BLOB_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["content_type"] = de.read_string(members[0]) - - case 1: - kwargs["data"] = de.read_blob(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -TEST_PAYLOAD_BLOB = APIOperation( - input=TestPayloadBlobInput, - output=TestPayloadBlobOutput, - static_schema=_SCHEMA_TEST_PAYLOAD_BLOB, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class TestPayloadStructureInput: - """Dataclass for TestPayloadStructureInput structure.""" - - test_id: str | None = None - - payload_config: PayloadConfig | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TEST_PAYLOAD_STRUCTURE_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TEST_PAYLOAD_STRUCTURE_INPUT).members_by_index - if self.test_id is not None: - serializer.write_string(members[0], self.test_id) - - if self.payload_config is not None: - serializer.write_struct(members[1], self.payload_config) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_PAYLOAD_STRUCTURE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["test_id"] = de.read_string(members[0]) - - case 1: - kwargs["payload_config"] = PayloadConfig.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class TestPayloadStructureOutput: - """Dataclass for TestPayloadStructureOutput structure.""" - - test_id: str | None = None - - payload_config: PayloadConfig | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TEST_PAYLOAD_STRUCTURE_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TEST_PAYLOAD_STRUCTURE_OUTPUT).members_by_index - if self.test_id is not None: - serializer.write_string(members[0], self.test_id) - - if self.payload_config is not None: - serializer.write_struct(members[1], self.payload_config) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_PAYLOAD_STRUCTURE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["test_id"] = de.read_string(members[0]) - - case 1: - kwargs["payload_config"] = PayloadConfig.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -TEST_PAYLOAD_STRUCTURE = APIOperation( - input=TestPayloadStructureInput, - output=TestPayloadStructureOutput, - static_schema=_SCHEMA_TEST_PAYLOAD_STRUCTURE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class TestPostNoInputNoPayloadInput: - """Dataclass for TestPostNoInputNoPayloadInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_TEST_POST_NO_INPUT_NO_PAYLOAD_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_POST_NO_INPUT_NO_PAYLOAD_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class TestPostNoInputNoPayloadOutput: - """Dataclass for TestPostNoInputNoPayloadOutput structure.""" - - test_id: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_TEST_POST_NO_INPUT_NO_PAYLOAD_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TEST_POST_NO_INPUT_NO_PAYLOAD_OUTPUT).members_by_index - if self.test_id is not None: - serializer.write_string(members[0], self.test_id) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_POST_NO_INPUT_NO_PAYLOAD_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["test_id"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -TEST_POST_NO_INPUT_NO_PAYLOAD = APIOperation( - input=TestPostNoInputNoPayloadInput, - output=TestPostNoInputNoPayloadOutput, - static_schema=_SCHEMA_TEST_POST_NO_INPUT_NO_PAYLOAD, - error_registry=TypeRegistry({}), +MALFORMED_REQUEST_BODY = APIOperation( + static_schema=_SCHEMA_MALFORMED_REQUEST_BODY, + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class TestPostNoPayloadInput: - """Dataclass for TestPostNoPayloadInput structure.""" - - test_id: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TEST_POST_NO_PAYLOAD_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TEST_POST_NO_PAYLOAD_INPUT).members_by_index - if self.test_id is not None: - serializer.write_string(members[0], self.test_id) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_POST_NO_PAYLOAD_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["test_id"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class TestPostNoPayloadOutput: - """Dataclass for TestPostNoPayloadOutput structure.""" - - test_id: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TEST_POST_NO_PAYLOAD_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TEST_POST_NO_PAYLOAD_OUTPUT).members_by_index - if self.test_id is not None: - serializer.write_string(members[0], self.test_id) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TEST_POST_NO_PAYLOAD_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["test_id"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -TEST_POST_NO_PAYLOAD = APIOperation( - input=TestPostNoPayloadInput, - output=TestPostNoPayloadOutput, - static_schema=_SCHEMA_TEST_POST_NO_PAYLOAD, - error_registry=TypeRegistry({}), +MALFORMED_SHORT = APIOperation( + static_schema=_SCHEMA_MALFORMED_SHORT, + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) +MALFORMED_STRING = APIOperation( + static_schema=_SCHEMA_MALFORMED_STRING, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -@dataclass(kw_only=True) -class TimestampFormatHeadersInput: - """Dataclass for TimestampFormatHeadersInput structure.""" - - member_epoch_seconds: datetime | None = None - - member_http_date: datetime | None = None - - member_date_time: datetime | None = None - - default_format: datetime | None = None - - target_epoch_seconds: datetime | None = None - - target_http_date: datetime | None = None - - target_date_time: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TIMESTAMP_FORMAT_HEADERS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TIMESTAMP_FORMAT_HEADERS_INPUT).members_by_index - if self.member_epoch_seconds is not None: - serializer.write_timestamp(members[0], self.member_epoch_seconds) - - if self.member_http_date is not None: - serializer.write_timestamp(members[1], self.member_http_date) - - if self.member_date_time is not None: - serializer.write_timestamp(members[2], self.member_date_time) - - if self.default_format is not None: - serializer.write_timestamp(members[3], self.default_format) +MALFORMED_TIMESTAMP_BODY_DATE_TIME = APIOperation( + static_schema=_SCHEMA_MALFORMED_TIMESTAMP_BODY_DATE_TIME, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - if self.target_epoch_seconds is not None: - serializer.write_timestamp(members[4], self.target_epoch_seconds) +MALFORMED_TIMESTAMP_BODY_DEFAULT = APIOperation( + static_schema=_SCHEMA_MALFORMED_TIMESTAMP_BODY_DEFAULT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - if self.target_http_date is not None: - serializer.write_timestamp(members[5], self.target_http_date) +MALFORMED_TIMESTAMP_BODY_HTTP_DATE = APIOperation( + static_schema=_SCHEMA_MALFORMED_TIMESTAMP_BODY_HTTP_DATE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - if self.target_date_time is not None: - serializer.write_timestamp(members[6], self.target_date_time) +MALFORMED_TIMESTAMP_HEADER_DATE_TIME = APIOperation( + static_schema=_SCHEMA_MALFORMED_TIMESTAMP_HEADER_DATE_TIME, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) +MALFORMED_TIMESTAMP_HEADER_DEFAULT = APIOperation( + static_schema=_SCHEMA_MALFORMED_TIMESTAMP_HEADER_DEFAULT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TIMESTAMP_FORMAT_HEADERS_INPUT) - members = schema.members_by_index +MALFORMED_TIMESTAMP_HEADER_EPOCH = APIOperation( + static_schema=_SCHEMA_MALFORMED_TIMESTAMP_HEADER_EPOCH, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["member_epoch_seconds"] = de.read_timestamp(members[0]) +MALFORMED_TIMESTAMP_PATH_DEFAULT = APIOperation( + static_schema=_SCHEMA_MALFORMED_TIMESTAMP_PATH_DEFAULT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case 1: - kwargs["member_http_date"] = de.read_timestamp(members[1]) +MALFORMED_TIMESTAMP_PATH_EPOCH = APIOperation( + static_schema=_SCHEMA_MALFORMED_TIMESTAMP_PATH_EPOCH, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case 2: - kwargs["member_date_time"] = de.read_timestamp(members[2]) +MALFORMED_TIMESTAMP_PATH_HTTP_DATE = APIOperation( + static_schema=_SCHEMA_MALFORMED_TIMESTAMP_PATH_HTTP_DATE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case 3: - kwargs["default_format"] = de.read_timestamp(members[3]) +MALFORMED_TIMESTAMP_QUERY_DEFAULT = APIOperation( + static_schema=_SCHEMA_MALFORMED_TIMESTAMP_QUERY_DEFAULT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case 4: - kwargs["target_epoch_seconds"] = de.read_timestamp(members[4]) +MALFORMED_TIMESTAMP_QUERY_EPOCH = APIOperation( + static_schema=_SCHEMA_MALFORMED_TIMESTAMP_QUERY_EPOCH, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case 5: - kwargs["target_http_date"] = de.read_timestamp(members[5]) +MALFORMED_TIMESTAMP_QUERY_HTTP_DATE = APIOperation( + static_schema=_SCHEMA_MALFORMED_TIMESTAMP_QUERY_HTTP_DATE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case 6: - kwargs["target_date_time"] = de.read_timestamp(members[6]) +MALFORMED_UNION = APIOperation( + static_schema=_SCHEMA_MALFORMED_UNION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case _: - logger.debug("Unexpected member schema: %s", member_schema) +MEDIA_TYPE_HEADER = APIOperation( + static_schema=_SCHEMA_MEDIA_TYPE_HEADER, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +NO_INPUT_AND_NO_OUTPUT = APIOperation( + static_schema=_SCHEMA_NO_INPUT_AND_NO_OUTPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +NO_INPUT_AND_OUTPUT = APIOperation( + static_schema=_SCHEMA_NO_INPUT_AND_OUTPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -@dataclass(kw_only=True) -class TimestampFormatHeadersOutput: - """Dataclass for TimestampFormatHeadersOutput structure.""" +NULL_AND_EMPTY_HEADERS_CLIENT = APIOperation( + static_schema=_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - member_epoch_seconds: datetime | None = None +NULL_AND_EMPTY_HEADERS_SERVER = APIOperation( + static_schema=_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - member_http_date: datetime | None = None +OMITS_NULL_SERIALIZES_EMPTY_STRING = APIOperation( + static_schema=_SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - member_date_time: datetime | None = None +OMITS_SERIALIZING_EMPTY_LISTS = APIOperation( + static_schema=_SCHEMA_OMITS_SERIALIZING_EMPTY_LISTS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - default_format: datetime | None = None +OPERATION_WITH_DEFAULTS = APIOperation( + static_schema=_SCHEMA_OPERATION_WITH_DEFAULTS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - target_epoch_seconds: datetime | None = None +OPERATION_WITH_NESTED_STRUCTURE = APIOperation( + static_schema=_SCHEMA_OPERATION_WITH_NESTED_STRUCTURE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - target_http_date: datetime | None = None +OUTPUT_STREAM = APIOperation( + static_schema=_SCHEMA_OUTPUT_STREAM, + model_registry=_registry, + error_ids=[ShapeID("aws.protocoltests.restjson#ServiceUnavailableError")], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - target_date_time: datetime | None = None +OUTPUT_STREAM_WITH_INITIAL_RESPONSE = APIOperation( + static_schema=_SCHEMA_OUTPUT_STREAM_WITH_INITIAL_RESPONSE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ +POST_PLAYER_ACTION = APIOperation( + static_schema=_SCHEMA_POST_PLAYER_ACTION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TIMESTAMP_FORMAT_HEADERS_OUTPUT), self) +POST_UNION_WITH_JSON_NAME = APIOperation( + static_schema=_SCHEMA_POST_UNION_WITH_JSON_NAME, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TIMESTAMP_FORMAT_HEADERS_OUTPUT).members_by_index - if self.member_epoch_seconds is not None: - serializer.write_timestamp(members[0], self.member_epoch_seconds) +PUT_WITH_CONTENT_ENCODING = APIOperation( + static_schema=_SCHEMA_PUT_WITH_CONTENT_ENCODING, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - if self.member_http_date is not None: - serializer.write_timestamp(members[1], self.member_http_date) +QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL = APIOperation( + static_schema=_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - if self.member_date_time is not None: - serializer.write_timestamp(members[2], self.member_date_time) +QUERY_PARAMS_AS_STRING_LIST_MAP = APIOperation( + static_schema=_SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - if self.default_format is not None: - serializer.write_timestamp(members[3], self.default_format) +QUERY_PRECEDENCE = APIOperation( + static_schema=_SCHEMA_QUERY_PRECEDENCE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - if self.target_epoch_seconds is not None: - serializer.write_timestamp(members[4], self.target_epoch_seconds) +RESPONSE_CODE_HTTP_FALLBACK = APIOperation( + static_schema=_SCHEMA_RESPONSE_CODE_HTTP_FALLBACK, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - if self.target_http_date is not None: - serializer.write_timestamp(members[5], self.target_http_date) +RESPONSE_CODE_REQUIRED = APIOperation( + static_schema=_SCHEMA_RESPONSE_CODE_REQUIRED, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - if self.target_date_time is not None: - serializer.write_timestamp(members[6], self.target_date_time) +SIMPLE_SCALAR_PROPERTIES = APIOperation( + static_schema=_SCHEMA_SIMPLE_SCALAR_PROPERTIES, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) +SPARSE_JSON_LISTS = APIOperation( + static_schema=_SCHEMA_SPARSE_JSON_LISTS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TIMESTAMP_FORMAT_HEADERS_OUTPUT) - members = schema.members_by_index +SPARSE_JSON_MAPS = APIOperation( + static_schema=_SCHEMA_SPARSE_JSON_MAPS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["member_epoch_seconds"] = de.read_timestamp(members[0]) +STREAMING_TRAITS = APIOperation( + static_schema=_SCHEMA_STREAMING_TRAITS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case 1: - kwargs["member_http_date"] = de.read_timestamp(members[1]) +STREAMING_TRAITS_REQUIRE_LENGTH = APIOperation( + static_schema=_SCHEMA_STREAMING_TRAITS_REQUIRE_LENGTH, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case 2: - kwargs["member_date_time"] = de.read_timestamp(members[2]) +STREAMING_TRAITS_WITH_MEDIA_TYPE = APIOperation( + static_schema=_SCHEMA_STREAMING_TRAITS_WITH_MEDIA_TYPE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case 3: - kwargs["default_format"] = de.read_timestamp(members[3]) +TEST_BODY_STRUCTURE = APIOperation( + static_schema=_SCHEMA_TEST_BODY_STRUCTURE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case 4: - kwargs["target_epoch_seconds"] = de.read_timestamp(members[4]) +TEST_GET_NO_INPUT_NO_PAYLOAD = APIOperation( + static_schema=_SCHEMA_TEST_GET_NO_INPUT_NO_PAYLOAD, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case 5: - kwargs["target_http_date"] = de.read_timestamp(members[5]) +TEST_GET_NO_PAYLOAD = APIOperation( + static_schema=_SCHEMA_TEST_GET_NO_PAYLOAD, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case 6: - kwargs["target_date_time"] = de.read_timestamp(members[6]) +TEST_PAYLOAD_BLOB = APIOperation( + static_schema=_SCHEMA_TEST_PAYLOAD_BLOB, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - case _: - logger.debug("Unexpected member schema: %s", member_schema) +TEST_PAYLOAD_STRUCTURE = APIOperation( + static_schema=_SCHEMA_TEST_PAYLOAD_STRUCTURE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +TEST_POST_NO_INPUT_NO_PAYLOAD = APIOperation( + static_schema=_SCHEMA_TEST_POST_NO_INPUT_NO_PAYLOAD, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +TEST_POST_NO_PAYLOAD = APIOperation( + static_schema=_SCHEMA_TEST_POST_NO_PAYLOAD, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) TIMESTAMP_FORMAT_HEADERS = APIOperation( - input=TimestampFormatHeadersInput, - output=TimestampFormatHeadersOutput, static_schema=_SCHEMA_TIMESTAMP_FORMAT_HEADERS, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class UnitInputAndOutputInput: - """Dataclass for UnitInputAndOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_UNIT_INPUT_AND_OUTPUT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_UNIT_INPUT_AND_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class UnitInputAndOutputOutput: - """Dataclass for UnitInputAndOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_UNIT_INPUT_AND_OUTPUT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_UNIT_INPUT_AND_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - UNIT_INPUT_AND_OUTPUT = APIOperation( - input=UnitInputAndOutputInput, - output=UnitInputAndOutputOutput, static_schema=_SCHEMA_UNIT_INPUT_AND_OUTPUT, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class RecursiveShapesInputOutputNested1: - """Dataclass for RecursiveShapesInputOutputNested1 structure.""" - - foo: str | None = None - - nested: "RecursiveShapesInputOutputNested2 | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1 - ).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.nested is not None: - serializer.write_struct(members[1], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["nested"] = RecursiveShapesInputOutputNested2.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RecursiveShapesInputOutputNested2: - """Dataclass for RecursiveShapesInputOutputNested2 structure.""" - - bar: str | None = None - - recursive_member: "RecursiveShapesInputOutputNested1 | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2 - ).members_by_index - if self.bar is not None: - serializer.write_string(members[0], self.bar) - - if self.recursive_member is not None: - serializer.write_struct(members[1], self.recursive_member) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["bar"] = de.read_string(members[0]) - - case 1: - kwargs["recursive_member"] = ( - RecursiveShapesInputOutputNested1.deserialize(de) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RecursiveShapesInput: - """Dataclass for RecursiveShapesInput structure.""" - - nested: "RecursiveShapesInputOutputNested1 | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = RecursiveShapesInputOutputNested1.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RecursiveShapesOutput: - """Dataclass for RecursiveShapesOutput structure.""" - - nested: "RecursiveShapesInputOutputNested1 | None" = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RECURSIVE_SHAPES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RECURSIVE_SHAPES_OUTPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_SHAPES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = RecursiveShapesInputOutputNested1.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - RECURSIVE_SHAPES = APIOperation( - input=RecursiveShapesInput, - output=RecursiveShapesOutput, static_schema=_SCHEMA_RECURSIVE_SHAPES, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) diff --git a/codegen-output/rest-json-1/src/restjson/models.pyi b/codegen-output/rest-json-1/src/restjson/models.pyi new file mode 100644 index 000000000..b383142f5 --- /dev/null +++ b/codegen-output/rest-json-1/src/restjson/models.pyi @@ -0,0 +1,1909 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from dataclasses import dataclass +from datetime import datetime +from enum import IntEnum, StrEnum +from typing import Self, Union + +from smithy_core.aio.interfaces import StreamingBlob +from smithy_core.deserializers import ShapeDeserializer +from smithy_core.documents import Document +from smithy_core.exceptions import ModeledError +from smithy_core.response import ResponseMetadata +from smithy_core.schemas import APIOperation +from smithy_core.serializers import ShapeSerializer +from smithy_core.types import JsonString, UnknownEnumMixin + +class _SerdeShape: + def serialize(self, serializer: ShapeSerializer) -> None: ... + def serialize_members(self, serializer: ShapeSerializer) -> None: ... + @classmethod + def deserialize(cls, deserializer: ShapeDeserializer) -> Self: ... + +class ServiceError(ModeledError): ... + +@dataclass(kw_only=True) +class AllQueryStringTypesInput(_SerdeShape): + query_string: str | None = ... + query_string_list: list[str] | None = ... + query_string_set: list[str] | None = ... + query_byte: int | None = ... + query_short: int | None = ... + query_integer: int | None = ... + query_integer_list: list[int] | None = ... + query_integer_set: list[int] | None = ... + query_long: int | None = ... + query_float: float | None = ... + query_double: float | None = ... + query_double_list: list[float] | None = ... + query_boolean: bool | None = ... + query_boolean_list: list[bool] | None = ... + query_timestamp: datetime | None = ... + query_timestamp_list: list[datetime] | None = ... + query_enum: str | None = ... + query_enum_list: list[str] | None = ... + query_integer_enum: int | None = ... + query_integer_enum_list: list[int] | None = ... + query_params_map_of_string_list: dict[str, list[str]] | None = ... + +@dataclass(kw_only=True) +class AllQueryStringTypesOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class BlobPayloadEvent(_SerdeShape): + payload: bytes | None = ... + +@dataclass(kw_only=True) +class ClientOptionalDefaults(_SerdeShape): + member: int | None = ... + +@dataclass(kw_only=True) +class ComplexError(ServiceError, _SerdeShape): + header: str | None = ... + top_level: str | None = ... + nested: ComplexNestedErrorData | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ComplexNestedErrorData(_SerdeShape): + foo: str | None = ... + +@dataclass(kw_only=True) +class ConstantAndVariableQueryStringInput(_SerdeShape): + baz: str | None = ... + maybe_set: str | None = ... + +@dataclass(kw_only=True) +class ConstantAndVariableQueryStringOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ConstantQueryStringInput(_SerdeShape): + hello: str | None = ... + +@dataclass(kw_only=True) +class ConstantQueryStringOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ContentTypeParametersInput(_SerdeShape): + value: int | None = ... + +@dataclass(kw_only=True) +class ContentTypeParametersOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class DatetimeOffsetsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class DatetimeOffsetsOutput(_SerdeShape): + datetime_: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class Defaults(_SerdeShape): + default_string: str | None = ... + default_boolean: bool | None = ... + default_list: list[str] | None = ... + default_document_map: Document | None = ... + default_document_string: Document | None = ... + default_document_boolean: Document | None = ... + default_document_list: Document | None = ... + default_null_document: Document | None = ... + default_timestamp: datetime | None = ... + default_blob: bytes | None = ... + default_byte: int | None = ... + default_short: int | None = ... + default_integer: int | None = ... + default_long: int | None = ... + default_float: float | None = ... + default_double: float | None = ... + default_map: dict[str, str] | None = ... + default_enum: str | None = ... + default_int_enum: int | None = ... + empty_string: str | None = ... + false_boolean: bool | None = ... + empty_blob: bytes | None = ... + zero_byte: int | None = ... + zero_short: int | None = ... + zero_integer: int | None = ... + zero_long: int | None = ... + zero_float: float | None = ... + zero_double: float | None = ... + +@dataclass(kw_only=True) +class Dialog(_SerdeShape): + language: str | None = ... + greeting: str | None = ... + farewell: Farewell | None = ... + +@dataclass(kw_only=True) +class DocumentTypeAsMapValueInput(_SerdeShape): + doc_valued_map: dict[str, Document] | None = ... + +@dataclass(kw_only=True) +class DocumentTypeAsMapValueOutput(_SerdeShape): + doc_valued_map: dict[str, Document] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class DocumentTypeAsPayloadInput(_SerdeShape): + document_value: Document | None = ... + +@dataclass(kw_only=True) +class DocumentTypeAsPayloadOutput(_SerdeShape): + document_value: Document | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class DocumentTypeInput(_SerdeShape): + string_value: str | None = ... + document_value: Document | None = ... + +@dataclass(kw_only=True) +class DocumentTypeOutput(_SerdeShape): + string_value: str | None = ... + document_value: Document | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class DuplexStreamInput(_SerdeShape): + stream: EventStream | None = ... + +@dataclass(kw_only=True) +class DuplexStreamOutput(_SerdeShape): + stream: EventStream | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class DuplexStreamWithDistinctStreamsInput(_SerdeShape): + stream: EventStream | None = ... + +@dataclass(kw_only=True) +class DuplexStreamWithDistinctStreamsOutput(_SerdeShape): + stream: SingletonEventStream | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class DuplexStreamWithInitialMessagesInput(_SerdeShape): + initial_request_member: str | None = ... + stream: EventStream | None = ... + +@dataclass(kw_only=True) +class DuplexStreamWithInitialMessagesOutput(_SerdeShape): + initial_response_member: str + stream: EventStream | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EmptyInputAndEmptyOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class EmptyInputAndEmptyOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EndpointOperationInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class EndpointOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EndpointWithHostLabelOperationInput(_SerdeShape): + label: str | None = ... + +@dataclass(kw_only=True) +class EndpointWithHostLabelOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ErrorEvent(ServiceError, _SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass +class EventStreamHeaders(_SerdeShape): + value: HeadersEvent + +@dataclass +class EventStreamBlobPayload(_SerdeShape): + value: BlobPayloadEvent + +@dataclass +class EventStreamStringPayload(_SerdeShape): + value: StringPayloadEvent + +@dataclass +class EventStreamStructurePayload(_SerdeShape): + value: StructurePayloadEvent + +@dataclass +class EventStreamUnionPayload(_SerdeShape): + value: UnionPayloadEvent + +@dataclass +class EventStreamHeadersAndExplicitPayload(_SerdeShape): + value: HeadersAndExplicitPayloadEvent + +@dataclass +class EventStreamHeadersAndImplicitPayload(_SerdeShape): + value: HeadersAndImplicitPayloadEvent + +@dataclass +class EventStreamError(_SerdeShape): + value: ErrorEvent + +@dataclass +class EventStreamUnknown(_SerdeShape): + tag: str + +EventStream = Union[ + EventStreamHeaders + | EventStreamBlobPayload + | EventStreamStringPayload + | EventStreamStructurePayload + | EventStreamUnionPayload + | EventStreamHeadersAndExplicitPayload + | EventStreamHeadersAndImplicitPayload + | EventStreamError + | EventStreamUnknown +] + +class _EventStreamDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> EventStream: ... + +@dataclass(kw_only=True) +class Farewell(_SerdeShape): + phrase: str | None = ... + +@dataclass(kw_only=True) +class FooError(ServiceError, _SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class FractionalSecondsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class FractionalSecondsOutput(_SerdeShape): + datetime_: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class GreetingWithErrorsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class GreetingWithErrorsOutput(_SerdeShape): + greeting: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HeadersAndExplicitPayloadEvent(_SerdeShape): + header: str | None = ... + payload: PayloadStructure | None = ... + +@dataclass(kw_only=True) +class HeadersAndImplicitPayloadEvent(_SerdeShape): + header: str | None = ... + payload: str | None = ... + +@dataclass(kw_only=True) +class HeadersEvent(_SerdeShape): + boolean_header: bool | None = ... + byte_header: int | None = ... + short_header: int | None = ... + int_header: int | None = ... + long_header: int | None = ... + blob_header: bytes | None = ... + string_header: str | None = ... + timestamp_header: datetime | None = ... + +@dataclass(kw_only=True) +class HostWithPathOperationInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class HostWithPathOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpChecksumRequiredInput(_SerdeShape): + foo: str | None = ... + +@dataclass(kw_only=True) +class HttpChecksumRequiredOutput(_SerdeShape): + foo: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpEmptyPrefixHeadersInput(_SerdeShape): + prefix_headers: dict[str, str] | None = ... + specific_header: str | None = ... + +@dataclass(kw_only=True) +class HttpEmptyPrefixHeadersOutput(_SerdeShape): + prefix_headers: dict[str, str] | None = ... + specific_header: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpEnumPayloadInput(_SerdeShape): + payload: str | None = ... + +@dataclass(kw_only=True) +class HttpEnumPayloadOutput(_SerdeShape): + payload: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPayloadTraitsInput(_SerdeShape): + foo: str | None = ... + blob: bytes | None = ... + +@dataclass(kw_only=True) +class HttpPayloadTraitsOutput(_SerdeShape): + foo: str | None = ... + blob: bytes | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPayloadTraitsWithMediaTypeInput(_SerdeShape): + foo: str | None = ... + blob: bytes | None = ... + +@dataclass(kw_only=True) +class HttpPayloadTraitsWithMediaTypeOutput(_SerdeShape): + foo: str | None = ... + blob: bytes | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPayloadWithStructureInput(_SerdeShape): + nested: NestedPayload | None = ... + +@dataclass(kw_only=True) +class HttpPayloadWithStructureOutput(_SerdeShape): + nested: NestedPayload | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPayloadWithUnionInput(_SerdeShape): + nested: UnionPayload | None = ... + +@dataclass(kw_only=True) +class HttpPayloadWithUnionOutput(_SerdeShape): + nested: UnionPayload | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPrefixHeadersInput(_SerdeShape): + foo: str | None = ... + foo_map: dict[str, str] | None = ... + +@dataclass(kw_only=True) +class HttpPrefixHeadersInResponseInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class HttpPrefixHeadersInResponseOutput(_SerdeShape): + prefix_headers: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPrefixHeadersOutput(_SerdeShape): + foo: str | None = ... + foo_map: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpQueryParamsOnlyOperationInput(_SerdeShape): + query_map: dict[str, str] | None = ... + +@dataclass(kw_only=True) +class HttpQueryParamsOnlyOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpRequestWithFloatLabelsInput(_SerdeShape): + float_: float | None = ... + double: float | None = ... + +@dataclass(kw_only=True) +class HttpRequestWithFloatLabelsOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpRequestWithGreedyLabelInPathInput(_SerdeShape): + foo: str | None = ... + baz: str | None = ... + +@dataclass(kw_only=True) +class HttpRequestWithGreedyLabelInPathOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpRequestWithLabelsAndTimestampFormatInput(_SerdeShape): + member_epoch_seconds: datetime | None = ... + member_http_date: datetime | None = ... + member_date_time: datetime | None = ... + default_format: datetime | None = ... + target_epoch_seconds: datetime | None = ... + target_http_date: datetime | None = ... + target_date_time: datetime | None = ... + +@dataclass(kw_only=True) +class HttpRequestWithLabelsAndTimestampFormatOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpRequestWithLabelsInput(_SerdeShape): + string: str | None = ... + short: int | None = ... + integer: int | None = ... + long: int | None = ... + float_: float | None = ... + double: float | None = ... + boolean: bool | None = ... + timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class HttpRequestWithLabelsOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpRequestWithRegexLiteralInput(_SerdeShape): + str_: str | None = ... + +@dataclass(kw_only=True) +class HttpRequestWithRegexLiteralOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpResponseCodeInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class HttpResponseCodeOutput(_SerdeShape): + status: int | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpStringPayloadInput(_SerdeShape): + payload: str | None = ... + +@dataclass(kw_only=True) +class HttpStringPayloadOutput(_SerdeShape): + payload: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class IgnoreQueryParamsInResponseInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class IgnoreQueryParamsInResponseOutput(_SerdeShape): + baz: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class InputAndOutputWithHeadersInput(_SerdeShape): + header_string: str | None = ... + header_byte: int | None = ... + header_short: int | None = ... + header_integer: int | None = ... + header_long: int | None = ... + header_float: float | None = ... + header_double: float | None = ... + header_true_bool: bool | None = ... + header_false_bool: bool | None = ... + header_string_list: list[str] | None = ... + header_string_set: list[str] | None = ... + header_integer_list: list[int] | None = ... + header_boolean_list: list[bool] | None = ... + header_timestamp_list: list[datetime] | None = ... + header_enum: str | None = ... + header_enum_list: list[str] | None = ... + header_integer_enum: int | None = ... + header_integer_enum_list: list[int] | None = ... + +@dataclass(kw_only=True) +class InputAndOutputWithHeadersOutput(_SerdeShape): + header_string: str | None = ... + header_byte: int | None = ... + header_short: int | None = ... + header_integer: int | None = ... + header_long: int | None = ... + header_float: float | None = ... + header_double: float | None = ... + header_true_bool: bool | None = ... + header_false_bool: bool | None = ... + header_string_list: list[str] | None = ... + header_string_set: list[str] | None = ... + header_integer_list: list[int] | None = ... + header_boolean_list: list[bool] | None = ... + header_timestamp_list: list[datetime] | None = ... + header_enum: str | None = ... + header_enum_list: list[str] | None = ... + header_integer_enum: int | None = ... + header_integer_enum_list: list[int] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class InputStreamInput(_SerdeShape): + stream: EventStream | None = ... + +@dataclass(kw_only=True) +class InputStreamOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class InputStreamWithInitialRequestInput(_SerdeShape): + initial_request_member: str | None = ... + stream: EventStream | None = ... + +@dataclass(kw_only=True) +class InputStreamWithInitialRequestOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class InvalidGreeting(ServiceError, _SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class JsonBlobsInput(_SerdeShape): + data: bytes | None = ... + +@dataclass(kw_only=True) +class JsonBlobsOutput(_SerdeShape): + data: bytes | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class JsonEnumsInput(_SerdeShape): + foo_enum1: str | None = ... + foo_enum2: str | None = ... + foo_enum3: str | None = ... + foo_enum_list: list[str] | None = ... + foo_enum_set: list[str] | None = ... + foo_enum_map: dict[str, str] | None = ... + +@dataclass(kw_only=True) +class JsonEnumsOutput(_SerdeShape): + foo_enum1: str | None = ... + foo_enum2: str | None = ... + foo_enum3: str | None = ... + foo_enum_list: list[str] | None = ... + foo_enum_set: list[str] | None = ... + foo_enum_map: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class JsonIntEnumsInput(_SerdeShape): + integer_enum1: int | None = ... + integer_enum2: int | None = ... + integer_enum3: int | None = ... + integer_enum_list: list[int] | None = ... + integer_enum_set: list[int] | None = ... + integer_enum_map: dict[str, int] | None = ... + +@dataclass(kw_only=True) +class JsonIntEnumsOutput(_SerdeShape): + integer_enum1: int | None = ... + integer_enum2: int | None = ... + integer_enum3: int | None = ... + integer_enum_list: list[int] | None = ... + integer_enum_set: list[int] | None = ... + integer_enum_map: dict[str, int] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class JsonListsInput(_SerdeShape): + string_list: list[str] | None = ... + string_set: list[str] | None = ... + integer_list: list[int] | None = ... + boolean_list: list[bool] | None = ... + timestamp_list: list[datetime] | None = ... + enum_list: list[str] | None = ... + int_enum_list: list[int] | None = ... + nested_string_list: list[list[str]] | None = ... + structure_list: list[StructureListMember] | None = ... + +@dataclass(kw_only=True) +class JsonListsOutput(_SerdeShape): + string_list: list[str] | None = ... + string_set: list[str] | None = ... + integer_list: list[int] | None = ... + boolean_list: list[bool] | None = ... + timestamp_list: list[datetime] | None = ... + enum_list: list[str] | None = ... + int_enum_list: list[int] | None = ... + nested_string_list: list[list[str]] | None = ... + structure_list: list[StructureListMember] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class JsonMapsInput(_SerdeShape): + dense_struct_map: dict[str, GreetingStruct] | None = ... + dense_number_map: dict[str, int] | None = ... + dense_boolean_map: dict[str, bool] | None = ... + dense_string_map: dict[str, str] | None = ... + dense_set_map: dict[str, list[str]] | None = ... + +@dataclass(kw_only=True) +class JsonMapsOutput(_SerdeShape): + dense_struct_map: dict[str, GreetingStruct] | None = ... + dense_number_map: dict[str, int] | None = ... + dense_boolean_map: dict[str, bool] | None = ... + dense_string_map: dict[str, str] | None = ... + dense_set_map: dict[str, list[str]] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class JsonTimestampsInput(_SerdeShape): + normal: datetime | None = ... + date_time: datetime | None = ... + date_time_on_target: datetime | None = ... + epoch_seconds: datetime | None = ... + epoch_seconds_on_target: datetime | None = ... + http_date: datetime | None = ... + http_date_on_target: datetime | None = ... + +@dataclass(kw_only=True) +class JsonTimestampsOutput(_SerdeShape): + normal: datetime | None = ... + date_time: datetime | None = ... + date_time_on_target: datetime | None = ... + epoch_seconds: datetime | None = ... + epoch_seconds_on_target: datetime | None = ... + http_date: datetime | None = ... + http_date_on_target: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class JsonUnionsInput(_SerdeShape): + contents: MyUnion | None = ... + +@dataclass(kw_only=True) +class JsonUnionsOutput(_SerdeShape): + contents: MyUnion | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedAcceptWithBodyInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class MalformedAcceptWithBodyOutput(_SerdeShape): + hi: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedAcceptWithGenericStringInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class MalformedAcceptWithGenericStringOutput(_SerdeShape): + payload: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedAcceptWithPayloadInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class MalformedAcceptWithPayloadOutput(_SerdeShape): + payload: bytes | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedBlobInput(_SerdeShape): + blob: bytes | None = ... + +@dataclass(kw_only=True) +class MalformedBlobOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedBooleanInput(_SerdeShape): + boolean_in_body: bool | None = ... + boolean_in_path: bool | None = ... + boolean_in_query: bool | None = ... + boolean_in_header: bool | None = ... + +@dataclass(kw_only=True) +class MalformedBooleanOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedByteInput(_SerdeShape): + byte_in_body: int | None = ... + byte_in_path: int | None = ... + byte_in_query: int | None = ... + byte_in_header: int | None = ... + +@dataclass(kw_only=True) +class MalformedByteOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedContentTypeWithBodyInput(_SerdeShape): + hi: str | None = ... + +@dataclass(kw_only=True) +class MalformedContentTypeWithBodyOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedContentTypeWithGenericStringInput(_SerdeShape): + payload: str | None = ... + +@dataclass(kw_only=True) +class MalformedContentTypeWithGenericStringOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedContentTypeWithoutBodyEmptyInputInput(_SerdeShape): + header: str | None = ... + +@dataclass(kw_only=True) +class MalformedContentTypeWithoutBodyEmptyInputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedContentTypeWithoutBodyInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class MalformedContentTypeWithoutBodyOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedContentTypeWithPayloadInput(_SerdeShape): + payload: bytes | None = ... + +@dataclass(kw_only=True) +class MalformedContentTypeWithPayloadOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedDoubleInput(_SerdeShape): + double_in_body: float | None = ... + double_in_path: float | None = ... + double_in_query: float | None = ... + double_in_header: float | None = ... + +@dataclass(kw_only=True) +class MalformedDoubleOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedFloatInput(_SerdeShape): + float_in_body: float | None = ... + float_in_path: float | None = ... + float_in_query: float | None = ... + float_in_header: float | None = ... + +@dataclass(kw_only=True) +class MalformedFloatOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedIntegerInput(_SerdeShape): + integer_in_body: int | None = ... + integer_in_path: int | None = ... + integer_in_query: int | None = ... + integer_in_header: int | None = ... + +@dataclass(kw_only=True) +class MalformedIntegerOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedListInput(_SerdeShape): + body_list: list[str] | None = ... + +@dataclass(kw_only=True) +class MalformedListOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedLongInput(_SerdeShape): + long_in_body: int | None = ... + long_in_path: int | None = ... + long_in_query: int | None = ... + long_in_header: int | None = ... + +@dataclass(kw_only=True) +class MalformedLongOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedMapInput(_SerdeShape): + body_map: dict[str, str] | None = ... + +@dataclass(kw_only=True) +class MalformedMapOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedRequestBodyInput(_SerdeShape): + int_: int | None = ... + float_: float | None = ... + +@dataclass(kw_only=True) +class MalformedRequestBodyOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedShortInput(_SerdeShape): + short_in_body: int | None = ... + short_in_path: int | None = ... + short_in_query: int | None = ... + short_in_header: int | None = ... + +@dataclass(kw_only=True) +class MalformedShortOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedStringInput(_SerdeShape): + blob: str | JsonString | None = ... + +@dataclass(kw_only=True) +class MalformedStringOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedTimestampBodyDateTimeInput(_SerdeShape): + timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class MalformedTimestampBodyDateTimeOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedTimestampBodyDefaultInput(_SerdeShape): + timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class MalformedTimestampBodyDefaultOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedTimestampBodyHttpDateInput(_SerdeShape): + timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class MalformedTimestampBodyHttpDateOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedTimestampHeaderDateTimeInput(_SerdeShape): + timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class MalformedTimestampHeaderDateTimeOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedTimestampHeaderDefaultInput(_SerdeShape): + timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class MalformedTimestampHeaderDefaultOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedTimestampHeaderEpochInput(_SerdeShape): + timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class MalformedTimestampHeaderEpochOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedTimestampPathDefaultInput(_SerdeShape): + timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class MalformedTimestampPathDefaultOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedTimestampPathEpochInput(_SerdeShape): + timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class MalformedTimestampPathEpochOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedTimestampPathHttpDateInput(_SerdeShape): + timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class MalformedTimestampPathHttpDateOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedTimestampQueryDefaultInput(_SerdeShape): + timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class MalformedTimestampQueryDefaultOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedTimestampQueryEpochInput(_SerdeShape): + timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class MalformedTimestampQueryEpochOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedTimestampQueryHttpDateInput(_SerdeShape): + timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class MalformedTimestampQueryHttpDateOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MalformedUnionInput(_SerdeShape): + union: SimpleUnion | None = ... + +@dataclass(kw_only=True) +class MalformedUnionOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class MediaTypeHeaderInput(_SerdeShape): + json: str | JsonString | None = ... + +@dataclass(kw_only=True) +class MediaTypeHeaderOutput(_SerdeShape): + json: str | JsonString | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass +class MyUnionStringValue(_SerdeShape): + value: str + +@dataclass +class MyUnionBooleanValue(_SerdeShape): + value: bool + +@dataclass +class MyUnionNumberValue(_SerdeShape): + value: int + +@dataclass +class MyUnionBlobValue(_SerdeShape): + value: bytes + +@dataclass +class MyUnionTimestampValue(_SerdeShape): + value: datetime + +@dataclass +class MyUnionEnumValue(_SerdeShape): + value: str + +@dataclass +class MyUnionListValue(_SerdeShape): + value: list[str] + +@dataclass +class MyUnionMapValue(_SerdeShape): + value: dict[str, str] + +@dataclass +class MyUnionStructureValue(_SerdeShape): + value: GreetingStruct + +@dataclass +class MyUnionRenamedStructureValue(_SerdeShape): + value: RenamedGreeting + +@dataclass +class MyUnionUnionValue(_SerdeShape): + value: NestedUnion + +@dataclass +class MyUnionUnknown(_SerdeShape): + tag: str + +MyUnion = Union[ + MyUnionStringValue + | MyUnionBooleanValue + | MyUnionNumberValue + | MyUnionBlobValue + | MyUnionTimestampValue + | MyUnionEnumValue + | MyUnionListValue + | MyUnionMapValue + | MyUnionStructureValue + | MyUnionRenamedStructureValue + | MyUnionUnionValue + | MyUnionUnknown +] + +class _MyUnionDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> MyUnion: ... + +@dataclass(kw_only=True) +class NestedPayload(_SerdeShape): + greeting: str | None = ... + name: str | None = ... + +@dataclass +class NestedUnionStringValue(_SerdeShape): + value: str + +@dataclass +class NestedUnionUnknown(_SerdeShape): + tag: str + +NestedUnion = Union[NestedUnionStringValue | NestedUnionUnknown] + +class _NestedUnionDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> NestedUnion: ... + +@dataclass(kw_only=True) +class NoInputAndNoOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class NoInputAndNoOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NoInputAndOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class NoInputAndOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NullAndEmptyHeadersClientInput(_SerdeShape): + a: str | None = ... + b: str | None = ... + c: list[str] | None = ... + +@dataclass(kw_only=True) +class NullAndEmptyHeadersClientOutput(_SerdeShape): + a: str | None = ... + b: str | None = ... + c: list[str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NullAndEmptyHeadersServerInput(_SerdeShape): + a: str | None = ... + b: str | None = ... + c: list[str] | None = ... + +@dataclass(kw_only=True) +class NullAndEmptyHeadersServerOutput(_SerdeShape): + a: str | None = ... + b: str | None = ... + c: list[str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class OmitsNullSerializesEmptyStringInput(_SerdeShape): + null_value: str | None = ... + empty_string: str | None = ... + +@dataclass(kw_only=True) +class OmitsNullSerializesEmptyStringOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class OmitsSerializingEmptyListsInput(_SerdeShape): + query_string_list: list[str] | None = ... + query_integer_list: list[int] | None = ... + query_double_list: list[float] | None = ... + query_boolean_list: list[bool] | None = ... + query_timestamp_list: list[datetime] | None = ... + query_enum_list: list[str] | None = ... + query_integer_enum_list: list[int] | None = ... + +@dataclass(kw_only=True) +class OmitsSerializingEmptyListsOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class OperationWithDefaultsInput(_SerdeShape): + defaults: Defaults | None = ... + client_optional_defaults: ClientOptionalDefaults | None = ... + top_level_default: str | None = ... + other_top_level_default: int | None = ... + +@dataclass(kw_only=True) +class OperationWithDefaultsOutput(_SerdeShape): + default_string: str | None = ... + default_boolean: bool | None = ... + default_list: list[str] | None = ... + default_document_map: Document | None = ... + default_document_string: Document | None = ... + default_document_boolean: Document | None = ... + default_document_list: Document | None = ... + default_null_document: Document | None = ... + default_timestamp: datetime | None = ... + default_blob: bytes | None = ... + default_byte: int | None = ... + default_short: int | None = ... + default_integer: int | None = ... + default_long: int | None = ... + default_float: float | None = ... + default_double: float | None = ... + default_map: dict[str, str] | None = ... + default_enum: str | None = ... + default_int_enum: int | None = ... + empty_string: str | None = ... + false_boolean: bool | None = ... + empty_blob: bytes | None = ... + zero_byte: int | None = ... + zero_short: int | None = ... + zero_integer: int | None = ... + zero_long: int | None = ... + zero_float: float | None = ... + zero_double: float | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class OperationWithNestedStructureInput(_SerdeShape): + top_level: TopLevel | None = ... + +@dataclass(kw_only=True) +class OperationWithNestedStructureOutput(_SerdeShape): + dialog: Dialog + dialog_list: list[Dialog] | None = ... + dialog_map: dict[str, Dialog] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class OutputStreamInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class OutputStreamOutput(_SerdeShape): + stream: EventStream | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class OutputStreamWithInitialResponseInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class OutputStreamWithInitialResponseOutput(_SerdeShape): + initial_response_member: str + stream: EventStream | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class PayloadConfig(_SerdeShape): + data: int | None = ... + +@dataclass(kw_only=True) +class PayloadStructure(_SerdeShape): + structure_member: str | None = ... + +@dataclass +class PayloadUnionUnionMember(_SerdeShape): + value: str + +@dataclass +class PayloadUnionUnknown(_SerdeShape): + tag: str + +PayloadUnion = Union[PayloadUnionUnionMember | PayloadUnionUnknown] + +class _PayloadUnionDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> PayloadUnion: ... + +@dataclass +class PlayerActionQuit(_SerdeShape): + value: Unit + +@dataclass +class PlayerActionUnknown(_SerdeShape): + tag: str + +PlayerAction = Union[PlayerActionQuit | PlayerActionUnknown] + +class _PlayerActionDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> PlayerAction: ... + +@dataclass(kw_only=True) +class PostPlayerActionInput(_SerdeShape): + action: PlayerAction | None = ... + +@dataclass(kw_only=True) +class PostPlayerActionOutput(_SerdeShape): + action: PlayerAction + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class PostUnionWithJsonNameInput(_SerdeShape): + value: UnionWithJsonName | None = ... + +@dataclass(kw_only=True) +class PostUnionWithJsonNameOutput(_SerdeShape): + value: UnionWithJsonName + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class PutWithContentEncodingInput(_SerdeShape): + encoding: str | None = ... + data: str | None = ... + +@dataclass(kw_only=True) +class PutWithContentEncodingOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class QueryIdempotencyTokenAutoFillInput(_SerdeShape): + token: str | None = ... + +@dataclass(kw_only=True) +class QueryIdempotencyTokenAutoFillOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class QueryParamsAsStringListMapInput(_SerdeShape): + qux: str | None = ... + foo: dict[str, list[str]] | None = ... + +@dataclass(kw_only=True) +class QueryParamsAsStringListMapOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class QueryPrecedenceInput(_SerdeShape): + foo: str | None = ... + baz: dict[str, str] | None = ... + +@dataclass(kw_only=True) +class QueryPrecedenceOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class RecursiveShapesInput(_SerdeShape): + nested: RecursiveShapesInputOutputNested1 | None = ... + +@dataclass(kw_only=True) +class RecursiveShapesInputOutputNested1(_SerdeShape): + foo: str | None = ... + nested: RecursiveShapesInputOutputNested2 | None = ... + +@dataclass(kw_only=True) +class RecursiveShapesInputOutputNested2(_SerdeShape): + bar: str | None = ... + recursive_member: RecursiveShapesInputOutputNested1 | None = ... + +@dataclass(kw_only=True) +class RecursiveShapesOutput(_SerdeShape): + nested: RecursiveShapesInputOutputNested1 | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ResponseCodeHttpFallbackInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class ResponseCodeHttpFallbackOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ResponseCodeRequiredInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class ResponseCodeRequiredOutput(_SerdeShape): + response_code: int + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ServiceUnavailableError(ServiceError, _SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class SimpleScalarPropertiesInput(_SerdeShape): + foo: str | None = ... + string_value: str | None = ... + true_boolean_value: bool | None = ... + false_boolean_value: bool | None = ... + byte_value: int | None = ... + short_value: int | None = ... + integer_value: int | None = ... + long_value: int | None = ... + float_value: float | None = ... + double_value: float | None = ... + +@dataclass(kw_only=True) +class SimpleScalarPropertiesOutput(_SerdeShape): + foo: str | None = ... + string_value: str | None = ... + true_boolean_value: bool | None = ... + false_boolean_value: bool | None = ... + byte_value: int | None = ... + short_value: int | None = ... + integer_value: int | None = ... + long_value: int | None = ... + float_value: float | None = ... + double_value: float | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass +class SimpleUnionInt(_SerdeShape): + value: int + +@dataclass +class SimpleUnionString(_SerdeShape): + value: str + +@dataclass +class SimpleUnionUnknown(_SerdeShape): + tag: str + +SimpleUnion = Union[SimpleUnionInt | SimpleUnionString | SimpleUnionUnknown] + +class _SimpleUnionDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> SimpleUnion: ... + +@dataclass(kw_only=True) +class SingletonEvent(_SerdeShape): + value: str | None = ... + +@dataclass +class SingletonEventStreamSingleton(_SerdeShape): + value: SingletonEvent + +@dataclass +class SingletonEventStreamUnknown(_SerdeShape): + tag: str + +SingletonEventStream = Union[ + SingletonEventStreamSingleton | SingletonEventStreamUnknown +] + +class _SingletonEventStreamDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> SingletonEventStream: ... + +@dataclass(kw_only=True) +class SparseJsonListsInput(_SerdeShape): + sparse_string_list: list[str | None] | None = ... + sparse_short_list: list[int | None] | None = ... + +@dataclass(kw_only=True) +class SparseJsonListsOutput(_SerdeShape): + sparse_string_list: list[str | None] | None = ... + sparse_short_list: list[int | None] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class SparseJsonMapsInput(_SerdeShape): + sparse_struct_map: dict[str, GreetingStruct | None] | None = ... + sparse_number_map: dict[str, int | None] | None = ... + sparse_boolean_map: dict[str, bool | None] | None = ... + sparse_string_map: dict[str, str | None] | None = ... + sparse_set_map: dict[str, list[str] | None] | None = ... + +@dataclass(kw_only=True) +class SparseJsonMapsOutput(_SerdeShape): + sparse_struct_map: dict[str, GreetingStruct | None] | None = ... + sparse_number_map: dict[str, int | None] | None = ... + sparse_boolean_map: dict[str, bool | None] | None = ... + sparse_string_map: dict[str, str | None] | None = ... + sparse_set_map: dict[str, list[str] | None] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class StreamingTraitsInput(_SerdeShape): + foo: str | None = ... + blob: StreamingBlob | None = ... + +@dataclass(kw_only=True) +class StreamingTraitsOutput(_SerdeShape): + foo: str | None = ... + blob: StreamingBlob | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class StreamingTraitsRequireLengthInput(_SerdeShape): + foo: str | None = ... + blob: StreamingBlob | None = ... + +@dataclass(kw_only=True) +class StreamingTraitsRequireLengthOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class StreamingTraitsWithMediaTypeInput(_SerdeShape): + foo: str | None = ... + blob: StreamingBlob | None = ... + +@dataclass(kw_only=True) +class StreamingTraitsWithMediaTypeOutput(_SerdeShape): + foo: str | None = ... + blob: StreamingBlob | None = ... + response_metadata: ResponseMetadata = ... + +class StringEnum(UnknownEnumMixin, StrEnum): + V = "enumvalue" + +@dataclass(kw_only=True) +class StringPayloadEvent(_SerdeShape): + payload: str | None = ... + +@dataclass(kw_only=True) +class StructureListMember(_SerdeShape): + a: str | None = ... + b: str | None = ... + +@dataclass(kw_only=True) +class StructurePayloadEvent(_SerdeShape): + payload: PayloadStructure | None = ... + +@dataclass(kw_only=True) +class TestBodyStructureInput(_SerdeShape): + test_id: str | None = ... + test_config: TestConfig | None = ... + +@dataclass(kw_only=True) +class TestBodyStructureOutput(_SerdeShape): + test_id: str | None = ... + test_config: TestConfig | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class TestConfig(_SerdeShape): + timeout: int | None = ... + +class TestEnum(UnknownEnumMixin, StrEnum): + FOO = "FOO" + BAR = "BAR" + BAZ = "BAZ" + +@dataclass(kw_only=True) +class TestGetNoInputNoPayloadInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class TestGetNoInputNoPayloadOutput(_SerdeShape): + test_id: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class TestGetNoPayloadInput(_SerdeShape): + test_id: str | None = ... + +@dataclass(kw_only=True) +class TestGetNoPayloadOutput(_SerdeShape): + test_id: str | None = ... + response_metadata: ResponseMetadata = ... + +class TestIntEnum(UnknownEnumMixin, IntEnum): + ONE = 1 + TWO = 2 + +@dataclass(kw_only=True) +class TestPayloadBlobInput(_SerdeShape): + content_type: str | None = ... + data: bytes | None = ... + +@dataclass(kw_only=True) +class TestPayloadBlobOutput(_SerdeShape): + content_type: str | None = ... + data: bytes | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class TestPayloadStructureInput(_SerdeShape): + test_id: str | None = ... + payload_config: PayloadConfig | None = ... + +@dataclass(kw_only=True) +class TestPayloadStructureOutput(_SerdeShape): + test_id: str | None = ... + payload_config: PayloadConfig | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class TestPostNoInputNoPayloadInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class TestPostNoInputNoPayloadOutput(_SerdeShape): + test_id: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class TestPostNoPayloadInput(_SerdeShape): + test_id: str | None = ... + +@dataclass(kw_only=True) +class TestPostNoPayloadOutput(_SerdeShape): + test_id: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class TimestampFormatHeadersInput(_SerdeShape): + member_epoch_seconds: datetime | None = ... + member_http_date: datetime | None = ... + member_date_time: datetime | None = ... + default_format: datetime | None = ... + target_epoch_seconds: datetime | None = ... + target_http_date: datetime | None = ... + target_date_time: datetime | None = ... + +@dataclass(kw_only=True) +class TimestampFormatHeadersOutput(_SerdeShape): + member_epoch_seconds: datetime | None = ... + member_http_date: datetime | None = ... + member_date_time: datetime | None = ... + default_format: datetime | None = ... + target_epoch_seconds: datetime | None = ... + target_http_date: datetime | None = ... + target_date_time: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class TopLevel(_SerdeShape): + dialog: Dialog + dialog_list: list[Dialog] | None = ... + dialog_map: dict[str, Dialog] | None = ... + +@dataclass +class UnionPayloadGreeting(_SerdeShape): + value: str + +@dataclass +class UnionPayloadUnknown(_SerdeShape): + tag: str + +UnionPayload = Union[UnionPayloadGreeting | UnionPayloadUnknown] + +class _UnionPayloadDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> UnionPayload: ... + +@dataclass(kw_only=True) +class UnionPayloadEvent(_SerdeShape): + payload: PayloadUnion | None = ... + +@dataclass +class UnionWithJsonNameFoo(_SerdeShape): + value: str + +@dataclass +class UnionWithJsonNameBar(_SerdeShape): + value: str + +@dataclass +class UnionWithJsonNameBaz(_SerdeShape): + value: str + +@dataclass +class UnionWithJsonNameUnknown(_SerdeShape): + tag: str + +UnionWithJsonName = Union[ + UnionWithJsonNameFoo + | UnionWithJsonNameBar + | UnionWithJsonNameBaz + | UnionWithJsonNameUnknown +] + +class _UnionWithJsonNameDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> UnionWithJsonName: ... + +@dataclass(kw_only=True) +class UnitInputAndOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class UnitInputAndOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class RenamedGreeting(_SerdeShape): + salutation: str | None = ... + +class FooEnum(UnknownEnumMixin, StrEnum): + FOO = "Foo" + BAZ = "Baz" + BAR = "Bar" + ONE = "1" + ZERO = "0" + +@dataclass(kw_only=True) +class GreetingStruct(_SerdeShape): + hi: str | None = ... + +class IntegerEnum(UnknownEnumMixin, IntEnum): + A = 1 + B = 2 + C = 3 + +@dataclass(kw_only=True) +class Unit(_SerdeShape): + pass + +ALL_QUERY_STRING_TYPES: APIOperation[ + AllQueryStringTypesInput, AllQueryStringTypesOutput +] +CONSTANT_AND_VARIABLE_QUERY_STRING: APIOperation[ + ConstantAndVariableQueryStringInput, ConstantAndVariableQueryStringOutput +] +CONSTANT_QUERY_STRING: APIOperation[ConstantQueryStringInput, ConstantQueryStringOutput] +CONTENT_TYPE_PARAMETERS: APIOperation[ + ContentTypeParametersInput, ContentTypeParametersOutput +] +DATETIME_OFFSETS: APIOperation[DatetimeOffsetsInput, DatetimeOffsetsOutput] +DOCUMENT_TYPE: APIOperation[DocumentTypeInput, DocumentTypeOutput] +DOCUMENT_TYPE_AS_MAP_VALUE: APIOperation[ + DocumentTypeAsMapValueInput, DocumentTypeAsMapValueOutput +] +DOCUMENT_TYPE_AS_PAYLOAD: APIOperation[ + DocumentTypeAsPayloadInput, DocumentTypeAsPayloadOutput +] +DUPLEX_STREAM: APIOperation[DuplexStreamInput, DuplexStreamOutput] +DUPLEX_STREAM_WITH_DISTINCT_STREAMS: APIOperation[ + DuplexStreamWithDistinctStreamsInput, DuplexStreamWithDistinctStreamsOutput +] +DUPLEX_STREAM_WITH_INITIAL_MESSAGES: APIOperation[ + DuplexStreamWithInitialMessagesInput, DuplexStreamWithInitialMessagesOutput +] +EMPTY_INPUT_AND_EMPTY_OUTPUT: APIOperation[ + EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput +] +ENDPOINT_OPERATION: APIOperation[EndpointOperationInput, EndpointOperationOutput] +ENDPOINT_WITH_HOST_LABEL_OPERATION: APIOperation[ + EndpointWithHostLabelOperationInput, EndpointWithHostLabelOperationOutput +] +FRACTIONAL_SECONDS: APIOperation[FractionalSecondsInput, FractionalSecondsOutput] +GREETING_WITH_ERRORS: APIOperation[GreetingWithErrorsInput, GreetingWithErrorsOutput] +HOST_WITH_PATH_OPERATION: APIOperation[ + HostWithPathOperationInput, HostWithPathOperationOutput +] +HTTP_CHECKSUM_REQUIRED: APIOperation[ + HttpChecksumRequiredInput, HttpChecksumRequiredOutput +] +HTTP_EMPTY_PREFIX_HEADERS: APIOperation[ + HttpEmptyPrefixHeadersInput, HttpEmptyPrefixHeadersOutput +] +HTTP_ENUM_PAYLOAD: APIOperation[HttpEnumPayloadInput, HttpEnumPayloadOutput] +HTTP_PAYLOAD_TRAITS: APIOperation[HttpPayloadTraitsInput, HttpPayloadTraitsOutput] +HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE: APIOperation[ + HttpPayloadTraitsWithMediaTypeInput, HttpPayloadTraitsWithMediaTypeOutput +] +HTTP_PAYLOAD_WITH_STRUCTURE: APIOperation[ + HttpPayloadWithStructureInput, HttpPayloadWithStructureOutput +] +HTTP_PAYLOAD_WITH_UNION: APIOperation[ + HttpPayloadWithUnionInput, HttpPayloadWithUnionOutput +] +HTTP_PREFIX_HEADERS: APIOperation[HttpPrefixHeadersInput, HttpPrefixHeadersOutput] +HTTP_PREFIX_HEADERS_IN_RESPONSE: APIOperation[ + HttpPrefixHeadersInResponseInput, HttpPrefixHeadersInResponseOutput +] +HTTP_QUERY_PARAMS_ONLY_OPERATION: APIOperation[ + HttpQueryParamsOnlyOperationInput, HttpQueryParamsOnlyOperationOutput +] +HTTP_REQUEST_WITH_FLOAT_LABELS: APIOperation[ + HttpRequestWithFloatLabelsInput, HttpRequestWithFloatLabelsOutput +] +HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH: APIOperation[ + HttpRequestWithGreedyLabelInPathInput, HttpRequestWithGreedyLabelInPathOutput +] +HTTP_REQUEST_WITH_LABELS: APIOperation[ + HttpRequestWithLabelsInput, HttpRequestWithLabelsOutput +] +HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT: APIOperation[ + HttpRequestWithLabelsAndTimestampFormatInput, + HttpRequestWithLabelsAndTimestampFormatOutput, +] +HTTP_REQUEST_WITH_REGEX_LITERAL: APIOperation[ + HttpRequestWithRegexLiteralInput, HttpRequestWithRegexLiteralOutput +] +HTTP_RESPONSE_CODE: APIOperation[HttpResponseCodeInput, HttpResponseCodeOutput] +HTTP_STRING_PAYLOAD: APIOperation[HttpStringPayloadInput, HttpStringPayloadOutput] +IGNORE_QUERY_PARAMS_IN_RESPONSE: APIOperation[ + IgnoreQueryParamsInResponseInput, IgnoreQueryParamsInResponseOutput +] +INPUT_AND_OUTPUT_WITH_HEADERS: APIOperation[ + InputAndOutputWithHeadersInput, InputAndOutputWithHeadersOutput +] +INPUT_STREAM: APIOperation[InputStreamInput, InputStreamOutput] +INPUT_STREAM_WITH_INITIAL_REQUEST: APIOperation[ + InputStreamWithInitialRequestInput, InputStreamWithInitialRequestOutput +] +JSON_BLOBS: APIOperation[JsonBlobsInput, JsonBlobsOutput] +JSON_ENUMS: APIOperation[JsonEnumsInput, JsonEnumsOutput] +JSON_INT_ENUMS: APIOperation[JsonIntEnumsInput, JsonIntEnumsOutput] +JSON_LISTS: APIOperation[JsonListsInput, JsonListsOutput] +JSON_MAPS: APIOperation[JsonMapsInput, JsonMapsOutput] +JSON_TIMESTAMPS: APIOperation[JsonTimestampsInput, JsonTimestampsOutput] +JSON_UNIONS: APIOperation[JsonUnionsInput, JsonUnionsOutput] +MALFORMED_ACCEPT_WITH_BODY: APIOperation[ + MalformedAcceptWithBodyInput, MalformedAcceptWithBodyOutput +] +MALFORMED_ACCEPT_WITH_GENERIC_STRING: APIOperation[ + MalformedAcceptWithGenericStringInput, MalformedAcceptWithGenericStringOutput +] +MALFORMED_ACCEPT_WITH_PAYLOAD: APIOperation[ + MalformedAcceptWithPayloadInput, MalformedAcceptWithPayloadOutput +] +MALFORMED_BLOB: APIOperation[MalformedBlobInput, MalformedBlobOutput] +MALFORMED_BOOLEAN: APIOperation[MalformedBooleanInput, MalformedBooleanOutput] +MALFORMED_BYTE: APIOperation[MalformedByteInput, MalformedByteOutput] +MALFORMED_CONTENT_TYPE_WITH_BODY: APIOperation[ + MalformedContentTypeWithBodyInput, MalformedContentTypeWithBodyOutput +] +MALFORMED_CONTENT_TYPE_WITH_GENERIC_STRING: APIOperation[ + MalformedContentTypeWithGenericStringInput, + MalformedContentTypeWithGenericStringOutput, +] +MALFORMED_CONTENT_TYPE_WITHOUT_BODY: APIOperation[ + MalformedContentTypeWithoutBodyInput, MalformedContentTypeWithoutBodyOutput +] +MALFORMED_CONTENT_TYPE_WITHOUT_BODY_EMPTY_INPUT: APIOperation[ + MalformedContentTypeWithoutBodyEmptyInputInput, + MalformedContentTypeWithoutBodyEmptyInputOutput, +] +MALFORMED_CONTENT_TYPE_WITH_PAYLOAD: APIOperation[ + MalformedContentTypeWithPayloadInput, MalformedContentTypeWithPayloadOutput +] +MALFORMED_DOUBLE: APIOperation[MalformedDoubleInput, MalformedDoubleOutput] +MALFORMED_FLOAT: APIOperation[MalformedFloatInput, MalformedFloatOutput] +MALFORMED_INTEGER: APIOperation[MalformedIntegerInput, MalformedIntegerOutput] +MALFORMED_LIST: APIOperation[MalformedListInput, MalformedListOutput] +MALFORMED_LONG: APIOperation[MalformedLongInput, MalformedLongOutput] +MALFORMED_MAP: APIOperation[MalformedMapInput, MalformedMapOutput] +MALFORMED_REQUEST_BODY: APIOperation[ + MalformedRequestBodyInput, MalformedRequestBodyOutput +] +MALFORMED_SHORT: APIOperation[MalformedShortInput, MalformedShortOutput] +MALFORMED_STRING: APIOperation[MalformedStringInput, MalformedStringOutput] +MALFORMED_TIMESTAMP_BODY_DATE_TIME: APIOperation[ + MalformedTimestampBodyDateTimeInput, MalformedTimestampBodyDateTimeOutput +] +MALFORMED_TIMESTAMP_BODY_DEFAULT: APIOperation[ + MalformedTimestampBodyDefaultInput, MalformedTimestampBodyDefaultOutput +] +MALFORMED_TIMESTAMP_BODY_HTTP_DATE: APIOperation[ + MalformedTimestampBodyHttpDateInput, MalformedTimestampBodyHttpDateOutput +] +MALFORMED_TIMESTAMP_HEADER_DATE_TIME: APIOperation[ + MalformedTimestampHeaderDateTimeInput, MalformedTimestampHeaderDateTimeOutput +] +MALFORMED_TIMESTAMP_HEADER_DEFAULT: APIOperation[ + MalformedTimestampHeaderDefaultInput, MalformedTimestampHeaderDefaultOutput +] +MALFORMED_TIMESTAMP_HEADER_EPOCH: APIOperation[ + MalformedTimestampHeaderEpochInput, MalformedTimestampHeaderEpochOutput +] +MALFORMED_TIMESTAMP_PATH_DEFAULT: APIOperation[ + MalformedTimestampPathDefaultInput, MalformedTimestampPathDefaultOutput +] +MALFORMED_TIMESTAMP_PATH_EPOCH: APIOperation[ + MalformedTimestampPathEpochInput, MalformedTimestampPathEpochOutput +] +MALFORMED_TIMESTAMP_PATH_HTTP_DATE: APIOperation[ + MalformedTimestampPathHttpDateInput, MalformedTimestampPathHttpDateOutput +] +MALFORMED_TIMESTAMP_QUERY_DEFAULT: APIOperation[ + MalformedTimestampQueryDefaultInput, MalformedTimestampQueryDefaultOutput +] +MALFORMED_TIMESTAMP_QUERY_EPOCH: APIOperation[ + MalformedTimestampQueryEpochInput, MalformedTimestampQueryEpochOutput +] +MALFORMED_TIMESTAMP_QUERY_HTTP_DATE: APIOperation[ + MalformedTimestampQueryHttpDateInput, MalformedTimestampQueryHttpDateOutput +] +MALFORMED_UNION: APIOperation[MalformedUnionInput, MalformedUnionOutput] +MEDIA_TYPE_HEADER: APIOperation[MediaTypeHeaderInput, MediaTypeHeaderOutput] +NO_INPUT_AND_NO_OUTPUT: APIOperation[NoInputAndNoOutputInput, NoInputAndNoOutputOutput] +NO_INPUT_AND_OUTPUT: APIOperation[NoInputAndOutputInput, NoInputAndOutputOutput] +NULL_AND_EMPTY_HEADERS_CLIENT: APIOperation[ + NullAndEmptyHeadersClientInput, NullAndEmptyHeadersClientOutput +] +NULL_AND_EMPTY_HEADERS_SERVER: APIOperation[ + NullAndEmptyHeadersServerInput, NullAndEmptyHeadersServerOutput +] +OMITS_NULL_SERIALIZES_EMPTY_STRING: APIOperation[ + OmitsNullSerializesEmptyStringInput, OmitsNullSerializesEmptyStringOutput +] +OMITS_SERIALIZING_EMPTY_LISTS: APIOperation[ + OmitsSerializingEmptyListsInput, OmitsSerializingEmptyListsOutput +] +OPERATION_WITH_DEFAULTS: APIOperation[ + OperationWithDefaultsInput, OperationWithDefaultsOutput +] +OPERATION_WITH_NESTED_STRUCTURE: APIOperation[ + OperationWithNestedStructureInput, OperationWithNestedStructureOutput +] +OUTPUT_STREAM: APIOperation[OutputStreamInput, OutputStreamOutput] +OUTPUT_STREAM_WITH_INITIAL_RESPONSE: APIOperation[ + OutputStreamWithInitialResponseInput, OutputStreamWithInitialResponseOutput +] +POST_PLAYER_ACTION: APIOperation[PostPlayerActionInput, PostPlayerActionOutput] +POST_UNION_WITH_JSON_NAME: APIOperation[ + PostUnionWithJsonNameInput, PostUnionWithJsonNameOutput +] +PUT_WITH_CONTENT_ENCODING: APIOperation[ + PutWithContentEncodingInput, PutWithContentEncodingOutput +] +QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL: APIOperation[ + QueryIdempotencyTokenAutoFillInput, QueryIdempotencyTokenAutoFillOutput +] +QUERY_PARAMS_AS_STRING_LIST_MAP: APIOperation[ + QueryParamsAsStringListMapInput, QueryParamsAsStringListMapOutput +] +QUERY_PRECEDENCE: APIOperation[QueryPrecedenceInput, QueryPrecedenceOutput] +RECURSIVE_SHAPES: APIOperation[RecursiveShapesInput, RecursiveShapesOutput] +RESPONSE_CODE_HTTP_FALLBACK: APIOperation[ + ResponseCodeHttpFallbackInput, ResponseCodeHttpFallbackOutput +] +RESPONSE_CODE_REQUIRED: APIOperation[ + ResponseCodeRequiredInput, ResponseCodeRequiredOutput +] +SIMPLE_SCALAR_PROPERTIES: APIOperation[ + SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput +] +SPARSE_JSON_LISTS: APIOperation[SparseJsonListsInput, SparseJsonListsOutput] +SPARSE_JSON_MAPS: APIOperation[SparseJsonMapsInput, SparseJsonMapsOutput] +STREAMING_TRAITS: APIOperation[StreamingTraitsInput, StreamingTraitsOutput] +STREAMING_TRAITS_REQUIRE_LENGTH: APIOperation[ + StreamingTraitsRequireLengthInput, StreamingTraitsRequireLengthOutput +] +STREAMING_TRAITS_WITH_MEDIA_TYPE: APIOperation[ + StreamingTraitsWithMediaTypeInput, StreamingTraitsWithMediaTypeOutput +] +TEST_BODY_STRUCTURE: APIOperation[TestBodyStructureInput, TestBodyStructureOutput] +TEST_GET_NO_INPUT_NO_PAYLOAD: APIOperation[ + TestGetNoInputNoPayloadInput, TestGetNoInputNoPayloadOutput +] +TEST_GET_NO_PAYLOAD: APIOperation[TestGetNoPayloadInput, TestGetNoPayloadOutput] +TEST_PAYLOAD_BLOB: APIOperation[TestPayloadBlobInput, TestPayloadBlobOutput] +TEST_PAYLOAD_STRUCTURE: APIOperation[ + TestPayloadStructureInput, TestPayloadStructureOutput +] +TEST_POST_NO_INPUT_NO_PAYLOAD: APIOperation[ + TestPostNoInputNoPayloadInput, TestPostNoInputNoPayloadOutput +] +TEST_POST_NO_PAYLOAD: APIOperation[TestPostNoPayloadInput, TestPostNoPayloadOutput] +TIMESTAMP_FORMAT_HEADERS: APIOperation[ + TimestampFormatHeadersInput, TimestampFormatHeadersOutput +] +UNIT_INPUT_AND_OUTPUT: APIOperation[UnitInputAndOutputInput, UnitInputAndOutputOutput] diff --git a/codegen-output/rest-json-1/tests/_typecheck.py b/codegen-output/rest-json-1/tests/_typecheck.py new file mode 100644 index 000000000..1f1e79bbf --- /dev/null +++ b/codegen-output/rest-json-1/tests/_typecheck.py @@ -0,0 +1,513 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from typing import Any + +from restjson.models import ( + AllQueryStringTypesInput, + AllQueryStringTypesOutput, + BlobPayloadEvent, + ClientOptionalDefaults, + ComplexNestedErrorData, + ConstantAndVariableQueryStringInput, + ConstantAndVariableQueryStringOutput, + ConstantQueryStringInput, + ConstantQueryStringOutput, + ContentTypeParametersInput, + ContentTypeParametersOutput, + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + Defaults, + Dialog, + DocumentTypeAsMapValueInput, + DocumentTypeAsMapValueOutput, + DocumentTypeAsPayloadInput, + DocumentTypeAsPayloadOutput, + DocumentTypeInput, + DocumentTypeOutput, + DuplexStreamInput, + DuplexStreamOutput, + DuplexStreamWithDistinctStreamsInput, + DuplexStreamWithDistinctStreamsOutput, + DuplexStreamWithInitialMessagesInput, + DuplexStreamWithInitialMessagesOutput, + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + Farewell, + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingStruct, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HeadersAndExplicitPayloadEvent, + HeadersAndImplicitPayloadEvent, + HeadersEvent, + HostWithPathOperationInput, + HostWithPathOperationOutput, + HttpChecksumRequiredInput, + HttpChecksumRequiredOutput, + HttpEmptyPrefixHeadersInput, + HttpEmptyPrefixHeadersOutput, + HttpEnumPayloadInput, + HttpEnumPayloadOutput, + HttpPayloadTraitsInput, + HttpPayloadTraitsOutput, + HttpPayloadTraitsWithMediaTypeInput, + HttpPayloadTraitsWithMediaTypeOutput, + HttpPayloadWithStructureInput, + HttpPayloadWithStructureOutput, + HttpPayloadWithUnionInput, + HttpPayloadWithUnionOutput, + HttpPrefixHeadersInResponseInput, + HttpPrefixHeadersInResponseOutput, + HttpPrefixHeadersInput, + HttpPrefixHeadersOutput, + HttpQueryParamsOnlyOperationInput, + HttpQueryParamsOnlyOperationOutput, + HttpRequestWithFloatLabelsInput, + HttpRequestWithFloatLabelsOutput, + HttpRequestWithGreedyLabelInPathInput, + HttpRequestWithGreedyLabelInPathOutput, + HttpRequestWithLabelsAndTimestampFormatInput, + HttpRequestWithLabelsAndTimestampFormatOutput, + HttpRequestWithLabelsInput, + HttpRequestWithLabelsOutput, + HttpRequestWithRegexLiteralInput, + HttpRequestWithRegexLiteralOutput, + HttpResponseCodeInput, + HttpResponseCodeOutput, + HttpStringPayloadInput, + HttpStringPayloadOutput, + IgnoreQueryParamsInResponseInput, + IgnoreQueryParamsInResponseOutput, + InputAndOutputWithHeadersInput, + InputAndOutputWithHeadersOutput, + InputStreamInput, + InputStreamOutput, + InputStreamWithInitialRequestInput, + InputStreamWithInitialRequestOutput, + JsonBlobsInput, + JsonBlobsOutput, + JsonEnumsInput, + JsonEnumsOutput, + JsonIntEnumsInput, + JsonIntEnumsOutput, + JsonListsInput, + JsonListsOutput, + JsonMapsInput, + JsonMapsOutput, + JsonTimestampsInput, + JsonTimestampsOutput, + JsonUnionsInput, + JsonUnionsOutput, + MalformedAcceptWithBodyInput, + MalformedAcceptWithBodyOutput, + MalformedAcceptWithGenericStringInput, + MalformedAcceptWithGenericStringOutput, + MalformedAcceptWithPayloadInput, + MalformedAcceptWithPayloadOutput, + MalformedBlobInput, + MalformedBlobOutput, + MalformedBooleanInput, + MalformedBooleanOutput, + MalformedByteInput, + MalformedByteOutput, + MalformedContentTypeWithBodyInput, + MalformedContentTypeWithBodyOutput, + MalformedContentTypeWithGenericStringInput, + MalformedContentTypeWithGenericStringOutput, + MalformedContentTypeWithPayloadInput, + MalformedContentTypeWithPayloadOutput, + MalformedContentTypeWithoutBodyEmptyInputInput, + MalformedContentTypeWithoutBodyEmptyInputOutput, + MalformedContentTypeWithoutBodyInput, + MalformedContentTypeWithoutBodyOutput, + MalformedDoubleInput, + MalformedDoubleOutput, + MalformedFloatInput, + MalformedFloatOutput, + MalformedIntegerInput, + MalformedIntegerOutput, + MalformedListInput, + MalformedListOutput, + MalformedLongInput, + MalformedLongOutput, + MalformedMapInput, + MalformedMapOutput, + MalformedRequestBodyInput, + MalformedRequestBodyOutput, + MalformedShortInput, + MalformedShortOutput, + MalformedStringInput, + MalformedStringOutput, + MalformedTimestampBodyDateTimeInput, + MalformedTimestampBodyDateTimeOutput, + MalformedTimestampBodyDefaultInput, + MalformedTimestampBodyDefaultOutput, + MalformedTimestampBodyHttpDateInput, + MalformedTimestampBodyHttpDateOutput, + MalformedTimestampHeaderDateTimeInput, + MalformedTimestampHeaderDateTimeOutput, + MalformedTimestampHeaderDefaultInput, + MalformedTimestampHeaderDefaultOutput, + MalformedTimestampHeaderEpochInput, + MalformedTimestampHeaderEpochOutput, + MalformedTimestampPathDefaultInput, + MalformedTimestampPathDefaultOutput, + MalformedTimestampPathEpochInput, + MalformedTimestampPathEpochOutput, + MalformedTimestampPathHttpDateInput, + MalformedTimestampPathHttpDateOutput, + MalformedTimestampQueryDefaultInput, + MalformedTimestampQueryDefaultOutput, + MalformedTimestampQueryEpochInput, + MalformedTimestampQueryEpochOutput, + MalformedTimestampQueryHttpDateInput, + MalformedTimestampQueryHttpDateOutput, + MalformedUnionInput, + MalformedUnionOutput, + MediaTypeHeaderInput, + MediaTypeHeaderOutput, + NestedPayload, + NoInputAndNoOutputInput, + NoInputAndNoOutputOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + NullAndEmptyHeadersClientInput, + NullAndEmptyHeadersClientOutput, + NullAndEmptyHeadersServerInput, + NullAndEmptyHeadersServerOutput, + OmitsNullSerializesEmptyStringInput, + OmitsNullSerializesEmptyStringOutput, + OmitsSerializingEmptyListsInput, + OmitsSerializingEmptyListsOutput, + OperationWithDefaultsInput, + OperationWithDefaultsOutput, + OperationWithNestedStructureInput, + OperationWithNestedStructureOutput, + OutputStreamInput, + OutputStreamOutput, + OutputStreamWithInitialResponseInput, + OutputStreamWithInitialResponseOutput, + PayloadConfig, + PayloadStructure, + PostPlayerActionInput, + PostPlayerActionOutput, + PostUnionWithJsonNameInput, + PostUnionWithJsonNameOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, + QueryIdempotencyTokenAutoFillInput, + QueryIdempotencyTokenAutoFillOutput, + QueryParamsAsStringListMapInput, + QueryParamsAsStringListMapOutput, + QueryPrecedenceInput, + QueryPrecedenceOutput, + RecursiveShapesInput, + RecursiveShapesInputOutputNested1, + RecursiveShapesInputOutputNested2, + RecursiveShapesOutput, + RenamedGreeting, + ResponseCodeHttpFallbackInput, + ResponseCodeHttpFallbackOutput, + ResponseCodeRequiredInput, + ResponseCodeRequiredOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + SingletonEvent, + SparseJsonListsInput, + SparseJsonListsOutput, + SparseJsonMapsInput, + SparseJsonMapsOutput, + StreamingTraitsInput, + StreamingTraitsOutput, + StreamingTraitsRequireLengthInput, + StreamingTraitsRequireLengthOutput, + StreamingTraitsWithMediaTypeInput, + StreamingTraitsWithMediaTypeOutput, + StringPayloadEvent, + StructureListMember, + StructurePayloadEvent, + TestBodyStructureInput, + TestBodyStructureOutput, + TestConfig, + TestGetNoInputNoPayloadInput, + TestGetNoInputNoPayloadOutput, + TestGetNoPayloadInput, + TestGetNoPayloadOutput, + TestPayloadBlobInput, + TestPayloadBlobOutput, + TestPayloadStructureInput, + TestPayloadStructureOutput, + TestPostNoInputNoPayloadInput, + TestPostNoInputNoPayloadOutput, + TestPostNoPayloadInput, + TestPostNoPayloadOutput, + TimestampFormatHeadersInput, + TimestampFormatHeadersOutput, + TopLevel, + UnionPayloadEvent, + Unit, + UnitInputAndOutputInput, + UnitInputAndOutputOutput, +) + + +# Static type fixture: pyright over this validates models.pyi. +# Not executed as a test; it only needs to type-check. + +_: Any = ... + +AllQueryStringTypesInput() +AllQueryStringTypesOutput() +BlobPayloadEvent() +ClientOptionalDefaults() +ComplexNestedErrorData() +ConstantAndVariableQueryStringInput() +ConstantAndVariableQueryStringOutput() +ConstantQueryStringInput() +ConstantQueryStringOutput() +ContentTypeParametersInput() +ContentTypeParametersOutput() +DatetimeOffsetsInput() +DatetimeOffsetsOutput() +Defaults() +Dialog() +DocumentTypeAsMapValueInput() +DocumentTypeAsMapValueOutput() +DocumentTypeAsPayloadInput() +DocumentTypeAsPayloadOutput() +DocumentTypeInput() +DocumentTypeOutput() +DuplexStreamInput() +DuplexStreamOutput() +DuplexStreamWithDistinctStreamsInput() +DuplexStreamWithDistinctStreamsOutput() +DuplexStreamWithInitialMessagesInput() +DuplexStreamWithInitialMessagesOutput(initial_response_member=_) +EmptyInputAndEmptyOutputInput() +EmptyInputAndEmptyOutputOutput() +EndpointOperationInput() +EndpointOperationOutput() +EndpointWithHostLabelOperationInput() +EndpointWithHostLabelOperationOutput() +Farewell() +FractionalSecondsInput() +FractionalSecondsOutput() +GreetingWithErrorsInput() +GreetingWithErrorsOutput() +HeadersAndExplicitPayloadEvent() +HeadersAndImplicitPayloadEvent() +HeadersEvent() +HostWithPathOperationInput() +HostWithPathOperationOutput() +HttpChecksumRequiredInput() +HttpChecksumRequiredOutput() +HttpEmptyPrefixHeadersInput() +HttpEmptyPrefixHeadersOutput() +HttpEnumPayloadInput() +HttpEnumPayloadOutput() +HttpPayloadTraitsInput() +HttpPayloadTraitsOutput() +HttpPayloadTraitsWithMediaTypeInput() +HttpPayloadTraitsWithMediaTypeOutput() +HttpPayloadWithStructureInput() +HttpPayloadWithStructureOutput() +HttpPayloadWithUnionInput() +HttpPayloadWithUnionOutput() +HttpPrefixHeadersInput() +HttpPrefixHeadersInResponseInput() +HttpPrefixHeadersInResponseOutput() +HttpPrefixHeadersOutput() +HttpQueryParamsOnlyOperationInput() +HttpQueryParamsOnlyOperationOutput() +HttpRequestWithFloatLabelsInput() +HttpRequestWithFloatLabelsOutput() +HttpRequestWithGreedyLabelInPathInput() +HttpRequestWithGreedyLabelInPathOutput() +HttpRequestWithLabelsAndTimestampFormatInput() +HttpRequestWithLabelsAndTimestampFormatOutput() +HttpRequestWithLabelsInput() +HttpRequestWithLabelsOutput() +HttpRequestWithRegexLiteralInput() +HttpRequestWithRegexLiteralOutput() +HttpResponseCodeInput() +HttpResponseCodeOutput() +HttpStringPayloadInput() +HttpStringPayloadOutput() +IgnoreQueryParamsInResponseInput() +IgnoreQueryParamsInResponseOutput() +InputAndOutputWithHeadersInput() +InputAndOutputWithHeadersOutput() +InputStreamInput() +InputStreamOutput() +InputStreamWithInitialRequestInput() +InputStreamWithInitialRequestOutput() +JsonBlobsInput() +JsonBlobsOutput() +JsonEnumsInput() +JsonEnumsOutput() +JsonIntEnumsInput() +JsonIntEnumsOutput() +JsonListsInput() +JsonListsOutput() +JsonMapsInput() +JsonMapsOutput() +JsonTimestampsInput() +JsonTimestampsOutput() +JsonUnionsInput() +JsonUnionsOutput() +MalformedAcceptWithBodyInput() +MalformedAcceptWithBodyOutput() +MalformedAcceptWithGenericStringInput() +MalformedAcceptWithGenericStringOutput() +MalformedAcceptWithPayloadInput() +MalformedAcceptWithPayloadOutput() +MalformedBlobInput() +MalformedBlobOutput() +MalformedBooleanInput() +MalformedBooleanOutput() +MalformedByteInput() +MalformedByteOutput() +MalformedContentTypeWithBodyInput() +MalformedContentTypeWithBodyOutput() +MalformedContentTypeWithGenericStringInput() +MalformedContentTypeWithGenericStringOutput() +MalformedContentTypeWithoutBodyEmptyInputInput() +MalformedContentTypeWithoutBodyEmptyInputOutput() +MalformedContentTypeWithoutBodyInput() +MalformedContentTypeWithoutBodyOutput() +MalformedContentTypeWithPayloadInput() +MalformedContentTypeWithPayloadOutput() +MalformedDoubleInput() +MalformedDoubleOutput() +MalformedFloatInput() +MalformedFloatOutput() +MalformedIntegerInput() +MalformedIntegerOutput() +MalformedListInput() +MalformedListOutput() +MalformedLongInput() +MalformedLongOutput() +MalformedMapInput() +MalformedMapOutput() +MalformedRequestBodyInput() +MalformedRequestBodyOutput() +MalformedShortInput() +MalformedShortOutput() +MalformedStringInput() +MalformedStringOutput() +MalformedTimestampBodyDateTimeInput() +MalformedTimestampBodyDateTimeOutput() +MalformedTimestampBodyDefaultInput() +MalformedTimestampBodyDefaultOutput() +MalformedTimestampBodyHttpDateInput() +MalformedTimestampBodyHttpDateOutput() +MalformedTimestampHeaderDateTimeInput() +MalformedTimestampHeaderDateTimeOutput() +MalformedTimestampHeaderDefaultInput() +MalformedTimestampHeaderDefaultOutput() +MalformedTimestampHeaderEpochInput() +MalformedTimestampHeaderEpochOutput() +MalformedTimestampPathDefaultInput() +MalformedTimestampPathDefaultOutput() +MalformedTimestampPathEpochInput() +MalformedTimestampPathEpochOutput() +MalformedTimestampPathHttpDateInput() +MalformedTimestampPathHttpDateOutput() +MalformedTimestampQueryDefaultInput() +MalformedTimestampQueryDefaultOutput() +MalformedTimestampQueryEpochInput() +MalformedTimestampQueryEpochOutput() +MalformedTimestampQueryHttpDateInput() +MalformedTimestampQueryHttpDateOutput() +MalformedUnionInput() +MalformedUnionOutput() +MediaTypeHeaderInput() +MediaTypeHeaderOutput() +NestedPayload() +NoInputAndNoOutputInput() +NoInputAndNoOutputOutput() +NoInputAndOutputInput() +NoInputAndOutputOutput() +NullAndEmptyHeadersClientInput() +NullAndEmptyHeadersClientOutput() +NullAndEmptyHeadersServerInput() +NullAndEmptyHeadersServerOutput() +OmitsNullSerializesEmptyStringInput() +OmitsNullSerializesEmptyStringOutput() +OmitsSerializingEmptyListsInput() +OmitsSerializingEmptyListsOutput() +OperationWithDefaultsInput() +OperationWithDefaultsOutput() +OperationWithNestedStructureInput() +OperationWithNestedStructureOutput(dialog=_) +OutputStreamInput() +OutputStreamOutput() +OutputStreamWithInitialResponseInput() +OutputStreamWithInitialResponseOutput(initial_response_member=_) +PayloadConfig() +PayloadStructure() +PostPlayerActionInput() +PostPlayerActionOutput(action=_) +PostUnionWithJsonNameInput() +PostUnionWithJsonNameOutput(value=_) +PutWithContentEncodingInput() +PutWithContentEncodingOutput() +QueryIdempotencyTokenAutoFillInput() +QueryIdempotencyTokenAutoFillOutput() +QueryParamsAsStringListMapInput() +QueryParamsAsStringListMapOutput() +QueryPrecedenceInput() +QueryPrecedenceOutput() +RecursiveShapesInput() +RecursiveShapesInputOutputNested1() +RecursiveShapesInputOutputNested2() +RecursiveShapesOutput() +ResponseCodeHttpFallbackInput() +ResponseCodeHttpFallbackOutput() +ResponseCodeRequiredInput() +ResponseCodeRequiredOutput(response_code=_) +SimpleScalarPropertiesInput() +SimpleScalarPropertiesOutput() +SingletonEvent() +SparseJsonListsInput() +SparseJsonListsOutput() +SparseJsonMapsInput() +SparseJsonMapsOutput() +StreamingTraitsInput() +StreamingTraitsOutput() +StreamingTraitsRequireLengthInput() +StreamingTraitsRequireLengthOutput() +StreamingTraitsWithMediaTypeInput() +StreamingTraitsWithMediaTypeOutput() +StringPayloadEvent() +StructureListMember() +StructurePayloadEvent() +TestBodyStructureInput() +TestBodyStructureOutput() +TestConfig() +TestGetNoInputNoPayloadInput() +TestGetNoInputNoPayloadOutput() +TestGetNoPayloadInput() +TestGetNoPayloadOutput() +TestPayloadBlobInput() +TestPayloadBlobOutput() +TestPayloadStructureInput() +TestPayloadStructureOutput() +TestPostNoInputNoPayloadInput() +TestPostNoInputNoPayloadOutput() +TestPostNoPayloadInput() +TestPostNoPayloadOutput() +TimestampFormatHeadersInput() +TimestampFormatHeadersOutput() +TopLevel(dialog=_) +UnionPayloadEvent() +UnitInputAndOutputInput() +UnitInputAndOutputOutput() +RenamedGreeting() +GreetingStruct() +Unit() diff --git a/codegen-output/rest-json-1/tests/test_model_conformance.py b/codegen-output/rest-json-1/tests/test_model_conformance.py new file mode 100644 index 000000000..74d7398d5 --- /dev/null +++ b/codegen-output/rest-json-1/tests/test_model_conformance.py @@ -0,0 +1,13 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from pathlib import Path + +from smithy_test import verify_models + +from restjson import models as _models +from restjson._private import schemas as _schemas + + +def test_model_conformance() -> None: + pyi = Path(_models.__file__).with_suffix(".pyi") + verify_models(_models, _schemas, pyi_path=str(pyi) if pyi.exists() else None) diff --git a/codegen-output/rest-json-1/tests/test_restjson_protocol.py b/codegen-output/rest-json-1/tests/test_restjson_protocol.py index 732e0ed52..1f8c76139 100644 --- a/codegen-output/rest-json-1/tests/test_restjson_protocol.py +++ b/codegen-output/rest-json-1/tests/test_restjson_protocol.py @@ -12752,7 +12752,7 @@ async def test_rest_json_streaming_traits_with_blob_response_streaming_traits() assert deep_equal(actual.foo, expected.foo) assert isinstance(actual.blob, AsyncByteStream) actual_body_content = await actual.blob.read() - expected_body_content = await AsyncBytesReader(expected.blob).read() + expected_body_content = await AsyncBytesReader(expected.blob or b"").read() assert actual_body_content == expected_body_content @@ -12786,7 +12786,7 @@ async def test_rest_json_streaming_traits_with_no_blob_body_response_streaming_t assert deep_equal(actual.foo, expected.foo) assert isinstance(actual.blob, AsyncByteStream) actual_body_content = await actual.blob.read() - expected_body_content = await AsyncBytesReader(expected.blob).read() + expected_body_content = await AsyncBytesReader(expected.blob or b"").read() assert actual_body_content == expected_body_content @@ -13046,7 +13046,7 @@ async def test_rest_json_streaming_traits_with_media_type_with_blob_response_str assert deep_equal(actual.foo, expected.foo) assert isinstance(actual.blob, AsyncByteStream) actual_body_content = await actual.blob.read() - expected_body_content = await AsyncBytesReader(expected.blob).read() + expected_body_content = await AsyncBytesReader(expected.blob or b"").read() assert actual_body_content == expected_body_content diff --git a/codegen-output/rest-xml-with-namespace/pyproject.toml b/codegen-output/rest-xml-with-namespace/pyproject.toml index abe4a6800..346956bfb 100644 --- a/codegen-output/rest-xml-with-namespace/pyproject.toml +++ b/codegen-output/rest-xml-with-namespace/pyproject.toml @@ -53,6 +53,9 @@ reportUnusedVariable = false reportUnnecessaryComparison = false reportUnusedClass = false enableExperimentalFeatures = true +# models.py is the dynamic runtime; models.pyi carries the typed +# surface for consumers, so don't type-check the implementation body. +exclude = ["**/models.py"] [tool.ruff] target-version = "py312" diff --git a/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/_private/schemas.py b/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/_private/schemas.py index bd088dfa5..01797616d 100644 --- a/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/_private/schemas.py +++ b/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/_private/schemas.py @@ -14,6 +14,7 @@ _SSPI = "SimpleScalarPropertiesInput" _sSI = "smithy.synthetic#originalShapeId" _aSSPR = "aws.protocoltests.restxml.xmlns#SimpleScalarPropertiesRequest" +_s = "smithy.api#input" _f = "foo" _sH = "smithy.api#httpHeader" _XF = "X-Foo" @@ -31,8 +32,9 @@ _DD = "DoubleDribble" _SSPO = "SimpleScalarPropertiesOutput" _aSSPRw = "aws.protocoltests.restxml.xmlns#SimpleScalarPropertiesResponse" +_sm = "smithy.api#output" _SSP = "SimpleScalarProperties" -_s = "smithy.api#http" +_smi = "smithy.api#http" _RXWN = "RestXmlWithNamespace" _a = "aws.auth#sigv4" _aX = "aws.protocols#restXml" @@ -52,7 +54,7 @@ 18, n0, _SSPI, - {_sSI: _aSSPR}, + {_sSI: _aSSPR, _s: None}, (_f, _sV, _tBV, _fBV, _bV, _sVh, _iV, _lV, _fV, _N, _dV), ( (3, {_sH: _XF}), @@ -76,7 +78,7 @@ 18, n0, _SSPO, - {_sSI: _aSSPRw}, + {_sSI: _aSSPRw, _sm: None}, (_f, _sV, _tBV, _fBV, _bV, _sVh, _iV, _lV, _fV, _N, _dV), ( (3, {_sH: _XF}), @@ -100,7 +102,7 @@ 23, n0, _SSP, - {_s: MappingProxyType({"uri": "/SimpleScalarProperties", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/SimpleScalarProperties", "method": "PUT"})}, SIMPLE_SCALAR_PROPERTIES_INPUT, SIMPLE_SCALAR_PROPERTIES_OUTPUT, (), diff --git a/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/client.py b/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/client.py index c6923d543..2ad08d019 100644 --- a/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/client.py +++ b/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/client.py @@ -1,5 +1,7 @@ # Code generated by smithy-python-codegen DO NOT EDIT. +from __future__ import annotations + from copy import deepcopy import logging from typing import Any, cast @@ -16,13 +18,14 @@ from smithy_http.plugins import user_agent_plugin from .config import AsyncRestXmlProtocolNamespaceConfig, Plugin -from .models import ( - SIMPLE_SCALAR_PROPERTIES, - SimpleScalarPropertiesInput, - SimpleScalarPropertiesOutput, -) +from .models import SIMPLE_SCALAR_PROPERTIES from .user_agent import aws_user_agent_plugin +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from .models import SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput + logger = logging.getLogger(__name__) diff --git a/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/config.py b/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/config.py index f3af47919..bac66920a 100644 --- a/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/config.py +++ b/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/config.py @@ -1,7 +1,16 @@ # Code generated by smithy-python-codegen DO NOT EDIT. from dataclasses import dataclass, field -from typing import Any, Callable, ClassVar, Self, TypeAlias, Union, Unpack +from typing import ( + Any, + Callable, + ClassVar, + Self, + TYPE_CHECKING, + TypeAlias, + Union, + Unpack, +) from smithy_aws_core.aio.protocols import RestXmlClientProtocol from smithy_aws_core.auth import SigV4AuthScheme @@ -21,18 +30,25 @@ ) from smithy_core.aio.interfaces.auth import AuthScheme from smithy_core.aio.interfaces.identity import IdentityResolver -from smithy_core.interceptors import Interceptor from smithy_core.interfaces.auth import AuthSchemeResolver from smithy_core.shapes import ShapeID from smithy_http.aio.aiohttp import AIOHTTPClient from .auth import HTTPAuthSchemeResolver -from .models import SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput -_ServiceInterceptor = Union[ - Interceptor[SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput, Any, Any] -] +if TYPE_CHECKING: + from smithy_core.interceptors import Interceptor + from .models import SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput + + _ServiceInterceptor = Union[ + Interceptor[ + SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput, Any, Any + ], + ] +else: + _ServiceInterceptor = Any + _PROTOCOL_SETTINGS = ProtocolSettings( namespace="aws.protocoltests.restxml.xmlns", service_target="RestXmlWithNamespace", diff --git a/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/models.py b/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/models.py index 8973d446d..9ba209ae7 100644 --- a/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/models.py +++ b/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/models.py @@ -1,29 +1,16 @@ # Code generated by smithy-python-codegen DO NOT EDIT. -from dataclasses import dataclass, field -import logging -from typing import Any, Self - -from smithy_core._schema_compact import hydrate -from smithy_core.deserializers import ShapeDeserializer -from smithy_core.documents import TypeRegistry +from ._private import schemas as _schemas +from smithy_core._dynamic_models import ModelRegistry from smithy_core.exceptions import ModeledError -from smithy_core.response import EMPTY_RESPONSE_METADATA, ResponseMetadata -from smithy_core.schemas import APIOperation, Schema -from smithy_core.serializers import ShapeSerializer +from smithy_core.schemas import APIOperation from smithy_core.shapes import ShapeID from ._private.schemas import ( - NESTED_WITH_NAMESPACE as _SCHEMA_NESTED_WITH_NAMESPACE, SIMPLE_SCALAR_PROPERTIES as _SCHEMA_SIMPLE_SCALAR_PROPERTIES, - SIMPLE_SCALAR_PROPERTIES_INPUT as _SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT, - SIMPLE_SCALAR_PROPERTIES_OUTPUT as _SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT, ) -logger = logging.getLogger(__name__) - - class ServiceError(ModeledError): """ Base error for all errors in the service. @@ -33,288 +20,32 @@ class ServiceError(ModeledError): """ -@dataclass(kw_only=True) -class NestedWithNamespace: - """Dataclass for NestedWithNamespace structure.""" - - attr_field: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NESTED_WITH_NAMESPACE), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NESTED_WITH_NAMESPACE).members_by_index - if self.attr_field is not None: - serializer.write_string(members[0], self.attr_field) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NESTED_WITH_NAMESPACE) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["attr_field"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SimpleScalarPropertiesInput: - """Dataclass for SimpleScalarPropertiesInput structure.""" - - foo: str | None = None - - string_value: str | None = None - - true_boolean_value: bool | None = None - - false_boolean_value: bool | None = None - - byte_value: int | None = None - - short_value: int | None = None - - integer_value: int | None = None - - long_value: int | None = None - - float_value: float | None = None - - nested: NestedWithNamespace | None = None - - double_value: float | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.string_value is not None: - serializer.write_string(members[1], self.string_value) - - if self.true_boolean_value is not None: - serializer.write_boolean(members[2], self.true_boolean_value) - - if self.false_boolean_value is not None: - serializer.write_boolean(members[3], self.false_boolean_value) - - if self.byte_value is not None: - serializer.write_byte(members[4], self.byte_value) - - if self.short_value is not None: - serializer.write_short(members[5], self.short_value) - - if self.integer_value is not None: - serializer.write_integer(members[6], self.integer_value) - - if self.long_value is not None: - serializer.write_long(members[7], self.long_value) - - if self.float_value is not None: - serializer.write_float(members[8], self.float_value) - - if self.nested is not None: - serializer.write_struct(members[9], self.nested) - - if self.double_value is not None: - serializer.write_double(members[10], self.double_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["string_value"] = de.read_string(members[1]) - - case 2: - kwargs["true_boolean_value"] = de.read_boolean(members[2]) - - case 3: - kwargs["false_boolean_value"] = de.read_boolean(members[3]) - - case 4: - kwargs["byte_value"] = de.read_byte(members[4]) - - case 5: - kwargs["short_value"] = de.read_short(members[5]) - - case 6: - kwargs["integer_value"] = de.read_integer(members[6]) - - case 7: - kwargs["long_value"] = de.read_long(members[7]) - - case 8: - kwargs["float_value"] = de.read_float(members[8]) - - case 9: - kwargs["nested"] = NestedWithNamespace.deserialize(de) - - case 10: - kwargs["double_value"] = de.read_double(members[10]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SimpleScalarPropertiesOutput: - """Dataclass for SimpleScalarPropertiesOutput structure.""" - - foo: str | None = None - - string_value: str | None = None - - true_boolean_value: bool | None = None - - false_boolean_value: bool | None = None - - byte_value: int | None = None - - short_value: int | None = None - - integer_value: int | None = None - - long_value: int | None = None - - float_value: float | None = None - - nested: NestedWithNamespace | None = None - - double_value: float | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.string_value is not None: - serializer.write_string(members[1], self.string_value) - - if self.true_boolean_value is not None: - serializer.write_boolean(members[2], self.true_boolean_value) - - if self.false_boolean_value is not None: - serializer.write_boolean(members[3], self.false_boolean_value) - - if self.byte_value is not None: - serializer.write_byte(members[4], self.byte_value) - - if self.short_value is not None: - serializer.write_short(members[5], self.short_value) - - if self.integer_value is not None: - serializer.write_integer(members[6], self.integer_value) - - if self.long_value is not None: - serializer.write_long(members[7], self.long_value) - - if self.float_value is not None: - serializer.write_float(members[8], self.float_value) - - if self.nested is not None: - serializer.write_struct(members[9], self.nested) - - if self.double_value is not None: - serializer.write_double(members[10], self.double_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["string_value"] = de.read_string(members[1]) - - case 2: - kwargs["true_boolean_value"] = de.read_boolean(members[2]) - - case 3: - kwargs["false_boolean_value"] = de.read_boolean(members[3]) - - case 4: - kwargs["byte_value"] = de.read_byte(members[4]) - - case 5: - kwargs["short_value"] = de.read_short(members[5]) - - case 6: - kwargs["integer_value"] = de.read_integer(members[6]) - - case 7: - kwargs["long_value"] = de.read_long(members[7]) - - case 8: - kwargs["float_value"] = de.read_float(members[8]) - - case 9: - kwargs["nested"] = NestedWithNamespace.deserialize(de) - - case 10: - kwargs["double_value"] = de.read_double(members[10]) +_registry = ModelRegistry( + _schemas, + renames={}, + index={ + "NestedWithNamespace": "NESTED_WITH_NAMESPACE", + "SimpleScalarPropertiesInput": "SIMPLE_SCALAR_PROPERTIES_INPUT", + "SimpleScalarPropertiesOutput": "SIMPLE_SCALAR_PROPERTIES_OUTPUT", + }, + shape_names=frozenset( + { + "NestedWithNamespace", + "SimpleScalarPropertiesInput", + "SimpleScalarPropertiesOutput", + } + ), + service_error="ServiceError", +) - case _: - logger.debug("Unexpected member schema: %s", member_schema) - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +def __getattr__(name: str): + return _registry.build(name) SIMPLE_SCALAR_PROPERTIES = APIOperation( - input=SimpleScalarPropertiesInput, - output=SimpleScalarPropertiesOutput, static_schema=_SCHEMA_SIMPLE_SCALAR_PROPERTIES, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) diff --git a/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/models.pyi b/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/models.pyi new file mode 100644 index 000000000..9f00cc917 --- /dev/null +++ b/codegen-output/rest-xml-with-namespace/src/restxmlwithnamespace/models.pyi @@ -0,0 +1,55 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from dataclasses import dataclass +from typing import Self + +from smithy_core.deserializers import ShapeDeserializer +from smithy_core.exceptions import ModeledError +from smithy_core.response import ResponseMetadata +from smithy_core.schemas import APIOperation +from smithy_core.serializers import ShapeSerializer + +class _SerdeShape: + def serialize(self, serializer: ShapeSerializer) -> None: ... + def serialize_members(self, serializer: ShapeSerializer) -> None: ... + @classmethod + def deserialize(cls, deserializer: ShapeDeserializer) -> Self: ... + +class ServiceError(ModeledError): ... + +@dataclass(kw_only=True) +class NestedWithNamespace(_SerdeShape): + attr_field: str | None = ... + +@dataclass(kw_only=True) +class SimpleScalarPropertiesInput(_SerdeShape): + foo: str | None = ... + string_value: str | None = ... + true_boolean_value: bool | None = ... + false_boolean_value: bool | None = ... + byte_value: int | None = ... + short_value: int | None = ... + integer_value: int | None = ... + long_value: int | None = ... + float_value: float | None = ... + nested: NestedWithNamespace | None = ... + double_value: float | None = ... + +@dataclass(kw_only=True) +class SimpleScalarPropertiesOutput(_SerdeShape): + foo: str | None = ... + string_value: str | None = ... + true_boolean_value: bool | None = ... + false_boolean_value: bool | None = ... + byte_value: int | None = ... + short_value: int | None = ... + integer_value: int | None = ... + long_value: int | None = ... + float_value: float | None = ... + nested: NestedWithNamespace | None = ... + double_value: float | None = ... + response_metadata: ResponseMetadata = ... + +SIMPLE_SCALAR_PROPERTIES: APIOperation[ + SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput +] diff --git a/codegen-output/rest-xml-with-namespace/tests/_typecheck.py b/codegen-output/rest-xml-with-namespace/tests/_typecheck.py new file mode 100644 index 000000000..677092da2 --- /dev/null +++ b/codegen-output/rest-xml-with-namespace/tests/_typecheck.py @@ -0,0 +1,19 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from typing import Any + +from restxmlwithnamespace.models import ( + NestedWithNamespace, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, +) + + +# Static type fixture: pyright over this validates models.pyi. +# Not executed as a test; it only needs to type-check. + +_: Any = ... + +NestedWithNamespace() +SimpleScalarPropertiesInput() +SimpleScalarPropertiesOutput() diff --git a/codegen-output/rest-xml-with-namespace/tests/test_model_conformance.py b/codegen-output/rest-xml-with-namespace/tests/test_model_conformance.py new file mode 100644 index 000000000..45ee5a637 --- /dev/null +++ b/codegen-output/rest-xml-with-namespace/tests/test_model_conformance.py @@ -0,0 +1,13 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from pathlib import Path + +from smithy_test import verify_models + +from restxmlwithnamespace import models as _models +from restxmlwithnamespace._private import schemas as _schemas + + +def test_model_conformance() -> None: + pyi = Path(_models.__file__).with_suffix(".pyi") + verify_models(_models, _schemas, pyi_path=str(pyi) if pyi.exists() else None) diff --git a/codegen-output/rest-xml/pyproject.toml b/codegen-output/rest-xml/pyproject.toml index e59812bfa..5eed18642 100644 --- a/codegen-output/rest-xml/pyproject.toml +++ b/codegen-output/rest-xml/pyproject.toml @@ -53,6 +53,9 @@ reportUnusedVariable = false reportUnnecessaryComparison = false reportUnusedClass = false enableExperimentalFeatures = true +# models.py is the dynamic runtime; models.pyi carries the typed +# surface for consumers, so don't type-check the implementation body. +exclude = ["**/models.py"] [tool.ruff] target-version = "py312" diff --git a/codegen-output/rest-xml/src/restxml/_private/schemas.py b/codegen-output/rest-xml/src/restxml/_private/schemas.py index 06f91d077..01b7c37d3 100644 --- a/codegen-output/rest-xml/src/restxml/_private/schemas.py +++ b/codegen-output/rest-xml/src/restxml/_private/schemas.py @@ -11,26 +11,33 @@ _DL = "DoubleList" _FE = "FooEnum" _FOO = "FOO" +_sV = "smithy.api#enumValue" +_F = "Foo" _BAZ = "BAZ" +_B = "Baz" _BAR = "BAR" +_Ba = "Bar" _ONE = "ONE" +_v = "1" _ZERO = "ZERO" +_v_ = "0" _FEL = "FooEnumList" _IE = "IntegerEnum" _A = "A" -_B = "B" +_B_ = "B" _C = "C" _IEL = "IntegerEnumList" _IL = "IntegerList" _IS = "IntegerSet" _SM = "StringMap" _k = "key" -_v = "value" +_va = "value" _SL = "StringList" _SS = "StringSet" _TL = "TimestampList" n1 = "aws.protocoltests.restxml" _AQSTI = "AllQueryStringTypesInput" +_s = "smithy.api#input" _qS = "queryString" _sQ = "smithy.api#httpQuery" _S = "String" @@ -47,7 +54,7 @@ _qL = "queryLong" _L = "Long" _qF = "queryFloat" -_F = "Float" +_Fl = "Float" _qD = "queryDouble" _D = "Double" _qDL = "queryDoubleList" @@ -68,8 +75,9 @@ _AQSTO = "AllQueryStringTypesOutput" _sSI = "smithy.synthetic#originalShapeId" _sU = "smithy.api#Unit" +_sm = "smithy.api#output" _AQST = "AllQueryStringTypes" -_s = "smithy.api#http" +_smi = "smithy.api#http" _PWXN = "PayloadWithXmlName" _sN = "smithy.api#xmlName" _H = "Hello" @@ -81,9 +89,8 @@ _BWXNO = "BodyWithXmlNameOutput" _BWXN = "BodyWithXmlName" _CNED = "ComplexNestedErrorData" -_Fo = "Foo" _CE = "ComplexError" -_sm = "smithy.api#error" +_smit = "smithy.api#error" _c = "client" _sE = "smithy.api#httpError" _He = "Header" @@ -98,7 +105,7 @@ _CAVQS = "ConstantAndVariableQueryString" _CQSI = "ConstantQueryStringInput" _h = "hello" -_smi = "smithy.api#required" +_smith = "smithy.api#required" _sL = "smithy.api#httpLabel" _CQSO = "ConstantQueryStringOutput" _CQS = "ConstantQueryString" @@ -118,7 +125,7 @@ _EOI = "EndpointOperationInput" _EOO = "EndpointOperationOutput" _EO = "EndpointOperation" -_smit = "smithy.api#endpoint" +_smithy = "smithy.api#endpoint" _EWHLHOI = "EndpointWithHostLabelHeaderOperationInput" _aHLHI = "aws.protocoltests.restxml#HostLabelHeaderInput" _aI = "accountId" @@ -167,11 +174,12 @@ _HEPHI = "HttpEmptyPrefixHeadersInput" _pH = "prefixHeaders" _sPH = "smithy.api#httpPrefixHeaders" -_v_ = "" +_v__ = "" _sHp = "specificHeader" _HEPHO = "HttpEmptyPrefixHeadersOutput" _HEPH = "HttpEmptyPrefixHeaders" _SE = "StringEnum" +_e = "enumvalue" _HEPI = "HttpEnumPayloadInput" _aEPI = "aws.protocoltests.restxml#EnumPayloadInput" _p = "payload" @@ -357,7 +365,7 @@ _ONSESO = "OmitsNullSerializesEmptyStringOutput" _ONSES = "OmitsNullSerializesEmptyString" _PWCEI = "PutWithContentEncodingInput" -_e = "encoding" +_en = "encoding" _CE_ = "Content-Encoding" _da = "data" _PWCEO = "PutWithContentEncodingOutput" @@ -382,7 +390,7 @@ _it = "item" _SSPI = "SimpleScalarPropertiesInput" _aSSPR = "aws.protocoltests.restxml#SimpleScalarPropertiesRequest" -_sV = "stringValue" +_sVt = "stringValue" _tBV = "trueBooleanValue" _fBV = "falseBooleanValue" _bV = "byteValue" @@ -528,7 +536,7 @@ _XMWXN = "XmlMapWithXmlNamespace" _XNL = "XmlNamespacedList" _XNN = "XmlNamespaceNested" -_va = "values" +_val = "values" _XNI = "XmlNamespacesInput" _aXNR = "aws.protocoltests.restxml#XmlNamespacesRequest" _XNO = "XmlNamespacesOutput" @@ -550,7 +558,7 @@ _bVo = "booleanValue" _XUS = "XmlUnionShape" _uV = "unionValue" -_sVt = "structValue" +_sVtr = "structValue" _RSION = "RecursiveShapesInputOutputNested1" _RSIONe = "RecursiveShapesInputOutputNested2" _rM = "recursiveMember" @@ -580,12 +588,25 @@ _FE, 0, (_FOO, _BAZ, _BAR, _ONE, _ZERO), - ((-1, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 0)), + ( + (-1, {_sV: _F}), + (-1, {_sV: _B}), + (-1, {_sV: _Ba}), + (-1, {_sV: _v}), + (-1, {_sV: _v_}), + ), ) FOO_ENUM_LIST: StaticSchema = (16, n0, _FEL, 0, (_m,), ((FOO_ENUM, 0),)) -INTEGER_ENUM: StaticSchema = (15, n0, _IE, 0, (_A, _B, _C), ((-1, 0), (-1, 0), (-1, 0))) +INTEGER_ENUM: StaticSchema = ( + 15, + n0, + _IE, + 0, + (_A, _B_, _C), + ((-1, {_sV: 1}), (-1, {_sV: 2}), (-1, {_sV: 3})), +) INTEGER_ENUM_LIST: StaticSchema = (16, n0, _IEL, 0, (_m,), ((INTEGER_ENUM, 0),)) @@ -593,7 +614,7 @@ INTEGER_SET: StaticSchema = (16, n0, _IS, 0, (_m,), ((7, 0),)) -STRING_MAP: StaticSchema = (17, n0, _SM, 0, (_k, _v), ((3, 0), (3, 0))) +STRING_MAP: StaticSchema = (17, n0, _SM, 0, (_k, _va), ((3, 0), (3, 0))) STRING_LIST: StaticSchema = (16, n0, _SL, 0, (_m,), ((3, 0),)) @@ -605,7 +626,7 @@ 18, n1, _AQSTI, - 0, + {_s: None}, ( _qS, _qSL, @@ -639,7 +660,7 @@ (INTEGER_LIST, {_sQ: _IL}), (INTEGER_SET, {_sQ: _IS}), (8, {_sQ: _L}), - (9, {_sQ: _F}), + (9, {_sQ: _Fl}), (10, {_sQ: _D}), (DOUBLE_LIST, {_sQ: _DL}), (2, {_sQ: _Bo}), @@ -654,13 +675,13 @@ ), ) -ALL_QUERY_STRING_TYPES_OUTPUT: StaticSchema = (18, n1, _AQSTO, {_sSI: _sU}) +ALL_QUERY_STRING_TYPES_OUTPUT: StaticSchema = (18, n1, _AQSTO, {_sSI: _sU, _sm: None}) ALL_QUERY_STRING_TYPES: StaticOperationSchema = ( 23, n1, _AQST, - {_s: MappingProxyType({"uri": "/AllQueryStringTypesInput", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/AllQueryStringTypesInput", "method": "GET"})}, ALL_QUERY_STRING_TYPES_INPUT, ALL_QUERY_STRING_TYPES_OUTPUT, (), @@ -672,7 +693,7 @@ 18, n1, _BWXNI, - {_sN: _Ah, _sSI: _aBWXNIO}, + {_sN: _Ah, _sSI: _aBWXNIO, _s: None}, (_ne,), ((PAYLOAD_WITH_XML_NAME, 0),), ) @@ -681,7 +702,7 @@ 18, n1, _BWXNO, - {_sN: _Ah, _sSI: _aBWXNIO}, + {_sN: _Ah, _sSI: _aBWXNIO, _sm: None}, (_ne,), ((PAYLOAD_WITH_XML_NAME, 0),), ) @@ -690,19 +711,19 @@ 23, n1, _BWXN, - {_s: MappingProxyType({"uri": "/BodyWithXmlName", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/BodyWithXmlName", "method": "PUT"})}, BODY_WITH_XML_NAME_INPUT, BODY_WITH_XML_NAME_OUTPUT, (), ) -COMPLEX_NESTED_ERROR_DATA: StaticSchema = (18, n1, _CNED, 0, (_Fo,), ((3, 0),)) +COMPLEX_NESTED_ERROR_DATA: StaticSchema = (18, n1, _CNED, 0, (_F,), ((3, 0),)) COMPLEX_ERROR: StaticSchema = ( 18, n1, _CE, - {_sm: _c, _sE: 403}, + {_smit: _c, _sE: 403}, (_He, _TLo, _N), ((3, {_sH: _XH}), (3, 0), (COMPLEX_NESTED_ERROR_DATA, 0)), ) @@ -711,19 +732,24 @@ 18, n1, _CAVQSI, - 0, + {_s: None}, (_b, _mS), ((3, {_sQ: _b}), (3, {_sQ: _mS})), ) -CONSTANT_AND_VARIABLE_QUERY_STRING_OUTPUT: StaticSchema = (18, n1, _CAVQSO, {_sSI: _sU}) +CONSTANT_AND_VARIABLE_QUERY_STRING_OUTPUT: StaticSchema = ( + 18, + n1, + _CAVQSO, + {_sSI: _sU, _sm: None}, +) CONSTANT_AND_VARIABLE_QUERY_STRING: StaticOperationSchema = ( 23, n1, _CAVQS, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/ConstantAndVariableQueryString?foo=bar", "method": "GET"} ) }, @@ -732,16 +758,23 @@ (), ) -CONSTANT_QUERY_STRING_INPUT: StaticSchema = (18, n1, _CQSI, 0, (_h,), ((3, 9),)) +CONSTANT_QUERY_STRING_INPUT: StaticSchema = ( + 18, + n1, + _CQSI, + {_s: None}, + (_h,), + ((3, 9),), +) -CONSTANT_QUERY_STRING_OUTPUT: StaticSchema = (18, n1, _CQSO, {_sSI: _sU}) +CONSTANT_QUERY_STRING_OUTPUT: StaticSchema = (18, n1, _CQSO, {_sSI: _sU, _sm: None}) CONSTANT_QUERY_STRING: StaticOperationSchema = ( 23, n1, _CQS, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/ConstantQueryString/{hello}?foo=bar&hello", "method": "GET"} ) }, @@ -750,61 +783,75 @@ (), ) -CONTENT_TYPE_PARAMETERS_INPUT: StaticSchema = (18, n1, _CTPI, 0, (_v,), ((7, 0),)) +CONTENT_TYPE_PARAMETERS_INPUT: StaticSchema = ( + 18, + n1, + _CTPI, + {_s: None}, + (_va,), + ((7, 0),), +) -CONTENT_TYPE_PARAMETERS_OUTPUT: StaticSchema = (18, n1, _CTPO, 0) +CONTENT_TYPE_PARAMETERS_OUTPUT: StaticSchema = (18, n1, _CTPO, {_sm: None}) CONTENT_TYPE_PARAMETERS: StaticOperationSchema = ( 23, n1, _CTP, - {_s: MappingProxyType({"uri": "/ContentTypeParameters", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/ContentTypeParameters", "method": "PUT"})}, CONTENT_TYPE_PARAMETERS_INPUT, CONTENT_TYPE_PARAMETERS_OUTPUT, (), ) -DATETIME_OFFSETS_INPUT: StaticSchema = (18, n1, _DOI, {_sSI: _sU}) +DATETIME_OFFSETS_INPUT: StaticSchema = (18, n1, _DOI, {_sSI: _sU, _s: None}) DATE_TIME: StaticSchema = (4, n0, _DT, {_sF: _dt}) -DATETIME_OFFSETS_OUTPUT: StaticSchema = (18, n1, _DOO, 0, (_d,), ((DATE_TIME, 0),)) +DATETIME_OFFSETS_OUTPUT: StaticSchema = ( + 18, + n1, + _DOO, + {_sm: None}, + (_d,), + ((DATE_TIME, 0),), +) DATETIME_OFFSETS: StaticOperationSchema = ( 23, n1, _DO, - {_s: MappingProxyType({"uri": "/DatetimeOffsets", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/DatetimeOffsets", "method": "POST"})}, DATETIME_OFFSETS_INPUT, DATETIME_OFFSETS_OUTPUT, (), ) -EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT: StaticSchema = (18, n1, _EIAEOI, 0) +EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT: StaticSchema = (18, n1, _EIAEOI, {_s: None}) -EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT: StaticSchema = (18, n1, _EIAEOO, 0) +EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT: StaticSchema = (18, n1, _EIAEOO, {_sm: None}) EMPTY_INPUT_AND_EMPTY_OUTPUT: StaticOperationSchema = ( 23, n1, _EIAEO, - {_s: MappingProxyType({"uri": "/EmptyInputAndEmptyOutput", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/EmptyInputAndEmptyOutput", "method": "POST"})}, EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT, EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT, (), ) -ENDPOINT_OPERATION_INPUT: StaticSchema = (18, n1, _EOI, {_sSI: _sU}) +ENDPOINT_OPERATION_INPUT: StaticSchema = (18, n1, _EOI, {_sSI: _sU, _s: None}) -ENDPOINT_OPERATION_OUTPUT: StaticSchema = (18, n1, _EOO, {_sSI: _sU}) +ENDPOINT_OPERATION_OUTPUT: StaticSchema = (18, n1, _EOO, {_sSI: _sU, _sm: None}) ENDPOINT_OPERATION: StaticOperationSchema = ( 23, n1, _EO, { - _smit: MappingProxyType({"hostPrefix": "foo."}), - _s: MappingProxyType({"uri": "/EndpointOperation", "method": "POST"}), + _smithy: MappingProxyType({"hostPrefix": "foo."}), + _smi: MappingProxyType({"uri": "/EndpointOperation", "method": "POST"}), }, ENDPOINT_OPERATION_INPUT, ENDPOINT_OPERATION_OUTPUT, @@ -815,16 +862,16 @@ 18, n1, _EWHLHOI, - {_sSI: _aHLHI}, + {_sSI: _aHLHI, _s: None}, (_aI,), - ((3, {_sH: _XAAI, _sLm: None, _smi: None}),), + ((3, {_sH: _XAAI, _sLm: None, _smith: None}),), ) ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION_OUTPUT: StaticSchema = ( 18, n1, _EWHLHOO, - {_sSI: _sU}, + {_sSI: _sU, _sm: None}, ) ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION: StaticOperationSchema = ( @@ -832,8 +879,8 @@ n1, _EWHLHO, { - _smit: MappingProxyType({"hostPrefix": "{accountId}."}), - _s: MappingProxyType( + _smithy: MappingProxyType({"hostPrefix": "{accountId}."}), + _smi: MappingProxyType( {"uri": "/EndpointWithHostLabelHeaderOperation", "method": "POST"} ), }, @@ -846,20 +893,25 @@ 18, n1, _EWHLOI, - {_sSI: _aEWHLOR}, + {_sSI: _aEWHLOR, _s: None}, (_l,), ((3, 257),), ) -ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT: StaticSchema = (18, n1, _EWHLOO, {_sSI: _sU}) +ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT: StaticSchema = ( + 18, + n1, + _EWHLOO, + {_sSI: _sU, _sm: None}, +) ENDPOINT_WITH_HOST_LABEL_OPERATION: StaticOperationSchema = ( 23, n1, _EWHLO, { - _smit: MappingProxyType({"hostPrefix": "foo.{label}."}), - _s: MappingProxyType( + _smithy: MappingProxyType({"hostPrefix": "foo.{label}."}), + _smi: MappingProxyType( {"uri": "/EndpointWithHostLabelOperation", "method": "POST"} ), }, @@ -868,13 +920,13 @@ (), ) -FOO_ENUM_MAP: StaticSchema = (17, n0, _FEM, 0, (_k, _v), ((3, 0), (FOO_ENUM, 0))) +FOO_ENUM_MAP: StaticSchema = (17, n0, _FEM, 0, (_k, _va), ((3, 0), (FOO_ENUM, 0))) FLATTENED_XML_MAP_INPUT: StaticSchema = ( 18, n1, _FXMI, - {_sSI: _aFXMR}, + {_sSI: _aFXMR, _s: None}, (_mM,), ((FOO_ENUM_MAP, {_sFm: None}),), ) @@ -883,7 +935,7 @@ 18, n1, _FXMO, - {_sSI: _aFXMRw}, + {_sSI: _aFXMRw, _sm: None}, (_mM,), ((FOO_ENUM_MAP, {_sFm: None}),), ) @@ -892,7 +944,7 @@ 23, n1, _FXM, - {_s: MappingProxyType({"uri": "/FlattenedXmlMap", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/FlattenedXmlMap", "method": "POST"})}, FLATTENED_XML_MAP_INPUT, FLATTENED_XML_MAP_OUTPUT, (), @@ -903,7 +955,7 @@ n1, _FXMWXNIOM, 0, - (_k, _v), + (_k, _va), ((3, {_sN: _K}), (3, {_sN: _V})), ) @@ -911,7 +963,7 @@ 18, n1, _FXMWXNI, - {_sSI: _aFXMWXNR}, + {_sSI: _aFXMWXNR, _s: None}, (_mM,), ((FLATTENED_XML_MAP_WITH_XML_NAME_INPUT_OUTPUT_MAP, {_sN: _KVP, _sFm: None}),), ) @@ -920,7 +972,7 @@ 18, n1, _FXMWXNO, - {_sSI: _aFXMWXNRw}, + {_sSI: _aFXMWXNRw, _sm: None}, (_mM,), ((FLATTENED_XML_MAP_WITH_XML_NAME_INPUT_OUTPUT_MAP, {_sN: _KVP, _sFm: None}),), ) @@ -929,7 +981,7 @@ 23, n1, _FXMWXN, - {_s: MappingProxyType({"uri": "/FlattenedXmlMapWithXmlName", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/FlattenedXmlMapWithXmlName", "method": "POST"})}, FLATTENED_XML_MAP_WITH_XML_NAME_INPUT, FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT, (), @@ -939,7 +991,7 @@ 18, n1, _FXMWXNIl, - {_sSI: _sU}, + {_sSI: _sU, _s: None}, ) FLATTENED_XML_MAP_WITH_XML_NAMESPACE_OUTPUT_MAP: StaticSchema = ( @@ -947,7 +999,7 @@ n1, _FXMWXNOM, 0, - (_k, _v), + (_k, _va), ( (3, {_sN: _K, _sNm: MappingProxyType({"uri": "https://the-key.example.com"})}), ( @@ -961,7 +1013,7 @@ 18, n1, _FXMWXNOl, - 0, + {_sm: None}, (_mM,), ( ( @@ -980,7 +1032,7 @@ n1, _FXMWXNl, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/FlattenedXmlMapWithXmlNamespace", "method": "POST"} ) }, @@ -989,40 +1041,47 @@ (), ) -FOO_PREFIX_HEADERS: StaticSchema = (17, n1, _FPH, 0, (_k, _v), ((3, 0), (3, 0))) +FOO_PREFIX_HEADERS: StaticSchema = (17, n1, _FPH, 0, (_k, _va), ((3, 0), (3, 0))) -FRACTIONAL_SECONDS_INPUT: StaticSchema = (18, n1, _FSI, {_sSI: _sU}) +FRACTIONAL_SECONDS_INPUT: StaticSchema = (18, n1, _FSI, {_sSI: _sU, _s: None}) -FRACTIONAL_SECONDS_OUTPUT: StaticSchema = (18, n1, _FSO, 0, (_d,), ((DATE_TIME, 0),)) +FRACTIONAL_SECONDS_OUTPUT: StaticSchema = ( + 18, + n1, + _FSO, + {_sm: None}, + (_d,), + ((DATE_TIME, 0),), +) FRACTIONAL_SECONDS: StaticOperationSchema = ( 23, n1, _FS, - {_s: MappingProxyType({"uri": "/FractionalSeconds", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/FractionalSeconds", "method": "POST"})}, FRACTIONAL_SECONDS_INPUT, FRACTIONAL_SECONDS_OUTPUT, (), ) -GREETING_WITH_ERRORS_INPUT: StaticSchema = (18, n1, _GWEI, {_sSI: _sU}) +GREETING_WITH_ERRORS_INPUT: StaticSchema = (18, n1, _GWEI, {_sSI: _sU, _s: None}) GREETING_WITH_ERRORS_OUTPUT: StaticSchema = ( 18, n1, _GWEO, - 0, + {_sm: None}, (_g,), ((3, {_sH: _XG}),), ) -INVALID_GREETING: StaticSchema = (18, n1, _IG, {_sm: _c, _sE: 400}, (_M,), ((3, 0),)) +INVALID_GREETING: StaticSchema = (18, n1, _IG, {_smit: _c, _sE: 400}, (_M,), ((3, 0),)) GREETING_WITH_ERRORS: StaticOperationSchema = ( 23, n1, _GWE, - {_s: MappingProxyType({"uri": "/GreetingWithErrors", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/GreetingWithErrors", "method": "PUT"})}, GREETING_WITH_ERRORS_INPUT, GREETING_WITH_ERRORS_OUTPUT, (INVALID_GREETING, COMPLEX_ERROR), @@ -1032,37 +1091,37 @@ 18, n1, _HEPHI, - 0, + {_s: None}, (_pH, _sHp), - ((STRING_MAP, {_sPH: _v_}), (3, {_sH: _h})), + ((STRING_MAP, {_sPH: _v__}), (3, {_sH: _h})), ) HTTP_EMPTY_PREFIX_HEADERS_OUTPUT: StaticSchema = ( 18, n1, _HEPHO, - 0, + {_sm: None}, (_pH, _sHp), - ((STRING_MAP, {_sPH: _v_}), (3, {_sH: _h})), + ((STRING_MAP, {_sPH: _v__}), (3, {_sH: _h})), ) HTTP_EMPTY_PREFIX_HEADERS: StaticOperationSchema = ( 23, n1, _HEPH, - {_s: MappingProxyType({"uri": "/HttpEmptyPrefixHeaders", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/HttpEmptyPrefixHeaders", "method": "GET"})}, HTTP_EMPTY_PREFIX_HEADERS_INPUT, HTTP_EMPTY_PREFIX_HEADERS_OUTPUT, (), ) -STRING_ENUM: StaticSchema = (14, n1, _SE, 0, (_V,), ((-1, 0),)) +STRING_ENUM: StaticSchema = (14, n1, _SE, 0, (_V,), ((-1, {_sV: _e}),)) HTTP_ENUM_PAYLOAD_INPUT: StaticSchema = ( 18, n1, _HEPI, - {_sSI: _aEPI}, + {_sSI: _aEPI, _s: None}, (_p,), ((STRING_ENUM, 16),), ) @@ -1071,7 +1130,7 @@ 18, n1, _HEPO, - {_sSI: _aEPI}, + {_sSI: _aEPI, _sm: None}, (_p,), ((STRING_ENUM, 16),), ) @@ -1080,7 +1139,7 @@ 23, n1, _HEP, - {_s: MappingProxyType({"uri": "/EnumPayload", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/EnumPayload", "method": "POST"})}, HTTP_ENUM_PAYLOAD_INPUT, HTTP_ENUM_PAYLOAD_OUTPUT, (), @@ -1090,7 +1149,7 @@ 18, n1, _HPTI, - {_sSI: _aHPTIO}, + {_sSI: _aHPTIO, _s: None}, (_f, _bl), ((3, {_sH: _XF}), (1, 16)), ) @@ -1099,7 +1158,7 @@ 18, n1, _HPTO, - {_sSI: _aHPTIO}, + {_sSI: _aHPTIO, _sm: None}, (_f, _bl), ((3, {_sH: _XF}), (1, 16)), ) @@ -1108,7 +1167,7 @@ 23, n1, _HPT, - {_s: MappingProxyType({"uri": "/HttpPayloadTraits", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/HttpPayloadTraits", "method": "POST"})}, HTTP_PAYLOAD_TRAITS_INPUT, HTTP_PAYLOAD_TRAITS_OUTPUT, (), @@ -1120,7 +1179,7 @@ 18, n1, _HPTWMTI, - {_sSI: _aHPTWMTIO}, + {_sSI: _aHPTWMTIO, _s: None}, (_f, _bl), ((3, {_sH: _XF}), (TEXT_PLAIN_BLOB, 16)), ) @@ -1129,7 +1188,7 @@ 18, n1, _HPTWMTO, - {_sSI: _aHPTWMTIO}, + {_sSI: _aHPTWMTIO, _sm: None}, (_f, _bl), ((3, {_sH: _XF}), (TEXT_PLAIN_BLOB, 16)), ) @@ -1139,7 +1198,7 @@ n1, _HPTWMT, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/HttpPayloadTraitsWithMediaType", "method": "POST"} ) }, @@ -1152,7 +1211,7 @@ 18, n1, _HPWMXNI, - {_sSI: _aHPWMXNIO}, + {_sSI: _aHPWMXNIO, _s: None}, (_ne,), ((PAYLOAD_WITH_XML_NAME, {_sN: _Ho, _sP: None}),), ) @@ -1161,7 +1220,7 @@ 18, n1, _HPWMXNO, - {_sSI: _aHPWMXNIO}, + {_sSI: _aHPWMXNIO, _sm: None}, (_ne,), ((PAYLOAD_WITH_XML_NAME, {_sN: _Ho, _sP: None}),), ) @@ -1170,7 +1229,7 @@ 23, n1, _HPWMXN, - {_s: MappingProxyType({"uri": "/HttpPayloadWithMemberXmlName", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/HttpPayloadWithMemberXmlName", "method": "PUT"})}, HTTP_PAYLOAD_WITH_MEMBER_XML_NAME_INPUT, HTTP_PAYLOAD_WITH_MEMBER_XML_NAME_OUTPUT, (), @@ -1182,7 +1241,7 @@ 18, n1, _HPWSI, - {_sSI: _aHPWSIO}, + {_sSI: _aHPWSIO, _s: None}, (_ne,), ((NESTED_PAYLOAD, 16),), ) @@ -1191,7 +1250,7 @@ 18, n1, _HPWSO, - {_sSI: _aHPWSIO}, + {_sSI: _aHPWSIO, _sm: None}, (_ne,), ((NESTED_PAYLOAD, 16),), ) @@ -1200,7 +1259,7 @@ 23, n1, _HPWS, - {_s: MappingProxyType({"uri": "/HttpPayloadWithStructure", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/HttpPayloadWithStructure", "method": "PUT"})}, HTTP_PAYLOAD_WITH_STRUCTURE_INPUT, HTTP_PAYLOAD_WITH_STRUCTURE_OUTPUT, (), @@ -1212,7 +1271,7 @@ 18, n1, _HPWUI, - {_sSI: _aHPWUIO}, + {_sSI: _aHPWUIO, _s: None}, (_ne,), ((UNION_PAYLOAD, 16),), ) @@ -1221,7 +1280,7 @@ 18, n1, _HPWUO, - {_sSI: _aHPWUIO}, + {_sSI: _aHPWUIO, _sm: None}, (_ne,), ((UNION_PAYLOAD, 16),), ) @@ -1230,7 +1289,7 @@ 23, n1, _HPWU, - {_s: MappingProxyType({"uri": "/HttpPayloadWithUnion", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/HttpPayloadWithUnion", "method": "PUT"})}, HTTP_PAYLOAD_WITH_UNION_INPUT, HTTP_PAYLOAD_WITH_UNION_OUTPUT, (), @@ -1240,7 +1299,7 @@ 18, n1, _HPWXNI, - {_sSI: _aHPWXNIO}, + {_sSI: _aHPWXNIO, _s: None}, (_ne,), ((PAYLOAD_WITH_XML_NAME, 16),), ) @@ -1249,7 +1308,7 @@ 18, n1, _HPWXNO, - {_sSI: _aHPWXNIO}, + {_sSI: _aHPWXNIO, _sm: None}, (_ne,), ((PAYLOAD_WITH_XML_NAME, 16),), ) @@ -1258,7 +1317,7 @@ 23, n1, _HPWXN, - {_s: MappingProxyType({"uri": "/HttpPayloadWithXmlName", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/HttpPayloadWithXmlName", "method": "PUT"})}, HTTP_PAYLOAD_WITH_XML_NAME_INPUT, HTTP_PAYLOAD_WITH_XML_NAME_OUTPUT, (), @@ -1277,7 +1336,7 @@ 18, n1, _HPWXNIt, - {_sSI: _aHPWXNIOw}, + {_sSI: _aHPWXNIOw, _s: None}, (_ne,), ((PAYLOAD_WITH_XML_NAMESPACE, 16),), ) @@ -1286,7 +1345,7 @@ 18, n1, _HPWXNOt, - {_sSI: _aHPWXNIOw}, + {_sSI: _aHPWXNIOw, _sm: None}, (_ne,), ((PAYLOAD_WITH_XML_NAMESPACE, 16),), ) @@ -1295,7 +1354,7 @@ 23, n1, _HPWXNt, - {_s: MappingProxyType({"uri": "/HttpPayloadWithXmlNamespace", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/HttpPayloadWithXmlNamespace", "method": "PUT"})}, HTTP_PAYLOAD_WITH_XML_NAMESPACE_INPUT, HTTP_PAYLOAD_WITH_XML_NAMESPACE_OUTPUT, (), @@ -1314,7 +1373,7 @@ 18, n1, _HPWXNAPI, - {_sSI: _aHPWXNAPIO}, + {_sSI: _aHPWXNAPIO, _s: None}, (_ne,), ((PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX, 16),), ) @@ -1323,7 +1382,7 @@ 18, n1, _HPWXNAPO, - {_sSI: _aHPWXNAPIO}, + {_sSI: _aHPWXNAPIO, _sm: None}, (_ne,), ((PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX, 16),), ) @@ -1333,7 +1392,7 @@ n1, _HPWXNAP, { - _s: MappingProxyType( + _smi: MappingProxyType( {"uri": "/HttpPayloadWithXmlNamespaceAndPrefix", "method": "PUT"} ) }, @@ -1346,7 +1405,7 @@ 18, n1, _HPHI, - {_sSI: _aHPHIO}, + {_sSI: _aHPHIO, _s: None}, (_f, _fM), ((3, {_sH: _xf}), (FOO_PREFIX_HEADERS, {_sPH: _xf_})), ) @@ -1355,7 +1414,7 @@ 18, n1, _HPHO, - {_sSI: _aHPHIO}, + {_sSI: _aHPHIO, _sm: None}, (_f, _fM), ((3, {_sH: _xf}), (FOO_PREFIX_HEADERS, {_sPH: _xf_})), ) @@ -1364,7 +1423,7 @@ 23, n1, _HPH, - {_s: MappingProxyType({"uri": "/HttpPrefixHeaders", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/HttpPrefixHeaders", "method": "GET"})}, HTTP_PREFIX_HEADERS_INPUT, HTTP_PREFIX_HEADERS_OUTPUT, (), @@ -1374,19 +1433,24 @@ 18, n1, _HRWFLI, - 0, + {_s: None}, (_fl, _do), ((9, 9), (10, 9)), ) -HTTP_REQUEST_WITH_FLOAT_LABELS_OUTPUT: StaticSchema = (18, n1, _HRWFLO, {_sSI: _sU}) +HTTP_REQUEST_WITH_FLOAT_LABELS_OUTPUT: StaticSchema = ( + 18, + n1, + _HRWFLO, + {_sSI: _sU, _sm: None}, +) HTTP_REQUEST_WITH_FLOAT_LABELS: StaticOperationSchema = ( 23, n1, _HRWFL, { - _s: MappingProxyType( + _smi: MappingProxyType( {"method": "GET", "uri": "/FloatHttpLabels/{float}/{double}"} ) }, @@ -1399,7 +1463,7 @@ 18, n1, _HRWGLIPI, - 0, + {_s: None}, (_f, _b), ((3, 9), (3, 9)), ) @@ -1408,7 +1472,7 @@ 18, n1, _HRWGLIPO, - {_sSI: _sU}, + {_sSI: _sU, _sm: None}, ) HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH: StaticOperationSchema = ( @@ -1416,7 +1480,7 @@ n1, _HRWGLIP, { - _s: MappingProxyType( + _smi: MappingProxyType( { "method": "GET", "uri": "/HttpRequestWithGreedyLabelInPath/foo/{foo}/baz/{baz+}", @@ -1432,19 +1496,19 @@ 18, n1, _HRWLI, - 0, + {_s: None}, (_st, _sh, _i, _lo, _fl, _do, _bo, _ti), ((3, 9), (6, 9), (7, 9), (8, 9), (9, 9), (10, 9), (2, 9), (4, 9)), ) -HTTP_REQUEST_WITH_LABELS_OUTPUT: StaticSchema = (18, n1, _HRWLO, {_sSI: _sU}) +HTTP_REQUEST_WITH_LABELS_OUTPUT: StaticSchema = (18, n1, _HRWLO, {_sSI: _sU, _sm: None}) HTTP_REQUEST_WITH_LABELS: StaticOperationSchema = ( 23, n1, _HRWL, { - _s: MappingProxyType( + _smi: MappingProxyType( { "method": "GET", "uri": "/HttpRequestWithLabels/{string}/{short}/{integer}/{long}/{float}/{double}/{boolean}/{timestamp}", @@ -1464,12 +1528,12 @@ 18, n1, _HRWLATFI, - 0, + {_s: None}, (_mES, _mHD, _mDT, _dF, _tES, _tHD, _tDT), ( - (4, {_sF: _es, _smi: None, _sL: None}), - (4, {_sF: _hd, _smi: None, _sL: None}), - (4, {_sF: _dt, _smi: None, _sL: None}), + (4, {_sF: _es, _smith: None, _sL: None}), + (4, {_sF: _hd, _smith: None, _sL: None}), + (4, {_sF: _dt, _smith: None, _sL: None}), (4, 9), (EPOCH_SECONDS, 9), (HTTP_DATE, 9), @@ -1481,7 +1545,7 @@ 18, n1, _HRWLATFO, - {_sSI: _sU}, + {_sSI: _sU, _sm: None}, ) HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT: StaticOperationSchema = ( @@ -1489,7 +1553,7 @@ n1, _HRWLATF, { - _s: MappingProxyType( + _smi: MappingProxyType( { "method": "GET", "uri": "/HttpRequestWithLabelsAndTimestampFormat/{memberEpochSeconds}/{memberHttpDate}/{memberDateTime}/{defaultFormat}/{targetEpochSeconds}/{targetHttpDate}/{targetDateTime}", @@ -1501,15 +1565,22 @@ (), ) -HTTP_RESPONSE_CODE_INPUT: StaticSchema = (18, n1, _HRCI, {_sSI: _sU}) +HTTP_RESPONSE_CODE_INPUT: StaticSchema = (18, n1, _HRCI, {_sSI: _sU, _s: None}) -HTTP_RESPONSE_CODE_OUTPUT: StaticSchema = (18, n1, _HRCO, 0, (_St,), ((7, 128),)) +HTTP_RESPONSE_CODE_OUTPUT: StaticSchema = ( + 18, + n1, + _HRCO, + {_sm: None}, + (_St,), + ((7, 128),), +) HTTP_RESPONSE_CODE: StaticOperationSchema = ( 23, n1, _HRC, - {_s: MappingProxyType({"uri": "/HttpResponseCode", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/HttpResponseCode", "method": "PUT"})}, HTTP_RESPONSE_CODE_INPUT, HTTP_RESPONSE_CODE_OUTPUT, (), @@ -1519,7 +1590,7 @@ 18, n1, _HSPI, - {_sSI: _aSPI}, + {_sSI: _aSPI, _s: None}, (_p,), ((3, 16),), ) @@ -1528,7 +1599,7 @@ 18, n1, _HSPO, - {_sSI: _aSPI}, + {_sSI: _aSPI, _sm: None}, (_p,), ((3, 16),), ) @@ -1537,19 +1608,24 @@ 23, n1, _HSP, - {_s: MappingProxyType({"uri": "/StringPayload", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/StringPayload", "method": "POST"})}, HTTP_STRING_PAYLOAD_INPUT, HTTP_STRING_PAYLOAD_OUTPUT, (), ) -IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT: StaticSchema = (18, n1, _IQPIRI, {_sSI: _sU}) +IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT: StaticSchema = ( + 18, + n1, + _IQPIRI, + {_sSI: _sU, _s: None}, +) IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT: StaticSchema = ( 18, n1, _IQPIRO, - 0, + {_sm: None}, (_b,), ((3, {_sQ: _b}),), ) @@ -1558,7 +1634,7 @@ 23, n1, _IQPIR, - {_s: MappingProxyType({"uri": "/IgnoreQueryParamsInResponse", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/IgnoreQueryParamsInResponse", "method": "GET"})}, IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT, IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT, (), @@ -1568,7 +1644,7 @@ 18, n1, _IAOWHI, - {_sSI: _aIAOWHIO}, + {_sSI: _aIAOWHIO, _s: None}, ( _hS, _hB, @@ -1611,7 +1687,7 @@ 18, n1, _IAOWHO, - {_sSI: _aIAOWHIO}, + {_sSI: _aIAOWHIO, _sm: None}, ( _hS, _hB, @@ -1654,7 +1730,7 @@ 23, n1, _IAOWH, - {_s: MappingProxyType({"uri": "/InputAndOutputWithHeaders", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/InputAndOutputWithHeaders", "method": "POST"})}, INPUT_AND_OUTPUT_WITH_HEADERS_INPUT, INPUT_AND_OUTPUT_WITH_HEADERS_OUTPUT, (), @@ -1678,13 +1754,13 @@ ((3, 0),), ) -NESTED_MAP: StaticSchema = (17, n1, _NM, 0, (_k, _v), ((3, 0), (FOO_ENUM_MAP, 0))) +NESTED_MAP: StaticSchema = (17, n1, _NM, 0, (_k, _va), ((3, 0), (FOO_ENUM_MAP, 0))) NESTED_XML_MAPS_INPUT: StaticSchema = ( 18, n1, _NXMI, - {_sSI: _aNXMR}, + {_sSI: _aNXMR, _s: None}, (_nM, _fNM), ((NESTED_MAP, 0), (NESTED_MAP, {_sFm: None})), ) @@ -1693,7 +1769,7 @@ 18, n1, _NXMO, - {_sSI: _aNXMRw}, + {_sSI: _aNXMRw, _sm: None}, (_nM, _fNM), ((NESTED_MAP, 0), (NESTED_MAP, {_sFm: None})), ) @@ -1702,7 +1778,7 @@ 23, n1, _NXM, - {_s: MappingProxyType({"uri": "/NestedXmlMaps", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/NestedXmlMaps", "method": "POST"})}, NESTED_XML_MAPS_INPUT, NESTED_XML_MAPS_OUTPUT, (), @@ -1713,7 +1789,7 @@ n1, _NXMWXNIM, 0, - (_k, _v), + (_k, _va), ((3, {_sN: _IK}), (3, {_sN: _IV})), ) @@ -1722,7 +1798,7 @@ n1, _NXMWXNM, 0, - (_k, _v), + (_k, _va), ((3, {_sN: _OK}), (NESTED_XML_MAP_WITH_XML_NAME_INNER_MAP, 0)), ) @@ -1730,7 +1806,7 @@ 18, n1, _NXMWXNI, - {_sSI: _aNXMWXNR}, + {_sSI: _aNXMWXNR, _s: None}, (_nXMWXNM,), ((NESTED_XML_MAP_WITH_XML_NAME_MAP, 0),), ) @@ -1739,7 +1815,7 @@ 18, n1, _NXMWXNO, - {_sSI: _aNXMWXNRw}, + {_sSI: _aNXMWXNRw, _sm: None}, (_nXMWXNM,), ((NESTED_XML_MAP_WITH_XML_NAME_MAP, 0),), ) @@ -1748,35 +1824,35 @@ 23, n1, _NXMWXN, - {_s: MappingProxyType({"uri": "/NestedXmlMapWithXmlName", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/NestedXmlMapWithXmlName", "method": "POST"})}, NESTED_XML_MAP_WITH_XML_NAME_INPUT, NESTED_XML_MAP_WITH_XML_NAME_OUTPUT, (), ) -NO_INPUT_AND_NO_OUTPUT_INPUT: StaticSchema = (18, n1, _NIANOI, {_sSI: _sU}) +NO_INPUT_AND_NO_OUTPUT_INPUT: StaticSchema = (18, n1, _NIANOI, {_sSI: _sU, _s: None}) -NO_INPUT_AND_NO_OUTPUT_OUTPUT: StaticSchema = (18, n1, _NIANOO, {_sSI: _sU}) +NO_INPUT_AND_NO_OUTPUT_OUTPUT: StaticSchema = (18, n1, _NIANOO, {_sSI: _sU, _sm: None}) NO_INPUT_AND_NO_OUTPUT: StaticOperationSchema = ( 23, n1, _NIANO, - {_s: MappingProxyType({"uri": "/NoInputAndNoOutput", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/NoInputAndNoOutput", "method": "POST"})}, NO_INPUT_AND_NO_OUTPUT_INPUT, NO_INPUT_AND_NO_OUTPUT_OUTPUT, (), ) -NO_INPUT_AND_OUTPUT_INPUT: StaticSchema = (18, n1, _NIAOI, {_sSI: _sU}) +NO_INPUT_AND_OUTPUT_INPUT: StaticSchema = (18, n1, _NIAOI, {_sSI: _sU, _s: None}) -NO_INPUT_AND_OUTPUT_OUTPUT: StaticSchema = (18, n1, _NIAOO, 0) +NO_INPUT_AND_OUTPUT_OUTPUT: StaticSchema = (18, n1, _NIAOO, {_sm: None}) NO_INPUT_AND_OUTPUT: StaticOperationSchema = ( 23, n1, _NIAO, - {_s: MappingProxyType({"uri": "/NoInputAndOutputOutput", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/NoInputAndOutputOutput", "method": "POST"})}, NO_INPUT_AND_OUTPUT_INPUT, NO_INPUT_AND_OUTPUT_OUTPUT, (), @@ -1786,7 +1862,7 @@ 18, n1, _NAEHCI, - {_sSI: _aNAEHIO}, + {_sSI: _aNAEHIO, _s: None}, (_a, _b_, _c_), ((3, {_sH: _XA}), (3, {_sH: _XB____}), (STRING_LIST, {_sH: _XC})), ) @@ -1795,7 +1871,7 @@ 18, n1, _NAEHCO, - {_sSI: _aNAEHIO}, + {_sSI: _aNAEHIO, _sm: None}, (_a, _b_, _c_), ((3, {_sH: _XA}), (3, {_sH: _XB____}), (STRING_LIST, {_sH: _XC})), ) @@ -1804,7 +1880,7 @@ 23, n1, _NAEHC, - {_s: MappingProxyType({"uri": "/NullAndEmptyHeadersClient", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/NullAndEmptyHeadersClient", "method": "GET"})}, NULL_AND_EMPTY_HEADERS_CLIENT_INPUT, NULL_AND_EMPTY_HEADERS_CLIENT_OUTPUT, (), @@ -1814,7 +1890,7 @@ 18, n1, _NAEHSI, - {_sSI: _aNAEHIO}, + {_sSI: _aNAEHIO, _s: None}, (_a, _b_, _c_), ((3, {_sH: _XA}), (3, {_sH: _XB____}), (STRING_LIST, {_sH: _XC})), ) @@ -1823,7 +1899,7 @@ 18, n1, _NAEHSO, - {_sSI: _aNAEHIO}, + {_sSI: _aNAEHIO, _sm: None}, (_a, _b_, _c_), ((3, {_sH: _XA}), (3, {_sH: _XB____}), (STRING_LIST, {_sH: _XC})), ) @@ -1832,7 +1908,7 @@ 23, n1, _NAEHS, - {_s: MappingProxyType({"uri": "/NullAndEmptyHeadersServer", "method": "GET"})}, + {_smi: MappingProxyType({"uri": "/NullAndEmptyHeadersServer", "method": "GET"})}, NULL_AND_EMPTY_HEADERS_SERVER_INPUT, NULL_AND_EMPTY_HEADERS_SERVER_OUTPUT, (), @@ -1842,18 +1918,27 @@ 18, n1, _ONSESI, - 0, + {_s: None}, (_nV, _eS), ((3, {_sQ: _Nu}), (3, {_sQ: _Em})), ) -OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT: StaticSchema = (18, n1, _ONSESO, {_sSI: _sU}) +OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT: StaticSchema = ( + 18, + n1, + _ONSESO, + {_sSI: _sU, _sm: None}, +) OMITS_NULL_SERIALIZES_EMPTY_STRING: StaticOperationSchema = ( 23, n1, _ONSES, - {_s: MappingProxyType({"uri": "/OmitsNullSerializesEmptyString", "method": "GET"})}, + { + _smi: MappingProxyType( + {"uri": "/OmitsNullSerializesEmptyString", "method": "GET"} + ) + }, OMITS_NULL_SERIALIZES_EMPTY_STRING_INPUT, OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT, (), @@ -1863,12 +1948,17 @@ 18, n1, _PWCEI, - 0, - (_e, _da), + {_s: None}, + (_en, _da), ((3, {_sH: _CE_}), (3, 0)), ) -PUT_WITH_CONTENT_ENCODING_OUTPUT: StaticSchema = (18, n1, _PWCEO, {_sSI: _sU}) +PUT_WITH_CONTENT_ENCODING_OUTPUT: StaticSchema = ( + 18, + n1, + _PWCEO, + {_sSI: _sU, _sm: None}, +) PUT_WITH_CONTENT_ENCODING: StaticOperationSchema = ( 23, @@ -1876,7 +1966,7 @@ _PWCE, { _sC: MappingProxyType({"encodings": ("gzip",)}), - _s: MappingProxyType( + _smi: MappingProxyType( {"method": "POST", "uri": "/requestcompression/putcontentwithencoding"} ), }, @@ -1889,41 +1979,55 @@ 18, n1, _QITAFI, - 0, + {_s: None}, (_to,), ((3, {_sQ: _to, _sTm: None}),), ) -QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT: StaticSchema = (18, n1, _QITAFO, {_sSI: _sU}) +QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT: StaticSchema = ( + 18, + n1, + _QITAFO, + {_sSI: _sU, _sm: None}, +) QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL: StaticOperationSchema = ( 23, n1, _QITAF, - {_s: MappingProxyType({"uri": "/QueryIdempotencyTokenAutoFill", "method": "POST"})}, + { + _smi: MappingProxyType( + {"uri": "/QueryIdempotencyTokenAutoFill", "method": "POST"} + ) + }, QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT, QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT, (), ) -STRING_LIST_MAP: StaticSchema = (17, n0, _SLM, 0, (_k, _v), ((3, 0), (STRING_LIST, 0))) +STRING_LIST_MAP: StaticSchema = (17, n0, _SLM, 0, (_k, _va), ((3, 0), (STRING_LIST, 0))) QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT: StaticSchema = ( 18, n1, _QPASLMI, - 0, + {_s: None}, (_q, _f), ((3, {_sQ: _co}), (STRING_LIST_MAP, 1024)), ) -QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT: StaticSchema = (18, n1, _QPASLMO, {_sSI: _sU}) +QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT: StaticSchema = ( + 18, + n1, + _QPASLMO, + {_sSI: _sU, _sm: None}, +) QUERY_PARAMS_AS_STRING_LIST_MAP: StaticOperationSchema = ( 23, n1, _QPASLM, - {_s: MappingProxyType({"uri": "/StringListMap", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/StringListMap", "method": "POST"})}, QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT, QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT, (), @@ -1933,18 +2037,18 @@ 18, n1, _QPI, - 0, + {_s: None}, (_f, _b), ((3, {_sQ: _ba}), (STRING_MAP, 1024)), ) -QUERY_PRECEDENCE_OUTPUT: StaticSchema = (18, n1, _QPO, {_sSI: _sU}) +QUERY_PRECEDENCE_OUTPUT: StaticSchema = (18, n1, _QPO, {_sSI: _sU, _sm: None}) QUERY_PRECEDENCE: StaticOperationSchema = ( 23, n1, _QP, - {_s: MappingProxyType({"uri": "/Precedence", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/Precedence", "method": "POST"})}, QUERY_PRECEDENCE_INPUT, QUERY_PRECEDENCE_OUTPUT, (), @@ -1956,8 +2060,8 @@ 18, n1, _SSPI, - {_sSI: _aSSPR}, - (_f, _sV, _tBV, _fBV, _bV, _sVh, _iV, _lV, _fV, _dV), + {_sSI: _aSSPR, _s: None}, + (_f, _sVt, _tBV, _fBV, _bV, _sVh, _iV, _lV, _fV, _dV), ( (3, {_sH: _XF}), (3, 0), @@ -1976,8 +2080,8 @@ 18, n1, _SSPO, - {_sSI: _aSSPRw}, - (_f, _sV, _tBV, _fBV, _bV, _sVh, _iV, _lV, _fV, _dV), + {_sSI: _aSSPRw, _sm: None}, + (_f, _sVt, _tBV, _fBV, _bV, _sVh, _iV, _lV, _fV, _dV), ( (3, {_sH: _XF}), (3, 0), @@ -1996,7 +2100,7 @@ 23, n1, _SSP, - {_s: MappingProxyType({"uri": "/SimpleScalarProperties", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/SimpleScalarProperties", "method": "PUT"})}, SIMPLE_SCALAR_PROPERTIES_INPUT, SIMPLE_SCALAR_PROPERTIES_OUTPUT, (), @@ -2006,7 +2110,7 @@ 18, n1, _TFHI, - {_sSI: _aTFHIO}, + {_sSI: _aTFHIO, _s: None}, (_mES, _mHD, _mDT, _dF, _tES, _tHD, _tDT), ( (4, {_sF: _es, _sH: _Xm}), @@ -2023,7 +2127,7 @@ 18, n1, _TFHO, - {_sSI: _aTFHIO}, + {_sSI: _aTFHIO, _sm: None}, (_mES, _mHD, _mDT, _dF, _tES, _tHD, _tDT), ( (4, {_sF: _es, _sH: _Xm}), @@ -2040,7 +2144,7 @@ 23, n1, _TFH, - {_s: MappingProxyType({"uri": "/TimestampFormatHeaders", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/TimestampFormatHeaders", "method": "POST"})}, TIMESTAMP_FORMAT_HEADERS_INPUT, TIMESTAMP_FORMAT_HEADERS_OUTPUT, (), @@ -2050,7 +2154,7 @@ 18, n1, _XAI, - {_sSI: _aXAR}, + {_sSI: _aXAR, _s: None}, (_f, _at), ((3, 0), (3, {_sN: _te, _sA: None})), ) @@ -2059,7 +2163,7 @@ 18, n1, _XAO, - {_sSI: _aXARw}, + {_sSI: _aXARw, _sm: None}, (_f, _at), ((3, 0), (3, {_sN: _te, _sA: None})), ) @@ -2068,7 +2172,7 @@ 23, n1, _XAm, - {_s: MappingProxyType({"uri": "/XmlAttributes", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/XmlAttributes", "method": "PUT"})}, XML_ATTRIBUTES_INPUT, XML_ATTRIBUTES_OUTPUT, (), @@ -2087,7 +2191,7 @@ 18, n1, _XAIMI, - {_sSI: _aXAIMR}, + {_sSI: _aXAIMR, _s: None}, (_p,), ((XML_ATTRIBUTES_IN_MIDDLE_PAYLOAD_REQUEST, 16),), ) @@ -2105,7 +2209,7 @@ 18, n1, _XAIMO, - {_sSI: _aXAIMRw}, + {_sSI: _aXAIMRw, _sm: None}, (_p,), ((XML_ATTRIBUTES_IN_MIDDLE_PAYLOAD_RESPONSE, 16),), ) @@ -2114,7 +2218,7 @@ 23, n1, _XAIM, - {_s: MappingProxyType({"uri": "/XmlAttributesInMiddle", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/XmlAttributesInMiddle", "method": "PUT"})}, XML_ATTRIBUTES_IN_MIDDLE_INPUT, XML_ATTRIBUTES_IN_MIDDLE_OUTPUT, (), @@ -2133,7 +2237,7 @@ 18, n1, _XAOPI, - {_sSI: _aXAOPR}, + {_sSI: _aXAOPR, _s: None}, (_p,), ((XML_ATTRIBUTES_PAYLOAD_REQUEST, 16),), ) @@ -2151,7 +2255,7 @@ 18, n1, _XAOPO, - {_sSI: _aXAOPRw}, + {_sSI: _aXAOPRw, _sm: None}, (_p,), ((XML_ATTRIBUTES_PAYLOAD_RESPONSE, 16),), ) @@ -2160,33 +2264,54 @@ 23, n1, _XAOP, - {_s: MappingProxyType({"uri": "/XmlAttributesOnPayload", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/XmlAttributesOnPayload", "method": "PUT"})}, XML_ATTRIBUTES_ON_PAYLOAD_INPUT, XML_ATTRIBUTES_ON_PAYLOAD_OUTPUT, (), ) -XML_BLOBS_INPUT: StaticSchema = (18, n1, _XBI, {_sSI: _aXBR}, (_da,), ((1, 0),)) +XML_BLOBS_INPUT: StaticSchema = ( + 18, + n1, + _XBI, + {_sSI: _aXBR, _s: None}, + (_da,), + ((1, 0),), +) -XML_BLOBS_OUTPUT: StaticSchema = (18, n1, _XBO, {_sSI: _aXBRw}, (_da,), ((1, 0),)) +XML_BLOBS_OUTPUT: StaticSchema = ( + 18, + n1, + _XBO, + {_sSI: _aXBRw, _sm: None}, + (_da,), + ((1, 0),), +) XML_BLOBS: StaticOperationSchema = ( 23, n1, _XBm, - {_s: MappingProxyType({"uri": "/XmlBlobs", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/XmlBlobs", "method": "POST"})}, XML_BLOBS_INPUT, XML_BLOBS_OUTPUT, (), ) -XML_EMPTY_BLOBS_INPUT: StaticSchema = (18, n1, _XEBI, {_sSI: _aXEBR}, (_da,), ((1, 0),)) +XML_EMPTY_BLOBS_INPUT: StaticSchema = ( + 18, + n1, + _XEBI, + {_sSI: _aXEBR, _s: None}, + (_da,), + ((1, 0),), +) XML_EMPTY_BLOBS_OUTPUT: StaticSchema = ( 18, n1, _XEBO, - {_sSI: _aXEBRw}, + {_sSI: _aXEBRw, _sm: None}, (_da,), ((1, 0),), ) @@ -2195,7 +2320,7 @@ 23, n1, _XEB, - {_s: MappingProxyType({"uri": "/XmlEmptyBlobs", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/XmlEmptyBlobs", "method": "POST"})}, XML_EMPTY_BLOBS_INPUT, XML_EMPTY_BLOBS_OUTPUT, (), @@ -2207,7 +2332,7 @@ _SLMt, 0, (_a, _b_), - ((3, {_sN: _v}), (3, {_sN: _o})), + ((3, {_sN: _va}), (3, {_sN: _o})), ) STRUCTURE_LIST: StaticSchema = ( @@ -2225,7 +2350,7 @@ 18, n1, _XELI, - {_sSI: _aXELR}, + {_sSI: _aXELR, _s: None}, ( _sLt, _sS, @@ -2266,7 +2391,7 @@ 18, n1, _XELO, - {_sSI: _aXELRw}, + {_sSI: _aXELRw, _sm: None}, ( _sLt, _sS, @@ -2307,7 +2432,7 @@ 23, n1, _XEL, - {_s: MappingProxyType({"uri": "/XmlEmptyLists", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/XmlEmptyLists", "method": "PUT"})}, XML_EMPTY_LISTS_INPUT, XML_EMPTY_LISTS_OUTPUT, (), @@ -2320,7 +2445,7 @@ n1, _XMIOM, 0, - (_k, _v), + (_k, _va), ((3, 0), (GREETING_STRUCT, 0)), ) @@ -2328,7 +2453,7 @@ 18, n1, _XEMI, - {_sSI: _aXEMR}, + {_sSI: _aXEMR, _s: None}, (_mM,), ((XML_MAPS_INPUT_OUTPUT_MAP, 0),), ) @@ -2337,7 +2462,7 @@ 18, n1, _XEMO, - {_sSI: _aXEMRw}, + {_sSI: _aXEMRw, _sm: None}, (_mM,), ((XML_MAPS_INPUT_OUTPUT_MAP, 0),), ) @@ -2346,7 +2471,7 @@ 23, n1, _XEM, - {_s: MappingProxyType({"uri": "/XmlEmptyMaps", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/XmlEmptyMaps", "method": "POST"})}, XML_EMPTY_MAPS_INPUT, XML_EMPTY_MAPS_OUTPUT, (), @@ -2356,7 +2481,7 @@ 18, n1, _XESI, - {_sSI: _aXESR}, + {_sSI: _aXESR, _s: None}, (_eS,), ((3, 0),), ) @@ -2365,7 +2490,7 @@ 18, n1, _XESO, - {_sSI: _aXESRw}, + {_sSI: _aXESRw, _sm: None}, (_eS,), ((3, 0),), ) @@ -2374,7 +2499,7 @@ 23, n1, _XES, - {_s: MappingProxyType({"uri": "/XmlEmptyStrings", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/XmlEmptyStrings", "method": "PUT"})}, XML_EMPTY_STRINGS_INPUT, XML_EMPTY_STRINGS_OUTPUT, (), @@ -2386,7 +2511,7 @@ 18, n1, _XEI, - {_sSI: _aXER}, + {_sSI: _aXER, _s: None}, (_fE, _fEo, _fEoo, _fEL, _fES, _fEM), ( (FOO_ENUM, 0), @@ -2402,7 +2527,7 @@ 18, n1, _XEO, - {_sSI: _aXERw}, + {_sSI: _aXERw, _sm: None}, (_fE, _fEo, _fEoo, _fEL, _fES, _fEM), ( (FOO_ENUM, 0), @@ -2418,7 +2543,7 @@ 23, n1, _XEm, - {_s: MappingProxyType({"uri": "/XmlEnums", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/XmlEnums", "method": "PUT"})}, XML_ENUMS_INPUT, XML_ENUMS_OUTPUT, (), @@ -2429,7 +2554,7 @@ n0, _IEM, 0, - (_k, _v), + (_k, _va), ((3, 0), (INTEGER_ENUM, 0)), ) @@ -2439,7 +2564,7 @@ 18, n1, _XIEI, - {_sSI: _aXIER}, + {_sSI: _aXIER, _s: None}, (_iE, _iEn, _iEnt, _iEL, _iES, _iEM), ( (INTEGER_ENUM, 0), @@ -2455,7 +2580,7 @@ 18, n1, _XIEO, - {_sSI: _aXIERw}, + {_sSI: _aXIERw, _sm: None}, (_iE, _iEn, _iEnt, _iEL, _iES, _iEM), ( (INTEGER_ENUM, 0), @@ -2471,7 +2596,7 @@ 23, n1, _XIE, - {_s: MappingProxyType({"uri": "/XmlIntEnums", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/XmlIntEnums", "method": "PUT"})}, XML_INT_ENUMS_INPUT, XML_INT_ENUMS_OUTPUT, (), @@ -2481,7 +2606,7 @@ 18, n1, _XLI, - {_sSI: _aXLR}, + {_sSI: _aXLR, _s: None}, ( _sLt, _sS, @@ -2522,7 +2647,7 @@ 18, n1, _XLO, - {_sSI: _aXLRw}, + {_sSI: _aXLRw, _sm: None}, ( _sLt, _sS, @@ -2563,7 +2688,7 @@ 23, n1, _XLm, - {_s: MappingProxyType({"uri": "/XmlLists", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/XmlLists", "method": "PUT"})}, XML_LISTS_INPUT, XML_LISTS_OUTPUT, (), @@ -2573,7 +2698,7 @@ 18, n1, _XMI, - {_sSI: _aXMR}, + {_sSI: _aXMR, _s: None}, (_mM,), ((XML_MAPS_INPUT_OUTPUT_MAP, 0),), ) @@ -2582,7 +2707,7 @@ 18, n1, _XMO, - {_sSI: _aXMRw}, + {_sSI: _aXMRw, _sm: None}, (_mM,), ((XML_MAPS_INPUT_OUTPUT_MAP, 0),), ) @@ -2591,7 +2716,7 @@ 23, n1, _XM, - {_s: MappingProxyType({"uri": "/XmlMaps", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/XmlMaps", "method": "POST"})}, XML_MAPS_INPUT, XML_MAPS_OUTPUT, (), @@ -2602,7 +2727,7 @@ n1, _XMXNIOM, 0, - (_k, _v), + (_k, _va), ((3, {_sN: _At}), (GREETING_STRUCT, {_sN: _Se})), ) @@ -2610,7 +2735,7 @@ 18, n1, _XMXNI, - {_sSI: _aXMXNR}, + {_sSI: _aXMXNR, _s: None}, (_mM,), ((XML_MAPS_XML_NAME_INPUT_OUTPUT_MAP, 0),), ) @@ -2619,7 +2744,7 @@ 18, n1, _XMXNO, - {_sSI: _aXMXNRw}, + {_sSI: _aXMXNRw, _sm: None}, (_mM,), ((XML_MAPS_XML_NAME_INPUT_OUTPUT_MAP, 0),), ) @@ -2628,7 +2753,7 @@ 23, n1, _XMXN, - {_s: MappingProxyType({"uri": "/XmlMapsXmlName", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/XmlMapsXmlName", "method": "POST"})}, XML_MAPS_XML_NAME_INPUT, XML_MAPS_XML_NAME_OUTPUT, (), @@ -2639,7 +2764,7 @@ n1, _XMWXNIOM, 0, - (_k, _v), + (_k, _va), ( (3, {_sN: _K, _sNm: MappingProxyType({"uri": "https://the-key.example.com"})}), ( @@ -2653,7 +2778,7 @@ 18, n1, _XMWXNI, - {_sSI: _aXMWXNR}, + {_sSI: _aXMWXNR, _s: None}, (_mM,), ( ( @@ -2670,7 +2795,7 @@ 18, n1, _XMWXNO, - {_sSI: _aXMWXNRw}, + {_sSI: _aXMWXNRw, _sm: None}, (_mM,), ( ( @@ -2687,7 +2812,7 @@ 23, n1, _XMWXN, - {_s: MappingProxyType({"uri": "/XmlMapWithXmlNamespace", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/XmlMapWithXmlNamespace", "method": "POST"})}, XML_MAP_WITH_XML_NAMESPACE_INPUT, XML_MAP_WITH_XML_NAMESPACE_OUTPUT, (), @@ -2707,7 +2832,7 @@ n1, _XNN, {_sNm: MappingProxyType({"uri": "http://foo.com"})}, - (_f, _va), + (_f, _val), ( (3, {_sNm: MappingProxyType({"uri": "http://baz.com", "prefix": "baz"})}), (XML_NAMESPACED_LIST, {_sNm: MappingProxyType({"uri": "http://qux.com"})}), @@ -2718,7 +2843,7 @@ 18, n1, _XNI, - {_sSI: _aXNR, _sNm: MappingProxyType({"uri": "http://foo.com"})}, + {_sSI: _aXNR, _s: None, _sNm: MappingProxyType({"uri": "http://foo.com"})}, (_ne,), ((XML_NAMESPACE_NESTED, 0),), ) @@ -2727,7 +2852,7 @@ 18, n1, _XNO, - {_sSI: _aXNRw, _sNm: MappingProxyType({"uri": "http://foo.com"})}, + {_sSI: _aXNRw, _sm: None, _sNm: MappingProxyType({"uri": "http://foo.com"})}, (_ne,), ((XML_NAMESPACE_NESTED, 0),), ) @@ -2736,7 +2861,7 @@ 23, n1, _XN, - {_s: MappingProxyType({"uri": "/XmlNamespaces", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/XmlNamespaces", "method": "POST"})}, XML_NAMESPACES_INPUT, XML_NAMESPACES_OUTPUT, (), @@ -2746,7 +2871,7 @@ 18, n1, _XTI, - {_sSI: _aXTR}, + {_sSI: _aXTR, _s: None}, (_no, _dT, _dTOT, _eSp, _eSOT, _hDt, _hDOT), ( (4, 0), @@ -2763,7 +2888,7 @@ 18, n1, _XTO, - {_sSI: _aXTRw}, + {_sSI: _aXTRw, _sm: None}, (_no, _dT, _dTOT, _eSp, _eSOT, _hDt, _hDOT), ( (4, 0), @@ -2780,7 +2905,7 @@ 23, n1, _XTm, - {_s: MappingProxyType({"uri": "/XmlTimestamps", "method": "POST"})}, + {_smi: MappingProxyType({"uri": "/XmlTimestamps", "method": "POST"})}, XML_TIMESTAMPS_INPUT, XML_TIMESTAMPS_OUTPUT, (), @@ -2791,7 +2916,7 @@ n1, _XNUS, 0, - (_sV, _bVo, _bV, _sVh, _iV, _lV, _fV, _dV), + (_sVt, _bVo, _bV, _sVh, _iV, _lV, _fV, _dV), ((3, 0), (2, 0), (5, 0), (6, 0), (7, 0), (8, 0), (9, 0), (10, 0)), ) @@ -2800,7 +2925,7 @@ n1, _XUS, 0, - (_sV, _bVo, _bV, _sVh, _iV, _lV, _fV, _dV, _uV, _sVt), + (_sVt, _bVo, _bV, _sVh, _iV, _lV, _fV, _dV, _uV, _sVtr), ( (3, 0), (2, 0), @@ -2837,7 +2962,7 @@ 18, n1, _XUI, - {_sSI: _aXUR}, + {_sSI: _aXUR, _s: None}, (_uV,), ((XML_UNION_SHAPE, 0),), ) @@ -2846,7 +2971,7 @@ 18, n1, _XUO, - {_sSI: _aXURw}, + {_sSI: _aXURw, _sm: None}, (_uV,), ((XML_UNION_SHAPE, 0),), ) @@ -2855,7 +2980,7 @@ 18, n1, _RSI, - {_sSI: _aRSR}, + {_sSI: _aRSR, _s: None}, (_ne,), ((RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1, 0),), ) @@ -2864,7 +2989,7 @@ 18, n1, _RSO, - {_sSI: _aRSRw}, + {_sSI: _aRSRw, _sm: None}, (_ne,), ((RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1, 0),), ) @@ -2873,7 +2998,7 @@ 23, n1, _XU, - {_s: MappingProxyType({"uri": "/XmlUnions", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/XmlUnions", "method": "PUT"})}, XML_UNIONS_INPUT, XML_UNIONS_OUTPUT, (), @@ -2883,7 +3008,7 @@ 23, n1, _RS, - {_s: MappingProxyType({"uri": "/RecursiveShapes", "method": "PUT"})}, + {_smi: MappingProxyType({"uri": "/RecursiveShapes", "method": "PUT"})}, RECURSIVE_SHAPES_INPUT, RECURSIVE_SHAPES_OUTPUT, (), diff --git a/codegen-output/rest-xml/src/restxml/client.py b/codegen-output/rest-xml/src/restxml/client.py index 9f29a9777..18c18b8e0 100644 --- a/codegen-output/rest-xml/src/restxml/client.py +++ b/codegen-output/rest-xml/src/restxml/client.py @@ -1,5 +1,7 @@ # Code generated by smithy-python-codegen DO NOT EDIT. +from __future__ import annotations + from copy import deepcopy import logging from typing import Any, cast @@ -18,50 +20,20 @@ from .config import AsyncRestXmlProtocolConfig, Plugin from .models import ( ALL_QUERY_STRING_TYPES, - AllQueryStringTypesInput, - AllQueryStringTypesOutput, BODY_WITH_XML_NAME, - BodyWithXmlNameInput, - BodyWithXmlNameOutput, CONSTANT_AND_VARIABLE_QUERY_STRING, CONSTANT_QUERY_STRING, CONTENT_TYPE_PARAMETERS, - ConstantAndVariableQueryStringInput, - ConstantAndVariableQueryStringOutput, - ConstantQueryStringInput, - ConstantQueryStringOutput, - ContentTypeParametersInput, - ContentTypeParametersOutput, DATETIME_OFFSETS, - DatetimeOffsetsInput, - DatetimeOffsetsOutput, EMPTY_INPUT_AND_EMPTY_OUTPUT, ENDPOINT_OPERATION, ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION, ENDPOINT_WITH_HOST_LABEL_OPERATION, - EmptyInputAndEmptyOutputInput, - EmptyInputAndEmptyOutputOutput, - EndpointOperationInput, - EndpointOperationOutput, - EndpointWithHostLabelHeaderOperationInput, - EndpointWithHostLabelHeaderOperationOutput, - EndpointWithHostLabelOperationInput, - EndpointWithHostLabelOperationOutput, FLATTENED_XML_MAP, FLATTENED_XML_MAP_WITH_XML_NAME, FLATTENED_XML_MAP_WITH_XML_NAMESPACE, FRACTIONAL_SECONDS, - FlattenedXmlMapInput, - FlattenedXmlMapOutput, - FlattenedXmlMapWithXmlNameInput, - FlattenedXmlMapWithXmlNameOutput, - FlattenedXmlMapWithXmlNamespaceInput, - FlattenedXmlMapWithXmlNamespaceOutput, - FractionalSecondsInput, - FractionalSecondsOutput, GREETING_WITH_ERRORS, - GreetingWithErrorsInput, - GreetingWithErrorsOutput, HTTP_EMPTY_PREFIX_HEADERS, HTTP_ENUM_PAYLOAD, HTTP_PAYLOAD_TRAITS, @@ -79,88 +51,22 @@ HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT, HTTP_RESPONSE_CODE, HTTP_STRING_PAYLOAD, - HttpEmptyPrefixHeadersInput, - HttpEmptyPrefixHeadersOutput, - HttpEnumPayloadInput, - HttpEnumPayloadOutput, - HttpPayloadTraitsInput, - HttpPayloadTraitsOutput, - HttpPayloadTraitsWithMediaTypeInput, - HttpPayloadTraitsWithMediaTypeOutput, - HttpPayloadWithMemberXmlNameInput, - HttpPayloadWithMemberXmlNameOutput, - HttpPayloadWithStructureInput, - HttpPayloadWithStructureOutput, - HttpPayloadWithUnionInput, - HttpPayloadWithUnionOutput, - HttpPayloadWithXmlNameInput, - HttpPayloadWithXmlNameOutput, - HttpPayloadWithXmlNamespaceAndPrefixInput, - HttpPayloadWithXmlNamespaceAndPrefixOutput, - HttpPayloadWithXmlNamespaceInput, - HttpPayloadWithXmlNamespaceOutput, - HttpPrefixHeadersInput, - HttpPrefixHeadersOutput, - HttpRequestWithFloatLabelsInput, - HttpRequestWithFloatLabelsOutput, - HttpRequestWithGreedyLabelInPathInput, - HttpRequestWithGreedyLabelInPathOutput, - HttpRequestWithLabelsAndTimestampFormatInput, - HttpRequestWithLabelsAndTimestampFormatOutput, - HttpRequestWithLabelsInput, - HttpRequestWithLabelsOutput, - HttpResponseCodeInput, - HttpResponseCodeOutput, - HttpStringPayloadInput, - HttpStringPayloadOutput, IGNORE_QUERY_PARAMS_IN_RESPONSE, INPUT_AND_OUTPUT_WITH_HEADERS, - IgnoreQueryParamsInResponseInput, - IgnoreQueryParamsInResponseOutput, - InputAndOutputWithHeadersInput, - InputAndOutputWithHeadersOutput, NESTED_XML_MAPS, NESTED_XML_MAP_WITH_XML_NAME, NO_INPUT_AND_NO_OUTPUT, NO_INPUT_AND_OUTPUT, NULL_AND_EMPTY_HEADERS_CLIENT, NULL_AND_EMPTY_HEADERS_SERVER, - NestedXmlMapWithXmlNameInput, - NestedXmlMapWithXmlNameOutput, - NestedXmlMapsInput, - NestedXmlMapsOutput, - NoInputAndNoOutputInput, - NoInputAndNoOutputOutput, - NoInputAndOutputInput, - NoInputAndOutputOutput, - NullAndEmptyHeadersClientInput, - NullAndEmptyHeadersClientOutput, - NullAndEmptyHeadersServerInput, - NullAndEmptyHeadersServerOutput, OMITS_NULL_SERIALIZES_EMPTY_STRING, - OmitsNullSerializesEmptyStringInput, - OmitsNullSerializesEmptyStringOutput, PUT_WITH_CONTENT_ENCODING, - PutWithContentEncodingInput, - PutWithContentEncodingOutput, QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, QUERY_PARAMS_AS_STRING_LIST_MAP, QUERY_PRECEDENCE, - QueryIdempotencyTokenAutoFillInput, - QueryIdempotencyTokenAutoFillOutput, - QueryParamsAsStringListMapInput, - QueryParamsAsStringListMapOutput, - QueryPrecedenceInput, - QueryPrecedenceOutput, RECURSIVE_SHAPES, - RecursiveShapesInput, - RecursiveShapesOutput, SIMPLE_SCALAR_PROPERTIES, - SimpleScalarPropertiesInput, - SimpleScalarPropertiesOutput, TIMESTAMP_FORMAT_HEADERS, - TimestampFormatHeadersInput, - TimestampFormatHeadersOutput, XML_ATTRIBUTES, XML_ATTRIBUTES_IN_MIDDLE, XML_ATTRIBUTES_ON_PAYLOAD, @@ -178,43 +84,145 @@ XML_NAMESPACES, XML_TIMESTAMPS, XML_UNIONS, - XmlAttributesInMiddleInput, - XmlAttributesInMiddleOutput, - XmlAttributesInput, - XmlAttributesOnPayloadInput, - XmlAttributesOnPayloadOutput, - XmlAttributesOutput, - XmlBlobsInput, - XmlBlobsOutput, - XmlEmptyBlobsInput, - XmlEmptyBlobsOutput, - XmlEmptyListsInput, - XmlEmptyListsOutput, - XmlEmptyMapsInput, - XmlEmptyMapsOutput, - XmlEmptyStringsInput, - XmlEmptyStringsOutput, - XmlEnumsInput, - XmlEnumsOutput, - XmlIntEnumsInput, - XmlIntEnumsOutput, - XmlListsInput, - XmlListsOutput, - XmlMapWithXmlNamespaceInput, - XmlMapWithXmlNamespaceOutput, - XmlMapsInput, - XmlMapsOutput, - XmlMapsXmlNameInput, - XmlMapsXmlNameOutput, - XmlNamespacesInput, - XmlNamespacesOutput, - XmlTimestampsInput, - XmlTimestampsOutput, - XmlUnionsInput, - XmlUnionsOutput, ) from .user_agent import aws_user_agent_plugin +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from .models import ( + AllQueryStringTypesInput, + AllQueryStringTypesOutput, + BodyWithXmlNameInput, + BodyWithXmlNameOutput, + ConstantAndVariableQueryStringInput, + ConstantAndVariableQueryStringOutput, + ConstantQueryStringInput, + ConstantQueryStringOutput, + ContentTypeParametersInput, + ContentTypeParametersOutput, + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, + EndpointWithHostLabelHeaderOperationInput, + EndpointWithHostLabelHeaderOperationOutput, + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + FlattenedXmlMapInput, + FlattenedXmlMapOutput, + FlattenedXmlMapWithXmlNameInput, + FlattenedXmlMapWithXmlNameOutput, + FlattenedXmlMapWithXmlNamespaceInput, + FlattenedXmlMapWithXmlNamespaceOutput, + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HttpEmptyPrefixHeadersInput, + HttpEmptyPrefixHeadersOutput, + HttpEnumPayloadInput, + HttpEnumPayloadOutput, + HttpPayloadTraitsInput, + HttpPayloadTraitsOutput, + HttpPayloadTraitsWithMediaTypeInput, + HttpPayloadTraitsWithMediaTypeOutput, + HttpPayloadWithMemberXmlNameInput, + HttpPayloadWithMemberXmlNameOutput, + HttpPayloadWithStructureInput, + HttpPayloadWithStructureOutput, + HttpPayloadWithUnionInput, + HttpPayloadWithUnionOutput, + HttpPayloadWithXmlNameInput, + HttpPayloadWithXmlNameOutput, + HttpPayloadWithXmlNamespaceAndPrefixInput, + HttpPayloadWithXmlNamespaceAndPrefixOutput, + HttpPayloadWithXmlNamespaceInput, + HttpPayloadWithXmlNamespaceOutput, + HttpPrefixHeadersInput, + HttpPrefixHeadersOutput, + HttpRequestWithFloatLabelsInput, + HttpRequestWithFloatLabelsOutput, + HttpRequestWithGreedyLabelInPathInput, + HttpRequestWithGreedyLabelInPathOutput, + HttpRequestWithLabelsAndTimestampFormatInput, + HttpRequestWithLabelsAndTimestampFormatOutput, + HttpRequestWithLabelsInput, + HttpRequestWithLabelsOutput, + HttpResponseCodeInput, + HttpResponseCodeOutput, + HttpStringPayloadInput, + HttpStringPayloadOutput, + IgnoreQueryParamsInResponseInput, + IgnoreQueryParamsInResponseOutput, + InputAndOutputWithHeadersInput, + InputAndOutputWithHeadersOutput, + NestedXmlMapWithXmlNameInput, + NestedXmlMapWithXmlNameOutput, + NestedXmlMapsInput, + NestedXmlMapsOutput, + NoInputAndNoOutputInput, + NoInputAndNoOutputOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + NullAndEmptyHeadersClientInput, + NullAndEmptyHeadersClientOutput, + NullAndEmptyHeadersServerInput, + NullAndEmptyHeadersServerOutput, + OmitsNullSerializesEmptyStringInput, + OmitsNullSerializesEmptyStringOutput, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, + QueryIdempotencyTokenAutoFillInput, + QueryIdempotencyTokenAutoFillOutput, + QueryParamsAsStringListMapInput, + QueryParamsAsStringListMapOutput, + QueryPrecedenceInput, + QueryPrecedenceOutput, + RecursiveShapesInput, + RecursiveShapesOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + TimestampFormatHeadersInput, + TimestampFormatHeadersOutput, + XmlAttributesInMiddleInput, + XmlAttributesInMiddleOutput, + XmlAttributesInput, + XmlAttributesOnPayloadInput, + XmlAttributesOnPayloadOutput, + XmlAttributesOutput, + XmlBlobsInput, + XmlBlobsOutput, + XmlEmptyBlobsInput, + XmlEmptyBlobsOutput, + XmlEmptyListsInput, + XmlEmptyListsOutput, + XmlEmptyMapsInput, + XmlEmptyMapsOutput, + XmlEmptyStringsInput, + XmlEmptyStringsOutput, + XmlEnumsInput, + XmlEnumsOutput, + XmlIntEnumsInput, + XmlIntEnumsOutput, + XmlListsInput, + XmlListsOutput, + XmlMapWithXmlNamespaceInput, + XmlMapWithXmlNamespaceOutput, + XmlMapsInput, + XmlMapsOutput, + XmlMapsXmlNameInput, + XmlMapsXmlNameOutput, + XmlNamespacesInput, + XmlNamespacesOutput, + XmlTimestampsInput, + XmlTimestampsOutput, + XmlUnionsInput, + XmlUnionsOutput, + ) + logger = logging.getLogger(__name__) diff --git a/codegen-output/rest-xml/src/restxml/config.py b/codegen-output/rest-xml/src/restxml/config.py index 3e150ec12..60ccec2d5 100644 --- a/codegen-output/rest-xml/src/restxml/config.py +++ b/codegen-output/rest-xml/src/restxml/config.py @@ -1,7 +1,16 @@ # Code generated by smithy-python-codegen DO NOT EDIT. from dataclasses import dataclass, field -from typing import Any, Callable, ClassVar, Self, TypeAlias, Union, Unpack +from typing import ( + Any, + Callable, + ClassVar, + Self, + TYPE_CHECKING, + TypeAlias, + Union, + Unpack, +) from smithy_aws_core.aio.protocols import RestXmlClientProtocol from smithy_aws_core.auth import SigV4AuthScheme @@ -21,285 +30,315 @@ ) from smithy_core.aio.interfaces.auth import AuthScheme from smithy_core.aio.interfaces.identity import IdentityResolver -from smithy_core.interceptors import Interceptor from smithy_core.interfaces.auth import AuthSchemeResolver from smithy_core.shapes import ShapeID from smithy_http.aio.aiohttp import AIOHTTPClient from .auth import HTTPAuthSchemeResolver -from .models import ( - AllQueryStringTypesInput, - AllQueryStringTypesOutput, - BodyWithXmlNameInput, - BodyWithXmlNameOutput, - ConstantAndVariableQueryStringInput, - ConstantAndVariableQueryStringOutput, - ConstantQueryStringInput, - ConstantQueryStringOutput, - ContentTypeParametersInput, - ContentTypeParametersOutput, - DatetimeOffsetsInput, - DatetimeOffsetsOutput, - EmptyInputAndEmptyOutputInput, - EmptyInputAndEmptyOutputOutput, - EndpointOperationInput, - EndpointOperationOutput, - EndpointWithHostLabelHeaderOperationInput, - EndpointWithHostLabelHeaderOperationOutput, - EndpointWithHostLabelOperationInput, - EndpointWithHostLabelOperationOutput, - FlattenedXmlMapInput, - FlattenedXmlMapOutput, - FlattenedXmlMapWithXmlNameInput, - FlattenedXmlMapWithXmlNameOutput, - FlattenedXmlMapWithXmlNamespaceInput, - FlattenedXmlMapWithXmlNamespaceOutput, - FractionalSecondsInput, - FractionalSecondsOutput, - GreetingWithErrorsInput, - GreetingWithErrorsOutput, - HttpEmptyPrefixHeadersInput, - HttpEmptyPrefixHeadersOutput, - HttpEnumPayloadInput, - HttpEnumPayloadOutput, - HttpPayloadTraitsInput, - HttpPayloadTraitsOutput, - HttpPayloadTraitsWithMediaTypeInput, - HttpPayloadTraitsWithMediaTypeOutput, - HttpPayloadWithMemberXmlNameInput, - HttpPayloadWithMemberXmlNameOutput, - HttpPayloadWithStructureInput, - HttpPayloadWithStructureOutput, - HttpPayloadWithUnionInput, - HttpPayloadWithUnionOutput, - HttpPayloadWithXmlNameInput, - HttpPayloadWithXmlNameOutput, - HttpPayloadWithXmlNamespaceAndPrefixInput, - HttpPayloadWithXmlNamespaceAndPrefixOutput, - HttpPayloadWithXmlNamespaceInput, - HttpPayloadWithXmlNamespaceOutput, - HttpPrefixHeadersInput, - HttpPrefixHeadersOutput, - HttpRequestWithFloatLabelsInput, - HttpRequestWithFloatLabelsOutput, - HttpRequestWithGreedyLabelInPathInput, - HttpRequestWithGreedyLabelInPathOutput, - HttpRequestWithLabelsAndTimestampFormatInput, - HttpRequestWithLabelsAndTimestampFormatOutput, - HttpRequestWithLabelsInput, - HttpRequestWithLabelsOutput, - HttpResponseCodeInput, - HttpResponseCodeOutput, - HttpStringPayloadInput, - HttpStringPayloadOutput, - IgnoreQueryParamsInResponseInput, - IgnoreQueryParamsInResponseOutput, - InputAndOutputWithHeadersInput, - InputAndOutputWithHeadersOutput, - NestedXmlMapWithXmlNameInput, - NestedXmlMapWithXmlNameOutput, - NestedXmlMapsInput, - NestedXmlMapsOutput, - NoInputAndNoOutputInput, - NoInputAndNoOutputOutput, - NoInputAndOutputInput, - NoInputAndOutputOutput, - NullAndEmptyHeadersClientInput, - NullAndEmptyHeadersClientOutput, - NullAndEmptyHeadersServerInput, - NullAndEmptyHeadersServerOutput, - OmitsNullSerializesEmptyStringInput, - OmitsNullSerializesEmptyStringOutput, - PutWithContentEncodingInput, - PutWithContentEncodingOutput, - QueryIdempotencyTokenAutoFillInput, - QueryIdempotencyTokenAutoFillOutput, - QueryParamsAsStringListMapInput, - QueryParamsAsStringListMapOutput, - QueryPrecedenceInput, - QueryPrecedenceOutput, - RecursiveShapesInput, - RecursiveShapesOutput, - SimpleScalarPropertiesInput, - SimpleScalarPropertiesOutput, - TimestampFormatHeadersInput, - TimestampFormatHeadersOutput, - XmlAttributesInMiddleInput, - XmlAttributesInMiddleOutput, - XmlAttributesInput, - XmlAttributesOnPayloadInput, - XmlAttributesOnPayloadOutput, - XmlAttributesOutput, - XmlBlobsInput, - XmlBlobsOutput, - XmlEmptyBlobsInput, - XmlEmptyBlobsOutput, - XmlEmptyListsInput, - XmlEmptyListsOutput, - XmlEmptyMapsInput, - XmlEmptyMapsOutput, - XmlEmptyStringsInput, - XmlEmptyStringsOutput, - XmlEnumsInput, - XmlEnumsOutput, - XmlIntEnumsInput, - XmlIntEnumsOutput, - XmlListsInput, - XmlListsOutput, - XmlMapWithXmlNamespaceInput, - XmlMapWithXmlNamespaceOutput, - XmlMapsInput, - XmlMapsOutput, - XmlMapsXmlNameInput, - XmlMapsXmlNameOutput, - XmlNamespacesInput, - XmlNamespacesOutput, - XmlTimestampsInput, - XmlTimestampsOutput, - XmlUnionsInput, - XmlUnionsOutput, -) -_ServiceInterceptor = Union[ - Interceptor[AllQueryStringTypesInput, AllQueryStringTypesOutput, Any, Any], - Interceptor[BodyWithXmlNameInput, BodyWithXmlNameOutput, Any, Any], - Interceptor[ +if TYPE_CHECKING: + from smithy_core.interceptors import Interceptor + from .models import ( + AllQueryStringTypesInput, + AllQueryStringTypesOutput, + BodyWithXmlNameInput, + BodyWithXmlNameOutput, ConstantAndVariableQueryStringInput, ConstantAndVariableQueryStringOutput, - Any, - Any, - ], - Interceptor[ConstantQueryStringInput, ConstantQueryStringOutput, Any, Any], - Interceptor[ContentTypeParametersInput, ContentTypeParametersOutput, Any, Any], - Interceptor[DatetimeOffsetsInput, DatetimeOffsetsOutput, Any, Any], - Interceptor[ - EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput, Any, Any - ], - Interceptor[EndpointOperationInput, EndpointOperationOutput, Any, Any], - Interceptor[ + ConstantQueryStringInput, + ConstantQueryStringOutput, + ContentTypeParametersInput, + ContentTypeParametersOutput, + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, EndpointWithHostLabelHeaderOperationInput, EndpointWithHostLabelHeaderOperationOutput, - Any, - Any, - ], - Interceptor[ EndpointWithHostLabelOperationInput, EndpointWithHostLabelOperationOutput, - Any, - Any, - ], - Interceptor[FlattenedXmlMapInput, FlattenedXmlMapOutput, Any, Any], - Interceptor[ - FlattenedXmlMapWithXmlNameInput, FlattenedXmlMapWithXmlNameOutput, Any, Any - ], - Interceptor[ + FlattenedXmlMapInput, + FlattenedXmlMapOutput, + FlattenedXmlMapWithXmlNameInput, + FlattenedXmlMapWithXmlNameOutput, FlattenedXmlMapWithXmlNamespaceInput, FlattenedXmlMapWithXmlNamespaceOutput, - Any, - Any, - ], - Interceptor[FractionalSecondsInput, FractionalSecondsOutput, Any, Any], - Interceptor[GreetingWithErrorsInput, GreetingWithErrorsOutput, Any, Any], - Interceptor[HttpEmptyPrefixHeadersInput, HttpEmptyPrefixHeadersOutput, Any, Any], - Interceptor[HttpEnumPayloadInput, HttpEnumPayloadOutput, Any, Any], - Interceptor[HttpPayloadTraitsInput, HttpPayloadTraitsOutput, Any, Any], - Interceptor[ + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HttpEmptyPrefixHeadersInput, + HttpEmptyPrefixHeadersOutput, + HttpEnumPayloadInput, + HttpEnumPayloadOutput, + HttpPayloadTraitsInput, + HttpPayloadTraitsOutput, HttpPayloadTraitsWithMediaTypeInput, HttpPayloadTraitsWithMediaTypeOutput, - Any, - Any, - ], - Interceptor[ - HttpPayloadWithMemberXmlNameInput, HttpPayloadWithMemberXmlNameOutput, Any, Any - ], - Interceptor[ - HttpPayloadWithStructureInput, HttpPayloadWithStructureOutput, Any, Any - ], - Interceptor[HttpPayloadWithUnionInput, HttpPayloadWithUnionOutput, Any, Any], - Interceptor[HttpPayloadWithXmlNameInput, HttpPayloadWithXmlNameOutput, Any, Any], - Interceptor[ - HttpPayloadWithXmlNamespaceInput, HttpPayloadWithXmlNamespaceOutput, Any, Any - ], - Interceptor[ + HttpPayloadWithMemberXmlNameInput, + HttpPayloadWithMemberXmlNameOutput, + HttpPayloadWithStructureInput, + HttpPayloadWithStructureOutput, + HttpPayloadWithUnionInput, + HttpPayloadWithUnionOutput, + HttpPayloadWithXmlNameInput, + HttpPayloadWithXmlNameOutput, HttpPayloadWithXmlNamespaceAndPrefixInput, HttpPayloadWithXmlNamespaceAndPrefixOutput, - Any, - Any, - ], - Interceptor[HttpPrefixHeadersInput, HttpPrefixHeadersOutput, Any, Any], - Interceptor[ - HttpRequestWithFloatLabelsInput, HttpRequestWithFloatLabelsOutput, Any, Any - ], - Interceptor[ + HttpPayloadWithXmlNamespaceInput, + HttpPayloadWithXmlNamespaceOutput, + HttpPrefixHeadersInput, + HttpPrefixHeadersOutput, + HttpRequestWithFloatLabelsInput, + HttpRequestWithFloatLabelsOutput, HttpRequestWithGreedyLabelInPathInput, HttpRequestWithGreedyLabelInPathOutput, - Any, - Any, - ], - Interceptor[HttpRequestWithLabelsInput, HttpRequestWithLabelsOutput, Any, Any], - Interceptor[ HttpRequestWithLabelsAndTimestampFormatInput, HttpRequestWithLabelsAndTimestampFormatOutput, - Any, - Any, - ], - Interceptor[HttpResponseCodeInput, HttpResponseCodeOutput, Any, Any], - Interceptor[HttpStringPayloadInput, HttpStringPayloadOutput, Any, Any], - Interceptor[ - IgnoreQueryParamsInResponseInput, IgnoreQueryParamsInResponseOutput, Any, Any - ], - Interceptor[ - InputAndOutputWithHeadersInput, InputAndOutputWithHeadersOutput, Any, Any - ], - Interceptor[NestedXmlMapsInput, NestedXmlMapsOutput, Any, Any], - Interceptor[NestedXmlMapWithXmlNameInput, NestedXmlMapWithXmlNameOutput, Any, Any], - Interceptor[NoInputAndNoOutputInput, NoInputAndNoOutputOutput, Any, Any], - Interceptor[NoInputAndOutputInput, NoInputAndOutputOutput, Any, Any], - Interceptor[ - NullAndEmptyHeadersClientInput, NullAndEmptyHeadersClientOutput, Any, Any - ], - Interceptor[ - NullAndEmptyHeadersServerInput, NullAndEmptyHeadersServerOutput, Any, Any - ], - Interceptor[ + HttpRequestWithLabelsInput, + HttpRequestWithLabelsOutput, + HttpResponseCodeInput, + HttpResponseCodeOutput, + HttpStringPayloadInput, + HttpStringPayloadOutput, + IgnoreQueryParamsInResponseInput, + IgnoreQueryParamsInResponseOutput, + InputAndOutputWithHeadersInput, + InputAndOutputWithHeadersOutput, + NestedXmlMapWithXmlNameInput, + NestedXmlMapWithXmlNameOutput, + NestedXmlMapsInput, + NestedXmlMapsOutput, + NoInputAndNoOutputInput, + NoInputAndNoOutputOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + NullAndEmptyHeadersClientInput, + NullAndEmptyHeadersClientOutput, + NullAndEmptyHeadersServerInput, + NullAndEmptyHeadersServerOutput, OmitsNullSerializesEmptyStringInput, OmitsNullSerializesEmptyStringOutput, - Any, - Any, - ], - Interceptor[PutWithContentEncodingInput, PutWithContentEncodingOutput, Any, Any], - Interceptor[ + PutWithContentEncodingInput, + PutWithContentEncodingOutput, QueryIdempotencyTokenAutoFillInput, QueryIdempotencyTokenAutoFillOutput, - Any, - Any, - ], - Interceptor[ - QueryParamsAsStringListMapInput, QueryParamsAsStringListMapOutput, Any, Any - ], - Interceptor[QueryPrecedenceInput, QueryPrecedenceOutput, Any, Any], - Interceptor[RecursiveShapesInput, RecursiveShapesOutput, Any, Any], - Interceptor[SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput, Any, Any], - Interceptor[TimestampFormatHeadersInput, TimestampFormatHeadersOutput, Any, Any], - Interceptor[XmlAttributesInput, XmlAttributesOutput, Any, Any], - Interceptor[XmlAttributesInMiddleInput, XmlAttributesInMiddleOutput, Any, Any], - Interceptor[XmlAttributesOnPayloadInput, XmlAttributesOnPayloadOutput, Any, Any], - Interceptor[XmlBlobsInput, XmlBlobsOutput, Any, Any], - Interceptor[XmlEmptyBlobsInput, XmlEmptyBlobsOutput, Any, Any], - Interceptor[XmlEmptyListsInput, XmlEmptyListsOutput, Any, Any], - Interceptor[XmlEmptyMapsInput, XmlEmptyMapsOutput, Any, Any], - Interceptor[XmlEmptyStringsInput, XmlEmptyStringsOutput, Any, Any], - Interceptor[XmlEnumsInput, XmlEnumsOutput, Any, Any], - Interceptor[XmlIntEnumsInput, XmlIntEnumsOutput, Any, Any], - Interceptor[XmlListsInput, XmlListsOutput, Any, Any], - Interceptor[XmlMapsInput, XmlMapsOutput, Any, Any], - Interceptor[XmlMapsXmlNameInput, XmlMapsXmlNameOutput, Any, Any], - Interceptor[XmlMapWithXmlNamespaceInput, XmlMapWithXmlNamespaceOutput, Any, Any], - Interceptor[XmlNamespacesInput, XmlNamespacesOutput, Any, Any], - Interceptor[XmlTimestampsInput, XmlTimestampsOutput, Any, Any], - Interceptor[XmlUnionsInput, XmlUnionsOutput, Any, Any], -] + QueryParamsAsStringListMapInput, + QueryParamsAsStringListMapOutput, + QueryPrecedenceInput, + QueryPrecedenceOutput, + RecursiveShapesInput, + RecursiveShapesOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + TimestampFormatHeadersInput, + TimestampFormatHeadersOutput, + XmlAttributesInMiddleInput, + XmlAttributesInMiddleOutput, + XmlAttributesInput, + XmlAttributesOnPayloadInput, + XmlAttributesOnPayloadOutput, + XmlAttributesOutput, + XmlBlobsInput, + XmlBlobsOutput, + XmlEmptyBlobsInput, + XmlEmptyBlobsOutput, + XmlEmptyListsInput, + XmlEmptyListsOutput, + XmlEmptyMapsInput, + XmlEmptyMapsOutput, + XmlEmptyStringsInput, + XmlEmptyStringsOutput, + XmlEnumsInput, + XmlEnumsOutput, + XmlIntEnumsInput, + XmlIntEnumsOutput, + XmlListsInput, + XmlListsOutput, + XmlMapWithXmlNamespaceInput, + XmlMapWithXmlNamespaceOutput, + XmlMapsInput, + XmlMapsOutput, + XmlMapsXmlNameInput, + XmlMapsXmlNameOutput, + XmlNamespacesInput, + XmlNamespacesOutput, + XmlTimestampsInput, + XmlTimestampsOutput, + XmlUnionsInput, + XmlUnionsOutput, + ) + + _ServiceInterceptor = Union[ + Interceptor[AllQueryStringTypesInput, AllQueryStringTypesOutput, Any, Any], + Interceptor[BodyWithXmlNameInput, BodyWithXmlNameOutput, Any, Any], + Interceptor[ + ConstantAndVariableQueryStringInput, + ConstantAndVariableQueryStringOutput, + Any, + Any, + ], + Interceptor[ConstantQueryStringInput, ConstantQueryStringOutput, Any, Any], + Interceptor[ContentTypeParametersInput, ContentTypeParametersOutput, Any, Any], + Interceptor[DatetimeOffsetsInput, DatetimeOffsetsOutput, Any, Any], + Interceptor[ + EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput, Any, Any + ], + Interceptor[EndpointOperationInput, EndpointOperationOutput, Any, Any], + Interceptor[ + EndpointWithHostLabelHeaderOperationInput, + EndpointWithHostLabelHeaderOperationOutput, + Any, + Any, + ], + Interceptor[ + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + Any, + Any, + ], + Interceptor[FlattenedXmlMapInput, FlattenedXmlMapOutput, Any, Any], + Interceptor[ + FlattenedXmlMapWithXmlNameInput, FlattenedXmlMapWithXmlNameOutput, Any, Any + ], + Interceptor[ + FlattenedXmlMapWithXmlNamespaceInput, + FlattenedXmlMapWithXmlNamespaceOutput, + Any, + Any, + ], + Interceptor[FractionalSecondsInput, FractionalSecondsOutput, Any, Any], + Interceptor[GreetingWithErrorsInput, GreetingWithErrorsOutput, Any, Any], + Interceptor[ + HttpEmptyPrefixHeadersInput, HttpEmptyPrefixHeadersOutput, Any, Any + ], + Interceptor[HttpEnumPayloadInput, HttpEnumPayloadOutput, Any, Any], + Interceptor[HttpPayloadTraitsInput, HttpPayloadTraitsOutput, Any, Any], + Interceptor[ + HttpPayloadTraitsWithMediaTypeInput, + HttpPayloadTraitsWithMediaTypeOutput, + Any, + Any, + ], + Interceptor[ + HttpPayloadWithMemberXmlNameInput, + HttpPayloadWithMemberXmlNameOutput, + Any, + Any, + ], + Interceptor[ + HttpPayloadWithStructureInput, HttpPayloadWithStructureOutput, Any, Any + ], + Interceptor[HttpPayloadWithUnionInput, HttpPayloadWithUnionOutput, Any, Any], + Interceptor[ + HttpPayloadWithXmlNameInput, HttpPayloadWithXmlNameOutput, Any, Any + ], + Interceptor[ + HttpPayloadWithXmlNamespaceInput, + HttpPayloadWithXmlNamespaceOutput, + Any, + Any, + ], + Interceptor[ + HttpPayloadWithXmlNamespaceAndPrefixInput, + HttpPayloadWithXmlNamespaceAndPrefixOutput, + Any, + Any, + ], + Interceptor[HttpPrefixHeadersInput, HttpPrefixHeadersOutput, Any, Any], + Interceptor[ + HttpRequestWithFloatLabelsInput, HttpRequestWithFloatLabelsOutput, Any, Any + ], + Interceptor[ + HttpRequestWithGreedyLabelInPathInput, + HttpRequestWithGreedyLabelInPathOutput, + Any, + Any, + ], + Interceptor[HttpRequestWithLabelsInput, HttpRequestWithLabelsOutput, Any, Any], + Interceptor[ + HttpRequestWithLabelsAndTimestampFormatInput, + HttpRequestWithLabelsAndTimestampFormatOutput, + Any, + Any, + ], + Interceptor[HttpResponseCodeInput, HttpResponseCodeOutput, Any, Any], + Interceptor[HttpStringPayloadInput, HttpStringPayloadOutput, Any, Any], + Interceptor[ + IgnoreQueryParamsInResponseInput, + IgnoreQueryParamsInResponseOutput, + Any, + Any, + ], + Interceptor[ + InputAndOutputWithHeadersInput, InputAndOutputWithHeadersOutput, Any, Any + ], + Interceptor[NestedXmlMapsInput, NestedXmlMapsOutput, Any, Any], + Interceptor[ + NestedXmlMapWithXmlNameInput, NestedXmlMapWithXmlNameOutput, Any, Any + ], + Interceptor[NoInputAndNoOutputInput, NoInputAndNoOutputOutput, Any, Any], + Interceptor[NoInputAndOutputInput, NoInputAndOutputOutput, Any, Any], + Interceptor[ + NullAndEmptyHeadersClientInput, NullAndEmptyHeadersClientOutput, Any, Any + ], + Interceptor[ + NullAndEmptyHeadersServerInput, NullAndEmptyHeadersServerOutput, Any, Any + ], + Interceptor[ + OmitsNullSerializesEmptyStringInput, + OmitsNullSerializesEmptyStringOutput, + Any, + Any, + ], + Interceptor[ + PutWithContentEncodingInput, PutWithContentEncodingOutput, Any, Any + ], + Interceptor[ + QueryIdempotencyTokenAutoFillInput, + QueryIdempotencyTokenAutoFillOutput, + Any, + Any, + ], + Interceptor[ + QueryParamsAsStringListMapInput, QueryParamsAsStringListMapOutput, Any, Any + ], + Interceptor[QueryPrecedenceInput, QueryPrecedenceOutput, Any, Any], + Interceptor[RecursiveShapesInput, RecursiveShapesOutput, Any, Any], + Interceptor[ + SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput, Any, Any + ], + Interceptor[ + TimestampFormatHeadersInput, TimestampFormatHeadersOutput, Any, Any + ], + Interceptor[XmlAttributesInput, XmlAttributesOutput, Any, Any], + Interceptor[XmlAttributesInMiddleInput, XmlAttributesInMiddleOutput, Any, Any], + Interceptor[ + XmlAttributesOnPayloadInput, XmlAttributesOnPayloadOutput, Any, Any + ], + Interceptor[XmlBlobsInput, XmlBlobsOutput, Any, Any], + Interceptor[XmlEmptyBlobsInput, XmlEmptyBlobsOutput, Any, Any], + Interceptor[XmlEmptyListsInput, XmlEmptyListsOutput, Any, Any], + Interceptor[XmlEmptyMapsInput, XmlEmptyMapsOutput, Any, Any], + Interceptor[XmlEmptyStringsInput, XmlEmptyStringsOutput, Any, Any], + Interceptor[XmlEnumsInput, XmlEnumsOutput, Any, Any], + Interceptor[XmlIntEnumsInput, XmlIntEnumsOutput, Any, Any], + Interceptor[XmlListsInput, XmlListsOutput, Any, Any], + Interceptor[XmlMapsInput, XmlMapsOutput, Any, Any], + Interceptor[XmlMapsXmlNameInput, XmlMapsXmlNameOutput, Any, Any], + Interceptor[ + XmlMapWithXmlNamespaceInput, XmlMapWithXmlNamespaceOutput, Any, Any + ], + Interceptor[XmlNamespacesInput, XmlNamespacesOutput, Any, Any], + Interceptor[XmlTimestampsInput, XmlTimestampsOutput, Any, Any], + Interceptor[XmlUnionsInput, XmlUnionsOutput, Any, Any], + ] +else: + _ServiceInterceptor = Any + _PROTOCOL_SETTINGS = ProtocolSettings( namespace="aws.protocoltests.restxml", service_target="RestXml" ) diff --git a/codegen-output/rest-xml/src/restxml/models.py b/codegen-output/rest-xml/src/restxml/models.py index 03dcbe6cd..4c37c3979 100644 --- a/codegen-output/rest-xml/src/restxml/models.py +++ b/codegen-output/rest-xml/src/restxml/models.py @@ -1,242 +1,80 @@ # Code generated by smithy-python-codegen DO NOT EDIT. -from dataclasses import dataclass, field -from datetime import datetime -from enum import IntEnum, StrEnum -import logging -from typing import Any, Literal, Self, Union - -from smithy_core._schema_compact import hydrate -from smithy_core.deserializers import ShapeDeserializer -from smithy_core.documents import TypeRegistry -from smithy_core.exceptions import ModeledError, SerializationError -from smithy_core.response import EMPTY_RESPONSE_METADATA, ResponseMetadata -from smithy_core.schemas import APIOperation, Schema -from smithy_core.serializers import ShapeSerializer +from ._private import schemas as _schemas +from smithy_core._dynamic_models import ModelRegistry +from smithy_core.exceptions import ModeledError +from smithy_core.schemas import APIOperation from smithy_core.shapes import ShapeID -from smithy_core.types import UnknownEnumMixin from ._private.schemas import ( ALL_QUERY_STRING_TYPES as _SCHEMA_ALL_QUERY_STRING_TYPES, - ALL_QUERY_STRING_TYPES_INPUT as _SCHEMA_ALL_QUERY_STRING_TYPES_INPUT, - ALL_QUERY_STRING_TYPES_OUTPUT as _SCHEMA_ALL_QUERY_STRING_TYPES_OUTPUT, BODY_WITH_XML_NAME as _SCHEMA_BODY_WITH_XML_NAME, - BODY_WITH_XML_NAME_INPUT as _SCHEMA_BODY_WITH_XML_NAME_INPUT, - BODY_WITH_XML_NAME_OUTPUT as _SCHEMA_BODY_WITH_XML_NAME_OUTPUT, - COMPLEX_ERROR as _SCHEMA_COMPLEX_ERROR, - COMPLEX_NESTED_ERROR_DATA as _SCHEMA_COMPLEX_NESTED_ERROR_DATA, CONSTANT_AND_VARIABLE_QUERY_STRING as _SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING, - CONSTANT_AND_VARIABLE_QUERY_STRING_INPUT as _SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING_INPUT, - CONSTANT_AND_VARIABLE_QUERY_STRING_OUTPUT as _SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING_OUTPUT, CONSTANT_QUERY_STRING as _SCHEMA_CONSTANT_QUERY_STRING, - CONSTANT_QUERY_STRING_INPUT as _SCHEMA_CONSTANT_QUERY_STRING_INPUT, - CONSTANT_QUERY_STRING_OUTPUT as _SCHEMA_CONSTANT_QUERY_STRING_OUTPUT, CONTENT_TYPE_PARAMETERS as _SCHEMA_CONTENT_TYPE_PARAMETERS, - CONTENT_TYPE_PARAMETERS_INPUT as _SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT, - CONTENT_TYPE_PARAMETERS_OUTPUT as _SCHEMA_CONTENT_TYPE_PARAMETERS_OUTPUT, DATETIME_OFFSETS as _SCHEMA_DATETIME_OFFSETS, - DATETIME_OFFSETS_INPUT as _SCHEMA_DATETIME_OFFSETS_INPUT, - DATETIME_OFFSETS_OUTPUT as _SCHEMA_DATETIME_OFFSETS_OUTPUT, EMPTY_INPUT_AND_EMPTY_OUTPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT, - EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT, - EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT as _SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT, ENDPOINT_OPERATION as _SCHEMA_ENDPOINT_OPERATION, - ENDPOINT_OPERATION_INPUT as _SCHEMA_ENDPOINT_OPERATION_INPUT, - ENDPOINT_OPERATION_OUTPUT as _SCHEMA_ENDPOINT_OPERATION_OUTPUT, ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION, - ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION_INPUT as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION_INPUT, - ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION_OUTPUT as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION_OUTPUT, ENDPOINT_WITH_HOST_LABEL_OPERATION as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, - ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT, - ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT as _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT, FLATTENED_XML_MAP as _SCHEMA_FLATTENED_XML_MAP, - FLATTENED_XML_MAP_INPUT as _SCHEMA_FLATTENED_XML_MAP_INPUT, - FLATTENED_XML_MAP_OUTPUT as _SCHEMA_FLATTENED_XML_MAP_OUTPUT, FLATTENED_XML_MAP_WITH_XML_NAME as _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME, FLATTENED_XML_MAP_WITH_XML_NAMESPACE as _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE, - FLATTENED_XML_MAP_WITH_XML_NAMESPACE_INPUT as _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE_INPUT, - FLATTENED_XML_MAP_WITH_XML_NAMESPACE_OUTPUT as _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE_OUTPUT, - FLATTENED_XML_MAP_WITH_XML_NAME_INPUT as _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_INPUT, - FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT as _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT, FRACTIONAL_SECONDS as _SCHEMA_FRACTIONAL_SECONDS, - FRACTIONAL_SECONDS_INPUT as _SCHEMA_FRACTIONAL_SECONDS_INPUT, - FRACTIONAL_SECONDS_OUTPUT as _SCHEMA_FRACTIONAL_SECONDS_OUTPUT, - GREETING_STRUCT as _SCHEMA_GREETING_STRUCT, GREETING_WITH_ERRORS as _SCHEMA_GREETING_WITH_ERRORS, - GREETING_WITH_ERRORS_INPUT as _SCHEMA_GREETING_WITH_ERRORS_INPUT, - GREETING_WITH_ERRORS_OUTPUT as _SCHEMA_GREETING_WITH_ERRORS_OUTPUT, HTTP_EMPTY_PREFIX_HEADERS as _SCHEMA_HTTP_EMPTY_PREFIX_HEADERS, - HTTP_EMPTY_PREFIX_HEADERS_INPUT as _SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_INPUT, - HTTP_EMPTY_PREFIX_HEADERS_OUTPUT as _SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_OUTPUT, HTTP_ENUM_PAYLOAD as _SCHEMA_HTTP_ENUM_PAYLOAD, - HTTP_ENUM_PAYLOAD_INPUT as _SCHEMA_HTTP_ENUM_PAYLOAD_INPUT, - HTTP_ENUM_PAYLOAD_OUTPUT as _SCHEMA_HTTP_ENUM_PAYLOAD_OUTPUT, HTTP_PAYLOAD_TRAITS as _SCHEMA_HTTP_PAYLOAD_TRAITS, - HTTP_PAYLOAD_TRAITS_INPUT as _SCHEMA_HTTP_PAYLOAD_TRAITS_INPUT, - HTTP_PAYLOAD_TRAITS_OUTPUT as _SCHEMA_HTTP_PAYLOAD_TRAITS_OUTPUT, HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE as _SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE, - HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_INPUT as _SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_INPUT, - HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_OUTPUT as _SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_OUTPUT, HTTP_PAYLOAD_WITH_MEMBER_XML_NAME as _SCHEMA_HTTP_PAYLOAD_WITH_MEMBER_XML_NAME, - HTTP_PAYLOAD_WITH_MEMBER_XML_NAME_INPUT as _SCHEMA_HTTP_PAYLOAD_WITH_MEMBER_XML_NAME_INPUT, - HTTP_PAYLOAD_WITH_MEMBER_XML_NAME_OUTPUT as _SCHEMA_HTTP_PAYLOAD_WITH_MEMBER_XML_NAME_OUTPUT, HTTP_PAYLOAD_WITH_STRUCTURE as _SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE, - HTTP_PAYLOAD_WITH_STRUCTURE_INPUT as _SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_INPUT, - HTTP_PAYLOAD_WITH_STRUCTURE_OUTPUT as _SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_OUTPUT, HTTP_PAYLOAD_WITH_UNION as _SCHEMA_HTTP_PAYLOAD_WITH_UNION, - HTTP_PAYLOAD_WITH_UNION_INPUT as _SCHEMA_HTTP_PAYLOAD_WITH_UNION_INPUT, - HTTP_PAYLOAD_WITH_UNION_OUTPUT as _SCHEMA_HTTP_PAYLOAD_WITH_UNION_OUTPUT, HTTP_PAYLOAD_WITH_XML_NAME as _SCHEMA_HTTP_PAYLOAD_WITH_XML_NAME, HTTP_PAYLOAD_WITH_XML_NAMESPACE as _SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE, HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX as _SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX, - HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX_INPUT as _SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX_INPUT, - HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX_OUTPUT as _SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX_OUTPUT, - HTTP_PAYLOAD_WITH_XML_NAMESPACE_INPUT as _SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_INPUT, - HTTP_PAYLOAD_WITH_XML_NAMESPACE_OUTPUT as _SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_OUTPUT, - HTTP_PAYLOAD_WITH_XML_NAME_INPUT as _SCHEMA_HTTP_PAYLOAD_WITH_XML_NAME_INPUT, - HTTP_PAYLOAD_WITH_XML_NAME_OUTPUT as _SCHEMA_HTTP_PAYLOAD_WITH_XML_NAME_OUTPUT, HTTP_PREFIX_HEADERS as _SCHEMA_HTTP_PREFIX_HEADERS, - HTTP_PREFIX_HEADERS_INPUT as _SCHEMA_HTTP_PREFIX_HEADERS_INPUT, - HTTP_PREFIX_HEADERS_OUTPUT as _SCHEMA_HTTP_PREFIX_HEADERS_OUTPUT, HTTP_REQUEST_WITH_FLOAT_LABELS as _SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS, - HTTP_REQUEST_WITH_FLOAT_LABELS_INPUT as _SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS_INPUT, - HTTP_REQUEST_WITH_FLOAT_LABELS_OUTPUT as _SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS_OUTPUT, HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH as _SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH, - HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_INPUT as _SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_INPUT, - HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_OUTPUT as _SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_OUTPUT, HTTP_REQUEST_WITH_LABELS as _SCHEMA_HTTP_REQUEST_WITH_LABELS, HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT as _SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT, - HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_INPUT as _SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_INPUT, - HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_OUTPUT as _SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_OUTPUT, - HTTP_REQUEST_WITH_LABELS_INPUT as _SCHEMA_HTTP_REQUEST_WITH_LABELS_INPUT, - HTTP_REQUEST_WITH_LABELS_OUTPUT as _SCHEMA_HTTP_REQUEST_WITH_LABELS_OUTPUT, HTTP_RESPONSE_CODE as _SCHEMA_HTTP_RESPONSE_CODE, - HTTP_RESPONSE_CODE_INPUT as _SCHEMA_HTTP_RESPONSE_CODE_INPUT, - HTTP_RESPONSE_CODE_OUTPUT as _SCHEMA_HTTP_RESPONSE_CODE_OUTPUT, HTTP_STRING_PAYLOAD as _SCHEMA_HTTP_STRING_PAYLOAD, - HTTP_STRING_PAYLOAD_INPUT as _SCHEMA_HTTP_STRING_PAYLOAD_INPUT, - HTTP_STRING_PAYLOAD_OUTPUT as _SCHEMA_HTTP_STRING_PAYLOAD_OUTPUT, IGNORE_QUERY_PARAMS_IN_RESPONSE as _SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE, - IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT as _SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT, - IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT as _SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT, INPUT_AND_OUTPUT_WITH_HEADERS as _SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS, - INPUT_AND_OUTPUT_WITH_HEADERS_INPUT as _SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_INPUT, - INPUT_AND_OUTPUT_WITH_HEADERS_OUTPUT as _SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_OUTPUT, - INVALID_GREETING as _SCHEMA_INVALID_GREETING, - NESTED_PAYLOAD as _SCHEMA_NESTED_PAYLOAD, NESTED_XML_MAPS as _SCHEMA_NESTED_XML_MAPS, - NESTED_XML_MAPS_INPUT as _SCHEMA_NESTED_XML_MAPS_INPUT, - NESTED_XML_MAPS_OUTPUT as _SCHEMA_NESTED_XML_MAPS_OUTPUT, NESTED_XML_MAP_WITH_XML_NAME as _SCHEMA_NESTED_XML_MAP_WITH_XML_NAME, - NESTED_XML_MAP_WITH_XML_NAME_INPUT as _SCHEMA_NESTED_XML_MAP_WITH_XML_NAME_INPUT, - NESTED_XML_MAP_WITH_XML_NAME_OUTPUT as _SCHEMA_NESTED_XML_MAP_WITH_XML_NAME_OUTPUT, NO_INPUT_AND_NO_OUTPUT as _SCHEMA_NO_INPUT_AND_NO_OUTPUT, - NO_INPUT_AND_NO_OUTPUT_INPUT as _SCHEMA_NO_INPUT_AND_NO_OUTPUT_INPUT, - NO_INPUT_AND_NO_OUTPUT_OUTPUT as _SCHEMA_NO_INPUT_AND_NO_OUTPUT_OUTPUT, NO_INPUT_AND_OUTPUT as _SCHEMA_NO_INPUT_AND_OUTPUT, - NO_INPUT_AND_OUTPUT_INPUT as _SCHEMA_NO_INPUT_AND_OUTPUT_INPUT, - NO_INPUT_AND_OUTPUT_OUTPUT as _SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT, NULL_AND_EMPTY_HEADERS_CLIENT as _SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT, - NULL_AND_EMPTY_HEADERS_CLIENT_INPUT as _SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_INPUT, - NULL_AND_EMPTY_HEADERS_CLIENT_OUTPUT as _SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_OUTPUT, NULL_AND_EMPTY_HEADERS_SERVER as _SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER, - NULL_AND_EMPTY_HEADERS_SERVER_INPUT as _SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_INPUT, - NULL_AND_EMPTY_HEADERS_SERVER_OUTPUT as _SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_OUTPUT, OMITS_NULL_SERIALIZES_EMPTY_STRING as _SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING, - OMITS_NULL_SERIALIZES_EMPTY_STRING_INPUT as _SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING_INPUT, - OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT as _SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT, - PAYLOAD_WITH_XML_NAME as _SCHEMA_PAYLOAD_WITH_XML_NAME, - PAYLOAD_WITH_XML_NAMESPACE as _SCHEMA_PAYLOAD_WITH_XML_NAMESPACE, - PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX as _SCHEMA_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX, PUT_WITH_CONTENT_ENCODING as _SCHEMA_PUT_WITH_CONTENT_ENCODING, - PUT_WITH_CONTENT_ENCODING_INPUT as _SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT, - PUT_WITH_CONTENT_ENCODING_OUTPUT as _SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT, QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL as _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, - QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT as _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT, - QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT as _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT, QUERY_PARAMS_AS_STRING_LIST_MAP as _SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP, - QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT as _SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT, - QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT as _SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT, QUERY_PRECEDENCE as _SCHEMA_QUERY_PRECEDENCE, - QUERY_PRECEDENCE_INPUT as _SCHEMA_QUERY_PRECEDENCE_INPUT, - QUERY_PRECEDENCE_OUTPUT as _SCHEMA_QUERY_PRECEDENCE_OUTPUT, RECURSIVE_SHAPES as _SCHEMA_RECURSIVE_SHAPES, - RECURSIVE_SHAPES_INPUT as _SCHEMA_RECURSIVE_SHAPES_INPUT, - RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1 as _SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1, - RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2 as _SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2, - RECURSIVE_SHAPES_OUTPUT as _SCHEMA_RECURSIVE_SHAPES_OUTPUT, SIMPLE_SCALAR_PROPERTIES as _SCHEMA_SIMPLE_SCALAR_PROPERTIES, - SIMPLE_SCALAR_PROPERTIES_INPUT as _SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT, - SIMPLE_SCALAR_PROPERTIES_OUTPUT as _SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT, - STRUCTURE_LIST_MEMBER as _SCHEMA_STRUCTURE_LIST_MEMBER, TIMESTAMP_FORMAT_HEADERS as _SCHEMA_TIMESTAMP_FORMAT_HEADERS, - TIMESTAMP_FORMAT_HEADERS_INPUT as _SCHEMA_TIMESTAMP_FORMAT_HEADERS_INPUT, - TIMESTAMP_FORMAT_HEADERS_OUTPUT as _SCHEMA_TIMESTAMP_FORMAT_HEADERS_OUTPUT, - UNION_PAYLOAD as _SCHEMA_UNION_PAYLOAD, XML_ATTRIBUTES as _SCHEMA_XML_ATTRIBUTES, - XML_ATTRIBUTES_INPUT as _SCHEMA_XML_ATTRIBUTES_INPUT, XML_ATTRIBUTES_IN_MIDDLE as _SCHEMA_XML_ATTRIBUTES_IN_MIDDLE, - XML_ATTRIBUTES_IN_MIDDLE_INPUT as _SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_INPUT, - XML_ATTRIBUTES_IN_MIDDLE_OUTPUT as _SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_OUTPUT, - XML_ATTRIBUTES_IN_MIDDLE_PAYLOAD_REQUEST as _SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_PAYLOAD_REQUEST, - XML_ATTRIBUTES_IN_MIDDLE_PAYLOAD_RESPONSE as _SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_PAYLOAD_RESPONSE, XML_ATTRIBUTES_ON_PAYLOAD as _SCHEMA_XML_ATTRIBUTES_ON_PAYLOAD, - XML_ATTRIBUTES_ON_PAYLOAD_INPUT as _SCHEMA_XML_ATTRIBUTES_ON_PAYLOAD_INPUT, - XML_ATTRIBUTES_ON_PAYLOAD_OUTPUT as _SCHEMA_XML_ATTRIBUTES_ON_PAYLOAD_OUTPUT, - XML_ATTRIBUTES_OUTPUT as _SCHEMA_XML_ATTRIBUTES_OUTPUT, - XML_ATTRIBUTES_PAYLOAD_REQUEST as _SCHEMA_XML_ATTRIBUTES_PAYLOAD_REQUEST, - XML_ATTRIBUTES_PAYLOAD_RESPONSE as _SCHEMA_XML_ATTRIBUTES_PAYLOAD_RESPONSE, XML_BLOBS as _SCHEMA_XML_BLOBS, - XML_BLOBS_INPUT as _SCHEMA_XML_BLOBS_INPUT, - XML_BLOBS_OUTPUT as _SCHEMA_XML_BLOBS_OUTPUT, XML_EMPTY_BLOBS as _SCHEMA_XML_EMPTY_BLOBS, - XML_EMPTY_BLOBS_INPUT as _SCHEMA_XML_EMPTY_BLOBS_INPUT, - XML_EMPTY_BLOBS_OUTPUT as _SCHEMA_XML_EMPTY_BLOBS_OUTPUT, XML_EMPTY_LISTS as _SCHEMA_XML_EMPTY_LISTS, - XML_EMPTY_LISTS_INPUT as _SCHEMA_XML_EMPTY_LISTS_INPUT, - XML_EMPTY_LISTS_OUTPUT as _SCHEMA_XML_EMPTY_LISTS_OUTPUT, XML_EMPTY_MAPS as _SCHEMA_XML_EMPTY_MAPS, - XML_EMPTY_MAPS_INPUT as _SCHEMA_XML_EMPTY_MAPS_INPUT, - XML_EMPTY_MAPS_OUTPUT as _SCHEMA_XML_EMPTY_MAPS_OUTPUT, XML_EMPTY_STRINGS as _SCHEMA_XML_EMPTY_STRINGS, - XML_EMPTY_STRINGS_INPUT as _SCHEMA_XML_EMPTY_STRINGS_INPUT, - XML_EMPTY_STRINGS_OUTPUT as _SCHEMA_XML_EMPTY_STRINGS_OUTPUT, XML_ENUMS as _SCHEMA_XML_ENUMS, - XML_ENUMS_INPUT as _SCHEMA_XML_ENUMS_INPUT, - XML_ENUMS_OUTPUT as _SCHEMA_XML_ENUMS_OUTPUT, XML_INT_ENUMS as _SCHEMA_XML_INT_ENUMS, - XML_INT_ENUMS_INPUT as _SCHEMA_XML_INT_ENUMS_INPUT, - XML_INT_ENUMS_OUTPUT as _SCHEMA_XML_INT_ENUMS_OUTPUT, XML_LISTS as _SCHEMA_XML_LISTS, - XML_LISTS_INPUT as _SCHEMA_XML_LISTS_INPUT, - XML_LISTS_OUTPUT as _SCHEMA_XML_LISTS_OUTPUT, XML_MAPS as _SCHEMA_XML_MAPS, - XML_MAPS_INPUT as _SCHEMA_XML_MAPS_INPUT, - XML_MAPS_OUTPUT as _SCHEMA_XML_MAPS_OUTPUT, XML_MAPS_XML_NAME as _SCHEMA_XML_MAPS_XML_NAME, - XML_MAPS_XML_NAME_INPUT as _SCHEMA_XML_MAPS_XML_NAME_INPUT, - XML_MAPS_XML_NAME_OUTPUT as _SCHEMA_XML_MAPS_XML_NAME_OUTPUT, XML_MAP_WITH_XML_NAMESPACE as _SCHEMA_XML_MAP_WITH_XML_NAMESPACE, - XML_MAP_WITH_XML_NAMESPACE_INPUT as _SCHEMA_XML_MAP_WITH_XML_NAMESPACE_INPUT, - XML_MAP_WITH_XML_NAMESPACE_OUTPUT as _SCHEMA_XML_MAP_WITH_XML_NAMESPACE_OUTPUT, XML_NAMESPACES as _SCHEMA_XML_NAMESPACES, - XML_NAMESPACES_INPUT as _SCHEMA_XML_NAMESPACES_INPUT, - XML_NAMESPACES_OUTPUT as _SCHEMA_XML_NAMESPACES_OUTPUT, - XML_NAMESPACE_NESTED as _SCHEMA_XML_NAMESPACE_NESTED, - XML_NESTED_UNION_STRUCT as _SCHEMA_XML_NESTED_UNION_STRUCT, XML_TIMESTAMPS as _SCHEMA_XML_TIMESTAMPS, - XML_TIMESTAMPS_INPUT as _SCHEMA_XML_TIMESTAMPS_INPUT, - XML_TIMESTAMPS_OUTPUT as _SCHEMA_XML_TIMESTAMPS_OUTPUT, XML_UNIONS as _SCHEMA_XML_UNIONS, - XML_UNIONS_INPUT as _SCHEMA_XML_UNIONS_INPUT, - XML_UNIONS_OUTPUT as _SCHEMA_XML_UNIONS_OUTPUT, - XML_UNION_SHAPE as _SCHEMA_XML_UNION_SHAPE, ) -logger = logging.getLogger(__name__) - - class ServiceError(ModeledError): """ Base error for all errors in the service. @@ -246,9683 +84,794 @@ class ServiceError(ModeledError): """ -def _serialize_boolean_list( - serializer: ShapeSerializer, schema: Schema, value: list[bool] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_boolean(member_schema, e) - +_registry = ModelRegistry( + _schemas, + renames={}, + index={ + "AllQueryStringTypesInput": "ALL_QUERY_STRING_TYPES_INPUT", + "AllQueryStringTypesOutput": "ALL_QUERY_STRING_TYPES_OUTPUT", + "BodyWithXmlNameInput": "BODY_WITH_XML_NAME_INPUT", + "BodyWithXmlNameOutput": "BODY_WITH_XML_NAME_OUTPUT", + "ComplexError": "COMPLEX_ERROR", + "ComplexNestedErrorData": "COMPLEX_NESTED_ERROR_DATA", + "ConstantAndVariableQueryStringInput": "CONSTANT_AND_VARIABLE_QUERY_STRING_INPUT", + "ConstantAndVariableQueryStringOutput": "CONSTANT_AND_VARIABLE_QUERY_STRING_OUTPUT", + "ConstantQueryStringInput": "CONSTANT_QUERY_STRING_INPUT", + "ConstantQueryStringOutput": "CONSTANT_QUERY_STRING_OUTPUT", + "ContentTypeParametersInput": "CONTENT_TYPE_PARAMETERS_INPUT", + "ContentTypeParametersOutput": "CONTENT_TYPE_PARAMETERS_OUTPUT", + "DatetimeOffsetsInput": "DATETIME_OFFSETS_INPUT", + "DatetimeOffsetsOutput": "DATETIME_OFFSETS_OUTPUT", + "EmptyInputAndEmptyOutputInput": "EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT", + "EmptyInputAndEmptyOutputOutput": "EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT", + "EndpointOperationInput": "ENDPOINT_OPERATION_INPUT", + "EndpointOperationOutput": "ENDPOINT_OPERATION_OUTPUT", + "EndpointWithHostLabelHeaderOperationInput": "ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION_INPUT", + "EndpointWithHostLabelHeaderOperationOutput": "ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION_OUTPUT", + "EndpointWithHostLabelOperationInput": "ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT", + "EndpointWithHostLabelOperationOutput": "ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT", + "FlattenedXmlMapInput": "FLATTENED_XML_MAP_INPUT", + "FlattenedXmlMapOutput": "FLATTENED_XML_MAP_OUTPUT", + "FlattenedXmlMapWithXmlNameInput": "FLATTENED_XML_MAP_WITH_XML_NAME_INPUT", + "FlattenedXmlMapWithXmlNameOutput": "FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT", + "FlattenedXmlMapWithXmlNamespaceInput": "FLATTENED_XML_MAP_WITH_XML_NAMESPACE_INPUT", + "FlattenedXmlMapWithXmlNamespaceOutput": "FLATTENED_XML_MAP_WITH_XML_NAMESPACE_OUTPUT", + "FractionalSecondsInput": "FRACTIONAL_SECONDS_INPUT", + "FractionalSecondsOutput": "FRACTIONAL_SECONDS_OUTPUT", + "GreetingWithErrorsInput": "GREETING_WITH_ERRORS_INPUT", + "GreetingWithErrorsOutput": "GREETING_WITH_ERRORS_OUTPUT", + "HttpEmptyPrefixHeadersInput": "HTTP_EMPTY_PREFIX_HEADERS_INPUT", + "HttpEmptyPrefixHeadersOutput": "HTTP_EMPTY_PREFIX_HEADERS_OUTPUT", + "HttpEnumPayloadInput": "HTTP_ENUM_PAYLOAD_INPUT", + "HttpEnumPayloadOutput": "HTTP_ENUM_PAYLOAD_OUTPUT", + "HttpPayloadTraitsInput": "HTTP_PAYLOAD_TRAITS_INPUT", + "HttpPayloadTraitsOutput": "HTTP_PAYLOAD_TRAITS_OUTPUT", + "HttpPayloadTraitsWithMediaTypeInput": "HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_INPUT", + "HttpPayloadTraitsWithMediaTypeOutput": "HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_OUTPUT", + "HttpPayloadWithMemberXmlNameInput": "HTTP_PAYLOAD_WITH_MEMBER_XML_NAME_INPUT", + "HttpPayloadWithMemberXmlNameOutput": "HTTP_PAYLOAD_WITH_MEMBER_XML_NAME_OUTPUT", + "HttpPayloadWithStructureInput": "HTTP_PAYLOAD_WITH_STRUCTURE_INPUT", + "HttpPayloadWithStructureOutput": "HTTP_PAYLOAD_WITH_STRUCTURE_OUTPUT", + "HttpPayloadWithUnionInput": "HTTP_PAYLOAD_WITH_UNION_INPUT", + "HttpPayloadWithUnionOutput": "HTTP_PAYLOAD_WITH_UNION_OUTPUT", + "HttpPayloadWithXmlNameInput": "HTTP_PAYLOAD_WITH_XML_NAME_INPUT", + "HttpPayloadWithXmlNameOutput": "HTTP_PAYLOAD_WITH_XML_NAME_OUTPUT", + "HttpPayloadWithXmlNamespaceAndPrefixInput": "HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX_INPUT", + "HttpPayloadWithXmlNamespaceAndPrefixOutput": "HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX_OUTPUT", + "HttpPayloadWithXmlNamespaceInput": "HTTP_PAYLOAD_WITH_XML_NAMESPACE_INPUT", + "HttpPayloadWithXmlNamespaceOutput": "HTTP_PAYLOAD_WITH_XML_NAMESPACE_OUTPUT", + "HttpPrefixHeadersInput": "HTTP_PREFIX_HEADERS_INPUT", + "HttpPrefixHeadersOutput": "HTTP_PREFIX_HEADERS_OUTPUT", + "HttpRequestWithFloatLabelsInput": "HTTP_REQUEST_WITH_FLOAT_LABELS_INPUT", + "HttpRequestWithFloatLabelsOutput": "HTTP_REQUEST_WITH_FLOAT_LABELS_OUTPUT", + "HttpRequestWithGreedyLabelInPathInput": "HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_INPUT", + "HttpRequestWithGreedyLabelInPathOutput": "HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_OUTPUT", + "HttpRequestWithLabelsAndTimestampFormatInput": "HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_INPUT", + "HttpRequestWithLabelsAndTimestampFormatOutput": "HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_OUTPUT", + "HttpRequestWithLabelsInput": "HTTP_REQUEST_WITH_LABELS_INPUT", + "HttpRequestWithLabelsOutput": "HTTP_REQUEST_WITH_LABELS_OUTPUT", + "HttpResponseCodeInput": "HTTP_RESPONSE_CODE_INPUT", + "HttpResponseCodeOutput": "HTTP_RESPONSE_CODE_OUTPUT", + "HttpStringPayloadInput": "HTTP_STRING_PAYLOAD_INPUT", + "HttpStringPayloadOutput": "HTTP_STRING_PAYLOAD_OUTPUT", + "IgnoreQueryParamsInResponseInput": "IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT", + "IgnoreQueryParamsInResponseOutput": "IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT", + "InputAndOutputWithHeadersInput": "INPUT_AND_OUTPUT_WITH_HEADERS_INPUT", + "InputAndOutputWithHeadersOutput": "INPUT_AND_OUTPUT_WITH_HEADERS_OUTPUT", + "InvalidGreeting": "INVALID_GREETING", + "NestedPayload": "NESTED_PAYLOAD", + "NestedXmlMapsInput": "NESTED_XML_MAPS_INPUT", + "NestedXmlMapsOutput": "NESTED_XML_MAPS_OUTPUT", + "NestedXmlMapWithXmlNameInput": "NESTED_XML_MAP_WITH_XML_NAME_INPUT", + "NestedXmlMapWithXmlNameOutput": "NESTED_XML_MAP_WITH_XML_NAME_OUTPUT", + "NoInputAndNoOutputInput": "NO_INPUT_AND_NO_OUTPUT_INPUT", + "NoInputAndNoOutputOutput": "NO_INPUT_AND_NO_OUTPUT_OUTPUT", + "NoInputAndOutputInput": "NO_INPUT_AND_OUTPUT_INPUT", + "NoInputAndOutputOutput": "NO_INPUT_AND_OUTPUT_OUTPUT", + "NullAndEmptyHeadersClientInput": "NULL_AND_EMPTY_HEADERS_CLIENT_INPUT", + "NullAndEmptyHeadersClientOutput": "NULL_AND_EMPTY_HEADERS_CLIENT_OUTPUT", + "NullAndEmptyHeadersServerInput": "NULL_AND_EMPTY_HEADERS_SERVER_INPUT", + "NullAndEmptyHeadersServerOutput": "NULL_AND_EMPTY_HEADERS_SERVER_OUTPUT", + "OmitsNullSerializesEmptyStringInput": "OMITS_NULL_SERIALIZES_EMPTY_STRING_INPUT", + "OmitsNullSerializesEmptyStringOutput": "OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT", + "PayloadWithXmlName": "PAYLOAD_WITH_XML_NAME", + "PayloadWithXmlNamespace": "PAYLOAD_WITH_XML_NAMESPACE", + "PayloadWithXmlNamespaceAndPrefix": "PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX", + "PutWithContentEncodingInput": "PUT_WITH_CONTENT_ENCODING_INPUT", + "PutWithContentEncodingOutput": "PUT_WITH_CONTENT_ENCODING_OUTPUT", + "QueryIdempotencyTokenAutoFillInput": "QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT", + "QueryIdempotencyTokenAutoFillOutput": "QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT", + "QueryParamsAsStringListMapInput": "QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT", + "QueryParamsAsStringListMapOutput": "QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT", + "QueryPrecedenceInput": "QUERY_PRECEDENCE_INPUT", + "QueryPrecedenceOutput": "QUERY_PRECEDENCE_OUTPUT", + "RecursiveShapesInput": "RECURSIVE_SHAPES_INPUT", + "RecursiveShapesInputOutputNested1": "RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1", + "RecursiveShapesInputOutputNested2": "RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2", + "RecursiveShapesOutput": "RECURSIVE_SHAPES_OUTPUT", + "SimpleScalarPropertiesInput": "SIMPLE_SCALAR_PROPERTIES_INPUT", + "SimpleScalarPropertiesOutput": "SIMPLE_SCALAR_PROPERTIES_OUTPUT", + "StringEnum": "STRING_ENUM", + "StructureListMember": "STRUCTURE_LIST_MEMBER", + "TimestampFormatHeadersInput": "TIMESTAMP_FORMAT_HEADERS_INPUT", + "TimestampFormatHeadersOutput": "TIMESTAMP_FORMAT_HEADERS_OUTPUT", + "UnionPayload": "UNION_PAYLOAD", + "UnionPayloadGreeting": "UNION_PAYLOAD", + "UnionPayloadUnknown": "UNION_PAYLOAD", + "XmlAttributesInMiddleInput": "XML_ATTRIBUTES_IN_MIDDLE_INPUT", + "XmlAttributesInMiddleOutput": "XML_ATTRIBUTES_IN_MIDDLE_OUTPUT", + "XmlAttributesInMiddlePayloadRequest": "XML_ATTRIBUTES_IN_MIDDLE_PAYLOAD_REQUEST", + "XmlAttributesInMiddlePayloadResponse": "XML_ATTRIBUTES_IN_MIDDLE_PAYLOAD_RESPONSE", + "XmlAttributesInput": "XML_ATTRIBUTES_INPUT", + "XmlAttributesOnPayloadInput": "XML_ATTRIBUTES_ON_PAYLOAD_INPUT", + "XmlAttributesOnPayloadOutput": "XML_ATTRIBUTES_ON_PAYLOAD_OUTPUT", + "XmlAttributesOutput": "XML_ATTRIBUTES_OUTPUT", + "XmlAttributesPayloadRequest": "XML_ATTRIBUTES_PAYLOAD_REQUEST", + "XmlAttributesPayloadResponse": "XML_ATTRIBUTES_PAYLOAD_RESPONSE", + "XmlBlobsInput": "XML_BLOBS_INPUT", + "XmlBlobsOutput": "XML_BLOBS_OUTPUT", + "XmlEmptyBlobsInput": "XML_EMPTY_BLOBS_INPUT", + "XmlEmptyBlobsOutput": "XML_EMPTY_BLOBS_OUTPUT", + "XmlEmptyListsInput": "XML_EMPTY_LISTS_INPUT", + "XmlEmptyListsOutput": "XML_EMPTY_LISTS_OUTPUT", + "XmlEmptyMapsInput": "XML_EMPTY_MAPS_INPUT", + "XmlEmptyMapsOutput": "XML_EMPTY_MAPS_OUTPUT", + "XmlEmptyStringsInput": "XML_EMPTY_STRINGS_INPUT", + "XmlEmptyStringsOutput": "XML_EMPTY_STRINGS_OUTPUT", + "XmlEnumsInput": "XML_ENUMS_INPUT", + "XmlEnumsOutput": "XML_ENUMS_OUTPUT", + "XmlIntEnumsInput": "XML_INT_ENUMS_INPUT", + "XmlIntEnumsOutput": "XML_INT_ENUMS_OUTPUT", + "XmlListsInput": "XML_LISTS_INPUT", + "XmlListsOutput": "XML_LISTS_OUTPUT", + "XmlMapsInput": "XML_MAPS_INPUT", + "XmlMapsOutput": "XML_MAPS_OUTPUT", + "XmlMapsXmlNameInput": "XML_MAPS_XML_NAME_INPUT", + "XmlMapsXmlNameOutput": "XML_MAPS_XML_NAME_OUTPUT", + "XmlMapWithXmlNamespaceInput": "XML_MAP_WITH_XML_NAMESPACE_INPUT", + "XmlMapWithXmlNamespaceOutput": "XML_MAP_WITH_XML_NAMESPACE_OUTPUT", + "XmlNamespaceNested": "XML_NAMESPACE_NESTED", + "XmlNamespacesInput": "XML_NAMESPACES_INPUT", + "XmlNamespacesOutput": "XML_NAMESPACES_OUTPUT", + "XmlNestedUnionStruct": "XML_NESTED_UNION_STRUCT", + "XmlTimestampsInput": "XML_TIMESTAMPS_INPUT", + "XmlTimestampsOutput": "XML_TIMESTAMPS_OUTPUT", + "XmlUnionShape": "XML_UNION_SHAPE", + "XmlUnionShapeStringValue": "XML_UNION_SHAPE", + "XmlUnionShapeBooleanValue": "XML_UNION_SHAPE", + "XmlUnionShapeByteValue": "XML_UNION_SHAPE", + "XmlUnionShapeShortValue": "XML_UNION_SHAPE", + "XmlUnionShapeIntegerValue": "XML_UNION_SHAPE", + "XmlUnionShapeLongValue": "XML_UNION_SHAPE", + "XmlUnionShapeFloatValue": "XML_UNION_SHAPE", + "XmlUnionShapeDoubleValue": "XML_UNION_SHAPE", + "XmlUnionShapeUnionValue": "XML_UNION_SHAPE", + "XmlUnionShapeStructValue": "XML_UNION_SHAPE", + "XmlUnionShapeUnknown": "XML_UNION_SHAPE", + "XmlUnionsInput": "XML_UNIONS_INPUT", + "XmlUnionsOutput": "XML_UNIONS_OUTPUT", + "FooEnum": "FOO_ENUM", + "GreetingStruct": "GREETING_STRUCT", + "IntegerEnum": "INTEGER_ENUM", + }, + shape_names=frozenset( + { + "AllQueryStringTypesInput", + "AllQueryStringTypesOutput", + "BodyWithXmlNameInput", + "BodyWithXmlNameOutput", + "ComplexError", + "ComplexNestedErrorData", + "ConstantAndVariableQueryStringInput", + "ConstantAndVariableQueryStringOutput", + "ConstantQueryStringInput", + "ConstantQueryStringOutput", + "ContentTypeParametersInput", + "ContentTypeParametersOutput", + "DatetimeOffsetsInput", + "DatetimeOffsetsOutput", + "EmptyInputAndEmptyOutputInput", + "EmptyInputAndEmptyOutputOutput", + "EndpointOperationInput", + "EndpointOperationOutput", + "EndpointWithHostLabelHeaderOperationInput", + "EndpointWithHostLabelHeaderOperationOutput", + "EndpointWithHostLabelOperationInput", + "EndpointWithHostLabelOperationOutput", + "FlattenedXmlMapInput", + "FlattenedXmlMapOutput", + "FlattenedXmlMapWithXmlNameInput", + "FlattenedXmlMapWithXmlNameOutput", + "FlattenedXmlMapWithXmlNamespaceInput", + "FlattenedXmlMapWithXmlNamespaceOutput", + "FooEnum", + "FractionalSecondsInput", + "FractionalSecondsOutput", + "GreetingStruct", + "GreetingWithErrorsInput", + "GreetingWithErrorsOutput", + "HttpEmptyPrefixHeadersInput", + "HttpEmptyPrefixHeadersOutput", + "HttpEnumPayloadInput", + "HttpEnumPayloadOutput", + "HttpPayloadTraitsInput", + "HttpPayloadTraitsOutput", + "HttpPayloadTraitsWithMediaTypeInput", + "HttpPayloadTraitsWithMediaTypeOutput", + "HttpPayloadWithMemberXmlNameInput", + "HttpPayloadWithMemberXmlNameOutput", + "HttpPayloadWithStructureInput", + "HttpPayloadWithStructureOutput", + "HttpPayloadWithUnionInput", + "HttpPayloadWithUnionOutput", + "HttpPayloadWithXmlNameInput", + "HttpPayloadWithXmlNameOutput", + "HttpPayloadWithXmlNamespaceAndPrefixInput", + "HttpPayloadWithXmlNamespaceAndPrefixOutput", + "HttpPayloadWithXmlNamespaceInput", + "HttpPayloadWithXmlNamespaceOutput", + "HttpPrefixHeadersInput", + "HttpPrefixHeadersOutput", + "HttpRequestWithFloatLabelsInput", + "HttpRequestWithFloatLabelsOutput", + "HttpRequestWithGreedyLabelInPathInput", + "HttpRequestWithGreedyLabelInPathOutput", + "HttpRequestWithLabelsAndTimestampFormatInput", + "HttpRequestWithLabelsAndTimestampFormatOutput", + "HttpRequestWithLabelsInput", + "HttpRequestWithLabelsOutput", + "HttpResponseCodeInput", + "HttpResponseCodeOutput", + "HttpStringPayloadInput", + "HttpStringPayloadOutput", + "IgnoreQueryParamsInResponseInput", + "IgnoreQueryParamsInResponseOutput", + "InputAndOutputWithHeadersInput", + "InputAndOutputWithHeadersOutput", + "IntegerEnum", + "InvalidGreeting", + "NestedPayload", + "NestedXmlMapWithXmlNameInput", + "NestedXmlMapWithXmlNameOutput", + "NestedXmlMapsInput", + "NestedXmlMapsOutput", + "NoInputAndNoOutputInput", + "NoInputAndNoOutputOutput", + "NoInputAndOutputInput", + "NoInputAndOutputOutput", + "NullAndEmptyHeadersClientInput", + "NullAndEmptyHeadersClientOutput", + "NullAndEmptyHeadersServerInput", + "NullAndEmptyHeadersServerOutput", + "OmitsNullSerializesEmptyStringInput", + "OmitsNullSerializesEmptyStringOutput", + "PayloadWithXmlName", + "PayloadWithXmlNamespace", + "PayloadWithXmlNamespaceAndPrefix", + "PutWithContentEncodingInput", + "PutWithContentEncodingOutput", + "QueryIdempotencyTokenAutoFillInput", + "QueryIdempotencyTokenAutoFillOutput", + "QueryParamsAsStringListMapInput", + "QueryParamsAsStringListMapOutput", + "QueryPrecedenceInput", + "QueryPrecedenceOutput", + "RecursiveShapesInput", + "RecursiveShapesInputOutputNested1", + "RecursiveShapesInputOutputNested2", + "RecursiveShapesOutput", + "SimpleScalarPropertiesInput", + "SimpleScalarPropertiesOutput", + "StringEnum", + "StructureListMember", + "TimestampFormatHeadersInput", + "TimestampFormatHeadersOutput", + "UnionPayload", + "XmlAttributesInMiddleInput", + "XmlAttributesInMiddleOutput", + "XmlAttributesInMiddlePayloadRequest", + "XmlAttributesInMiddlePayloadResponse", + "XmlAttributesInput", + "XmlAttributesOnPayloadInput", + "XmlAttributesOnPayloadOutput", + "XmlAttributesOutput", + "XmlAttributesPayloadRequest", + "XmlAttributesPayloadResponse", + "XmlBlobsInput", + "XmlBlobsOutput", + "XmlEmptyBlobsInput", + "XmlEmptyBlobsOutput", + "XmlEmptyListsInput", + "XmlEmptyListsOutput", + "XmlEmptyMapsInput", + "XmlEmptyMapsOutput", + "XmlEmptyStringsInput", + "XmlEmptyStringsOutput", + "XmlEnumsInput", + "XmlEnumsOutput", + "XmlIntEnumsInput", + "XmlIntEnumsOutput", + "XmlListsInput", + "XmlListsOutput", + "XmlMapWithXmlNamespaceInput", + "XmlMapWithXmlNamespaceOutput", + "XmlMapsInput", + "XmlMapsOutput", + "XmlMapsXmlNameInput", + "XmlMapsXmlNameOutput", + "XmlNamespaceNested", + "XmlNamespacesInput", + "XmlNamespacesOutput", + "XmlNestedUnionStruct", + "XmlTimestampsInput", + "XmlTimestampsOutput", + "XmlUnionShape", + "XmlUnionsInput", + "XmlUnionsOutput", + } + ), + service_error="ServiceError", +) -def _deserialize_boolean_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[bool]: - result: list[bool] = [] - member_schema = schema.members_by_index[0] - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +def __getattr__(name: str): + return _registry.build(name) - else: - result.append(d.read_boolean(member_schema)) - deserializer.read_list(schema, _read_value) - return result +ALL_QUERY_STRING_TYPES = APIOperation( + static_schema=_SCHEMA_ALL_QUERY_STRING_TYPES, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +BODY_WITH_XML_NAME = APIOperation( + static_schema=_SCHEMA_BODY_WITH_XML_NAME, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_double_list( - serializer: ShapeSerializer, schema: Schema, value: list[float] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_double(member_schema, e) +CONSTANT_AND_VARIABLE_QUERY_STRING = APIOperation( + static_schema=_SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +CONSTANT_QUERY_STRING = APIOperation( + static_schema=_SCHEMA_CONSTANT_QUERY_STRING, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_double_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[float]: - result: list[float] = [] - member_schema = schema.members_by_index[0] +CONTENT_TYPE_PARAMETERS = APIOperation( + static_schema=_SCHEMA_CONTENT_TYPE_PARAMETERS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +DATETIME_OFFSETS = APIOperation( + static_schema=_SCHEMA_DATETIME_OFFSETS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result.append(d.read_double(member_schema)) +EMPTY_INPUT_AND_EMPTY_OUTPUT = APIOperation( + static_schema=_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_list(schema, _read_value) - return result +ENDPOINT_OPERATION = APIOperation( + static_schema=_SCHEMA_ENDPOINT_OPERATION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION = APIOperation( + static_schema=_SCHEMA_ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -class FooEnum(UnknownEnumMixin, StrEnum): - FOO = "Foo" - BAZ = "Baz" - BAR = "Bar" - ONE = "1" - ZERO = "0" +ENDPOINT_WITH_HOST_LABEL_OPERATION = APIOperation( + static_schema=_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +FLATTENED_XML_MAP = APIOperation( + static_schema=_SCHEMA_FLATTENED_XML_MAP, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_foo_enum_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) +FLATTENED_XML_MAP_WITH_XML_NAME = APIOperation( + static_schema=_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +FLATTENED_XML_MAP_WITH_XML_NAMESPACE = APIOperation( + static_schema=_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_foo_enum_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] +FRACTIONAL_SECONDS = APIOperation( + static_schema=_SCHEMA_FRACTIONAL_SECONDS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +GREETING_WITH_ERRORS = APIOperation( + static_schema=_SCHEMA_GREETING_WITH_ERRORS, + model_registry=_registry, + error_ids=[ + ShapeID("aws.protocoltests.restxml#InvalidGreeting"), + ShapeID("aws.protocoltests.restxml#ComplexError"), + ], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result.append(FooEnum(d.read_string(member_schema))) +HTTP_EMPTY_PREFIX_HEADERS = APIOperation( + static_schema=_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_list(schema, _read_value) - return result +HTTP_ENUM_PAYLOAD = APIOperation( + static_schema=_SCHEMA_HTTP_ENUM_PAYLOAD, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +HTTP_PAYLOAD_TRAITS = APIOperation( + static_schema=_SCHEMA_HTTP_PAYLOAD_TRAITS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -class IntegerEnum(UnknownEnumMixin, IntEnum): - A = 1 - B = 2 - C = 3 +HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE = APIOperation( + static_schema=_SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +HTTP_PAYLOAD_WITH_MEMBER_XML_NAME = APIOperation( + static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_MEMBER_XML_NAME, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_integer_enum_list( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) +HTTP_PAYLOAD_WITH_STRUCTURE = APIOperation( + static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +HTTP_PAYLOAD_WITH_UNION = APIOperation( + static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_UNION, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_integer_enum_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] +HTTP_PAYLOAD_WITH_XML_NAME = APIOperation( + static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAME, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +HTTP_PAYLOAD_WITH_XML_NAMESPACE = APIOperation( + static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result.append(IntegerEnum(d.read_integer(member_schema))) +HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX = APIOperation( + static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_list(schema, _read_value) - return result +HTTP_PREFIX_HEADERS = APIOperation( + static_schema=_SCHEMA_HTTP_PREFIX_HEADERS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +HTTP_REQUEST_WITH_FLOAT_LABELS = APIOperation( + static_schema=_SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_integer_list( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) +HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH = APIOperation( + static_schema=_SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +HTTP_REQUEST_WITH_LABELS = APIOperation( + static_schema=_SCHEMA_HTTP_REQUEST_WITH_LABELS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_integer_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] +HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT = APIOperation( + static_schema=_SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +HTTP_RESPONSE_CODE = APIOperation( + static_schema=_SCHEMA_HTTP_RESPONSE_CODE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result.append(d.read_integer(member_schema)) +HTTP_STRING_PAYLOAD = APIOperation( + static_schema=_SCHEMA_HTTP_STRING_PAYLOAD, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_list(schema, _read_value) - return result +IGNORE_QUERY_PARAMS_IN_RESPONSE = APIOperation( + static_schema=_SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +INPUT_AND_OUTPUT_WITH_HEADERS = APIOperation( + static_schema=_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_integer_set( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) +NESTED_XML_MAPS = APIOperation( + static_schema=_SCHEMA_NESTED_XML_MAPS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +NESTED_XML_MAP_WITH_XML_NAME = APIOperation( + static_schema=_SCHEMA_NESTED_XML_MAP_WITH_XML_NAME, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_integer_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] +NO_INPUT_AND_NO_OUTPUT = APIOperation( + static_schema=_SCHEMA_NO_INPUT_AND_NO_OUTPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +NO_INPUT_AND_OUTPUT = APIOperation( + static_schema=_SCHEMA_NO_INPUT_AND_OUTPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result.append(d.read_integer(member_schema)) +NULL_AND_EMPTY_HEADERS_CLIENT = APIOperation( + static_schema=_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_list(schema, _read_value) - return result +NULL_AND_EMPTY_HEADERS_SERVER = APIOperation( + static_schema=_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +OMITS_NULL_SERIALIZES_EMPTY_STRING = APIOperation( + static_schema=_SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_string_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) +PUT_WITH_CONTENT_ENCODING = APIOperation( + static_schema=_SCHEMA_PUT_WITH_CONTENT_ENCODING, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL = APIOperation( + static_schema=_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_string_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] +QUERY_PARAMS_AS_STRING_LIST_MAP = APIOperation( + static_schema=_SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() +QUERY_PRECEDENCE = APIOperation( + static_schema=_SCHEMA_QUERY_PRECEDENCE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result[k] = d.read_string(value_schema) +SIMPLE_SCALAR_PROPERTIES = APIOperation( + static_schema=_SCHEMA_SIMPLE_SCALAR_PROPERTIES, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_map(schema, _read_value) - return result +TIMESTAMP_FORMAT_HEADERS = APIOperation( + static_schema=_SCHEMA_TIMESTAMP_FORMAT_HEADERS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +XML_ATTRIBUTES = APIOperation( + static_schema=_SCHEMA_XML_ATTRIBUTES, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) +XML_ATTRIBUTES_IN_MIDDLE = APIOperation( + static_schema=_SCHEMA_XML_ATTRIBUTES_IN_MIDDLE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +XML_ATTRIBUTES_ON_PAYLOAD = APIOperation( + static_schema=_SCHEMA_XML_ATTRIBUTES_ON_PAYLOAD, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] +XML_BLOBS = APIOperation( + static_schema=_SCHEMA_XML_BLOBS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +XML_EMPTY_BLOBS = APIOperation( + static_schema=_SCHEMA_XML_EMPTY_BLOBS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result.append(d.read_string(member_schema)) +XML_EMPTY_LISTS = APIOperation( + static_schema=_SCHEMA_XML_EMPTY_LISTS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_list(schema, _read_value) - return result +XML_EMPTY_MAPS = APIOperation( + static_schema=_SCHEMA_XML_EMPTY_MAPS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +XML_EMPTY_STRINGS = APIOperation( + static_schema=_SCHEMA_XML_EMPTY_STRINGS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _serialize_string_set( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) +XML_ENUMS = APIOperation( + static_schema=_SCHEMA_XML_ENUMS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +XML_INT_ENUMS = APIOperation( + static_schema=_SCHEMA_XML_INT_ENUMS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) -def _deserialize_string_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] +XML_LISTS = APIOperation( + static_schema=_SCHEMA_XML_LISTS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() +XML_MAPS = APIOperation( + static_schema=_SCHEMA_XML_MAPS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - else: - result.append(d.read_string(member_schema)) +XML_MAPS_XML_NAME = APIOperation( + static_schema=_SCHEMA_XML_MAPS_XML_NAME, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_timestamp_list( - serializer: ShapeSerializer, schema: Schema, value: list[datetime] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_timestamp(member_schema, e) - - -def _deserialize_timestamp_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[datetime]: - result: list[datetime] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_timestamp(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class AllQueryStringTypesInput: - """Dataclass for AllQueryStringTypesInput structure.""" - - query_string: str | None = None - - query_string_list: list[str] | None = None - - query_string_set: list[str] | None = None - - query_byte: int | None = None - - query_short: int | None = None - - query_integer: int | None = None - - query_integer_list: list[int] | None = None - - query_integer_set: list[int] | None = None - - query_long: int | None = None - - query_float: float | None = None - - query_double: float | None = None - - query_double_list: list[float] | None = None - - query_boolean: bool | None = None - - query_boolean_list: list[bool] | None = None - - query_timestamp: datetime | None = None - - query_timestamp_list: list[datetime] | None = None - - query_enum: str | None = None - - query_enum_list: list[str] | None = None - - query_integer_enum: int | None = None - - query_integer_enum_list: list[int] | None = None - - query_params_map_of_strings: dict[str, str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ALL_QUERY_STRING_TYPES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_ALL_QUERY_STRING_TYPES_INPUT).members_by_index - if self.query_string is not None: - serializer.write_string(members[0], self.query_string) - - if self.query_string_list is not None: - _serialize_string_list(serializer, members[1], self.query_string_list) - - if self.query_string_set is not None: - _serialize_string_set(serializer, members[2], self.query_string_set) - - if self.query_byte is not None: - serializer.write_byte(members[3], self.query_byte) - - if self.query_short is not None: - serializer.write_short(members[4], self.query_short) - - if self.query_integer is not None: - serializer.write_integer(members[5], self.query_integer) - - if self.query_integer_list is not None: - _serialize_integer_list(serializer, members[6], self.query_integer_list) - - if self.query_integer_set is not None: - _serialize_integer_set(serializer, members[7], self.query_integer_set) - - if self.query_long is not None: - serializer.write_long(members[8], self.query_long) - - if self.query_float is not None: - serializer.write_float(members[9], self.query_float) - - if self.query_double is not None: - serializer.write_double(members[10], self.query_double) - - if self.query_double_list is not None: - _serialize_double_list(serializer, members[11], self.query_double_list) - - if self.query_boolean is not None: - serializer.write_boolean(members[12], self.query_boolean) - - if self.query_boolean_list is not None: - _serialize_boolean_list(serializer, members[13], self.query_boolean_list) - - if self.query_timestamp is not None: - serializer.write_timestamp(members[14], self.query_timestamp) - - if self.query_timestamp_list is not None: - _serialize_timestamp_list( - serializer, members[15], self.query_timestamp_list - ) - - if self.query_enum is not None: - serializer.write_string(members[16], self.query_enum) - - if self.query_enum_list is not None: - _serialize_foo_enum_list(serializer, members[17], self.query_enum_list) - - if self.query_integer_enum is not None: - serializer.write_integer(members[18], self.query_integer_enum) - - if self.query_integer_enum_list is not None: - _serialize_integer_enum_list( - serializer, members[19], self.query_integer_enum_list - ) - - if self.query_params_map_of_strings is not None: - _serialize_string_map( - serializer, members[20], self.query_params_map_of_strings - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ALL_QUERY_STRING_TYPES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["query_string"] = de.read_string(members[0]) - - case 1: - kwargs["query_string_list"] = _deserialize_string_list( - de, members[1] - ) - - case 2: - kwargs["query_string_set"] = _deserialize_string_set(de, members[2]) - - case 3: - kwargs["query_byte"] = de.read_byte(members[3]) - - case 4: - kwargs["query_short"] = de.read_short(members[4]) - - case 5: - kwargs["query_integer"] = de.read_integer(members[5]) - - case 6: - kwargs["query_integer_list"] = _deserialize_integer_list( - de, members[6] - ) - - case 7: - kwargs["query_integer_set"] = _deserialize_integer_set( - de, members[7] - ) - - case 8: - kwargs["query_long"] = de.read_long(members[8]) - - case 9: - kwargs["query_float"] = de.read_float(members[9]) - - case 10: - kwargs["query_double"] = de.read_double(members[10]) - - case 11: - kwargs["query_double_list"] = _deserialize_double_list( - de, members[11] - ) - - case 12: - kwargs["query_boolean"] = de.read_boolean(members[12]) - - case 13: - kwargs["query_boolean_list"] = _deserialize_boolean_list( - de, members[13] - ) - - case 14: - kwargs["query_timestamp"] = de.read_timestamp(members[14]) - - case 15: - kwargs["query_timestamp_list"] = _deserialize_timestamp_list( - de, members[15] - ) - - case 16: - kwargs["query_enum"] = FooEnum(de.read_string(members[16])) - - case 17: - kwargs["query_enum_list"] = _deserialize_foo_enum_list( - de, members[17] - ) - - case 18: - kwargs["query_integer_enum"] = IntegerEnum( - de.read_integer(members[18]) - ) - - case 19: - kwargs["query_integer_enum_list"] = _deserialize_integer_enum_list( - de, members[19] - ) - - case 20: - kwargs["query_params_map_of_strings"] = _deserialize_string_map( - de, members[20] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class AllQueryStringTypesOutput: - """Dataclass for AllQueryStringTypesOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ALL_QUERY_STRING_TYPES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ALL_QUERY_STRING_TYPES_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -ALL_QUERY_STRING_TYPES = APIOperation( - input=AllQueryStringTypesInput, - output=AllQueryStringTypesOutput, - static_schema=_SCHEMA_ALL_QUERY_STRING_TYPES, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class PayloadWithXmlName: - """Dataclass for PayloadWithXmlName structure.""" - - name: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PAYLOAD_WITH_XML_NAME), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_PAYLOAD_WITH_XML_NAME).members_by_index - if self.name is not None: - serializer.write_string(members[0], self.name) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PAYLOAD_WITH_XML_NAME) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["name"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class BodyWithXmlNameInput: - """Dataclass for BodyWithXmlNameInput structure.""" - - nested: PayloadWithXmlName | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_BODY_WITH_XML_NAME_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_BODY_WITH_XML_NAME_INPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_BODY_WITH_XML_NAME_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = PayloadWithXmlName.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class BodyWithXmlNameOutput: - """Dataclass for BodyWithXmlNameOutput structure.""" - - nested: PayloadWithXmlName | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_BODY_WITH_XML_NAME_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_BODY_WITH_XML_NAME_OUTPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_BODY_WITH_XML_NAME_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = PayloadWithXmlName.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -BODY_WITH_XML_NAME = APIOperation( - input=BodyWithXmlNameInput, - output=BodyWithXmlNameOutput, - static_schema=_SCHEMA_BODY_WITH_XML_NAME, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class ComplexNestedErrorData: - """Dataclass for ComplexNestedErrorData structure.""" - - foo: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ComplexError(ServiceError): - """This error is thrown when a request is invalid.""" - - fault: Literal["client", "server"] | None = "client" - - header: str | None = None - - top_level: str | None = None - - nested: ComplexNestedErrorData | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_COMPLEX_ERROR), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_COMPLEX_ERROR).members_by_index - if self.header is not None: - serializer.write_string(members[0], self.header) - - if self.top_level is not None: - serializer.write_string(members[1], self.top_level) - - if self.nested is not None: - serializer.write_struct(members[2], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_COMPLEX_ERROR) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["header"] = de.read_string(members[0]) - - case 1: - kwargs["top_level"] = de.read_string(members[1]) - - case 2: - kwargs["nested"] = ComplexNestedErrorData.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ConstantAndVariableQueryStringInput: - """Dataclass for ConstantAndVariableQueryStringInput structure.""" - - baz: str | None = None - - maybe_set: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING_INPUT - ).members_by_index - if self.baz is not None: - serializer.write_string(members[0], self.baz) - - if self.maybe_set is not None: - serializer.write_string(members[1], self.maybe_set) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["baz"] = de.read_string(members[0]) - - case 1: - kwargs["maybe_set"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ConstantAndVariableQueryStringOutput: - """Dataclass for ConstantAndVariableQueryStringOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -CONSTANT_AND_VARIABLE_QUERY_STRING = APIOperation( - input=ConstantAndVariableQueryStringInput, - output=ConstantAndVariableQueryStringOutput, - static_schema=_SCHEMA_CONSTANT_AND_VARIABLE_QUERY_STRING, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class ConstantQueryStringInput: - """Dataclass for ConstantQueryStringInput structure.""" - - hello: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CONSTANT_QUERY_STRING_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_CONSTANT_QUERY_STRING_INPUT).members_by_index - if self.hello is not None: - serializer.write_string(members[0], self.hello) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONSTANT_QUERY_STRING_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["hello"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ConstantQueryStringOutput: - """Dataclass for ConstantQueryStringOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CONSTANT_QUERY_STRING_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONSTANT_QUERY_STRING_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -CONSTANT_QUERY_STRING = APIOperation( - input=ConstantQueryStringInput, - output=ConstantQueryStringOutput, - static_schema=_SCHEMA_CONSTANT_QUERY_STRING, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class ContentTypeParametersInput: - """Dataclass for ContentTypeParametersInput structure.""" - - value: int | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT).members_by_index - if self.value is not None: - serializer.write_integer(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["value"] = de.read_integer(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ContentTypeParametersOutput: - """Dataclass for ContentTypeParametersOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CONTENT_TYPE_PARAMETERS_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -CONTENT_TYPE_PARAMETERS = APIOperation( - input=ContentTypeParametersInput, - output=ContentTypeParametersOutput, - static_schema=_SCHEMA_CONTENT_TYPE_PARAMETERS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class DatetimeOffsetsInput: - """Dataclass for DatetimeOffsetsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DATETIME_OFFSETS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DATETIME_OFFSETS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class DatetimeOffsetsOutput: - """Dataclass for DatetimeOffsetsOutput structure.""" - - datetime_: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT).members_by_index - if self.datetime_ is not None: - serializer.write_timestamp(members[0], self.datetime_) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DATETIME_OFFSETS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["datetime_"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -DATETIME_OFFSETS = APIOperation( - input=DatetimeOffsetsInput, - output=DatetimeOffsetsOutput, - static_schema=_SCHEMA_DATETIME_OFFSETS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class EmptyInputAndEmptyOutputInput: - """Dataclass for EmptyInputAndEmptyOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EmptyInputAndEmptyOutputOutput: - """Dataclass for EmptyInputAndEmptyOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -EMPTY_INPUT_AND_EMPTY_OUTPUT = APIOperation( - input=EmptyInputAndEmptyOutputInput, - output=EmptyInputAndEmptyOutputOutput, - static_schema=_SCHEMA_EMPTY_INPUT_AND_EMPTY_OUTPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class EndpointOperationInput: - """Dataclass for EndpointOperationInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ENDPOINT_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_OPERATION_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EndpointOperationOutput: - """Dataclass for EndpointOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_ENDPOINT_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -ENDPOINT_OPERATION = APIOperation( - input=EndpointOperationInput, - output=EndpointOperationOutput, - static_schema=_SCHEMA_ENDPOINT_OPERATION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class EndpointWithHostLabelHeaderOperationInput: - """Dataclass for EndpointWithHostLabelHeaderOperationInput structure.""" - - account_id: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION_INPUT - ).members_by_index - if self.account_id is not None: - serializer.write_string(members[0], self.account_id) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["account_id"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EndpointWithHostLabelHeaderOperationOutput: - """Dataclass for EndpointWithHostLabelHeaderOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION = APIOperation( - input=EndpointWithHostLabelHeaderOperationInput, - output=EndpointWithHostLabelHeaderOperationOutput, - static_schema=_SCHEMA_ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class EndpointWithHostLabelOperationInput: - """Dataclass for EndpointWithHostLabelOperationInput structure.""" - - label: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT - ).members_by_index - if self.label is not None: - serializer.write_string(members[0], self.label) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["label"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EndpointWithHostLabelOperationOutput: - """Dataclass for EndpointWithHostLabelOperationOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -ENDPOINT_WITH_HOST_LABEL_OPERATION = APIOperation( - input=EndpointWithHostLabelOperationInput, - output=EndpointWithHostLabelOperationOutput, - static_schema=_SCHEMA_ENDPOINT_WITH_HOST_LABEL_OPERATION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_foo_enum_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_foo_enum_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = FooEnum(d.read_string(value_schema)) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class FlattenedXmlMapInput: - """Dataclass for FlattenedXmlMapInput structure.""" - - my_map: dict[str, str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FLATTENED_XML_MAP_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_FLATTENED_XML_MAP_INPUT).members_by_index - if self.my_map is not None: - _serialize_foo_enum_map(serializer, members[0], self.my_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FLATTENED_XML_MAP_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = _deserialize_foo_enum_map(de, members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class FlattenedXmlMapOutput: - """Dataclass for FlattenedXmlMapOutput structure.""" - - my_map: dict[str, str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FLATTENED_XML_MAP_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_FLATTENED_XML_MAP_OUTPUT).members_by_index - if self.my_map is not None: - _serialize_foo_enum_map(serializer, members[0], self.my_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FLATTENED_XML_MAP_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = _deserialize_foo_enum_map(de, members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -FLATTENED_XML_MAP = APIOperation( - input=FlattenedXmlMapInput, - output=FlattenedXmlMapOutput, - static_schema=_SCHEMA_FLATTENED_XML_MAP, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_flattened_xml_map_with_xml_name_input_output_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_flattened_xml_map_with_xml_name_input_output_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class FlattenedXmlMapWithXmlNameInput: - """Dataclass for FlattenedXmlMapWithXmlNameInput structure.""" - - my_map: dict[str, str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_INPUT - ).members_by_index - if self.my_map is not None: - _serialize_flattened_xml_map_with_xml_name_input_output_map( - serializer, members[0], self.my_map - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = ( - _deserialize_flattened_xml_map_with_xml_name_input_output_map( - de, members[0] - ) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class FlattenedXmlMapWithXmlNameOutput: - """Dataclass for FlattenedXmlMapWithXmlNameOutput structure.""" - - my_map: dict[str, str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT - ).members_by_index - if self.my_map is not None: - _serialize_flattened_xml_map_with_xml_name_input_output_map( - serializer, members[0], self.my_map - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = ( - _deserialize_flattened_xml_map_with_xml_name_input_output_map( - de, members[0] - ) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -FLATTENED_XML_MAP_WITH_XML_NAME = APIOperation( - input=FlattenedXmlMapWithXmlNameInput, - output=FlattenedXmlMapWithXmlNameOutput, - static_schema=_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAME, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class FlattenedXmlMapWithXmlNamespaceInput: - """Dataclass for FlattenedXmlMapWithXmlNamespaceInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_flattened_xml_map_with_xml_namespace_output_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_flattened_xml_map_with_xml_namespace_output_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class FlattenedXmlMapWithXmlNamespaceOutput: - """Dataclass for FlattenedXmlMapWithXmlNamespaceOutput structure.""" - - my_map: dict[str, str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE_OUTPUT - ).members_by_index - if self.my_map is not None: - _serialize_flattened_xml_map_with_xml_namespace_output_map( - serializer, members[0], self.my_map - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = ( - _deserialize_flattened_xml_map_with_xml_namespace_output_map( - de, members[0] - ) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -FLATTENED_XML_MAP_WITH_XML_NAMESPACE = APIOperation( - input=FlattenedXmlMapWithXmlNamespaceInput, - output=FlattenedXmlMapWithXmlNamespaceOutput, - static_schema=_SCHEMA_FLATTENED_XML_MAP_WITH_XML_NAMESPACE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_foo_prefix_headers( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_foo_prefix_headers( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class FractionalSecondsInput: - """Dataclass for FractionalSecondsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FRACTIONAL_SECONDS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FRACTIONAL_SECONDS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class FractionalSecondsOutput: - """Dataclass for FractionalSecondsOutput structure.""" - - datetime_: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT).members_by_index - if self.datetime_ is not None: - serializer.write_timestamp(members[0], self.datetime_) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["datetime_"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -FRACTIONAL_SECONDS = APIOperation( - input=FractionalSecondsInput, - output=FractionalSecondsOutput, - static_schema=_SCHEMA_FRACTIONAL_SECONDS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class GreetingWithErrorsInput: - """Dataclass for GreetingWithErrorsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class GreetingWithErrorsOutput: - """Dataclass for GreetingWithErrorsOutput structure.""" - - greeting: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT).members_by_index - if self.greeting is not None: - serializer.write_string(members[0], self.greeting) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["greeting"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class InvalidGreeting(ServiceError): - """This error is thrown when an invalid greeting value is provided.""" - - fault: Literal["client", "server"] | None = "client" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_INVALID_GREETING), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_INVALID_GREETING).members_by_index - if self.message is not None: - serializer.write_string(members[0], self.message) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INVALID_GREETING) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["message"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -GREETING_WITH_ERRORS = APIOperation( - input=GreetingWithErrorsInput, - output=GreetingWithErrorsOutput, - static_schema=_SCHEMA_GREETING_WITH_ERRORS, - error_registry=TypeRegistry( - { - ShapeID("aws.protocoltests.restxml#InvalidGreeting"): InvalidGreeting, - ShapeID("aws.protocoltests.restxml#ComplexError"): ComplexError, - } - ), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpEmptyPrefixHeadersInput: - """Dataclass for HttpEmptyPrefixHeadersInput structure.""" - - prefix_headers: dict[str, str] | None = None - - specific_header: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_INPUT).members_by_index - if self.prefix_headers is not None: - _serialize_string_map(serializer, members[0], self.prefix_headers) - - if self.specific_header is not None: - serializer.write_string(members[1], self.specific_header) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["prefix_headers"] = _deserialize_string_map(de, members[0]) - - case 1: - kwargs["specific_header"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpEmptyPrefixHeadersOutput: - """Dataclass for HttpEmptyPrefixHeadersOutput structure.""" - - prefix_headers: dict[str, str] | None = None - - specific_header: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_OUTPUT).members_by_index - if self.prefix_headers is not None: - _serialize_string_map(serializer, members[0], self.prefix_headers) - - if self.specific_header is not None: - serializer.write_string(members[1], self.specific_header) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["prefix_headers"] = _deserialize_string_map(de, members[0]) - - case 1: - kwargs["specific_header"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_EMPTY_PREFIX_HEADERS = APIOperation( - input=HttpEmptyPrefixHeadersInput, - output=HttpEmptyPrefixHeadersOutput, - static_schema=_SCHEMA_HTTP_EMPTY_PREFIX_HEADERS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -class StringEnum(UnknownEnumMixin, StrEnum): - V = "enumvalue" - - -@dataclass(kw_only=True) -class HttpEnumPayloadInput: - """Dataclass for HttpEnumPayloadInput structure.""" - - payload: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_ENUM_PAYLOAD_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_ENUM_PAYLOAD_INPUT).members_by_index - if self.payload is not None: - serializer.write_string(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_ENUM_PAYLOAD_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = StringEnum(de.read_string(members[0])) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpEnumPayloadOutput: - """Dataclass for HttpEnumPayloadOutput structure.""" - - payload: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_ENUM_PAYLOAD_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_ENUM_PAYLOAD_OUTPUT).members_by_index - if self.payload is not None: - serializer.write_string(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_ENUM_PAYLOAD_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = StringEnum(de.read_string(members[0])) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_ENUM_PAYLOAD = APIOperation( - input=HttpEnumPayloadInput, - output=HttpEnumPayloadOutput, - static_schema=_SCHEMA_HTTP_ENUM_PAYLOAD, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpPayloadTraitsInput: - """Dataclass for HttpPayloadTraitsInput structure.""" - - foo: str | None = None - - blob: bytes | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_INPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.blob is not None: - serializer.write_blob(members[1], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["blob"] = de.read_blob(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadTraitsOutput: - """Dataclass for HttpPayloadTraitsOutput structure.""" - - foo: str | None = None - - blob: bytes | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_OUTPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.blob is not None: - serializer.write_blob(members[1], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["blob"] = de.read_blob(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PAYLOAD_TRAITS = APIOperation( - input=HttpPayloadTraitsInput, - output=HttpPayloadTraitsOutput, - static_schema=_SCHEMA_HTTP_PAYLOAD_TRAITS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpPayloadTraitsWithMediaTypeInput: - """Dataclass for HttpPayloadTraitsWithMediaTypeInput structure.""" - - foo: str | None = None - - blob: bytes | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_INPUT - ).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.blob is not None: - serializer.write_blob(members[1], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["blob"] = de.read_blob(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadTraitsWithMediaTypeOutput: - """Dataclass for HttpPayloadTraitsWithMediaTypeOutput structure.""" - - foo: str | None = None - - blob: bytes | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_OUTPUT - ).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.blob is not None: - serializer.write_blob(members[1], self.blob) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["blob"] = de.read_blob(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE = APIOperation( - input=HttpPayloadTraitsWithMediaTypeInput, - output=HttpPayloadTraitsWithMediaTypeOutput, - static_schema=_SCHEMA_HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpPayloadWithMemberXmlNameInput: - """Dataclass for HttpPayloadWithMemberXmlNameInput structure.""" - - nested: PayloadWithXmlName | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_MEMBER_XML_NAME_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_PAYLOAD_WITH_MEMBER_XML_NAME_INPUT - ).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_MEMBER_XML_NAME_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = PayloadWithXmlName.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadWithMemberXmlNameOutput: - """Dataclass for HttpPayloadWithMemberXmlNameOutput structure.""" - - nested: PayloadWithXmlName | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_MEMBER_XML_NAME_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_PAYLOAD_WITH_MEMBER_XML_NAME_OUTPUT - ).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_MEMBER_XML_NAME_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = PayloadWithXmlName.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PAYLOAD_WITH_MEMBER_XML_NAME = APIOperation( - input=HttpPayloadWithMemberXmlNameInput, - output=HttpPayloadWithMemberXmlNameOutput, - static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_MEMBER_XML_NAME, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NestedPayload: - """Dataclass for NestedPayload structure.""" - - greeting: str | None = None - - name: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NESTED_PAYLOAD), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NESTED_PAYLOAD).members_by_index - if self.greeting is not None: - serializer.write_string(members[0], self.greeting) - - if self.name is not None: - serializer.write_string(members[1], self.name) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NESTED_PAYLOAD) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["greeting"] = de.read_string(members[0]) - - case 1: - kwargs["name"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadWithStructureInput: - """Dataclass for HttpPayloadWithStructureInput structure.""" - - nested: NestedPayload | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_INPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = NestedPayload.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadWithStructureOutput: - """Dataclass for HttpPayloadWithStructureOutput structure.""" - - nested: NestedPayload | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_OUTPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = NestedPayload.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PAYLOAD_WITH_STRUCTURE = APIOperation( - input=HttpPayloadWithStructureInput, - output=HttpPayloadWithStructureOutput, - static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_STRUCTURE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass -class UnionPayloadGreeting: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_UNION_PAYLOAD), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_UNION_PAYLOAD).members_by_index - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_UNION_PAYLOAD).members_by_index - return cls(value=deserializer.read_string(members[0])) - - -@dataclass -class UnionPayloadUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -UnionPayload = Union[UnionPayloadGreeting | UnionPayloadUnknown] - - -class _UnionPayloadDeserializer: - _result: UnionPayload | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> UnionPayload: - self._result = None - deserializer.read_struct(hydrate(_SCHEMA_UNION_PAYLOAD), self._consumer) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(UnionPayloadGreeting.deserialize(de)) - - case _: - self._set_result(UnionPayloadUnknown(tag=schema.expect_member_name())) - - def _set_result(self, value: UnionPayload) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -@dataclass(kw_only=True) -class HttpPayloadWithUnionInput: - """Dataclass for HttpPayloadWithUnionInput structure.""" - - nested: UnionPayload | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_UNION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_UNION_INPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_UNION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = _UnionPayloadDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadWithUnionOutput: - """Dataclass for HttpPayloadWithUnionOutput structure.""" - - nested: UnionPayload | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_UNION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_UNION_OUTPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_UNION_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = _UnionPayloadDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PAYLOAD_WITH_UNION = APIOperation( - input=HttpPayloadWithUnionInput, - output=HttpPayloadWithUnionOutput, - static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_UNION, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpPayloadWithXmlNameInput: - """Dataclass for HttpPayloadWithXmlNameInput structure.""" - - nested: PayloadWithXmlName | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAME_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAME_INPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAME_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = PayloadWithXmlName.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadWithXmlNameOutput: - """Dataclass for HttpPayloadWithXmlNameOutput structure.""" - - nested: PayloadWithXmlName | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAME_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAME_OUTPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAME_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = PayloadWithXmlName.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PAYLOAD_WITH_XML_NAME = APIOperation( - input=HttpPayloadWithXmlNameInput, - output=HttpPayloadWithXmlNameOutput, - static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAME, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class PayloadWithXmlNamespace: - """Dataclass for PayloadWithXmlNamespace structure.""" - - name: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PAYLOAD_WITH_XML_NAMESPACE), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_PAYLOAD_WITH_XML_NAMESPACE).members_by_index - if self.name is not None: - serializer.write_string(members[0], self.name) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PAYLOAD_WITH_XML_NAMESPACE) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["name"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadWithXmlNamespaceInput: - """Dataclass for HttpPayloadWithXmlNamespaceInput structure.""" - - nested: PayloadWithXmlNamespace | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_INPUT - ).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = PayloadWithXmlNamespace.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadWithXmlNamespaceOutput: - """Dataclass for HttpPayloadWithXmlNamespaceOutput structure.""" - - nested: PayloadWithXmlNamespace | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_OUTPUT - ).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = PayloadWithXmlNamespace.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PAYLOAD_WITH_XML_NAMESPACE = APIOperation( - input=HttpPayloadWithXmlNamespaceInput, - output=HttpPayloadWithXmlNamespaceOutput, - static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class PayloadWithXmlNamespaceAndPrefix: - """Dataclass for PayloadWithXmlNamespaceAndPrefix structure.""" - - name: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX - ).members_by_index - if self.name is not None: - serializer.write_string(members[0], self.name) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["name"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadWithXmlNamespaceAndPrefixInput: - """Dataclass for HttpPayloadWithXmlNamespaceAndPrefixInput structure.""" - - nested: PayloadWithXmlNamespaceAndPrefix | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX_INPUT - ).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = PayloadWithXmlNamespaceAndPrefix.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPayloadWithXmlNamespaceAndPrefixOutput: - """Dataclass for HttpPayloadWithXmlNamespaceAndPrefixOutput structure.""" - - nested: PayloadWithXmlNamespaceAndPrefix | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX_OUTPUT - ).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = PayloadWithXmlNamespaceAndPrefix.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX = APIOperation( - input=HttpPayloadWithXmlNamespaceAndPrefixInput, - output=HttpPayloadWithXmlNamespaceAndPrefixOutput, - static_schema=_SCHEMA_HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpPrefixHeadersInput: - """Dataclass for HttpPrefixHeadersInput structure.""" - - foo: str | None = None - - foo_map: dict[str, str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_INPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.foo_map is not None: - _serialize_foo_prefix_headers(serializer, members[1], self.foo_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["foo_map"] = _deserialize_foo_prefix_headers(de, members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpPrefixHeadersOutput: - """Dataclass for HttpPrefixHeadersOutput structure.""" - - foo: str | None = None - - foo_map: dict[str, str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_OUTPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.foo_map is not None: - _serialize_foo_prefix_headers(serializer, members[1], self.foo_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_PREFIX_HEADERS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["foo_map"] = _deserialize_foo_prefix_headers(de, members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_PREFIX_HEADERS = APIOperation( - input=HttpPrefixHeadersInput, - output=HttpPrefixHeadersOutput, - static_schema=_SCHEMA_HTTP_PREFIX_HEADERS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpRequestWithFloatLabelsInput: - """Dataclass for HttpRequestWithFloatLabelsInput structure.""" - - float_: float | None = None - - double: float | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS_INPUT).members_by_index - if self.float_ is not None: - serializer.write_float(members[0], self.float_) - - if self.double is not None: - serializer.write_double(members[1], self.double) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["float_"] = de.read_float(members[0]) - - case 1: - kwargs["double"] = de.read_double(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpRequestWithFloatLabelsOutput: - """Dataclass for HttpRequestWithFloatLabelsOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_REQUEST_WITH_FLOAT_LABELS = APIOperation( - input=HttpRequestWithFloatLabelsInput, - output=HttpRequestWithFloatLabelsOutput, - static_schema=_SCHEMA_HTTP_REQUEST_WITH_FLOAT_LABELS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpRequestWithGreedyLabelInPathInput: - """Dataclass for HttpRequestWithGreedyLabelInPathInput structure.""" - - foo: str | None = None - - baz: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_INPUT - ).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.baz is not None: - serializer.write_string(members[1], self.baz) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["baz"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpRequestWithGreedyLabelInPathOutput: - """Dataclass for HttpRequestWithGreedyLabelInPathOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH = APIOperation( - input=HttpRequestWithGreedyLabelInPathInput, - output=HttpRequestWithGreedyLabelInPathOutput, - static_schema=_SCHEMA_HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpRequestWithLabelsInput: - """Dataclass for HttpRequestWithLabelsInput structure.""" - - string: str | None = None - - short: int | None = None - - integer: int | None = None - - long: int | None = None - - float_: float | None = None - - double: float | None = None - - boolean: bool | None = None - """Serialized in the path as true or false.""" - - timestamp: datetime | None = None - """ - Note that this member has no format, so it's serialized as an RFC 3399 - date-time. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_INPUT).members_by_index - if self.string is not None: - serializer.write_string(members[0], self.string) - - if self.short is not None: - serializer.write_short(members[1], self.short) - - if self.integer is not None: - serializer.write_integer(members[2], self.integer) - - if self.long is not None: - serializer.write_long(members[3], self.long) - - if self.float_ is not None: - serializer.write_float(members[4], self.float_) - - if self.double is not None: - serializer.write_double(members[5], self.double) - - if self.boolean is not None: - serializer.write_boolean(members[6], self.boolean) - - if self.timestamp is not None: - serializer.write_timestamp(members[7], self.timestamp) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string"] = de.read_string(members[0]) - - case 1: - kwargs["short"] = de.read_short(members[1]) - - case 2: - kwargs["integer"] = de.read_integer(members[2]) - - case 3: - kwargs["long"] = de.read_long(members[3]) - - case 4: - kwargs["float_"] = de.read_float(members[4]) - - case 5: - kwargs["double"] = de.read_double(members[5]) - - case 6: - kwargs["boolean"] = de.read_boolean(members[6]) - - case 7: - kwargs["timestamp"] = de.read_timestamp(members[7]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpRequestWithLabelsOutput: - """Dataclass for HttpRequestWithLabelsOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_REQUEST_WITH_LABELS = APIOperation( - input=HttpRequestWithLabelsInput, - output=HttpRequestWithLabelsOutput, - static_schema=_SCHEMA_HTTP_REQUEST_WITH_LABELS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpRequestWithLabelsAndTimestampFormatInput: - """Dataclass for HttpRequestWithLabelsAndTimestampFormatInput structure.""" - - member_epoch_seconds: datetime | None = None - - member_http_date: datetime | None = None - - member_date_time: datetime | None = None - - default_format: datetime | None = None - - target_epoch_seconds: datetime | None = None - - target_http_date: datetime | None = None - - target_date_time: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_INPUT - ).members_by_index - if self.member_epoch_seconds is not None: - serializer.write_timestamp(members[0], self.member_epoch_seconds) - - if self.member_http_date is not None: - serializer.write_timestamp(members[1], self.member_http_date) - - if self.member_date_time is not None: - serializer.write_timestamp(members[2], self.member_date_time) - - if self.default_format is not None: - serializer.write_timestamp(members[3], self.default_format) - - if self.target_epoch_seconds is not None: - serializer.write_timestamp(members[4], self.target_epoch_seconds) - - if self.target_http_date is not None: - serializer.write_timestamp(members[5], self.target_http_date) - - if self.target_date_time is not None: - serializer.write_timestamp(members[6], self.target_date_time) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["member_epoch_seconds"] = de.read_timestamp(members[0]) - - case 1: - kwargs["member_http_date"] = de.read_timestamp(members[1]) - - case 2: - kwargs["member_date_time"] = de.read_timestamp(members[2]) - - case 3: - kwargs["default_format"] = de.read_timestamp(members[3]) - - case 4: - kwargs["target_epoch_seconds"] = de.read_timestamp(members[4]) - - case 5: - kwargs["target_http_date"] = de.read_timestamp(members[5]) - - case 6: - kwargs["target_date_time"] = de.read_timestamp(members[6]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpRequestWithLabelsAndTimestampFormatOutput: - """Dataclass for HttpRequestWithLabelsAndTimestampFormatOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT = APIOperation( - input=HttpRequestWithLabelsAndTimestampFormatInput, - output=HttpRequestWithLabelsAndTimestampFormatOutput, - static_schema=_SCHEMA_HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpResponseCodeInput: - """Dataclass for HttpResponseCodeInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_RESPONSE_CODE_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_RESPONSE_CODE_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpResponseCodeOutput: - """Dataclass for HttpResponseCodeOutput structure.""" - - status: int | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_RESPONSE_CODE_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_RESPONSE_CODE_OUTPUT).members_by_index - if self.status is not None: - serializer.write_integer(members[0], self.status) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_RESPONSE_CODE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["status"] = de.read_integer(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_RESPONSE_CODE = APIOperation( - input=HttpResponseCodeInput, - output=HttpResponseCodeOutput, - static_schema=_SCHEMA_HTTP_RESPONSE_CODE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class HttpStringPayloadInput: - """Dataclass for HttpStringPayloadInput structure.""" - - payload: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_STRING_PAYLOAD_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_STRING_PAYLOAD_INPUT).members_by_index - if self.payload is not None: - serializer.write_string(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_STRING_PAYLOAD_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class HttpStringPayloadOutput: - """Dataclass for HttpStringPayloadOutput structure.""" - - payload: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_HTTP_STRING_PAYLOAD_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_HTTP_STRING_PAYLOAD_OUTPUT).members_by_index - if self.payload is not None: - serializer.write_string(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_HTTP_STRING_PAYLOAD_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -HTTP_STRING_PAYLOAD = APIOperation( - input=HttpStringPayloadInput, - output=HttpStringPayloadOutput, - static_schema=_SCHEMA_HTTP_STRING_PAYLOAD, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class IgnoreQueryParamsInResponseInput: - """Dataclass for IgnoreQueryParamsInResponseInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class IgnoreQueryParamsInResponseOutput: - """Dataclass for IgnoreQueryParamsInResponseOutput structure.""" - - baz: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT - ).members_by_index - if self.baz is not None: - serializer.write_string(members[0], self.baz) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["baz"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -IGNORE_QUERY_PARAMS_IN_RESPONSE = APIOperation( - input=IgnoreQueryParamsInResponseInput, - output=IgnoreQueryParamsInResponseOutput, - static_schema=_SCHEMA_IGNORE_QUERY_PARAMS_IN_RESPONSE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class InputAndOutputWithHeadersInput: - """Dataclass for InputAndOutputWithHeadersInput structure.""" - - header_string: str | None = None - - header_byte: int | None = None - - header_short: int | None = None - - header_integer: int | None = None - - header_long: int | None = None - - header_float: float | None = None - - header_double: float | None = None - - header_true_bool: bool | None = None - - header_false_bool: bool | None = None - - header_string_list: list[str] | None = None - - header_string_set: list[str] | None = None - - header_integer_list: list[int] | None = None - - header_boolean_list: list[bool] | None = None - - header_timestamp_list: list[datetime] | None = None - - header_enum: str | None = None - - header_enum_list: list[str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_INPUT).members_by_index - if self.header_string is not None: - serializer.write_string(members[0], self.header_string) - - if self.header_byte is not None: - serializer.write_byte(members[1], self.header_byte) - - if self.header_short is not None: - serializer.write_short(members[2], self.header_short) - - if self.header_integer is not None: - serializer.write_integer(members[3], self.header_integer) - - if self.header_long is not None: - serializer.write_long(members[4], self.header_long) - - if self.header_float is not None: - serializer.write_float(members[5], self.header_float) - - if self.header_double is not None: - serializer.write_double(members[6], self.header_double) - - if self.header_true_bool is not None: - serializer.write_boolean(members[7], self.header_true_bool) - - if self.header_false_bool is not None: - serializer.write_boolean(members[8], self.header_false_bool) - - if self.header_string_list is not None: - _serialize_string_list(serializer, members[9], self.header_string_list) - - if self.header_string_set is not None: - _serialize_string_set(serializer, members[10], self.header_string_set) - - if self.header_integer_list is not None: - _serialize_integer_list(serializer, members[11], self.header_integer_list) - - if self.header_boolean_list is not None: - _serialize_boolean_list(serializer, members[12], self.header_boolean_list) - - if self.header_timestamp_list is not None: - _serialize_timestamp_list( - serializer, members[13], self.header_timestamp_list - ) - - if self.header_enum is not None: - serializer.write_string(members[14], self.header_enum) - - if self.header_enum_list is not None: - _serialize_foo_enum_list(serializer, members[15], self.header_enum_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["header_string"] = de.read_string(members[0]) - - case 1: - kwargs["header_byte"] = de.read_byte(members[1]) - - case 2: - kwargs["header_short"] = de.read_short(members[2]) - - case 3: - kwargs["header_integer"] = de.read_integer(members[3]) - - case 4: - kwargs["header_long"] = de.read_long(members[4]) - - case 5: - kwargs["header_float"] = de.read_float(members[5]) - - case 6: - kwargs["header_double"] = de.read_double(members[6]) - - case 7: - kwargs["header_true_bool"] = de.read_boolean(members[7]) - - case 8: - kwargs["header_false_bool"] = de.read_boolean(members[8]) - - case 9: - kwargs["header_string_list"] = _deserialize_string_list( - de, members[9] - ) - - case 10: - kwargs["header_string_set"] = _deserialize_string_set( - de, members[10] - ) - - case 11: - kwargs["header_integer_list"] = _deserialize_integer_list( - de, members[11] - ) - - case 12: - kwargs["header_boolean_list"] = _deserialize_boolean_list( - de, members[12] - ) - - case 13: - kwargs["header_timestamp_list"] = _deserialize_timestamp_list( - de, members[13] - ) - - case 14: - kwargs["header_enum"] = FooEnum(de.read_string(members[14])) - - case 15: - kwargs["header_enum_list"] = _deserialize_foo_enum_list( - de, members[15] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class InputAndOutputWithHeadersOutput: - """Dataclass for InputAndOutputWithHeadersOutput structure.""" - - header_string: str | None = None - - header_byte: int | None = None - - header_short: int | None = None - - header_integer: int | None = None - - header_long: int | None = None - - header_float: float | None = None - - header_double: float | None = None - - header_true_bool: bool | None = None - - header_false_bool: bool | None = None - - header_string_list: list[str] | None = None - - header_string_set: list[str] | None = None - - header_integer_list: list[int] | None = None - - header_boolean_list: list[bool] | None = None - - header_timestamp_list: list[datetime] | None = None - - header_enum: str | None = None - - header_enum_list: list[str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_OUTPUT).members_by_index - if self.header_string is not None: - serializer.write_string(members[0], self.header_string) - - if self.header_byte is not None: - serializer.write_byte(members[1], self.header_byte) - - if self.header_short is not None: - serializer.write_short(members[2], self.header_short) - - if self.header_integer is not None: - serializer.write_integer(members[3], self.header_integer) - - if self.header_long is not None: - serializer.write_long(members[4], self.header_long) - - if self.header_float is not None: - serializer.write_float(members[5], self.header_float) - - if self.header_double is not None: - serializer.write_double(members[6], self.header_double) - - if self.header_true_bool is not None: - serializer.write_boolean(members[7], self.header_true_bool) - - if self.header_false_bool is not None: - serializer.write_boolean(members[8], self.header_false_bool) - - if self.header_string_list is not None: - _serialize_string_list(serializer, members[9], self.header_string_list) - - if self.header_string_set is not None: - _serialize_string_set(serializer, members[10], self.header_string_set) - - if self.header_integer_list is not None: - _serialize_integer_list(serializer, members[11], self.header_integer_list) - - if self.header_boolean_list is not None: - _serialize_boolean_list(serializer, members[12], self.header_boolean_list) - - if self.header_timestamp_list is not None: - _serialize_timestamp_list( - serializer, members[13], self.header_timestamp_list - ) - - if self.header_enum is not None: - serializer.write_string(members[14], self.header_enum) - - if self.header_enum_list is not None: - _serialize_foo_enum_list(serializer, members[15], self.header_enum_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["header_string"] = de.read_string(members[0]) - - case 1: - kwargs["header_byte"] = de.read_byte(members[1]) - - case 2: - kwargs["header_short"] = de.read_short(members[2]) - - case 3: - kwargs["header_integer"] = de.read_integer(members[3]) - - case 4: - kwargs["header_long"] = de.read_long(members[4]) - - case 5: - kwargs["header_float"] = de.read_float(members[5]) - - case 6: - kwargs["header_double"] = de.read_double(members[6]) - - case 7: - kwargs["header_true_bool"] = de.read_boolean(members[7]) - - case 8: - kwargs["header_false_bool"] = de.read_boolean(members[8]) - - case 9: - kwargs["header_string_list"] = _deserialize_string_list( - de, members[9] - ) - - case 10: - kwargs["header_string_set"] = _deserialize_string_set( - de, members[10] - ) - - case 11: - kwargs["header_integer_list"] = _deserialize_integer_list( - de, members[11] - ) - - case 12: - kwargs["header_boolean_list"] = _deserialize_boolean_list( - de, members[12] - ) - - case 13: - kwargs["header_timestamp_list"] = _deserialize_timestamp_list( - de, members[13] - ) - - case 14: - kwargs["header_enum"] = FooEnum(de.read_string(members[14])) - - case 15: - kwargs["header_enum_list"] = _deserialize_foo_enum_list( - de, members[15] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -INPUT_AND_OUTPUT_WITH_HEADERS = APIOperation( - input=InputAndOutputWithHeadersInput, - output=InputAndOutputWithHeadersOutput, - static_schema=_SCHEMA_INPUT_AND_OUTPUT_WITH_HEADERS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_list_with_member_namespace( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_list_with_member_namespace( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_list_with_namespace( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_list_with_namespace( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_nested_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, dict[str, str]] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: _serialize_foo_enum_map(vs, value_schema, v)) - - -def _deserialize_nested_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, dict[str, str]]: - result: dict[str, dict[str, str]] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = _deserialize_foo_enum_map(d, value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class NestedXmlMapsInput: - """Dataclass for NestedXmlMapsInput structure.""" - - nested_map: dict[str, dict[str, str]] | None = None - - flat_nested_map: dict[str, dict[str, str]] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NESTED_XML_MAPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NESTED_XML_MAPS_INPUT).members_by_index - if self.nested_map is not None: - _serialize_nested_map(serializer, members[0], self.nested_map) - - if self.flat_nested_map is not None: - _serialize_nested_map(serializer, members[1], self.flat_nested_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NESTED_XML_MAPS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested_map"] = _deserialize_nested_map(de, members[0]) - - case 1: - kwargs["flat_nested_map"] = _deserialize_nested_map(de, members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NestedXmlMapsOutput: - """Dataclass for NestedXmlMapsOutput structure.""" - - nested_map: dict[str, dict[str, str]] | None = None - - flat_nested_map: dict[str, dict[str, str]] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NESTED_XML_MAPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NESTED_XML_MAPS_OUTPUT).members_by_index - if self.nested_map is not None: - _serialize_nested_map(serializer, members[0], self.nested_map) - - if self.flat_nested_map is not None: - _serialize_nested_map(serializer, members[1], self.flat_nested_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NESTED_XML_MAPS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested_map"] = _deserialize_nested_map(de, members[0]) - - case 1: - kwargs["flat_nested_map"] = _deserialize_nested_map(de, members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NESTED_XML_MAPS = APIOperation( - input=NestedXmlMapsInput, - output=NestedXmlMapsOutput, - static_schema=_SCHEMA_NESTED_XML_MAPS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_nested_xml_map_with_xml_name_inner_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_nested_xml_map_with_xml_name_inner_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_nested_xml_map_with_xml_name_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, dict[str, str]] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry( - k, - lambda vs: _serialize_nested_xml_map_with_xml_name_inner_map( - vs, value_schema, v - ), - ) - - -def _deserialize_nested_xml_map_with_xml_name_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, dict[str, str]]: - result: dict[str, dict[str, str]] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = _deserialize_nested_xml_map_with_xml_name_inner_map( - d, value_schema - ) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class NestedXmlMapWithXmlNameInput: - """Dataclass for NestedXmlMapWithXmlNameInput structure.""" - - nested_xml_map_with_xml_name_map: dict[str, dict[str, str]] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_NESTED_XML_MAP_WITH_XML_NAME_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NESTED_XML_MAP_WITH_XML_NAME_INPUT).members_by_index - if self.nested_xml_map_with_xml_name_map is not None: - _serialize_nested_xml_map_with_xml_name_map( - serializer, members[0], self.nested_xml_map_with_xml_name_map - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NESTED_XML_MAP_WITH_XML_NAME_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested_xml_map_with_xml_name_map"] = ( - _deserialize_nested_xml_map_with_xml_name_map(de, members[0]) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NestedXmlMapWithXmlNameOutput: - """Dataclass for NestedXmlMapWithXmlNameOutput structure.""" - - nested_xml_map_with_xml_name_map: dict[str, dict[str, str]] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_NESTED_XML_MAP_WITH_XML_NAME_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NESTED_XML_MAP_WITH_XML_NAME_OUTPUT).members_by_index - if self.nested_xml_map_with_xml_name_map is not None: - _serialize_nested_xml_map_with_xml_name_map( - serializer, members[0], self.nested_xml_map_with_xml_name_map - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NESTED_XML_MAP_WITH_XML_NAME_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested_xml_map_with_xml_name_map"] = ( - _deserialize_nested_xml_map_with_xml_name_map(de, members[0]) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NESTED_XML_MAP_WITH_XML_NAME = APIOperation( - input=NestedXmlMapWithXmlNameInput, - output=NestedXmlMapWithXmlNameOutput, - static_schema=_SCHEMA_NESTED_XML_MAP_WITH_XML_NAME, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NoInputAndNoOutputInput: - """Dataclass for NoInputAndNoOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NoInputAndNoOutputOutput: - """Dataclass for NoInputAndNoOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_NO_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NO_INPUT_AND_NO_OUTPUT = APIOperation( - input=NoInputAndNoOutputInput, - output=NoInputAndNoOutputOutput, - static_schema=_SCHEMA_NO_INPUT_AND_NO_OUTPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NoInputAndOutputInput: - """Dataclass for NoInputAndOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NoInputAndOutputOutput: - """Dataclass for NoInputAndOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_AND_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NO_INPUT_AND_OUTPUT = APIOperation( - input=NoInputAndOutputInput, - output=NoInputAndOutputOutput, - static_schema=_SCHEMA_NO_INPUT_AND_OUTPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NullAndEmptyHeadersClientInput: - """Dataclass for NullAndEmptyHeadersClientInput structure.""" - - a: str | None = None - - b: str | None = None - - c: list[str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_INPUT).members_by_index - if self.a is not None: - serializer.write_string(members[0], self.a) - - if self.b is not None: - serializer.write_string(members[1], self.b) - - if self.c is not None: - _serialize_string_list(serializer, members[2], self.c) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["a"] = de.read_string(members[0]) - - case 1: - kwargs["b"] = de.read_string(members[1]) - - case 2: - kwargs["c"] = _deserialize_string_list(de, members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NullAndEmptyHeadersClientOutput: - """Dataclass for NullAndEmptyHeadersClientOutput structure.""" - - a: str | None = None - - b: str | None = None - - c: list[str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_OUTPUT).members_by_index - if self.a is not None: - serializer.write_string(members[0], self.a) - - if self.b is not None: - serializer.write_string(members[1], self.b) - - if self.c is not None: - _serialize_string_list(serializer, members[2], self.c) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["a"] = de.read_string(members[0]) - - case 1: - kwargs["b"] = de.read_string(members[1]) - - case 2: - kwargs["c"] = _deserialize_string_list(de, members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NULL_AND_EMPTY_HEADERS_CLIENT = APIOperation( - input=NullAndEmptyHeadersClientInput, - output=NullAndEmptyHeadersClientOutput, - static_schema=_SCHEMA_NULL_AND_EMPTY_HEADERS_CLIENT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class NullAndEmptyHeadersServerInput: - """Dataclass for NullAndEmptyHeadersServerInput structure.""" - - a: str | None = None - - b: str | None = None - - c: list[str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_INPUT).members_by_index - if self.a is not None: - serializer.write_string(members[0], self.a) - - if self.b is not None: - serializer.write_string(members[1], self.b) - - if self.c is not None: - _serialize_string_list(serializer, members[2], self.c) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["a"] = de.read_string(members[0]) - - case 1: - kwargs["b"] = de.read_string(members[1]) - - case 2: - kwargs["c"] = _deserialize_string_list(de, members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NullAndEmptyHeadersServerOutput: - """Dataclass for NullAndEmptyHeadersServerOutput structure.""" - - a: str | None = None - - b: str | None = None - - c: list[str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_OUTPUT).members_by_index - if self.a is not None: - serializer.write_string(members[0], self.a) - - if self.b is not None: - serializer.write_string(members[1], self.b) - - if self.c is not None: - _serialize_string_list(serializer, members[2], self.c) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["a"] = de.read_string(members[0]) - - case 1: - kwargs["b"] = de.read_string(members[1]) - - case 2: - kwargs["c"] = _deserialize_string_list(de, members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NULL_AND_EMPTY_HEADERS_SERVER = APIOperation( - input=NullAndEmptyHeadersServerInput, - output=NullAndEmptyHeadersServerOutput, - static_schema=_SCHEMA_NULL_AND_EMPTY_HEADERS_SERVER, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class OmitsNullSerializesEmptyStringInput: - """Dataclass for OmitsNullSerializesEmptyStringInput structure.""" - - null_value: str | None = None - - empty_string: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING_INPUT - ).members_by_index - if self.null_value is not None: - serializer.write_string(members[0], self.null_value) - - if self.empty_string is not None: - serializer.write_string(members[1], self.empty_string) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["null_value"] = de.read_string(members[0]) - - case 1: - kwargs["empty_string"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class OmitsNullSerializesEmptyStringOutput: - """Dataclass for OmitsNullSerializesEmptyStringOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -OMITS_NULL_SERIALIZES_EMPTY_STRING = APIOperation( - input=OmitsNullSerializesEmptyStringInput, - output=OmitsNullSerializesEmptyStringOutput, - static_schema=_SCHEMA_OMITS_NULL_SERIALIZES_EMPTY_STRING, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class PutWithContentEncodingInput: - """Dataclass for PutWithContentEncodingInput structure.""" - - encoding: str | None = None - - data: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT).members_by_index - if self.encoding is not None: - serializer.write_string(members[0], self.encoding) - - if self.data is not None: - serializer.write_string(members[1], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["encoding"] = de.read_string(members[0]) - - case 1: - kwargs["data"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class PutWithContentEncodingOutput: - """Dataclass for PutWithContentEncodingOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_PUT_WITH_CONTENT_ENCODING_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -PUT_WITH_CONTENT_ENCODING = APIOperation( - input=PutWithContentEncodingInput, - output=PutWithContentEncodingOutput, - static_schema=_SCHEMA_PUT_WITH_CONTENT_ENCODING, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class QueryIdempotencyTokenAutoFillInput: - """Dataclass for QueryIdempotencyTokenAutoFillInput structure.""" - - token: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT - ).members_by_index - if self.token is not None: - serializer.write_string(members[0], self.token) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["token"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryIdempotencyTokenAutoFillOutput: - """Dataclass for QueryIdempotencyTokenAutoFillOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL = APIOperation( - input=QueryIdempotencyTokenAutoFillInput, - output=QueryIdempotencyTokenAutoFillOutput, - static_schema=_SCHEMA_QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_string_list_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, list[str]] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: _serialize_string_list(vs, value_schema, v)) - - -def _deserialize_string_list_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, list[str]]: - result: dict[str, list[str]] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = _deserialize_string_list(d, value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class QueryParamsAsStringListMapInput: - """Dataclass for QueryParamsAsStringListMapInput structure.""" - - qux: str | None = None - - foo: dict[str, list[str]] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT - ).members_by_index - if self.qux is not None: - serializer.write_string(members[0], self.qux) - - if self.foo is not None: - _serialize_string_list_map(serializer, members[1], self.foo) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["qux"] = de.read_string(members[0]) - - case 1: - kwargs["foo"] = _deserialize_string_list_map(de, members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryParamsAsStringListMapOutput: - """Dataclass for QueryParamsAsStringListMapOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -QUERY_PARAMS_AS_STRING_LIST_MAP = APIOperation( - input=QueryParamsAsStringListMapInput, - output=QueryParamsAsStringListMapOutput, - static_schema=_SCHEMA_QUERY_PARAMS_AS_STRING_LIST_MAP, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class QueryPrecedenceInput: - """Dataclass for QueryPrecedenceInput structure.""" - - foo: str | None = None - - baz: dict[str, str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_QUERY_PRECEDENCE_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_QUERY_PRECEDENCE_INPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.baz is not None: - _serialize_string_map(serializer, members[1], self.baz) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_PRECEDENCE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["baz"] = _deserialize_string_map(de, members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class QueryPrecedenceOutput: - """Dataclass for QueryPrecedenceOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_QUERY_PRECEDENCE_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_QUERY_PRECEDENCE_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -QUERY_PRECEDENCE = APIOperation( - input=QueryPrecedenceInput, - output=QueryPrecedenceOutput, - static_schema=_SCHEMA_QUERY_PRECEDENCE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_renamed_list_members( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_renamed_list_members( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class SimpleScalarPropertiesInput: - """Dataclass for SimpleScalarPropertiesInput structure.""" - - foo: str | None = None - - string_value: str | None = None - - true_boolean_value: bool | None = None - - false_boolean_value: bool | None = None - - byte_value: int | None = None - - short_value: int | None = None - - integer_value: int | None = None - - long_value: int | None = None - - float_value: float | None = None - - double_value: float | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.string_value is not None: - serializer.write_string(members[1], self.string_value) - - if self.true_boolean_value is not None: - serializer.write_boolean(members[2], self.true_boolean_value) - - if self.false_boolean_value is not None: - serializer.write_boolean(members[3], self.false_boolean_value) - - if self.byte_value is not None: - serializer.write_byte(members[4], self.byte_value) - - if self.short_value is not None: - serializer.write_short(members[5], self.short_value) - - if self.integer_value is not None: - serializer.write_integer(members[6], self.integer_value) - - if self.long_value is not None: - serializer.write_long(members[7], self.long_value) - - if self.float_value is not None: - serializer.write_float(members[8], self.float_value) - - if self.double_value is not None: - serializer.write_double(members[9], self.double_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["string_value"] = de.read_string(members[1]) - - case 2: - kwargs["true_boolean_value"] = de.read_boolean(members[2]) - - case 3: - kwargs["false_boolean_value"] = de.read_boolean(members[3]) - - case 4: - kwargs["byte_value"] = de.read_byte(members[4]) - - case 5: - kwargs["short_value"] = de.read_short(members[5]) - - case 6: - kwargs["integer_value"] = de.read_integer(members[6]) - - case 7: - kwargs["long_value"] = de.read_long(members[7]) - - case 8: - kwargs["float_value"] = de.read_float(members[8]) - - case 9: - kwargs["double_value"] = de.read_double(members[9]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SimpleScalarPropertiesOutput: - """Dataclass for SimpleScalarPropertiesOutput structure.""" - - foo: str | None = None - - string_value: str | None = None - - true_boolean_value: bool | None = None - - false_boolean_value: bool | None = None - - byte_value: int | None = None - - short_value: int | None = None - - integer_value: int | None = None - - long_value: int | None = None - - float_value: float | None = None - - double_value: float | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.string_value is not None: - serializer.write_string(members[1], self.string_value) - - if self.true_boolean_value is not None: - serializer.write_boolean(members[2], self.true_boolean_value) - - if self.false_boolean_value is not None: - serializer.write_boolean(members[3], self.false_boolean_value) - - if self.byte_value is not None: - serializer.write_byte(members[4], self.byte_value) - - if self.short_value is not None: - serializer.write_short(members[5], self.short_value) - - if self.integer_value is not None: - serializer.write_integer(members[6], self.integer_value) - - if self.long_value is not None: - serializer.write_long(members[7], self.long_value) - - if self.float_value is not None: - serializer.write_float(members[8], self.float_value) - - if self.double_value is not None: - serializer.write_double(members[9], self.double_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["string_value"] = de.read_string(members[1]) - - case 2: - kwargs["true_boolean_value"] = de.read_boolean(members[2]) - - case 3: - kwargs["false_boolean_value"] = de.read_boolean(members[3]) - - case 4: - kwargs["byte_value"] = de.read_byte(members[4]) - - case 5: - kwargs["short_value"] = de.read_short(members[5]) - - case 6: - kwargs["integer_value"] = de.read_integer(members[6]) - - case 7: - kwargs["long_value"] = de.read_long(members[7]) - - case 8: - kwargs["float_value"] = de.read_float(members[8]) - - case 9: - kwargs["double_value"] = de.read_double(members[9]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -SIMPLE_SCALAR_PROPERTIES = APIOperation( - input=SimpleScalarPropertiesInput, - output=SimpleScalarPropertiesOutput, - static_schema=_SCHEMA_SIMPLE_SCALAR_PROPERTIES, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class TimestampFormatHeadersInput: - """Dataclass for TimestampFormatHeadersInput structure.""" - - member_epoch_seconds: datetime | None = None - - member_http_date: datetime | None = None - - member_date_time: datetime | None = None - - default_format: datetime | None = None - - target_epoch_seconds: datetime | None = None - - target_http_date: datetime | None = None - - target_date_time: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TIMESTAMP_FORMAT_HEADERS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TIMESTAMP_FORMAT_HEADERS_INPUT).members_by_index - if self.member_epoch_seconds is not None: - serializer.write_timestamp(members[0], self.member_epoch_seconds) - - if self.member_http_date is not None: - serializer.write_timestamp(members[1], self.member_http_date) - - if self.member_date_time is not None: - serializer.write_timestamp(members[2], self.member_date_time) - - if self.default_format is not None: - serializer.write_timestamp(members[3], self.default_format) - - if self.target_epoch_seconds is not None: - serializer.write_timestamp(members[4], self.target_epoch_seconds) - - if self.target_http_date is not None: - serializer.write_timestamp(members[5], self.target_http_date) - - if self.target_date_time is not None: - serializer.write_timestamp(members[6], self.target_date_time) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TIMESTAMP_FORMAT_HEADERS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["member_epoch_seconds"] = de.read_timestamp(members[0]) - - case 1: - kwargs["member_http_date"] = de.read_timestamp(members[1]) - - case 2: - kwargs["member_date_time"] = de.read_timestamp(members[2]) - - case 3: - kwargs["default_format"] = de.read_timestamp(members[3]) - - case 4: - kwargs["target_epoch_seconds"] = de.read_timestamp(members[4]) - - case 5: - kwargs["target_http_date"] = de.read_timestamp(members[5]) - - case 6: - kwargs["target_date_time"] = de.read_timestamp(members[6]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class TimestampFormatHeadersOutput: - """Dataclass for TimestampFormatHeadersOutput structure.""" - - member_epoch_seconds: datetime | None = None - - member_http_date: datetime | None = None - - member_date_time: datetime | None = None - - default_format: datetime | None = None - - target_epoch_seconds: datetime | None = None - - target_http_date: datetime | None = None - - target_date_time: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_TIMESTAMP_FORMAT_HEADERS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_TIMESTAMP_FORMAT_HEADERS_OUTPUT).members_by_index - if self.member_epoch_seconds is not None: - serializer.write_timestamp(members[0], self.member_epoch_seconds) - - if self.member_http_date is not None: - serializer.write_timestamp(members[1], self.member_http_date) - - if self.member_date_time is not None: - serializer.write_timestamp(members[2], self.member_date_time) - - if self.default_format is not None: - serializer.write_timestamp(members[3], self.default_format) - - if self.target_epoch_seconds is not None: - serializer.write_timestamp(members[4], self.target_epoch_seconds) - - if self.target_http_date is not None: - serializer.write_timestamp(members[5], self.target_http_date) - - if self.target_date_time is not None: - serializer.write_timestamp(members[6], self.target_date_time) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_TIMESTAMP_FORMAT_HEADERS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["member_epoch_seconds"] = de.read_timestamp(members[0]) - - case 1: - kwargs["member_http_date"] = de.read_timestamp(members[1]) - - case 2: - kwargs["member_date_time"] = de.read_timestamp(members[2]) - - case 3: - kwargs["default_format"] = de.read_timestamp(members[3]) - - case 4: - kwargs["target_epoch_seconds"] = de.read_timestamp(members[4]) - - case 5: - kwargs["target_http_date"] = de.read_timestamp(members[5]) - - case 6: - kwargs["target_date_time"] = de.read_timestamp(members[6]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -TIMESTAMP_FORMAT_HEADERS = APIOperation( - input=TimestampFormatHeadersInput, - output=TimestampFormatHeadersOutput, - static_schema=_SCHEMA_TIMESTAMP_FORMAT_HEADERS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlAttributesInput: - """Dataclass for XmlAttributesInput structure.""" - - foo: str | None = None - - attr: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_ATTRIBUTES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_ATTRIBUTES_INPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.attr is not None: - serializer.write_string(members[1], self.attr) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ATTRIBUTES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["attr"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlAttributesOutput: - """Dataclass for XmlAttributesOutput structure.""" - - foo: str | None = None - - attr: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_ATTRIBUTES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_ATTRIBUTES_OUTPUT).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.attr is not None: - serializer.write_string(members[1], self.attr) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ATTRIBUTES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["attr"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_ATTRIBUTES = APIOperation( - input=XmlAttributesInput, - output=XmlAttributesOutput, - static_schema=_SCHEMA_XML_ATTRIBUTES, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlAttributesInMiddlePayloadRequest: - """Dataclass for XmlAttributesInMiddlePayloadRequest structure.""" - - foo: str | None = None - - attr: str | None = None - - baz: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_PAYLOAD_REQUEST), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_PAYLOAD_REQUEST - ).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.attr is not None: - serializer.write_string(members[1], self.attr) - - if self.baz is not None: - serializer.write_string(members[2], self.baz) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_PAYLOAD_REQUEST) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["attr"] = de.read_string(members[1]) - - case 2: - kwargs["baz"] = de.read_string(members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlAttributesInMiddleInput: - """Dataclass for XmlAttributesInMiddleInput structure.""" - - payload: XmlAttributesInMiddlePayloadRequest | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_INPUT).members_by_index - if self.payload is not None: - serializer.write_struct(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = XmlAttributesInMiddlePayloadRequest.deserialize( - de - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlAttributesInMiddlePayloadResponse: - """Dataclass for XmlAttributesInMiddlePayloadResponse structure.""" - - foo: str | None = None - - attr: str | None = None - - baz: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_PAYLOAD_RESPONSE), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_PAYLOAD_RESPONSE - ).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.attr is not None: - serializer.write_string(members[1], self.attr) - - if self.baz is not None: - serializer.write_string(members[2], self.baz) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_PAYLOAD_RESPONSE) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["attr"] = de.read_string(members[1]) - - case 2: - kwargs["baz"] = de.read_string(members[2]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlAttributesInMiddleOutput: - """Dataclass for XmlAttributesInMiddleOutput structure.""" - - payload: XmlAttributesInMiddlePayloadResponse | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_OUTPUT).members_by_index - if self.payload is not None: - serializer.write_struct(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ATTRIBUTES_IN_MIDDLE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = ( - XmlAttributesInMiddlePayloadResponse.deserialize(de) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_ATTRIBUTES_IN_MIDDLE = APIOperation( - input=XmlAttributesInMiddleInput, - output=XmlAttributesInMiddleOutput, - static_schema=_SCHEMA_XML_ATTRIBUTES_IN_MIDDLE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlAttributesPayloadRequest: - """Dataclass for XmlAttributesPayloadRequest structure.""" - - foo: str | None = None - - attr: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_ATTRIBUTES_PAYLOAD_REQUEST), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_ATTRIBUTES_PAYLOAD_REQUEST).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.attr is not None: - serializer.write_string(members[1], self.attr) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ATTRIBUTES_PAYLOAD_REQUEST) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["attr"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlAttributesOnPayloadInput: - """Dataclass for XmlAttributesOnPayloadInput structure.""" - - payload: XmlAttributesPayloadRequest | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_ATTRIBUTES_ON_PAYLOAD_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_ATTRIBUTES_ON_PAYLOAD_INPUT).members_by_index - if self.payload is not None: - serializer.write_struct(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ATTRIBUTES_ON_PAYLOAD_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = XmlAttributesPayloadRequest.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlAttributesPayloadResponse: - """Dataclass for XmlAttributesPayloadResponse structure.""" - - foo: str | None = None - - attr: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_ATTRIBUTES_PAYLOAD_RESPONSE), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_ATTRIBUTES_PAYLOAD_RESPONSE).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.attr is not None: - serializer.write_string(members[1], self.attr) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ATTRIBUTES_PAYLOAD_RESPONSE) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["attr"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlAttributesOnPayloadOutput: - """Dataclass for XmlAttributesOnPayloadOutput structure.""" - - payload: XmlAttributesPayloadResponse | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_ATTRIBUTES_ON_PAYLOAD_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_ATTRIBUTES_ON_PAYLOAD_OUTPUT).members_by_index - if self.payload is not None: - serializer.write_struct(members[0], self.payload) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ATTRIBUTES_ON_PAYLOAD_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["payload"] = XmlAttributesPayloadResponse.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_ATTRIBUTES_ON_PAYLOAD = APIOperation( - input=XmlAttributesOnPayloadInput, - output=XmlAttributesOnPayloadOutput, - static_schema=_SCHEMA_XML_ATTRIBUTES_ON_PAYLOAD, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlBlobsInput: - """Dataclass for XmlBlobsInput structure.""" - - data: bytes | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_BLOBS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_BLOBS_INPUT).members_by_index - if self.data is not None: - serializer.write_blob(members[0], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_BLOBS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["data"] = de.read_blob(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlBlobsOutput: - """Dataclass for XmlBlobsOutput structure.""" - - data: bytes | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_BLOBS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_BLOBS_OUTPUT).members_by_index - if self.data is not None: - serializer.write_blob(members[0], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_BLOBS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["data"] = de.read_blob(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_BLOBS = APIOperation( - input=XmlBlobsInput, - output=XmlBlobsOutput, - static_schema=_SCHEMA_XML_BLOBS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlEmptyBlobsInput: - """Dataclass for XmlEmptyBlobsInput structure.""" - - data: bytes | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_BLOBS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_EMPTY_BLOBS_INPUT).members_by_index - if self.data is not None: - serializer.write_blob(members[0], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_BLOBS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["data"] = de.read_blob(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlEmptyBlobsOutput: - """Dataclass for XmlEmptyBlobsOutput structure.""" - - data: bytes | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_BLOBS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_EMPTY_BLOBS_OUTPUT).members_by_index - if self.data is not None: - serializer.write_blob(members[0], self.data) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_BLOBS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["data"] = de.read_blob(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_EMPTY_BLOBS = APIOperation( - input=XmlEmptyBlobsInput, - output=XmlEmptyBlobsOutput, - static_schema=_SCHEMA_XML_EMPTY_BLOBS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class StructureListMember: - """Dataclass for StructureListMember structure.""" - - a: str | None = None - - b: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER).members_by_index - if self.a is not None: - serializer.write_string(members[0], self.a) - - if self.b is not None: - serializer.write_string(members[1], self.b) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["a"] = de.read_string(members[0]) - - case 1: - kwargs["b"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_structure_list( - serializer: ShapeSerializer, schema: Schema, value: list[StructureListMember] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_struct(member_schema, e) - - -def _deserialize_structure_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[StructureListMember]: - result: list[StructureListMember] = [] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(StructureListMember.deserialize(d)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_nested_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[list[str]] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - _serialize_string_list(ls, member_schema, e) - - -def _deserialize_nested_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[list[str]]: - result: list[list[str]] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(_deserialize_string_list(d, member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlEmptyListsInput: - """Dataclass for XmlEmptyListsInput structure.""" - - string_list: list[str] | None = None - - string_set: list[str] | None = None - - integer_list: list[int] | None = None - - boolean_list: list[bool] | None = None - - timestamp_list: list[datetime] | None = None - - enum_list: list[str] | None = None - - int_enum_list: list[int] | None = None - - nested_string_list: list[list[str]] | None = None - """A list of lists of strings.""" - - renamed_list_members: list[str] | None = None - - flattened_list: list[str] | None = None - - flattened_list2: list[str] | None = None - - flattened_list_with_member_namespace: list[str] | None = None - - flattened_list_with_namespace: list[str] | None = None - - structure_list: list[StructureListMember] | None = None - - flattened_structure_list: list[StructureListMember] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_LISTS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_EMPTY_LISTS_INPUT).members_by_index - if self.string_list is not None: - _serialize_string_list(serializer, members[0], self.string_list) - - if self.string_set is not None: - _serialize_string_set(serializer, members[1], self.string_set) - - if self.integer_list is not None: - _serialize_integer_list(serializer, members[2], self.integer_list) - - if self.boolean_list is not None: - _serialize_boolean_list(serializer, members[3], self.boolean_list) - - if self.timestamp_list is not None: - _serialize_timestamp_list(serializer, members[4], self.timestamp_list) - - if self.enum_list is not None: - _serialize_foo_enum_list(serializer, members[5], self.enum_list) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[6], self.int_enum_list) - - if self.nested_string_list is not None: - _serialize_nested_string_list( - serializer, members[7], self.nested_string_list - ) - - if self.renamed_list_members is not None: - _serialize_renamed_list_members( - serializer, members[8], self.renamed_list_members - ) - - if self.flattened_list is not None: - _serialize_renamed_list_members(serializer, members[9], self.flattened_list) - - if self.flattened_list2 is not None: - _serialize_renamed_list_members( - serializer, members[10], self.flattened_list2 - ) - - if self.flattened_list_with_member_namespace is not None: - _serialize_list_with_member_namespace( - serializer, members[11], self.flattened_list_with_member_namespace - ) - - if self.flattened_list_with_namespace is not None: - _serialize_list_with_namespace( - serializer, members[12], self.flattened_list_with_namespace - ) - - if self.structure_list is not None: - _serialize_structure_list(serializer, members[13], self.structure_list) - - if self.flattened_structure_list is not None: - _serialize_structure_list( - serializer, members[14], self.flattened_structure_list - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_LISTS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_list"] = _deserialize_string_list(de, members[0]) - - case 1: - kwargs["string_set"] = _deserialize_string_set(de, members[1]) - - case 2: - kwargs["integer_list"] = _deserialize_integer_list(de, members[2]) - - case 3: - kwargs["boolean_list"] = _deserialize_boolean_list(de, members[3]) - - case 4: - kwargs["timestamp_list"] = _deserialize_timestamp_list( - de, members[4] - ) - - case 5: - kwargs["enum_list"] = _deserialize_foo_enum_list(de, members[5]) - - case 6: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[6] - ) - - case 7: - kwargs["nested_string_list"] = _deserialize_nested_string_list( - de, members[7] - ) - - case 8: - kwargs["renamed_list_members"] = _deserialize_renamed_list_members( - de, members[8] - ) - - case 9: - kwargs["flattened_list"] = _deserialize_renamed_list_members( - de, members[9] - ) - - case 10: - kwargs["flattened_list2"] = _deserialize_renamed_list_members( - de, members[10] - ) - - case 11: - kwargs["flattened_list_with_member_namespace"] = ( - _deserialize_list_with_member_namespace(de, members[11]) - ) - - case 12: - kwargs["flattened_list_with_namespace"] = ( - _deserialize_list_with_namespace(de, members[12]) - ) - - case 13: - kwargs["structure_list"] = _deserialize_structure_list( - de, members[13] - ) - - case 14: - kwargs["flattened_structure_list"] = _deserialize_structure_list( - de, members[14] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlEmptyListsOutput: - """Dataclass for XmlEmptyListsOutput structure.""" - - string_list: list[str] | None = None - - string_set: list[str] | None = None - - integer_list: list[int] | None = None - - boolean_list: list[bool] | None = None - - timestamp_list: list[datetime] | None = None - - enum_list: list[str] | None = None - - int_enum_list: list[int] | None = None - - nested_string_list: list[list[str]] | None = None - """A list of lists of strings.""" - - renamed_list_members: list[str] | None = None - - flattened_list: list[str] | None = None - - flattened_list2: list[str] | None = None - - flattened_list_with_member_namespace: list[str] | None = None - - flattened_list_with_namespace: list[str] | None = None - - structure_list: list[StructureListMember] | None = None - - flattened_structure_list: list[StructureListMember] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_LISTS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_EMPTY_LISTS_OUTPUT).members_by_index - if self.string_list is not None: - _serialize_string_list(serializer, members[0], self.string_list) - - if self.string_set is not None: - _serialize_string_set(serializer, members[1], self.string_set) - - if self.integer_list is not None: - _serialize_integer_list(serializer, members[2], self.integer_list) - - if self.boolean_list is not None: - _serialize_boolean_list(serializer, members[3], self.boolean_list) - - if self.timestamp_list is not None: - _serialize_timestamp_list(serializer, members[4], self.timestamp_list) - - if self.enum_list is not None: - _serialize_foo_enum_list(serializer, members[5], self.enum_list) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[6], self.int_enum_list) - - if self.nested_string_list is not None: - _serialize_nested_string_list( - serializer, members[7], self.nested_string_list - ) - - if self.renamed_list_members is not None: - _serialize_renamed_list_members( - serializer, members[8], self.renamed_list_members - ) - - if self.flattened_list is not None: - _serialize_renamed_list_members(serializer, members[9], self.flattened_list) - - if self.flattened_list2 is not None: - _serialize_renamed_list_members( - serializer, members[10], self.flattened_list2 - ) - - if self.flattened_list_with_member_namespace is not None: - _serialize_list_with_member_namespace( - serializer, members[11], self.flattened_list_with_member_namespace - ) - - if self.flattened_list_with_namespace is not None: - _serialize_list_with_namespace( - serializer, members[12], self.flattened_list_with_namespace - ) - - if self.structure_list is not None: - _serialize_structure_list(serializer, members[13], self.structure_list) - - if self.flattened_structure_list is not None: - _serialize_structure_list( - serializer, members[14], self.flattened_structure_list - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_LISTS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_list"] = _deserialize_string_list(de, members[0]) - - case 1: - kwargs["string_set"] = _deserialize_string_set(de, members[1]) - - case 2: - kwargs["integer_list"] = _deserialize_integer_list(de, members[2]) - - case 3: - kwargs["boolean_list"] = _deserialize_boolean_list(de, members[3]) - - case 4: - kwargs["timestamp_list"] = _deserialize_timestamp_list( - de, members[4] - ) - - case 5: - kwargs["enum_list"] = _deserialize_foo_enum_list(de, members[5]) - - case 6: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[6] - ) - - case 7: - kwargs["nested_string_list"] = _deserialize_nested_string_list( - de, members[7] - ) - - case 8: - kwargs["renamed_list_members"] = _deserialize_renamed_list_members( - de, members[8] - ) - - case 9: - kwargs["flattened_list"] = _deserialize_renamed_list_members( - de, members[9] - ) - - case 10: - kwargs["flattened_list2"] = _deserialize_renamed_list_members( - de, members[10] - ) - - case 11: - kwargs["flattened_list_with_member_namespace"] = ( - _deserialize_list_with_member_namespace(de, members[11]) - ) - - case 12: - kwargs["flattened_list_with_namespace"] = ( - _deserialize_list_with_namespace(de, members[12]) - ) - - case 13: - kwargs["structure_list"] = _deserialize_structure_list( - de, members[13] - ) - - case 14: - kwargs["flattened_structure_list"] = _deserialize_structure_list( - de, members[14] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_EMPTY_LISTS = APIOperation( - input=XmlEmptyListsInput, - output=XmlEmptyListsOutput, - static_schema=_SCHEMA_XML_EMPTY_LISTS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class GreetingStruct: - """Dataclass for GreetingStruct structure.""" - - hi: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_STRUCT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_STRUCT).members_by_index - if self.hi is not None: - serializer.write_string(members[0], self.hi) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_STRUCT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["hi"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_xml_maps_input_output_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, GreetingStruct] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_struct(value_schema, v)) - - -def _deserialize_xml_maps_input_output_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, GreetingStruct]: - result: dict[str, GreetingStruct] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = GreetingStruct.deserialize(d) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlEmptyMapsInput: - """Dataclass for XmlEmptyMapsInput structure.""" - - my_map: dict[str, GreetingStruct] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_MAPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_EMPTY_MAPS_INPUT).members_by_index - if self.my_map is not None: - _serialize_xml_maps_input_output_map(serializer, members[0], self.my_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_MAPS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = _deserialize_xml_maps_input_output_map( - de, members[0] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlEmptyMapsOutput: - """Dataclass for XmlEmptyMapsOutput structure.""" - - my_map: dict[str, GreetingStruct] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_MAPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_EMPTY_MAPS_OUTPUT).members_by_index - if self.my_map is not None: - _serialize_xml_maps_input_output_map(serializer, members[0], self.my_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_MAPS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = _deserialize_xml_maps_input_output_map( - de, members[0] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_EMPTY_MAPS = APIOperation( - input=XmlEmptyMapsInput, - output=XmlEmptyMapsOutput, - static_schema=_SCHEMA_XML_EMPTY_MAPS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlEmptyStringsInput: - """Dataclass for XmlEmptyStringsInput structure.""" - - empty_string: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_STRINGS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_EMPTY_STRINGS_INPUT).members_by_index - if self.empty_string is not None: - serializer.write_string(members[0], self.empty_string) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_STRINGS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["empty_string"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlEmptyStringsOutput: - """Dataclass for XmlEmptyStringsOutput structure.""" - - empty_string: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_EMPTY_STRINGS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_EMPTY_STRINGS_OUTPUT).members_by_index - if self.empty_string is not None: - serializer.write_string(members[0], self.empty_string) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_EMPTY_STRINGS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["empty_string"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_EMPTY_STRINGS = APIOperation( - input=XmlEmptyStringsInput, - output=XmlEmptyStringsOutput, - static_schema=_SCHEMA_XML_EMPTY_STRINGS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_foo_enum_set( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_foo_enum_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(FooEnum(d.read_string(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlEnumsInput: - """Dataclass for XmlEnumsInput structure.""" - - foo_enum1: str | None = None - - foo_enum2: str | None = None - - foo_enum3: str | None = None - - foo_enum_list: list[str] | None = None - - foo_enum_set: list[str] | None = None - - foo_enum_map: dict[str, str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_ENUMS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_ENUMS_INPUT).members_by_index - if self.foo_enum1 is not None: - serializer.write_string(members[0], self.foo_enum1) - - if self.foo_enum2 is not None: - serializer.write_string(members[1], self.foo_enum2) - - if self.foo_enum3 is not None: - serializer.write_string(members[2], self.foo_enum3) - - if self.foo_enum_list is not None: - _serialize_foo_enum_list(serializer, members[3], self.foo_enum_list) - - if self.foo_enum_set is not None: - _serialize_foo_enum_set(serializer, members[4], self.foo_enum_set) - - if self.foo_enum_map is not None: - _serialize_foo_enum_map(serializer, members[5], self.foo_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ENUMS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo_enum1"] = FooEnum(de.read_string(members[0])) - - case 1: - kwargs["foo_enum2"] = FooEnum(de.read_string(members[1])) - - case 2: - kwargs["foo_enum3"] = FooEnum(de.read_string(members[2])) - - case 3: - kwargs["foo_enum_list"] = _deserialize_foo_enum_list(de, members[3]) - - case 4: - kwargs["foo_enum_set"] = _deserialize_foo_enum_set(de, members[4]) - - case 5: - kwargs["foo_enum_map"] = _deserialize_foo_enum_map(de, members[5]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlEnumsOutput: - """Dataclass for XmlEnumsOutput structure.""" - - foo_enum1: str | None = None - - foo_enum2: str | None = None - - foo_enum3: str | None = None - - foo_enum_list: list[str] | None = None - - foo_enum_set: list[str] | None = None - - foo_enum_map: dict[str, str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_ENUMS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_ENUMS_OUTPUT).members_by_index - if self.foo_enum1 is not None: - serializer.write_string(members[0], self.foo_enum1) - - if self.foo_enum2 is not None: - serializer.write_string(members[1], self.foo_enum2) - - if self.foo_enum3 is not None: - serializer.write_string(members[2], self.foo_enum3) - - if self.foo_enum_list is not None: - _serialize_foo_enum_list(serializer, members[3], self.foo_enum_list) - - if self.foo_enum_set is not None: - _serialize_foo_enum_set(serializer, members[4], self.foo_enum_set) - - if self.foo_enum_map is not None: - _serialize_foo_enum_map(serializer, members[5], self.foo_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_ENUMS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo_enum1"] = FooEnum(de.read_string(members[0])) - - case 1: - kwargs["foo_enum2"] = FooEnum(de.read_string(members[1])) - - case 2: - kwargs["foo_enum3"] = FooEnum(de.read_string(members[2])) - - case 3: - kwargs["foo_enum_list"] = _deserialize_foo_enum_list(de, members[3]) - - case 4: - kwargs["foo_enum_set"] = _deserialize_foo_enum_set(de, members[4]) - - case 5: - kwargs["foo_enum_map"] = _deserialize_foo_enum_map(de, members[5]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_ENUMS = APIOperation( - input=XmlEnumsInput, - output=XmlEnumsOutput, - static_schema=_SCHEMA_XML_ENUMS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_integer_enum_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, int] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_integer(value_schema, v)) - - -def _deserialize_integer_enum_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, int]: - result: dict[str, int] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = IntegerEnum(d.read_integer(value_schema)) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_integer_enum_set( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) - - -def _deserialize_integer_enum_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(IntegerEnum(d.read_integer(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlIntEnumsInput: - """Dataclass for XmlIntEnumsInput structure.""" - - int_enum1: int | None = None - - int_enum2: int | None = None - - int_enum3: int | None = None - - int_enum_list: list[int] | None = None - - int_enum_set: list[int] | None = None - - int_enum_map: dict[str, int] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_INT_ENUMS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_INT_ENUMS_INPUT).members_by_index - if self.int_enum1 is not None: - serializer.write_integer(members[0], self.int_enum1) - - if self.int_enum2 is not None: - serializer.write_integer(members[1], self.int_enum2) - - if self.int_enum3 is not None: - serializer.write_integer(members[2], self.int_enum3) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[3], self.int_enum_list) - - if self.int_enum_set is not None: - _serialize_integer_enum_set(serializer, members[4], self.int_enum_set) - - if self.int_enum_map is not None: - _serialize_integer_enum_map(serializer, members[5], self.int_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_INT_ENUMS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["int_enum1"] = IntegerEnum(de.read_integer(members[0])) - - case 1: - kwargs["int_enum2"] = IntegerEnum(de.read_integer(members[1])) - - case 2: - kwargs["int_enum3"] = IntegerEnum(de.read_integer(members[2])) - - case 3: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[3] - ) - - case 4: - kwargs["int_enum_set"] = _deserialize_integer_enum_set( - de, members[4] - ) - - case 5: - kwargs["int_enum_map"] = _deserialize_integer_enum_map( - de, members[5] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlIntEnumsOutput: - """Dataclass for XmlIntEnumsOutput structure.""" - - int_enum1: int | None = None - - int_enum2: int | None = None - - int_enum3: int | None = None - - int_enum_list: list[int] | None = None - - int_enum_set: list[int] | None = None - - int_enum_map: dict[str, int] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_INT_ENUMS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_INT_ENUMS_OUTPUT).members_by_index - if self.int_enum1 is not None: - serializer.write_integer(members[0], self.int_enum1) - - if self.int_enum2 is not None: - serializer.write_integer(members[1], self.int_enum2) - - if self.int_enum3 is not None: - serializer.write_integer(members[2], self.int_enum3) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[3], self.int_enum_list) - - if self.int_enum_set is not None: - _serialize_integer_enum_set(serializer, members[4], self.int_enum_set) - - if self.int_enum_map is not None: - _serialize_integer_enum_map(serializer, members[5], self.int_enum_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_INT_ENUMS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["int_enum1"] = IntegerEnum(de.read_integer(members[0])) - - case 1: - kwargs["int_enum2"] = IntegerEnum(de.read_integer(members[1])) - - case 2: - kwargs["int_enum3"] = IntegerEnum(de.read_integer(members[2])) - - case 3: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[3] - ) - - case 4: - kwargs["int_enum_set"] = _deserialize_integer_enum_set( - de, members[4] - ) - - case 5: - kwargs["int_enum_map"] = _deserialize_integer_enum_map( - de, members[5] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_INT_ENUMS = APIOperation( - input=XmlIntEnumsInput, - output=XmlIntEnumsOutput, - static_schema=_SCHEMA_XML_INT_ENUMS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlListsInput: - """Dataclass for XmlListsInput structure.""" - - string_list: list[str] | None = None - - string_set: list[str] | None = None - - integer_list: list[int] | None = None - - boolean_list: list[bool] | None = None - - timestamp_list: list[datetime] | None = None - - enum_list: list[str] | None = None - - int_enum_list: list[int] | None = None - - nested_string_list: list[list[str]] | None = None - """A list of lists of strings.""" - - renamed_list_members: list[str] | None = None - - flattened_list: list[str] | None = None - - flattened_list2: list[str] | None = None - - flattened_list_with_member_namespace: list[str] | None = None - - flattened_list_with_namespace: list[str] | None = None - - structure_list: list[StructureListMember] | None = None - - flattened_structure_list: list[StructureListMember] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_LISTS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_LISTS_INPUT).members_by_index - if self.string_list is not None: - _serialize_string_list(serializer, members[0], self.string_list) - - if self.string_set is not None: - _serialize_string_set(serializer, members[1], self.string_set) - - if self.integer_list is not None: - _serialize_integer_list(serializer, members[2], self.integer_list) - - if self.boolean_list is not None: - _serialize_boolean_list(serializer, members[3], self.boolean_list) - - if self.timestamp_list is not None: - _serialize_timestamp_list(serializer, members[4], self.timestamp_list) - - if self.enum_list is not None: - _serialize_foo_enum_list(serializer, members[5], self.enum_list) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[6], self.int_enum_list) - - if self.nested_string_list is not None: - _serialize_nested_string_list( - serializer, members[7], self.nested_string_list - ) - - if self.renamed_list_members is not None: - _serialize_renamed_list_members( - serializer, members[8], self.renamed_list_members - ) - - if self.flattened_list is not None: - _serialize_renamed_list_members(serializer, members[9], self.flattened_list) - - if self.flattened_list2 is not None: - _serialize_renamed_list_members( - serializer, members[10], self.flattened_list2 - ) - - if self.flattened_list_with_member_namespace is not None: - _serialize_list_with_member_namespace( - serializer, members[11], self.flattened_list_with_member_namespace - ) - - if self.flattened_list_with_namespace is not None: - _serialize_list_with_namespace( - serializer, members[12], self.flattened_list_with_namespace - ) - - if self.structure_list is not None: - _serialize_structure_list(serializer, members[13], self.structure_list) - - if self.flattened_structure_list is not None: - _serialize_structure_list( - serializer, members[14], self.flattened_structure_list - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_LISTS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_list"] = _deserialize_string_list(de, members[0]) - - case 1: - kwargs["string_set"] = _deserialize_string_set(de, members[1]) - - case 2: - kwargs["integer_list"] = _deserialize_integer_list(de, members[2]) - - case 3: - kwargs["boolean_list"] = _deserialize_boolean_list(de, members[3]) - - case 4: - kwargs["timestamp_list"] = _deserialize_timestamp_list( - de, members[4] - ) - - case 5: - kwargs["enum_list"] = _deserialize_foo_enum_list(de, members[5]) - - case 6: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[6] - ) - - case 7: - kwargs["nested_string_list"] = _deserialize_nested_string_list( - de, members[7] - ) - - case 8: - kwargs["renamed_list_members"] = _deserialize_renamed_list_members( - de, members[8] - ) - - case 9: - kwargs["flattened_list"] = _deserialize_renamed_list_members( - de, members[9] - ) - - case 10: - kwargs["flattened_list2"] = _deserialize_renamed_list_members( - de, members[10] - ) - - case 11: - kwargs["flattened_list_with_member_namespace"] = ( - _deserialize_list_with_member_namespace(de, members[11]) - ) - - case 12: - kwargs["flattened_list_with_namespace"] = ( - _deserialize_list_with_namespace(de, members[12]) - ) - - case 13: - kwargs["structure_list"] = _deserialize_structure_list( - de, members[13] - ) - - case 14: - kwargs["flattened_structure_list"] = _deserialize_structure_list( - de, members[14] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlListsOutput: - """Dataclass for XmlListsOutput structure.""" - - string_list: list[str] | None = None - - string_set: list[str] | None = None - - integer_list: list[int] | None = None - - boolean_list: list[bool] | None = None - - timestamp_list: list[datetime] | None = None - - enum_list: list[str] | None = None - - int_enum_list: list[int] | None = None - - nested_string_list: list[list[str]] | None = None - """A list of lists of strings.""" - - renamed_list_members: list[str] | None = None - - flattened_list: list[str] | None = None - - flattened_list2: list[str] | None = None - - flattened_list_with_member_namespace: list[str] | None = None - - flattened_list_with_namespace: list[str] | None = None - - structure_list: list[StructureListMember] | None = None - - flattened_structure_list: list[StructureListMember] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_LISTS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_LISTS_OUTPUT).members_by_index - if self.string_list is not None: - _serialize_string_list(serializer, members[0], self.string_list) - - if self.string_set is not None: - _serialize_string_set(serializer, members[1], self.string_set) - - if self.integer_list is not None: - _serialize_integer_list(serializer, members[2], self.integer_list) - - if self.boolean_list is not None: - _serialize_boolean_list(serializer, members[3], self.boolean_list) - - if self.timestamp_list is not None: - _serialize_timestamp_list(serializer, members[4], self.timestamp_list) - - if self.enum_list is not None: - _serialize_foo_enum_list(serializer, members[5], self.enum_list) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[6], self.int_enum_list) - - if self.nested_string_list is not None: - _serialize_nested_string_list( - serializer, members[7], self.nested_string_list - ) - - if self.renamed_list_members is not None: - _serialize_renamed_list_members( - serializer, members[8], self.renamed_list_members - ) - - if self.flattened_list is not None: - _serialize_renamed_list_members(serializer, members[9], self.flattened_list) - - if self.flattened_list2 is not None: - _serialize_renamed_list_members( - serializer, members[10], self.flattened_list2 - ) - - if self.flattened_list_with_member_namespace is not None: - _serialize_list_with_member_namespace( - serializer, members[11], self.flattened_list_with_member_namespace - ) - - if self.flattened_list_with_namespace is not None: - _serialize_list_with_namespace( - serializer, members[12], self.flattened_list_with_namespace - ) - - if self.structure_list is not None: - _serialize_structure_list(serializer, members[13], self.structure_list) - - if self.flattened_structure_list is not None: - _serialize_structure_list( - serializer, members[14], self.flattened_structure_list - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_LISTS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_list"] = _deserialize_string_list(de, members[0]) - - case 1: - kwargs["string_set"] = _deserialize_string_set(de, members[1]) - - case 2: - kwargs["integer_list"] = _deserialize_integer_list(de, members[2]) - - case 3: - kwargs["boolean_list"] = _deserialize_boolean_list(de, members[3]) - - case 4: - kwargs["timestamp_list"] = _deserialize_timestamp_list( - de, members[4] - ) - - case 5: - kwargs["enum_list"] = _deserialize_foo_enum_list(de, members[5]) - - case 6: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[6] - ) - - case 7: - kwargs["nested_string_list"] = _deserialize_nested_string_list( - de, members[7] - ) - - case 8: - kwargs["renamed_list_members"] = _deserialize_renamed_list_members( - de, members[8] - ) - - case 9: - kwargs["flattened_list"] = _deserialize_renamed_list_members( - de, members[9] - ) - - case 10: - kwargs["flattened_list2"] = _deserialize_renamed_list_members( - de, members[10] - ) - - case 11: - kwargs["flattened_list_with_member_namespace"] = ( - _deserialize_list_with_member_namespace(de, members[11]) - ) - - case 12: - kwargs["flattened_list_with_namespace"] = ( - _deserialize_list_with_namespace(de, members[12]) - ) - - case 13: - kwargs["structure_list"] = _deserialize_structure_list( - de, members[13] - ) - - case 14: - kwargs["flattened_structure_list"] = _deserialize_structure_list( - de, members[14] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_LISTS = APIOperation( - input=XmlListsInput, - output=XmlListsOutput, - static_schema=_SCHEMA_XML_LISTS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlMapsInput: - """Dataclass for XmlMapsInput structure.""" - - my_map: dict[str, GreetingStruct] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_MAPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_MAPS_INPUT).members_by_index - if self.my_map is not None: - _serialize_xml_maps_input_output_map(serializer, members[0], self.my_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_MAPS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = _deserialize_xml_maps_input_output_map( - de, members[0] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlMapsOutput: - """Dataclass for XmlMapsOutput structure.""" - - my_map: dict[str, GreetingStruct] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_MAPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_MAPS_OUTPUT).members_by_index - if self.my_map is not None: - _serialize_xml_maps_input_output_map(serializer, members[0], self.my_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_MAPS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = _deserialize_xml_maps_input_output_map( - de, members[0] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_MAPS = APIOperation( - input=XmlMapsInput, - output=XmlMapsOutput, - static_schema=_SCHEMA_XML_MAPS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_xml_maps_xml_name_input_output_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, GreetingStruct] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_struct(value_schema, v)) - - -def _deserialize_xml_maps_xml_name_input_output_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, GreetingStruct]: - result: dict[str, GreetingStruct] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = GreetingStruct.deserialize(d) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlMapsXmlNameInput: - """Dataclass for XmlMapsXmlNameInput structure.""" - - my_map: dict[str, GreetingStruct] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_MAPS_XML_NAME_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_MAPS_XML_NAME_INPUT).members_by_index - if self.my_map is not None: - _serialize_xml_maps_xml_name_input_output_map( - serializer, members[0], self.my_map - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_MAPS_XML_NAME_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = _deserialize_xml_maps_xml_name_input_output_map( - de, members[0] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlMapsXmlNameOutput: - """Dataclass for XmlMapsXmlNameOutput structure.""" - - my_map: dict[str, GreetingStruct] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_MAPS_XML_NAME_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_MAPS_XML_NAME_OUTPUT).members_by_index - if self.my_map is not None: - _serialize_xml_maps_xml_name_input_output_map( - serializer, members[0], self.my_map - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_MAPS_XML_NAME_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = _deserialize_xml_maps_xml_name_input_output_map( - de, members[0] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_MAPS_XML_NAME = APIOperation( - input=XmlMapsXmlNameInput, - output=XmlMapsXmlNameOutput, - static_schema=_SCHEMA_XML_MAPS_XML_NAME, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_xml_map_with_xml_namespace_input_output_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_xml_map_with_xml_namespace_input_output_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlMapWithXmlNamespaceInput: - """Dataclass for XmlMapWithXmlNamespaceInput structure.""" - - my_map: dict[str, str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_MAP_WITH_XML_NAMESPACE_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_MAP_WITH_XML_NAMESPACE_INPUT).members_by_index - if self.my_map is not None: - _serialize_xml_map_with_xml_namespace_input_output_map( - serializer, members[0], self.my_map - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_MAP_WITH_XML_NAMESPACE_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = ( - _deserialize_xml_map_with_xml_namespace_input_output_map( - de, members[0] - ) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlMapWithXmlNamespaceOutput: - """Dataclass for XmlMapWithXmlNamespaceOutput structure.""" - - my_map: dict[str, str] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_XML_MAP_WITH_XML_NAMESPACE_OUTPUT), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_MAP_WITH_XML_NAMESPACE_OUTPUT).members_by_index - if self.my_map is not None: - _serialize_xml_map_with_xml_namespace_input_output_map( - serializer, members[0], self.my_map - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_MAP_WITH_XML_NAMESPACE_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["my_map"] = ( - _deserialize_xml_map_with_xml_namespace_input_output_map( - de, members[0] - ) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_MAP_WITH_XML_NAMESPACE = APIOperation( - input=XmlMapWithXmlNamespaceInput, - output=XmlMapWithXmlNamespaceOutput, - static_schema=_SCHEMA_XML_MAP_WITH_XML_NAMESPACE, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -def _serialize_xml_namespaced_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_xml_namespaced_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class XmlNamespaceNested: - """Dataclass for XmlNamespaceNested structure.""" - - foo: str | None = None - - values: list[str] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_NAMESPACE_NESTED), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_NAMESPACE_NESTED).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.values is not None: - _serialize_xml_namespaced_list(serializer, members[1], self.values) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_NAMESPACE_NESTED) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["values"] = _deserialize_xml_namespaced_list(de, members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlNamespacesInput: - """Dataclass for XmlNamespacesInput structure.""" - - nested: XmlNamespaceNested | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_NAMESPACES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_NAMESPACES_INPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_NAMESPACES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = XmlNamespaceNested.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlNamespacesOutput: - """Dataclass for XmlNamespacesOutput structure.""" - - nested: XmlNamespaceNested | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_NAMESPACES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_NAMESPACES_OUTPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_NAMESPACES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = XmlNamespaceNested.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -XML_NAMESPACES = APIOperation( - input=XmlNamespacesInput, - output=XmlNamespacesOutput, - static_schema=_SCHEMA_XML_NAMESPACES, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("aws.auth#sigv4")], -) - - -@dataclass(kw_only=True) -class XmlTimestampsInput: - """Dataclass for XmlTimestampsInput structure.""" - - normal: datetime | None = None - - date_time: datetime | None = None - - date_time_on_target: datetime | None = None - - epoch_seconds: datetime | None = None - - epoch_seconds_on_target: datetime | None = None - - http_date: datetime | None = None - - http_date_on_target: datetime | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_TIMESTAMPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_TIMESTAMPS_INPUT).members_by_index - if self.normal is not None: - serializer.write_timestamp(members[0], self.normal) - - if self.date_time is not None: - serializer.write_timestamp(members[1], self.date_time) - - if self.date_time_on_target is not None: - serializer.write_timestamp(members[2], self.date_time_on_target) - - if self.epoch_seconds is not None: - serializer.write_timestamp(members[3], self.epoch_seconds) - - if self.epoch_seconds_on_target is not None: - serializer.write_timestamp(members[4], self.epoch_seconds_on_target) - - if self.http_date is not None: - serializer.write_timestamp(members[5], self.http_date) - - if self.http_date_on_target is not None: - serializer.write_timestamp(members[6], self.http_date_on_target) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_TIMESTAMPS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["normal"] = de.read_timestamp(members[0]) - - case 1: - kwargs["date_time"] = de.read_timestamp(members[1]) - - case 2: - kwargs["date_time_on_target"] = de.read_timestamp(members[2]) - - case 3: - kwargs["epoch_seconds"] = de.read_timestamp(members[3]) - - case 4: - kwargs["epoch_seconds_on_target"] = de.read_timestamp(members[4]) - - case 5: - kwargs["http_date"] = de.read_timestamp(members[5]) - - case 6: - kwargs["http_date_on_target"] = de.read_timestamp(members[6]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlTimestampsOutput: - """Dataclass for XmlTimestampsOutput structure.""" - - normal: datetime | None = None - - date_time: datetime | None = None - - date_time_on_target: datetime | None = None - - epoch_seconds: datetime | None = None - - epoch_seconds_on_target: datetime | None = None - - http_date: datetime | None = None - - http_date_on_target: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_TIMESTAMPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_TIMESTAMPS_OUTPUT).members_by_index - if self.normal is not None: - serializer.write_timestamp(members[0], self.normal) - - if self.date_time is not None: - serializer.write_timestamp(members[1], self.date_time) - - if self.date_time_on_target is not None: - serializer.write_timestamp(members[2], self.date_time_on_target) - - if self.epoch_seconds is not None: - serializer.write_timestamp(members[3], self.epoch_seconds) - - if self.epoch_seconds_on_target is not None: - serializer.write_timestamp(members[4], self.epoch_seconds_on_target) - - if self.http_date is not None: - serializer.write_timestamp(members[5], self.http_date) - - if self.http_date_on_target is not None: - serializer.write_timestamp(members[6], self.http_date_on_target) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_TIMESTAMPS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["normal"] = de.read_timestamp(members[0]) - - case 1: - kwargs["date_time"] = de.read_timestamp(members[1]) - - case 2: - kwargs["date_time_on_target"] = de.read_timestamp(members[2]) - - case 3: - kwargs["epoch_seconds"] = de.read_timestamp(members[3]) - - case 4: - kwargs["epoch_seconds_on_target"] = de.read_timestamp(members[4]) - - case 5: - kwargs["http_date"] = de.read_timestamp(members[5]) - - case 6: - kwargs["http_date_on_target"] = de.read_timestamp(members[6]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +XML_MAP_WITH_XML_NAMESPACE = APIOperation( + static_schema=_SCHEMA_XML_MAP_WITH_XML_NAMESPACE, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) +XML_NAMESPACES = APIOperation( + static_schema=_SCHEMA_XML_NAMESPACES, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("aws.auth#sigv4")], +) XML_TIMESTAMPS = APIOperation( - input=XmlTimestampsInput, - output=XmlTimestampsOutput, static_schema=_SCHEMA_XML_TIMESTAMPS, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) - -@dataclass(kw_only=True) -class XmlNestedUnionStruct: - """Dataclass for XmlNestedUnionStruct structure.""" - - string_value: str | None = None - - boolean_value: bool | None = None - - byte_value: int | None = None - - short_value: int | None = None - - integer_value: int | None = None - - long_value: int | None = None - - float_value: float | None = None - - double_value: float | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_NESTED_UNION_STRUCT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_NESTED_UNION_STRUCT).members_by_index - if self.string_value is not None: - serializer.write_string(members[0], self.string_value) - - if self.boolean_value is not None: - serializer.write_boolean(members[1], self.boolean_value) - - if self.byte_value is not None: - serializer.write_byte(members[2], self.byte_value) - - if self.short_value is not None: - serializer.write_short(members[3], self.short_value) - - if self.integer_value is not None: - serializer.write_integer(members[4], self.integer_value) - - if self.long_value is not None: - serializer.write_long(members[5], self.long_value) - - if self.float_value is not None: - serializer.write_float(members[6], self.float_value) - - if self.double_value is not None: - serializer.write_double(members[7], self.double_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_NESTED_UNION_STRUCT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_value"] = de.read_string(members[0]) - - case 1: - kwargs["boolean_value"] = de.read_boolean(members[1]) - - case 2: - kwargs["byte_value"] = de.read_byte(members[2]) - - case 3: - kwargs["short_value"] = de.read_short(members[3]) - - case 4: - kwargs["integer_value"] = de.read_integer(members[4]) - - case 5: - kwargs["long_value"] = de.read_long(members[5]) - - case 6: - kwargs["float_value"] = de.read_float(members[6]) - - case 7: - kwargs["double_value"] = de.read_double(members[7]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass -class XmlUnionShapeStringValue: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_UNION_SHAPE), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - return cls(value=deserializer.read_string(members[0])) - - -@dataclass -class XmlUnionShapeBooleanValue: - value: bool - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_UNION_SHAPE), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - serializer.write_boolean(members[1], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - return cls(value=deserializer.read_boolean(members[1])) - - -@dataclass -class XmlUnionShapeByteValue: - value: int - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_UNION_SHAPE), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - serializer.write_byte(members[2], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - return cls(value=deserializer.read_byte(members[2])) - - -@dataclass -class XmlUnionShapeShortValue: - value: int - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_UNION_SHAPE), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - serializer.write_short(members[3], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - return cls(value=deserializer.read_short(members[3])) - - -@dataclass -class XmlUnionShapeIntegerValue: - value: int - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_UNION_SHAPE), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - serializer.write_integer(members[4], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - return cls(value=deserializer.read_integer(members[4])) - - -@dataclass -class XmlUnionShapeLongValue: - value: int - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_UNION_SHAPE), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - serializer.write_long(members[5], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - return cls(value=deserializer.read_long(members[5])) - - -@dataclass -class XmlUnionShapeFloatValue: - value: float - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_UNION_SHAPE), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - serializer.write_float(members[6], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - return cls(value=deserializer.read_float(members[6])) - - -@dataclass -class XmlUnionShapeDoubleValue: - value: float - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_UNION_SHAPE), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - serializer.write_double(members[7], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - return cls(value=deserializer.read_double(members[7])) - - -@dataclass -class XmlUnionShapeUnionValue: - value: "XmlUnionShape" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_UNION_SHAPE), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - serializer.write_struct(members[8], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=_XmlUnionShapeDeserializer().deserialize(deserializer)) - - -@dataclass -class XmlUnionShapeStructValue: - value: XmlNestedUnionStruct - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_UNION_SHAPE), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_UNION_SHAPE).members_by_index - serializer.write_struct(members[9], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=XmlNestedUnionStruct.deserialize(deserializer)) - - -@dataclass -class XmlUnionShapeUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -XmlUnionShape = Union[ - XmlUnionShapeStringValue - | XmlUnionShapeBooleanValue - | XmlUnionShapeByteValue - | XmlUnionShapeShortValue - | XmlUnionShapeIntegerValue - | XmlUnionShapeLongValue - | XmlUnionShapeFloatValue - | XmlUnionShapeDoubleValue - | XmlUnionShapeUnionValue - | XmlUnionShapeStructValue - | XmlUnionShapeUnknown -] - - -class _XmlUnionShapeDeserializer: - _result: XmlUnionShape | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> XmlUnionShape: - self._result = None - deserializer.read_struct(hydrate(_SCHEMA_XML_UNION_SHAPE), self._consumer) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(XmlUnionShapeStringValue.deserialize(de)) - - case 1: - self._set_result(XmlUnionShapeBooleanValue.deserialize(de)) - - case 2: - self._set_result(XmlUnionShapeByteValue.deserialize(de)) - - case 3: - self._set_result(XmlUnionShapeShortValue.deserialize(de)) - - case 4: - self._set_result(XmlUnionShapeIntegerValue.deserialize(de)) - - case 5: - self._set_result(XmlUnionShapeLongValue.deserialize(de)) - - case 6: - self._set_result(XmlUnionShapeFloatValue.deserialize(de)) - - case 7: - self._set_result(XmlUnionShapeDoubleValue.deserialize(de)) - - case 8: - self._set_result(XmlUnionShapeUnionValue.deserialize(de)) - - case 9: - self._set_result(XmlUnionShapeStructValue.deserialize(de)) - - case _: - self._set_result(XmlUnionShapeUnknown(tag=schema.expect_member_name())) - - def _set_result(self, value: XmlUnionShape) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -@dataclass(kw_only=True) -class RecursiveShapesInputOutputNested1: - """Dataclass for RecursiveShapesInputOutputNested1 structure.""" - - foo: str | None = None - - nested: "RecursiveShapesInputOutputNested2 | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1 - ).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.nested is not None: - serializer.write_struct(members[1], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["nested"] = RecursiveShapesInputOutputNested2.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RecursiveShapesInputOutputNested2: - """Dataclass for RecursiveShapesInputOutputNested2 structure.""" - - bar: str | None = None - - recursive_member: "RecursiveShapesInputOutputNested1 | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2 - ).members_by_index - if self.bar is not None: - serializer.write_string(members[0], self.bar) - - if self.recursive_member is not None: - serializer.write_struct(members[1], self.recursive_member) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["bar"] = de.read_string(members[0]) - - case 1: - kwargs["recursive_member"] = ( - RecursiveShapesInputOutputNested1.deserialize(de) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlUnionsInput: - """Dataclass for XmlUnionsInput structure.""" - - union_value: "XmlUnionShape | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_UNIONS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_UNIONS_INPUT).members_by_index - if self.union_value is not None: - serializer.write_struct(members[0], self.union_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_UNIONS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["union_value"] = _XmlUnionShapeDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class XmlUnionsOutput: - """Dataclass for XmlUnionsOutput structure.""" - - union_value: "XmlUnionShape | None" = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_XML_UNIONS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_XML_UNIONS_OUTPUT).members_by_index - if self.union_value is not None: - serializer.write_struct(members[0], self.union_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_XML_UNIONS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["union_value"] = _XmlUnionShapeDeserializer().deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RecursiveShapesInput: - """Dataclass for RecursiveShapesInput structure.""" - - nested: "RecursiveShapesInputOutputNested1 | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = RecursiveShapesInputOutputNested1.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RecursiveShapesOutput: - """Dataclass for RecursiveShapesOutput structure.""" - - nested: "RecursiveShapesInputOutputNested1 | None" = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. Use this to - recover the request identifiers a service's support team needs in order - to investigate a call. Members of the metadata are individually - optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RECURSIVE_SHAPES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RECURSIVE_SHAPES_OUTPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_SHAPES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = RecursiveShapesInputOutputNested1.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - XML_UNIONS = APIOperation( - input=XmlUnionsInput, - output=XmlUnionsOutput, static_schema=_SCHEMA_XML_UNIONS, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) RECURSIVE_SHAPES = APIOperation( - input=RecursiveShapesInput, - output=RecursiveShapesOutput, static_schema=_SCHEMA_RECURSIVE_SHAPES, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("aws.auth#sigv4")], ) diff --git a/codegen-output/rest-xml/src/restxml/models.pyi b/codegen-output/rest-xml/src/restxml/models.pyi new file mode 100644 index 000000000..5407b06f5 --- /dev/null +++ b/codegen-output/rest-xml/src/restxml/models.pyi @@ -0,0 +1,1110 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from dataclasses import dataclass +from datetime import datetime +from enum import IntEnum, StrEnum +from typing import Self, Union + +from smithy_core.deserializers import ShapeDeserializer +from smithy_core.exceptions import ModeledError +from smithy_core.response import ResponseMetadata +from smithy_core.schemas import APIOperation +from smithy_core.serializers import ShapeSerializer +from smithy_core.types import UnknownEnumMixin + +class _SerdeShape: + def serialize(self, serializer: ShapeSerializer) -> None: ... + def serialize_members(self, serializer: ShapeSerializer) -> None: ... + @classmethod + def deserialize(cls, deserializer: ShapeDeserializer) -> Self: ... + +class ServiceError(ModeledError): ... + +@dataclass(kw_only=True) +class AllQueryStringTypesInput(_SerdeShape): + query_string: str | None = ... + query_string_list: list[str] | None = ... + query_string_set: list[str] | None = ... + query_byte: int | None = ... + query_short: int | None = ... + query_integer: int | None = ... + query_integer_list: list[int] | None = ... + query_integer_set: list[int] | None = ... + query_long: int | None = ... + query_float: float | None = ... + query_double: float | None = ... + query_double_list: list[float] | None = ... + query_boolean: bool | None = ... + query_boolean_list: list[bool] | None = ... + query_timestamp: datetime | None = ... + query_timestamp_list: list[datetime] | None = ... + query_enum: str | None = ... + query_enum_list: list[str] | None = ... + query_integer_enum: int | None = ... + query_integer_enum_list: list[int] | None = ... + query_params_map_of_strings: dict[str, str] | None = ... + +@dataclass(kw_only=True) +class AllQueryStringTypesOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class BodyWithXmlNameInput(_SerdeShape): + nested: PayloadWithXmlName | None = ... + +@dataclass(kw_only=True) +class BodyWithXmlNameOutput(_SerdeShape): + nested: PayloadWithXmlName | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ComplexError(ServiceError, _SerdeShape): + header: str | None = ... + top_level: str | None = ... + nested: ComplexNestedErrorData | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ComplexNestedErrorData(_SerdeShape): + foo: str | None = ... + +@dataclass(kw_only=True) +class ConstantAndVariableQueryStringInput(_SerdeShape): + baz: str | None = ... + maybe_set: str | None = ... + +@dataclass(kw_only=True) +class ConstantAndVariableQueryStringOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ConstantQueryStringInput(_SerdeShape): + hello: str | None = ... + +@dataclass(kw_only=True) +class ConstantQueryStringOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ContentTypeParametersInput(_SerdeShape): + value: int | None = ... + +@dataclass(kw_only=True) +class ContentTypeParametersOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class DatetimeOffsetsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class DatetimeOffsetsOutput(_SerdeShape): + datetime_: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EmptyInputAndEmptyOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class EmptyInputAndEmptyOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EndpointOperationInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class EndpointOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EndpointWithHostLabelHeaderOperationInput(_SerdeShape): + account_id: str | None = ... + +@dataclass(kw_only=True) +class EndpointWithHostLabelHeaderOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class EndpointWithHostLabelOperationInput(_SerdeShape): + label: str | None = ... + +@dataclass(kw_only=True) +class EndpointWithHostLabelOperationOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class FlattenedXmlMapInput(_SerdeShape): + my_map: dict[str, str] | None = ... + +@dataclass(kw_only=True) +class FlattenedXmlMapOutput(_SerdeShape): + my_map: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class FlattenedXmlMapWithXmlNameInput(_SerdeShape): + my_map: dict[str, str] | None = ... + +@dataclass(kw_only=True) +class FlattenedXmlMapWithXmlNameOutput(_SerdeShape): + my_map: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class FlattenedXmlMapWithXmlNamespaceInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class FlattenedXmlMapWithXmlNamespaceOutput(_SerdeShape): + my_map: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class FractionalSecondsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class FractionalSecondsOutput(_SerdeShape): + datetime_: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class GreetingWithErrorsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class GreetingWithErrorsOutput(_SerdeShape): + greeting: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpEmptyPrefixHeadersInput(_SerdeShape): + prefix_headers: dict[str, str] | None = ... + specific_header: str | None = ... + +@dataclass(kw_only=True) +class HttpEmptyPrefixHeadersOutput(_SerdeShape): + prefix_headers: dict[str, str] | None = ... + specific_header: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpEnumPayloadInput(_SerdeShape): + payload: str | None = ... + +@dataclass(kw_only=True) +class HttpEnumPayloadOutput(_SerdeShape): + payload: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPayloadTraitsInput(_SerdeShape): + foo: str | None = ... + blob: bytes | None = ... + +@dataclass(kw_only=True) +class HttpPayloadTraitsOutput(_SerdeShape): + foo: str | None = ... + blob: bytes | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPayloadTraitsWithMediaTypeInput(_SerdeShape): + foo: str | None = ... + blob: bytes | None = ... + +@dataclass(kw_only=True) +class HttpPayloadTraitsWithMediaTypeOutput(_SerdeShape): + foo: str | None = ... + blob: bytes | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPayloadWithMemberXmlNameInput(_SerdeShape): + nested: PayloadWithXmlName | None = ... + +@dataclass(kw_only=True) +class HttpPayloadWithMemberXmlNameOutput(_SerdeShape): + nested: PayloadWithXmlName | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPayloadWithStructureInput(_SerdeShape): + nested: NestedPayload | None = ... + +@dataclass(kw_only=True) +class HttpPayloadWithStructureOutput(_SerdeShape): + nested: NestedPayload | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPayloadWithUnionInput(_SerdeShape): + nested: UnionPayload | None = ... + +@dataclass(kw_only=True) +class HttpPayloadWithUnionOutput(_SerdeShape): + nested: UnionPayload | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPayloadWithXmlNameInput(_SerdeShape): + nested: PayloadWithXmlName | None = ... + +@dataclass(kw_only=True) +class HttpPayloadWithXmlNameOutput(_SerdeShape): + nested: PayloadWithXmlName | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPayloadWithXmlNamespaceAndPrefixInput(_SerdeShape): + nested: PayloadWithXmlNamespaceAndPrefix | None = ... + +@dataclass(kw_only=True) +class HttpPayloadWithXmlNamespaceAndPrefixOutput(_SerdeShape): + nested: PayloadWithXmlNamespaceAndPrefix | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPayloadWithXmlNamespaceInput(_SerdeShape): + nested: PayloadWithXmlNamespace | None = ... + +@dataclass(kw_only=True) +class HttpPayloadWithXmlNamespaceOutput(_SerdeShape): + nested: PayloadWithXmlNamespace | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpPrefixHeadersInput(_SerdeShape): + foo: str | None = ... + foo_map: dict[str, str] | None = ... + +@dataclass(kw_only=True) +class HttpPrefixHeadersOutput(_SerdeShape): + foo: str | None = ... + foo_map: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpRequestWithFloatLabelsInput(_SerdeShape): + float_: float | None = ... + double: float | None = ... + +@dataclass(kw_only=True) +class HttpRequestWithFloatLabelsOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpRequestWithGreedyLabelInPathInput(_SerdeShape): + foo: str | None = ... + baz: str | None = ... + +@dataclass(kw_only=True) +class HttpRequestWithGreedyLabelInPathOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpRequestWithLabelsAndTimestampFormatInput(_SerdeShape): + member_epoch_seconds: datetime | None = ... + member_http_date: datetime | None = ... + member_date_time: datetime | None = ... + default_format: datetime | None = ... + target_epoch_seconds: datetime | None = ... + target_http_date: datetime | None = ... + target_date_time: datetime | None = ... + +@dataclass(kw_only=True) +class HttpRequestWithLabelsAndTimestampFormatOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpRequestWithLabelsInput(_SerdeShape): + string: str | None = ... + short: int | None = ... + integer: int | None = ... + long: int | None = ... + float_: float | None = ... + double: float | None = ... + boolean: bool | None = ... + timestamp: datetime | None = ... + +@dataclass(kw_only=True) +class HttpRequestWithLabelsOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpResponseCodeInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class HttpResponseCodeOutput(_SerdeShape): + status: int | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class HttpStringPayloadInput(_SerdeShape): + payload: str | None = ... + +@dataclass(kw_only=True) +class HttpStringPayloadOutput(_SerdeShape): + payload: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class IgnoreQueryParamsInResponseInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class IgnoreQueryParamsInResponseOutput(_SerdeShape): + baz: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class InputAndOutputWithHeadersInput(_SerdeShape): + header_string: str | None = ... + header_byte: int | None = ... + header_short: int | None = ... + header_integer: int | None = ... + header_long: int | None = ... + header_float: float | None = ... + header_double: float | None = ... + header_true_bool: bool | None = ... + header_false_bool: bool | None = ... + header_string_list: list[str] | None = ... + header_string_set: list[str] | None = ... + header_integer_list: list[int] | None = ... + header_boolean_list: list[bool] | None = ... + header_timestamp_list: list[datetime] | None = ... + header_enum: str | None = ... + header_enum_list: list[str] | None = ... + +@dataclass(kw_only=True) +class InputAndOutputWithHeadersOutput(_SerdeShape): + header_string: str | None = ... + header_byte: int | None = ... + header_short: int | None = ... + header_integer: int | None = ... + header_long: int | None = ... + header_float: float | None = ... + header_double: float | None = ... + header_true_bool: bool | None = ... + header_false_bool: bool | None = ... + header_string_list: list[str] | None = ... + header_string_set: list[str] | None = ... + header_integer_list: list[int] | None = ... + header_boolean_list: list[bool] | None = ... + header_timestamp_list: list[datetime] | None = ... + header_enum: str | None = ... + header_enum_list: list[str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class InvalidGreeting(ServiceError, _SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NestedPayload(_SerdeShape): + greeting: str | None = ... + name: str | None = ... + +@dataclass(kw_only=True) +class NestedXmlMapsInput(_SerdeShape): + nested_map: dict[str, dict[str, str]] | None = ... + flat_nested_map: dict[str, dict[str, str]] | None = ... + +@dataclass(kw_only=True) +class NestedXmlMapsOutput(_SerdeShape): + nested_map: dict[str, dict[str, str]] | None = ... + flat_nested_map: dict[str, dict[str, str]] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NestedXmlMapWithXmlNameInput(_SerdeShape): + nested_xml_map_with_xml_name_map: dict[str, dict[str, str]] | None = ... + +@dataclass(kw_only=True) +class NestedXmlMapWithXmlNameOutput(_SerdeShape): + nested_xml_map_with_xml_name_map: dict[str, dict[str, str]] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NoInputAndNoOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class NoInputAndNoOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NoInputAndOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class NoInputAndOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NullAndEmptyHeadersClientInput(_SerdeShape): + a: str | None = ... + b: str | None = ... + c: list[str] | None = ... + +@dataclass(kw_only=True) +class NullAndEmptyHeadersClientOutput(_SerdeShape): + a: str | None = ... + b: str | None = ... + c: list[str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NullAndEmptyHeadersServerInput(_SerdeShape): + a: str | None = ... + b: str | None = ... + c: list[str] | None = ... + +@dataclass(kw_only=True) +class NullAndEmptyHeadersServerOutput(_SerdeShape): + a: str | None = ... + b: str | None = ... + c: list[str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class OmitsNullSerializesEmptyStringInput(_SerdeShape): + null_value: str | None = ... + empty_string: str | None = ... + +@dataclass(kw_only=True) +class OmitsNullSerializesEmptyStringOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class PayloadWithXmlName(_SerdeShape): + name: str | None = ... + +@dataclass(kw_only=True) +class PayloadWithXmlNamespace(_SerdeShape): + name: str | None = ... + +@dataclass(kw_only=True) +class PayloadWithXmlNamespaceAndPrefix(_SerdeShape): + name: str | None = ... + +@dataclass(kw_only=True) +class PutWithContentEncodingInput(_SerdeShape): + encoding: str | None = ... + data: str | None = ... + +@dataclass(kw_only=True) +class PutWithContentEncodingOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class QueryIdempotencyTokenAutoFillInput(_SerdeShape): + token: str | None = ... + +@dataclass(kw_only=True) +class QueryIdempotencyTokenAutoFillOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class QueryParamsAsStringListMapInput(_SerdeShape): + qux: str | None = ... + foo: dict[str, list[str]] | None = ... + +@dataclass(kw_only=True) +class QueryParamsAsStringListMapOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class QueryPrecedenceInput(_SerdeShape): + foo: str | None = ... + baz: dict[str, str] | None = ... + +@dataclass(kw_only=True) +class QueryPrecedenceOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class RecursiveShapesInput(_SerdeShape): + nested: RecursiveShapesInputOutputNested1 | None = ... + +@dataclass(kw_only=True) +class RecursiveShapesInputOutputNested1(_SerdeShape): + foo: str | None = ... + nested: RecursiveShapesInputOutputNested2 | None = ... + +@dataclass(kw_only=True) +class RecursiveShapesInputOutputNested2(_SerdeShape): + bar: str | None = ... + recursive_member: RecursiveShapesInputOutputNested1 | None = ... + +@dataclass(kw_only=True) +class RecursiveShapesOutput(_SerdeShape): + nested: RecursiveShapesInputOutputNested1 | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class SimpleScalarPropertiesInput(_SerdeShape): + foo: str | None = ... + string_value: str | None = ... + true_boolean_value: bool | None = ... + false_boolean_value: bool | None = ... + byte_value: int | None = ... + short_value: int | None = ... + integer_value: int | None = ... + long_value: int | None = ... + float_value: float | None = ... + double_value: float | None = ... + +@dataclass(kw_only=True) +class SimpleScalarPropertiesOutput(_SerdeShape): + foo: str | None = ... + string_value: str | None = ... + true_boolean_value: bool | None = ... + false_boolean_value: bool | None = ... + byte_value: int | None = ... + short_value: int | None = ... + integer_value: int | None = ... + long_value: int | None = ... + float_value: float | None = ... + double_value: float | None = ... + response_metadata: ResponseMetadata = ... + +class StringEnum(UnknownEnumMixin, StrEnum): + V = "enumvalue" + +@dataclass(kw_only=True) +class StructureListMember(_SerdeShape): + a: str | None = ... + b: str | None = ... + +@dataclass(kw_only=True) +class TimestampFormatHeadersInput(_SerdeShape): + member_epoch_seconds: datetime | None = ... + member_http_date: datetime | None = ... + member_date_time: datetime | None = ... + default_format: datetime | None = ... + target_epoch_seconds: datetime | None = ... + target_http_date: datetime | None = ... + target_date_time: datetime | None = ... + +@dataclass(kw_only=True) +class TimestampFormatHeadersOutput(_SerdeShape): + member_epoch_seconds: datetime | None = ... + member_http_date: datetime | None = ... + member_date_time: datetime | None = ... + default_format: datetime | None = ... + target_epoch_seconds: datetime | None = ... + target_http_date: datetime | None = ... + target_date_time: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass +class UnionPayloadGreeting(_SerdeShape): + value: str + +@dataclass +class UnionPayloadUnknown(_SerdeShape): + tag: str + +UnionPayload = Union[UnionPayloadGreeting | UnionPayloadUnknown] + +class _UnionPayloadDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> UnionPayload: ... + +@dataclass(kw_only=True) +class XmlAttributesInMiddleInput(_SerdeShape): + payload: XmlAttributesInMiddlePayloadRequest | None = ... + +@dataclass(kw_only=True) +class XmlAttributesInMiddleOutput(_SerdeShape): + payload: XmlAttributesInMiddlePayloadResponse | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlAttributesInMiddlePayloadRequest(_SerdeShape): + foo: str | None = ... + attr: str | None = ... + baz: str | None = ... + +@dataclass(kw_only=True) +class XmlAttributesInMiddlePayloadResponse(_SerdeShape): + foo: str | None = ... + attr: str | None = ... + baz: str | None = ... + +@dataclass(kw_only=True) +class XmlAttributesInput(_SerdeShape): + foo: str | None = ... + attr: str | None = ... + +@dataclass(kw_only=True) +class XmlAttributesOnPayloadInput(_SerdeShape): + payload: XmlAttributesPayloadRequest | None = ... + +@dataclass(kw_only=True) +class XmlAttributesOnPayloadOutput(_SerdeShape): + payload: XmlAttributesPayloadResponse | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlAttributesOutput(_SerdeShape): + foo: str | None = ... + attr: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlAttributesPayloadRequest(_SerdeShape): + foo: str | None = ... + attr: str | None = ... + +@dataclass(kw_only=True) +class XmlAttributesPayloadResponse(_SerdeShape): + foo: str | None = ... + attr: str | None = ... + +@dataclass(kw_only=True) +class XmlBlobsInput(_SerdeShape): + data: bytes | None = ... + +@dataclass(kw_only=True) +class XmlBlobsOutput(_SerdeShape): + data: bytes | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlEmptyBlobsInput(_SerdeShape): + data: bytes | None = ... + +@dataclass(kw_only=True) +class XmlEmptyBlobsOutput(_SerdeShape): + data: bytes | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlEmptyListsInput(_SerdeShape): + string_list: list[str] | None = ... + string_set: list[str] | None = ... + integer_list: list[int] | None = ... + boolean_list: list[bool] | None = ... + timestamp_list: list[datetime] | None = ... + enum_list: list[str] | None = ... + int_enum_list: list[int] | None = ... + nested_string_list: list[list[str]] | None = ... + renamed_list_members: list[str] | None = ... + flattened_list: list[str] | None = ... + flattened_list2: list[str] | None = ... + flattened_list_with_member_namespace: list[str] | None = ... + flattened_list_with_namespace: list[str] | None = ... + structure_list: list[StructureListMember] | None = ... + flattened_structure_list: list[StructureListMember] | None = ... + +@dataclass(kw_only=True) +class XmlEmptyListsOutput(_SerdeShape): + string_list: list[str] | None = ... + string_set: list[str] | None = ... + integer_list: list[int] | None = ... + boolean_list: list[bool] | None = ... + timestamp_list: list[datetime] | None = ... + enum_list: list[str] | None = ... + int_enum_list: list[int] | None = ... + nested_string_list: list[list[str]] | None = ... + renamed_list_members: list[str] | None = ... + flattened_list: list[str] | None = ... + flattened_list2: list[str] | None = ... + flattened_list_with_member_namespace: list[str] | None = ... + flattened_list_with_namespace: list[str] | None = ... + structure_list: list[StructureListMember] | None = ... + flattened_structure_list: list[StructureListMember] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlEmptyMapsInput(_SerdeShape): + my_map: dict[str, GreetingStruct] | None = ... + +@dataclass(kw_only=True) +class XmlEmptyMapsOutput(_SerdeShape): + my_map: dict[str, GreetingStruct] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlEmptyStringsInput(_SerdeShape): + empty_string: str | None = ... + +@dataclass(kw_only=True) +class XmlEmptyStringsOutput(_SerdeShape): + empty_string: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlEnumsInput(_SerdeShape): + foo_enum1: str | None = ... + foo_enum2: str | None = ... + foo_enum3: str | None = ... + foo_enum_list: list[str] | None = ... + foo_enum_set: list[str] | None = ... + foo_enum_map: dict[str, str] | None = ... + +@dataclass(kw_only=True) +class XmlEnumsOutput(_SerdeShape): + foo_enum1: str | None = ... + foo_enum2: str | None = ... + foo_enum3: str | None = ... + foo_enum_list: list[str] | None = ... + foo_enum_set: list[str] | None = ... + foo_enum_map: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlIntEnumsInput(_SerdeShape): + int_enum1: int | None = ... + int_enum2: int | None = ... + int_enum3: int | None = ... + int_enum_list: list[int] | None = ... + int_enum_set: list[int] | None = ... + int_enum_map: dict[str, int] | None = ... + +@dataclass(kw_only=True) +class XmlIntEnumsOutput(_SerdeShape): + int_enum1: int | None = ... + int_enum2: int | None = ... + int_enum3: int | None = ... + int_enum_list: list[int] | None = ... + int_enum_set: list[int] | None = ... + int_enum_map: dict[str, int] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlListsInput(_SerdeShape): + string_list: list[str] | None = ... + string_set: list[str] | None = ... + integer_list: list[int] | None = ... + boolean_list: list[bool] | None = ... + timestamp_list: list[datetime] | None = ... + enum_list: list[str] | None = ... + int_enum_list: list[int] | None = ... + nested_string_list: list[list[str]] | None = ... + renamed_list_members: list[str] | None = ... + flattened_list: list[str] | None = ... + flattened_list2: list[str] | None = ... + flattened_list_with_member_namespace: list[str] | None = ... + flattened_list_with_namespace: list[str] | None = ... + structure_list: list[StructureListMember] | None = ... + flattened_structure_list: list[StructureListMember] | None = ... + +@dataclass(kw_only=True) +class XmlListsOutput(_SerdeShape): + string_list: list[str] | None = ... + string_set: list[str] | None = ... + integer_list: list[int] | None = ... + boolean_list: list[bool] | None = ... + timestamp_list: list[datetime] | None = ... + enum_list: list[str] | None = ... + int_enum_list: list[int] | None = ... + nested_string_list: list[list[str]] | None = ... + renamed_list_members: list[str] | None = ... + flattened_list: list[str] | None = ... + flattened_list2: list[str] | None = ... + flattened_list_with_member_namespace: list[str] | None = ... + flattened_list_with_namespace: list[str] | None = ... + structure_list: list[StructureListMember] | None = ... + flattened_structure_list: list[StructureListMember] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlMapsInput(_SerdeShape): + my_map: dict[str, GreetingStruct] | None = ... + +@dataclass(kw_only=True) +class XmlMapsOutput(_SerdeShape): + my_map: dict[str, GreetingStruct] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlMapsXmlNameInput(_SerdeShape): + my_map: dict[str, GreetingStruct] | None = ... + +@dataclass(kw_only=True) +class XmlMapsXmlNameOutput(_SerdeShape): + my_map: dict[str, GreetingStruct] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlMapWithXmlNamespaceInput(_SerdeShape): + my_map: dict[str, str] | None = ... + +@dataclass(kw_only=True) +class XmlMapWithXmlNamespaceOutput(_SerdeShape): + my_map: dict[str, str] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlNamespaceNested(_SerdeShape): + foo: str | None = ... + values: list[str] | None = ... + +@dataclass(kw_only=True) +class XmlNamespacesInput(_SerdeShape): + nested: XmlNamespaceNested | None = ... + +@dataclass(kw_only=True) +class XmlNamespacesOutput(_SerdeShape): + nested: XmlNamespaceNested | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class XmlNestedUnionStruct(_SerdeShape): + string_value: str | None = ... + boolean_value: bool | None = ... + byte_value: int | None = ... + short_value: int | None = ... + integer_value: int | None = ... + long_value: int | None = ... + float_value: float | None = ... + double_value: float | None = ... + +@dataclass(kw_only=True) +class XmlTimestampsInput(_SerdeShape): + normal: datetime | None = ... + date_time: datetime | None = ... + date_time_on_target: datetime | None = ... + epoch_seconds: datetime | None = ... + epoch_seconds_on_target: datetime | None = ... + http_date: datetime | None = ... + http_date_on_target: datetime | None = ... + +@dataclass(kw_only=True) +class XmlTimestampsOutput(_SerdeShape): + normal: datetime | None = ... + date_time: datetime | None = ... + date_time_on_target: datetime | None = ... + epoch_seconds: datetime | None = ... + epoch_seconds_on_target: datetime | None = ... + http_date: datetime | None = ... + http_date_on_target: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass +class XmlUnionShapeStringValue(_SerdeShape): + value: str + +@dataclass +class XmlUnionShapeBooleanValue(_SerdeShape): + value: bool + +@dataclass +class XmlUnionShapeByteValue(_SerdeShape): + value: int + +@dataclass +class XmlUnionShapeShortValue(_SerdeShape): + value: int + +@dataclass +class XmlUnionShapeIntegerValue(_SerdeShape): + value: int + +@dataclass +class XmlUnionShapeLongValue(_SerdeShape): + value: int + +@dataclass +class XmlUnionShapeFloatValue(_SerdeShape): + value: float + +@dataclass +class XmlUnionShapeDoubleValue(_SerdeShape): + value: float + +@dataclass +class XmlUnionShapeUnionValue(_SerdeShape): + value: XmlUnionShape + +@dataclass +class XmlUnionShapeStructValue(_SerdeShape): + value: XmlNestedUnionStruct + +@dataclass +class XmlUnionShapeUnknown(_SerdeShape): + tag: str + +XmlUnionShape = Union[ + XmlUnionShapeStringValue + | XmlUnionShapeBooleanValue + | XmlUnionShapeByteValue + | XmlUnionShapeShortValue + | XmlUnionShapeIntegerValue + | XmlUnionShapeLongValue + | XmlUnionShapeFloatValue + | XmlUnionShapeDoubleValue + | XmlUnionShapeUnionValue + | XmlUnionShapeStructValue + | XmlUnionShapeUnknown +] + +class _XmlUnionShapeDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> XmlUnionShape: ... + +@dataclass(kw_only=True) +class XmlUnionsInput(_SerdeShape): + union_value: XmlUnionShape | None = ... + +@dataclass(kw_only=True) +class XmlUnionsOutput(_SerdeShape): + union_value: XmlUnionShape | None = ... + response_metadata: ResponseMetadata = ... + +class FooEnum(UnknownEnumMixin, StrEnum): + FOO = "Foo" + BAZ = "Baz" + BAR = "Bar" + ONE = "1" + ZERO = "0" + +@dataclass(kw_only=True) +class GreetingStruct(_SerdeShape): + hi: str | None = ... + +class IntegerEnum(UnknownEnumMixin, IntEnum): + A = 1 + B = 2 + C = 3 + +ALL_QUERY_STRING_TYPES: APIOperation[ + AllQueryStringTypesInput, AllQueryStringTypesOutput +] +BODY_WITH_XML_NAME: APIOperation[BodyWithXmlNameInput, BodyWithXmlNameOutput] +CONSTANT_AND_VARIABLE_QUERY_STRING: APIOperation[ + ConstantAndVariableQueryStringInput, ConstantAndVariableQueryStringOutput +] +CONSTANT_QUERY_STRING: APIOperation[ConstantQueryStringInput, ConstantQueryStringOutput] +CONTENT_TYPE_PARAMETERS: APIOperation[ + ContentTypeParametersInput, ContentTypeParametersOutput +] +DATETIME_OFFSETS: APIOperation[DatetimeOffsetsInput, DatetimeOffsetsOutput] +EMPTY_INPUT_AND_EMPTY_OUTPUT: APIOperation[ + EmptyInputAndEmptyOutputInput, EmptyInputAndEmptyOutputOutput +] +ENDPOINT_OPERATION: APIOperation[EndpointOperationInput, EndpointOperationOutput] +ENDPOINT_WITH_HOST_LABEL_HEADER_OPERATION: APIOperation[ + EndpointWithHostLabelHeaderOperationInput, + EndpointWithHostLabelHeaderOperationOutput, +] +ENDPOINT_WITH_HOST_LABEL_OPERATION: APIOperation[ + EndpointWithHostLabelOperationInput, EndpointWithHostLabelOperationOutput +] +FLATTENED_XML_MAP: APIOperation[FlattenedXmlMapInput, FlattenedXmlMapOutput] +FLATTENED_XML_MAP_WITH_XML_NAME: APIOperation[ + FlattenedXmlMapWithXmlNameInput, FlattenedXmlMapWithXmlNameOutput +] +FLATTENED_XML_MAP_WITH_XML_NAMESPACE: APIOperation[ + FlattenedXmlMapWithXmlNamespaceInput, FlattenedXmlMapWithXmlNamespaceOutput +] +FRACTIONAL_SECONDS: APIOperation[FractionalSecondsInput, FractionalSecondsOutput] +GREETING_WITH_ERRORS: APIOperation[GreetingWithErrorsInput, GreetingWithErrorsOutput] +HTTP_EMPTY_PREFIX_HEADERS: APIOperation[ + HttpEmptyPrefixHeadersInput, HttpEmptyPrefixHeadersOutput +] +HTTP_ENUM_PAYLOAD: APIOperation[HttpEnumPayloadInput, HttpEnumPayloadOutput] +HTTP_PAYLOAD_TRAITS: APIOperation[HttpPayloadTraitsInput, HttpPayloadTraitsOutput] +HTTP_PAYLOAD_TRAITS_WITH_MEDIA_TYPE: APIOperation[ + HttpPayloadTraitsWithMediaTypeInput, HttpPayloadTraitsWithMediaTypeOutput +] +HTTP_PAYLOAD_WITH_MEMBER_XML_NAME: APIOperation[ + HttpPayloadWithMemberXmlNameInput, HttpPayloadWithMemberXmlNameOutput +] +HTTP_PAYLOAD_WITH_STRUCTURE: APIOperation[ + HttpPayloadWithStructureInput, HttpPayloadWithStructureOutput +] +HTTP_PAYLOAD_WITH_UNION: APIOperation[ + HttpPayloadWithUnionInput, HttpPayloadWithUnionOutput +] +HTTP_PAYLOAD_WITH_XML_NAME: APIOperation[ + HttpPayloadWithXmlNameInput, HttpPayloadWithXmlNameOutput +] +HTTP_PAYLOAD_WITH_XML_NAMESPACE: APIOperation[ + HttpPayloadWithXmlNamespaceInput, HttpPayloadWithXmlNamespaceOutput +] +HTTP_PAYLOAD_WITH_XML_NAMESPACE_AND_PREFIX: APIOperation[ + HttpPayloadWithXmlNamespaceAndPrefixInput, + HttpPayloadWithXmlNamespaceAndPrefixOutput, +] +HTTP_PREFIX_HEADERS: APIOperation[HttpPrefixHeadersInput, HttpPrefixHeadersOutput] +HTTP_REQUEST_WITH_FLOAT_LABELS: APIOperation[ + HttpRequestWithFloatLabelsInput, HttpRequestWithFloatLabelsOutput +] +HTTP_REQUEST_WITH_GREEDY_LABEL_IN_PATH: APIOperation[ + HttpRequestWithGreedyLabelInPathInput, HttpRequestWithGreedyLabelInPathOutput +] +HTTP_REQUEST_WITH_LABELS: APIOperation[ + HttpRequestWithLabelsInput, HttpRequestWithLabelsOutput +] +HTTP_REQUEST_WITH_LABELS_AND_TIMESTAMP_FORMAT: APIOperation[ + HttpRequestWithLabelsAndTimestampFormatInput, + HttpRequestWithLabelsAndTimestampFormatOutput, +] +HTTP_RESPONSE_CODE: APIOperation[HttpResponseCodeInput, HttpResponseCodeOutput] +HTTP_STRING_PAYLOAD: APIOperation[HttpStringPayloadInput, HttpStringPayloadOutput] +IGNORE_QUERY_PARAMS_IN_RESPONSE: APIOperation[ + IgnoreQueryParamsInResponseInput, IgnoreQueryParamsInResponseOutput +] +INPUT_AND_OUTPUT_WITH_HEADERS: APIOperation[ + InputAndOutputWithHeadersInput, InputAndOutputWithHeadersOutput +] +NESTED_XML_MAPS: APIOperation[NestedXmlMapsInput, NestedXmlMapsOutput] +NESTED_XML_MAP_WITH_XML_NAME: APIOperation[ + NestedXmlMapWithXmlNameInput, NestedXmlMapWithXmlNameOutput +] +NO_INPUT_AND_NO_OUTPUT: APIOperation[NoInputAndNoOutputInput, NoInputAndNoOutputOutput] +NO_INPUT_AND_OUTPUT: APIOperation[NoInputAndOutputInput, NoInputAndOutputOutput] +NULL_AND_EMPTY_HEADERS_CLIENT: APIOperation[ + NullAndEmptyHeadersClientInput, NullAndEmptyHeadersClientOutput +] +NULL_AND_EMPTY_HEADERS_SERVER: APIOperation[ + NullAndEmptyHeadersServerInput, NullAndEmptyHeadersServerOutput +] +OMITS_NULL_SERIALIZES_EMPTY_STRING: APIOperation[ + OmitsNullSerializesEmptyStringInput, OmitsNullSerializesEmptyStringOutput +] +PUT_WITH_CONTENT_ENCODING: APIOperation[ + PutWithContentEncodingInput, PutWithContentEncodingOutput +] +QUERY_IDEMPOTENCY_TOKEN_AUTO_FILL: APIOperation[ + QueryIdempotencyTokenAutoFillInput, QueryIdempotencyTokenAutoFillOutput +] +QUERY_PARAMS_AS_STRING_LIST_MAP: APIOperation[ + QueryParamsAsStringListMapInput, QueryParamsAsStringListMapOutput +] +QUERY_PRECEDENCE: APIOperation[QueryPrecedenceInput, QueryPrecedenceOutput] +RECURSIVE_SHAPES: APIOperation[RecursiveShapesInput, RecursiveShapesOutput] +SIMPLE_SCALAR_PROPERTIES: APIOperation[ + SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput +] +TIMESTAMP_FORMAT_HEADERS: APIOperation[ + TimestampFormatHeadersInput, TimestampFormatHeadersOutput +] +XML_ATTRIBUTES: APIOperation[XmlAttributesInput, XmlAttributesOutput] +XML_ATTRIBUTES_IN_MIDDLE: APIOperation[ + XmlAttributesInMiddleInput, XmlAttributesInMiddleOutput +] +XML_ATTRIBUTES_ON_PAYLOAD: APIOperation[ + XmlAttributesOnPayloadInput, XmlAttributesOnPayloadOutput +] +XML_BLOBS: APIOperation[XmlBlobsInput, XmlBlobsOutput] +XML_EMPTY_BLOBS: APIOperation[XmlEmptyBlobsInput, XmlEmptyBlobsOutput] +XML_EMPTY_LISTS: APIOperation[XmlEmptyListsInput, XmlEmptyListsOutput] +XML_EMPTY_MAPS: APIOperation[XmlEmptyMapsInput, XmlEmptyMapsOutput] +XML_EMPTY_STRINGS: APIOperation[XmlEmptyStringsInput, XmlEmptyStringsOutput] +XML_ENUMS: APIOperation[XmlEnumsInput, XmlEnumsOutput] +XML_INT_ENUMS: APIOperation[XmlIntEnumsInput, XmlIntEnumsOutput] +XML_LISTS: APIOperation[XmlListsInput, XmlListsOutput] +XML_MAPS: APIOperation[XmlMapsInput, XmlMapsOutput] +XML_MAPS_XML_NAME: APIOperation[XmlMapsXmlNameInput, XmlMapsXmlNameOutput] +XML_MAP_WITH_XML_NAMESPACE: APIOperation[ + XmlMapWithXmlNamespaceInput, XmlMapWithXmlNamespaceOutput +] +XML_NAMESPACES: APIOperation[XmlNamespacesInput, XmlNamespacesOutput] +XML_TIMESTAMPS: APIOperation[XmlTimestampsInput, XmlTimestampsOutput] +XML_UNIONS: APIOperation[XmlUnionsInput, XmlUnionsOutput] diff --git a/codegen-output/rest-xml/tests/_typecheck.py b/codegen-output/rest-xml/tests/_typecheck.py new file mode 100644 index 000000000..98fc4c894 --- /dev/null +++ b/codegen-output/rest-xml/tests/_typecheck.py @@ -0,0 +1,303 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from typing import Any + +from restxml.models import ( + AllQueryStringTypesInput, + AllQueryStringTypesOutput, + BodyWithXmlNameInput, + BodyWithXmlNameOutput, + ComplexNestedErrorData, + ConstantAndVariableQueryStringInput, + ConstantAndVariableQueryStringOutput, + ConstantQueryStringInput, + ConstantQueryStringOutput, + ContentTypeParametersInput, + ContentTypeParametersOutput, + DatetimeOffsetsInput, + DatetimeOffsetsOutput, + EmptyInputAndEmptyOutputInput, + EmptyInputAndEmptyOutputOutput, + EndpointOperationInput, + EndpointOperationOutput, + EndpointWithHostLabelHeaderOperationInput, + EndpointWithHostLabelHeaderOperationOutput, + EndpointWithHostLabelOperationInput, + EndpointWithHostLabelOperationOutput, + FlattenedXmlMapInput, + FlattenedXmlMapOutput, + FlattenedXmlMapWithXmlNameInput, + FlattenedXmlMapWithXmlNameOutput, + FlattenedXmlMapWithXmlNamespaceInput, + FlattenedXmlMapWithXmlNamespaceOutput, + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingStruct, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + HttpEmptyPrefixHeadersInput, + HttpEmptyPrefixHeadersOutput, + HttpEnumPayloadInput, + HttpEnumPayloadOutput, + HttpPayloadTraitsInput, + HttpPayloadTraitsOutput, + HttpPayloadTraitsWithMediaTypeInput, + HttpPayloadTraitsWithMediaTypeOutput, + HttpPayloadWithMemberXmlNameInput, + HttpPayloadWithMemberXmlNameOutput, + HttpPayloadWithStructureInput, + HttpPayloadWithStructureOutput, + HttpPayloadWithUnionInput, + HttpPayloadWithUnionOutput, + HttpPayloadWithXmlNameInput, + HttpPayloadWithXmlNameOutput, + HttpPayloadWithXmlNamespaceAndPrefixInput, + HttpPayloadWithXmlNamespaceAndPrefixOutput, + HttpPayloadWithXmlNamespaceInput, + HttpPayloadWithXmlNamespaceOutput, + HttpPrefixHeadersInput, + HttpPrefixHeadersOutput, + HttpRequestWithFloatLabelsInput, + HttpRequestWithFloatLabelsOutput, + HttpRequestWithGreedyLabelInPathInput, + HttpRequestWithGreedyLabelInPathOutput, + HttpRequestWithLabelsAndTimestampFormatInput, + HttpRequestWithLabelsAndTimestampFormatOutput, + HttpRequestWithLabelsInput, + HttpRequestWithLabelsOutput, + HttpResponseCodeInput, + HttpResponseCodeOutput, + HttpStringPayloadInput, + HttpStringPayloadOutput, + IgnoreQueryParamsInResponseInput, + IgnoreQueryParamsInResponseOutput, + InputAndOutputWithHeadersInput, + InputAndOutputWithHeadersOutput, + NestedPayload, + NestedXmlMapWithXmlNameInput, + NestedXmlMapWithXmlNameOutput, + NestedXmlMapsInput, + NestedXmlMapsOutput, + NoInputAndNoOutputInput, + NoInputAndNoOutputOutput, + NoInputAndOutputInput, + NoInputAndOutputOutput, + NullAndEmptyHeadersClientInput, + NullAndEmptyHeadersClientOutput, + NullAndEmptyHeadersServerInput, + NullAndEmptyHeadersServerOutput, + OmitsNullSerializesEmptyStringInput, + OmitsNullSerializesEmptyStringOutput, + PayloadWithXmlName, + PayloadWithXmlNamespace, + PayloadWithXmlNamespaceAndPrefix, + PutWithContentEncodingInput, + PutWithContentEncodingOutput, + QueryIdempotencyTokenAutoFillInput, + QueryIdempotencyTokenAutoFillOutput, + QueryParamsAsStringListMapInput, + QueryParamsAsStringListMapOutput, + QueryPrecedenceInput, + QueryPrecedenceOutput, + RecursiveShapesInput, + RecursiveShapesInputOutputNested1, + RecursiveShapesInputOutputNested2, + RecursiveShapesOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + StructureListMember, + TimestampFormatHeadersInput, + TimestampFormatHeadersOutput, + XmlAttributesInMiddleInput, + XmlAttributesInMiddleOutput, + XmlAttributesInMiddlePayloadRequest, + XmlAttributesInMiddlePayloadResponse, + XmlAttributesInput, + XmlAttributesOnPayloadInput, + XmlAttributesOnPayloadOutput, + XmlAttributesOutput, + XmlAttributesPayloadRequest, + XmlAttributesPayloadResponse, + XmlBlobsInput, + XmlBlobsOutput, + XmlEmptyBlobsInput, + XmlEmptyBlobsOutput, + XmlEmptyListsInput, + XmlEmptyListsOutput, + XmlEmptyMapsInput, + XmlEmptyMapsOutput, + XmlEmptyStringsInput, + XmlEmptyStringsOutput, + XmlEnumsInput, + XmlEnumsOutput, + XmlIntEnumsInput, + XmlIntEnumsOutput, + XmlListsInput, + XmlListsOutput, + XmlMapWithXmlNamespaceInput, + XmlMapWithXmlNamespaceOutput, + XmlMapsInput, + XmlMapsOutput, + XmlMapsXmlNameInput, + XmlMapsXmlNameOutput, + XmlNamespaceNested, + XmlNamespacesInput, + XmlNamespacesOutput, + XmlNestedUnionStruct, + XmlTimestampsInput, + XmlTimestampsOutput, + XmlUnionsInput, + XmlUnionsOutput, +) + + +# Static type fixture: pyright over this validates models.pyi. +# Not executed as a test; it only needs to type-check. + +_: Any = ... + +AllQueryStringTypesInput() +AllQueryStringTypesOutput() +BodyWithXmlNameInput() +BodyWithXmlNameOutput() +ComplexNestedErrorData() +ConstantAndVariableQueryStringInput() +ConstantAndVariableQueryStringOutput() +ConstantQueryStringInput() +ConstantQueryStringOutput() +ContentTypeParametersInput() +ContentTypeParametersOutput() +DatetimeOffsetsInput() +DatetimeOffsetsOutput() +EmptyInputAndEmptyOutputInput() +EmptyInputAndEmptyOutputOutput() +EndpointOperationInput() +EndpointOperationOutput() +EndpointWithHostLabelHeaderOperationInput() +EndpointWithHostLabelHeaderOperationOutput() +EndpointWithHostLabelOperationInput() +EndpointWithHostLabelOperationOutput() +FlattenedXmlMapInput() +FlattenedXmlMapOutput() +FlattenedXmlMapWithXmlNameInput() +FlattenedXmlMapWithXmlNameOutput() +FlattenedXmlMapWithXmlNamespaceInput() +FlattenedXmlMapWithXmlNamespaceOutput() +FractionalSecondsInput() +FractionalSecondsOutput() +GreetingWithErrorsInput() +GreetingWithErrorsOutput() +HttpEmptyPrefixHeadersInput() +HttpEmptyPrefixHeadersOutput() +HttpEnumPayloadInput() +HttpEnumPayloadOutput() +HttpPayloadTraitsInput() +HttpPayloadTraitsOutput() +HttpPayloadTraitsWithMediaTypeInput() +HttpPayloadTraitsWithMediaTypeOutput() +HttpPayloadWithMemberXmlNameInput() +HttpPayloadWithMemberXmlNameOutput() +HttpPayloadWithStructureInput() +HttpPayloadWithStructureOutput() +HttpPayloadWithUnionInput() +HttpPayloadWithUnionOutput() +HttpPayloadWithXmlNameInput() +HttpPayloadWithXmlNameOutput() +HttpPayloadWithXmlNamespaceAndPrefixInput() +HttpPayloadWithXmlNamespaceAndPrefixOutput() +HttpPayloadWithXmlNamespaceInput() +HttpPayloadWithXmlNamespaceOutput() +HttpPrefixHeadersInput() +HttpPrefixHeadersOutput() +HttpRequestWithFloatLabelsInput() +HttpRequestWithFloatLabelsOutput() +HttpRequestWithGreedyLabelInPathInput() +HttpRequestWithGreedyLabelInPathOutput() +HttpRequestWithLabelsAndTimestampFormatInput() +HttpRequestWithLabelsAndTimestampFormatOutput() +HttpRequestWithLabelsInput() +HttpRequestWithLabelsOutput() +HttpResponseCodeInput() +HttpResponseCodeOutput() +HttpStringPayloadInput() +HttpStringPayloadOutput() +IgnoreQueryParamsInResponseInput() +IgnoreQueryParamsInResponseOutput() +InputAndOutputWithHeadersInput() +InputAndOutputWithHeadersOutput() +NestedPayload() +NestedXmlMapsInput() +NestedXmlMapsOutput() +NestedXmlMapWithXmlNameInput() +NestedXmlMapWithXmlNameOutput() +NoInputAndNoOutputInput() +NoInputAndNoOutputOutput() +NoInputAndOutputInput() +NoInputAndOutputOutput() +NullAndEmptyHeadersClientInput() +NullAndEmptyHeadersClientOutput() +NullAndEmptyHeadersServerInput() +NullAndEmptyHeadersServerOutput() +OmitsNullSerializesEmptyStringInput() +OmitsNullSerializesEmptyStringOutput() +PayloadWithXmlName() +PayloadWithXmlNamespace() +PayloadWithXmlNamespaceAndPrefix() +PutWithContentEncodingInput() +PutWithContentEncodingOutput() +QueryIdempotencyTokenAutoFillInput() +QueryIdempotencyTokenAutoFillOutput() +QueryParamsAsStringListMapInput() +QueryParamsAsStringListMapOutput() +QueryPrecedenceInput() +QueryPrecedenceOutput() +RecursiveShapesInput() +RecursiveShapesInputOutputNested1() +RecursiveShapesInputOutputNested2() +RecursiveShapesOutput() +SimpleScalarPropertiesInput() +SimpleScalarPropertiesOutput() +StructureListMember() +TimestampFormatHeadersInput() +TimestampFormatHeadersOutput() +XmlAttributesInMiddleInput() +XmlAttributesInMiddleOutput() +XmlAttributesInMiddlePayloadRequest() +XmlAttributesInMiddlePayloadResponse() +XmlAttributesInput() +XmlAttributesOnPayloadInput() +XmlAttributesOnPayloadOutput() +XmlAttributesOutput() +XmlAttributesPayloadRequest() +XmlAttributesPayloadResponse() +XmlBlobsInput() +XmlBlobsOutput() +XmlEmptyBlobsInput() +XmlEmptyBlobsOutput() +XmlEmptyListsInput() +XmlEmptyListsOutput() +XmlEmptyMapsInput() +XmlEmptyMapsOutput() +XmlEmptyStringsInput() +XmlEmptyStringsOutput() +XmlEnumsInput() +XmlEnumsOutput() +XmlIntEnumsInput() +XmlIntEnumsOutput() +XmlListsInput() +XmlListsOutput() +XmlMapsInput() +XmlMapsOutput() +XmlMapsXmlNameInput() +XmlMapsXmlNameOutput() +XmlMapWithXmlNamespaceInput() +XmlMapWithXmlNamespaceOutput() +XmlNamespaceNested() +XmlNamespacesInput() +XmlNamespacesOutput() +XmlNestedUnionStruct() +XmlTimestampsInput() +XmlTimestampsOutput() +XmlUnionsInput() +XmlUnionsOutput() +GreetingStruct() diff --git a/codegen-output/rest-xml/tests/test_model_conformance.py b/codegen-output/rest-xml/tests/test_model_conformance.py new file mode 100644 index 000000000..46d112198 --- /dev/null +++ b/codegen-output/rest-xml/tests/test_model_conformance.py @@ -0,0 +1,13 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from pathlib import Path + +from smithy_test import verify_models + +from restxml import models as _models +from restxml._private import schemas as _schemas + + +def test_model_conformance() -> None: + pyi = Path(_models.__file__).with_suffix(".pyi") + verify_models(_models, _schemas, pyi_path=str(pyi) if pyi.exists() else None) diff --git a/codegen-output/rpcv2-cbor/pyproject.toml b/codegen-output/rpcv2-cbor/pyproject.toml index 5b6ca1746..302fe53a7 100644 --- a/codegen-output/rpcv2-cbor/pyproject.toml +++ b/codegen-output/rpcv2-cbor/pyproject.toml @@ -54,6 +54,9 @@ reportUnusedVariable = false reportUnnecessaryComparison = false reportUnusedClass = false enableExperimentalFeatures = true +# models.py is the dynamic runtime; models.pyi carries the typed +# surface for consumers, so don't type-check the implementation body. +exclude = ["**/models.py"] [tool.ruff] target-version = "py312" diff --git a/codegen-output/rpcv2-cbor/src/rpcv2cbor/_private/schemas.py b/codegen-output/rpcv2-cbor/src/rpcv2cbor/_private/schemas.py index bc2cf6a28..7fb248372 100644 --- a/codegen-output/rpcv2-cbor/src/rpcv2cbor/_private/schemas.py +++ b/codegen-output/rpcv2-cbor/src/rpcv2cbor/_private/schemas.py @@ -26,6 +26,7 @@ _N = "Nested" _TE = "TestEnum" _FOO = "FOO" +_sV = "smithy.api#enumValue" _BAR = "BAR" _BAZ = "BAZ" _TIE = "TestIntEnum" @@ -73,7 +74,9 @@ _EIOI = "EmptyInputOutputInput" _sSI = "smithy.synthetic#originalShapeId" _sCES = "smithy.protocoltests.rpcv2Cbor#EmptyStructure" +_smit = "smithy.api#input" _EIOO = "EmptyInputOutputOutput" +_smith = "smithy.api#output" _EIO = "EmptyInputOutput" _FI = "Float16Input" _sU = "smithy.api#Unit" @@ -118,12 +121,16 @@ _BL = "BlobList" _BLo = "BooleanList" _FE = "FooEnum" +_B = "Baz" +_Ba = "Bar" +_v__ = "1" _ZERO = "ZERO" +_v___ = "0" _FEL = "FooEnumList" _IL = "IntegerList" _IE = "IntegerEnum" _A = "A" -_B = "B" +_B_ = "B" _C = "C" _IEL = "IntegerEnumList" _SL = "StringList" @@ -148,9 +155,9 @@ _RVCLO = "RpcV2CborListsOutput" _RVCL = "RpcV2CborLists" _RVCNU = "RpcV2CborNestedUnion" -_sV = "stringValue" +_sVt = "stringValue" _SBM = "SparseBooleanMap" -_smit = "smithy.api#sparse" +_smithy = "smithy.api#sparse" _SNM = "SparseNumberMap" _SSM = "SparseSetMap" _SSMp = "SparseStringMap" @@ -244,10 +251,17 @@ _TE, 0, (_FOO, _BAR, _BAZ), - ((-1, 0), (-1, 0), (-1, 0)), + ((-1, {_sV: _FOO}), (-1, {_sV: _BAR}), (-1, {_sV: _BAZ})), ) -TEST_INT_ENUM: StaticSchema = (15, n1, _TIE, 0, (_ONE, _TWO), ((-1, 0), (-1, 0))) +TEST_INT_ENUM: StaticSchema = ( + 15, + n1, + _TIE, + 0, + (_ONE, _TWO), + ((-1, {_sV: 1}), (-1, {_sV: 2})), +) TEST_STRING_LIST: StaticSchema = (16, n1, _TSL, 0, (_me,), ((3, 0),)) @@ -295,7 +309,7 @@ (8, {_smi: 100}), (9, {_smi: 1.0}), (10, {_smi: 1.0}), - (TEST_STRING_MAP, {_smi: None}), + (TEST_STRING_MAP, {_smi: MappingProxyType[str, object]({})}), (TEST_ENUM, {_smi: _FOO}), (TEST_INT_ENUM, {_smi: 1}), (3, {_smi: _v_}), @@ -331,9 +345,9 @@ ((3, 0), (GREETING_STRUCT, 0)), ) -EMPTY_INPUT_OUTPUT_INPUT: StaticSchema = (18, n1, _EIOI, {_sSI: _sCES}) +EMPTY_INPUT_OUTPUT_INPUT: StaticSchema = (18, n1, _EIOI, {_sSI: _sCES, _smit: None}) -EMPTY_INPUT_OUTPUT_OUTPUT: StaticSchema = (18, n1, _EIOO, {_sSI: _sCES}) +EMPTY_INPUT_OUTPUT_OUTPUT: StaticSchema = (18, n1, _EIOO, {_sSI: _sCES, _smith: None}) EMPTY_INPUT_OUTPUT: StaticOperationSchema = ( 23, @@ -345,17 +359,24 @@ (), ) -FLOAT16_INPUT: StaticSchema = (18, n1, _FI, {_sSI: _sU}) +FLOAT16_INPUT: StaticSchema = (18, n1, _FI, {_sSI: _sU, _smit: None}) -FLOAT16_OUTPUT: StaticSchema = (18, n1, _FO, 0, (_v,), ((10, 0),)) +FLOAT16_OUTPUT: StaticSchema = (18, n1, _FO, {_smith: None}, (_v,), ((10, 0),)) FLOAT16: StaticOperationSchema = (23, n1, _Fl, 0, FLOAT16_INPUT, FLOAT16_OUTPUT, ()) -FRACTIONAL_SECONDS_INPUT: StaticSchema = (18, n1, _FSI, {_sSI: _sU}) +FRACTIONAL_SECONDS_INPUT: StaticSchema = (18, n1, _FSI, {_sSI: _sU, _smit: None}) DATE_TIME: StaticSchema = (4, n2, _DT, {_sF: _dt}) -FRACTIONAL_SECONDS_OUTPUT: StaticSchema = (18, n1, _FSO, 0, (_d,), ((DATE_TIME, 0),)) +FRACTIONAL_SECONDS_OUTPUT: StaticSchema = ( + 18, + n1, + _FSO, + {_smith: None}, + (_d,), + ((DATE_TIME, 0),), +) FRACTIONAL_SECONDS: StaticOperationSchema = ( 23, @@ -367,9 +388,16 @@ (), ) -GREETING_WITH_ERRORS_INPUT: StaticSchema = (18, n1, _GWEI, {_sSI: _sU}) +GREETING_WITH_ERRORS_INPUT: StaticSchema = (18, n1, _GWEI, {_sSI: _sU, _smit: None}) -GREETING_WITH_ERRORS_OUTPUT: StaticSchema = (18, n1, _GWEO, 0, (_g,), ((3, 0),)) +GREETING_WITH_ERRORS_OUTPUT: StaticSchema = ( + 18, + n1, + _GWEO, + {_smith: None}, + (_g,), + ((3, 0),), +) INVALID_GREETING: StaticSchema = (18, n1, _IG, {_sm: _c}, (_M,), ((3, 0),)) @@ -383,9 +411,9 @@ (INVALID_GREETING, COMPLEX_ERROR), ) -NO_INPUT_OUTPUT_INPUT: StaticSchema = (18, n1, _NIOI, {_sSI: _sU}) +NO_INPUT_OUTPUT_INPUT: StaticSchema = (18, n1, _NIOI, {_sSI: _sU, _smit: None}) -NO_INPUT_OUTPUT_OUTPUT: StaticSchema = (18, n1, _NIOO, {_sSI: _sU}) +NO_INPUT_OUTPUT_OUTPUT: StaticSchema = (18, n1, _NIOO, {_sSI: _sU, _smith: None}) NO_INPUT_OUTPUT: StaticOperationSchema = ( 23, @@ -401,7 +429,7 @@ 18, n1, _OWDI, - 0, + {_smit: None}, (_de, _cOD, _tLD, _oTLD), ((DEFAULTS, 0), (CLIENT_OPTIONAL_DEFAULTS, 0), (3, {_smi: _h}), (7, {_smi: 0})), ) @@ -410,7 +438,7 @@ 18, n1, _OWDO, - 0, + {_smith: None}, ( _dS, _dB, @@ -448,7 +476,7 @@ (8, {_smi: 100}), (9, {_smi: 1.0}), (10, {_smi: 1.0}), - (TEST_STRING_MAP, {_smi: None}), + (TEST_STRING_MAP, {_smi: MappingProxyType[str, object]({})}), (TEST_ENUM, {_smi: _FOO}), (TEST_INT_ENUM, {_smi: 1}), (3, {_smi: _v_}), @@ -477,7 +505,7 @@ 18, n1, _OIOI, - {_sSI: _sCSS}, + {_sSI: _sCSS, _smit: None}, (_v,), ((3, 0),), ) @@ -486,7 +514,7 @@ 18, n1, _OIOO, - {_sSI: _sCSS}, + {_sSI: _sCSS, _smith: None}, (_v,), ((3, 0),), ) @@ -505,7 +533,7 @@ 18, n1, _RVCDMI, - {_sSI: _sCRVCDMIO}, + {_sSI: _sCRVCDMIO, _smit: None}, (_dSM, _dNM, _dBM, _dSMe, _dSMen), ( (DENSE_STRUCT_MAP, 0), @@ -520,7 +548,7 @@ 18, n1, _RVCDMO, - {_sSI: _sCRVCDMIO}, + {_sSI: _sCRVCDMIO, _smith: None}, (_dSM, _dNM, _dBM, _dSMe, _dSMen), ( (DENSE_STRUCT_MAP, 0), @@ -551,14 +579,27 @@ _FE, 0, (_FOO, _BAZ, _BAR, _ONE, _ZERO), - ((-1, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 0)), + ( + (-1, {_sV: _F}), + (-1, {_sV: _B}), + (-1, {_sV: _Ba}), + (-1, {_sV: _v__}), + (-1, {_sV: _v___}), + ), ) FOO_ENUM_LIST: StaticSchema = (16, n2, _FEL, 0, (_me,), ((FOO_ENUM, 0),)) INTEGER_LIST: StaticSchema = (16, n2, _IL, 0, (_me,), ((7, 0),)) -INTEGER_ENUM: StaticSchema = (15, n2, _IE, 0, (_A, _B, _C), ((-1, 0), (-1, 0), (-1, 0))) +INTEGER_ENUM: StaticSchema = ( + 15, + n2, + _IE, + 0, + (_A, _B_, _C), + ((-1, {_sV: 1}), (-1, {_sV: 2}), (-1, {_sV: 3})), +) INTEGER_ENUM_LIST: StaticSchema = (16, n2, _IEL, 0, (_me,), ((INTEGER_ENUM, 0),)) @@ -576,7 +617,7 @@ 18, n1, _RVCLI, - {_sSI: _sCRVCLIO}, + {_sSI: _sCRVCLIO, _smit: None}, (_sL, _sS, _iL, _bL, _tL, _eL, _iEL, _nSL, _sLt, _bLl), ( (STRING_LIST, 0), @@ -596,7 +637,7 @@ 18, n1, _RVCLO, - {_sSI: _sCRVCLIO}, + {_sSI: _sCRVCLIO, _smith: None}, (_sL, _sS, _iL, _bL, _tL, _eL, _iEL, _nSL, _sLt, _bLl), ( (STRING_LIST, 0), @@ -622,7 +663,7 @@ (VALIDATION_EXCEPTION,), ) -RPC_V2_CBOR_NESTED_UNION: StaticSchema = (19, n1, _RVCNU, 0, (_sV,), ((3, 0),)) +RPC_V2_CBOR_NESTED_UNION: StaticSchema = (19, n1, _RVCNU, 0, (_sVt,), ((3, 0),)) SPARSE_BOOLEAN_MAP: StaticSchema = (17, n1, _SBM, 64, (_k, _v), ((3, 0), (2, 0))) @@ -645,7 +686,7 @@ 18, n1, _RVCSMI, - {_sSI: _sCRVCSMIO}, + {_sSI: _sCRVCSMIO, _smit: None}, (_sSM, _sNM, _sBM, _sSMp, _sSMpa), ( (SPARSE_STRUCT_MAP, 0), @@ -660,7 +701,7 @@ 18, n1, _RVCSMO, - {_sSI: _sCRVCSMIO}, + {_sSI: _sCRVCSMIO, _smith: None}, (_sSM, _sNM, _sBM, _sSMp, _sSMpa), ( (SPARSE_STRUCT_MAP, 0), @@ -686,7 +727,7 @@ n1, _RVCU, 0, - (_sV, _uV), + (_sVt, _uV), ((3, 0), (RPC_V2_CBOR_NESTED_UNION, 0)), ) @@ -694,7 +735,7 @@ 18, n1, _RVCUI, - {_sSI: _sCRVCUIO}, + {_sSI: _sCRVCUIO, _smit: None}, (_co, _oV), ((RPC_V2_CBOR_UNION, 0), (3, 0)), ) @@ -703,7 +744,7 @@ 18, n1, _RVCUO, - {_sSI: _sCRVCUIO}, + {_sSI: _sCRVCUIO, _smith: None}, (_co, _oV), ((RPC_V2_CBOR_UNION, 0), (3, 0)), ) @@ -722,8 +763,8 @@ 18, n1, _SSPI, - {_sSI: _sCSSS}, - (_tBV, _fBV, _bV, _dV, _fV, _iV, _lV, _sVh, _sV, _bVl), + {_sSI: _sCSSS, _smit: None}, + (_tBV, _fBV, _bV, _dV, _fV, _iV, _lV, _sVh, _sVt, _bVl), ((2, 0), (2, 0), (5, 0), (10, 0), (9, 0), (7, 0), (8, 0), (6, 0), (3, 0), (1, 0)), ) @@ -731,8 +772,8 @@ 18, n1, _SSPO, - {_sSI: _sCSSS}, - (_tBV, _fBV, _bV, _dV, _fV, _iV, _lV, _sVh, _sV, _bVl), + {_sSI: _sCSSS, _smith: None}, + (_tBV, _fBV, _bV, _dV, _fV, _iV, _lV, _sVh, _sVt, _bVl), ((2, 0), (2, 0), (5, 0), (10, 0), (9, 0), (7, 0), (8, 0), (6, 0), (3, 0), (1, 0)), ) @@ -752,7 +793,7 @@ 18, n1, _SNOI, - {_sSI: _sCSNOIO}, + {_sSI: _sCSNOIO, _smit: None}, (_sSL, _sSMp), ((SPARSE_STRING_LIST, 0), (SPARSE_STRING_MAP, 0)), ) @@ -761,7 +802,7 @@ 18, n1, _SNOO, - {_sSI: _sCSNOIO}, + {_sSI: _sCSNOIO, _smith: None}, (_sSL, _sSMp), ((SPARSE_STRING_LIST, 0), (SPARSE_STRING_MAP, 0)), ) @@ -798,7 +839,7 @@ 18, n1, _RSI, - {_sSI: _sCRSIO}, + {_sSI: _sCRSIO, _smit: None}, (_n,), ((RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1, 0),), ) @@ -807,7 +848,7 @@ 18, n1, _RSO, - {_sSI: _sCRSIO}, + {_sSI: _sCRSIO, _smith: None}, (_n,), ((RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1, 0),), ) diff --git a/codegen-output/rpcv2-cbor/src/rpcv2cbor/client.py b/codegen-output/rpcv2-cbor/src/rpcv2cbor/client.py index e6ac0f0d7..a2a187ceb 100644 --- a/codegen-output/rpcv2-cbor/src/rpcv2cbor/client.py +++ b/codegen-output/rpcv2-cbor/src/rpcv2cbor/client.py @@ -1,5 +1,7 @@ # Code generated by smithy-python-codegen DO NOT EDIT. +from __future__ import annotations + from copy import deepcopy import logging from typing import Any @@ -14,50 +16,56 @@ from .config import Config, Plugin from .models import ( EMPTY_INPUT_OUTPUT, - EmptyInputOutputInput, - EmptyInputOutputOutput, FLOAT16, FRACTIONAL_SECONDS, - Float16Input, - Float16Output, - FractionalSecondsInput, - FractionalSecondsOutput, GREETING_WITH_ERRORS, - GreetingWithErrorsInput, - GreetingWithErrorsOutput, NO_INPUT_OUTPUT, - NoInputOutputInput, - NoInputOutputOutput, OPERATION_WITH_DEFAULTS, OPTIONAL_INPUT_OUTPUT, - OperationWithDefaultsInput, - OperationWithDefaultsOutput, - OptionalInputOutputInput, - OptionalInputOutputOutput, RECURSIVE_SHAPES, RPC_V2_CBOR_DENSE_MAPS, RPC_V2_CBOR_LISTS, RPC_V2_CBOR_SPARSE_MAPS, RPC_V2_CBOR_UNIONS, - RecursiveShapesInput, - RecursiveShapesOutput, - RpcV2CborDenseMapsInput, - RpcV2CborDenseMapsOutput, - RpcV2CborListsInput, - RpcV2CborListsOutput, - RpcV2CborSparseMapsInput, - RpcV2CborSparseMapsOutput, - RpcV2CborUnionsInput, - RpcV2CborUnionsOutput, SIMPLE_SCALAR_PROPERTIES, SPARSE_NULLS_OPERATION, - SimpleScalarPropertiesInput, - SimpleScalarPropertiesOutput, - SparseNullsOperationInput, - SparseNullsOperationOutput, ) from .user_agent import aws_user_agent_plugin +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from .models import ( + EmptyInputOutputInput, + EmptyInputOutputOutput, + Float16Input, + Float16Output, + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + NoInputOutputInput, + NoInputOutputOutput, + OperationWithDefaultsInput, + OperationWithDefaultsOutput, + OptionalInputOutputInput, + OptionalInputOutputOutput, + RecursiveShapesInput, + RecursiveShapesOutput, + RpcV2CborDenseMapsInput, + RpcV2CborDenseMapsOutput, + RpcV2CborListsInput, + RpcV2CborListsOutput, + RpcV2CborSparseMapsInput, + RpcV2CborSparseMapsOutput, + RpcV2CborUnionsInput, + RpcV2CborUnionsOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + SparseNullsOperationInput, + SparseNullsOperationOutput, + ) + logger = logging.getLogger(__name__) diff --git a/codegen-output/rpcv2-cbor/src/rpcv2cbor/config.py b/codegen-output/rpcv2-cbor/src/rpcv2cbor/config.py index 41048cc80..038301797 100644 --- a/codegen-output/rpcv2-cbor/src/rpcv2cbor/config.py +++ b/codegen-output/rpcv2-cbor/src/rpcv2cbor/config.py @@ -1,7 +1,7 @@ # Code generated by smithy-python-codegen DO NOT EDIT. from dataclasses import dataclass -from typing import Any, Callable, TypeAlias, Union, cast +from typing import Any, Callable, TYPE_CHECKING, TypeAlias, Union, cast from smithy_aws_core.endpoints.standard_regional import ( StandardRegionalEndpointsResolver, @@ -16,7 +16,6 @@ from smithy_core.aio.interfaces.auth import AuthScheme from smithy_core.aio.interfaces.retries import RetryStrategy from smithy_core.auth import DefaultAuthResolver -from smithy_core.interceptors import Interceptor from smithy_core.interfaces import URI from smithy_core.interfaces.auth import AuthSchemeResolver from smithy_core.retries import RetryStrategyOptions @@ -25,54 +24,61 @@ from smithy_http.aio.protocols import RpcV2CborClientProtocol from smithy_http.interfaces import HTTPRequestConfiguration -from .models import ( - EmptyInputOutputInput, - EmptyInputOutputOutput, - Float16Input, - Float16Output, - FractionalSecondsInput, - FractionalSecondsOutput, - GreetingWithErrorsInput, - GreetingWithErrorsOutput, - NoInputOutputInput, - NoInputOutputOutput, - OperationWithDefaultsInput, - OperationWithDefaultsOutput, - OptionalInputOutputInput, - OptionalInputOutputOutput, - RecursiveShapesInput, - RecursiveShapesOutput, - RpcV2CborDenseMapsInput, - RpcV2CborDenseMapsOutput, - RpcV2CborListsInput, - RpcV2CborListsOutput, - RpcV2CborSparseMapsInput, - RpcV2CborSparseMapsOutput, - RpcV2CborUnionsInput, - RpcV2CborUnionsOutput, - SimpleScalarPropertiesInput, - SimpleScalarPropertiesOutput, - SparseNullsOperationInput, - SparseNullsOperationOutput, -) +if TYPE_CHECKING: + from smithy_core.interceptors import Interceptor + from .models import ( + EmptyInputOutputInput, + EmptyInputOutputOutput, + Float16Input, + Float16Output, + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + NoInputOutputInput, + NoInputOutputOutput, + OperationWithDefaultsInput, + OperationWithDefaultsOutput, + OptionalInputOutputInput, + OptionalInputOutputOutput, + RecursiveShapesInput, + RecursiveShapesOutput, + RpcV2CborDenseMapsInput, + RpcV2CborDenseMapsOutput, + RpcV2CborListsInput, + RpcV2CborListsOutput, + RpcV2CborSparseMapsInput, + RpcV2CborSparseMapsOutput, + RpcV2CborUnionsInput, + RpcV2CborUnionsOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + SparseNullsOperationInput, + SparseNullsOperationOutput, + ) + + _ServiceInterceptor = Union[ + Interceptor[EmptyInputOutputInput, EmptyInputOutputOutput, Any, Any], + Interceptor[Float16Input, Float16Output, Any, Any], + Interceptor[FractionalSecondsInput, FractionalSecondsOutput, Any, Any], + Interceptor[GreetingWithErrorsInput, GreetingWithErrorsOutput, Any, Any], + Interceptor[NoInputOutputInput, NoInputOutputOutput, Any, Any], + Interceptor[OperationWithDefaultsInput, OperationWithDefaultsOutput, Any, Any], + Interceptor[OptionalInputOutputInput, OptionalInputOutputOutput, Any, Any], + Interceptor[RecursiveShapesInput, RecursiveShapesOutput, Any, Any], + Interceptor[RpcV2CborDenseMapsInput, RpcV2CborDenseMapsOutput, Any, Any], + Interceptor[RpcV2CborListsInput, RpcV2CborListsOutput, Any, Any], + Interceptor[RpcV2CborSparseMapsInput, RpcV2CborSparseMapsOutput, Any, Any], + Interceptor[RpcV2CborUnionsInput, RpcV2CborUnionsOutput, Any, Any], + Interceptor[ + SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput, Any, Any + ], + Interceptor[SparseNullsOperationInput, SparseNullsOperationOutput, Any, Any], + ] +else: + _ServiceInterceptor = Any -_ServiceInterceptor = Union[ - Interceptor[EmptyInputOutputInput, EmptyInputOutputOutput, Any, Any], - Interceptor[Float16Input, Float16Output, Any, Any], - Interceptor[FractionalSecondsInput, FractionalSecondsOutput, Any, Any], - Interceptor[GreetingWithErrorsInput, GreetingWithErrorsOutput, Any, Any], - Interceptor[NoInputOutputInput, NoInputOutputOutput, Any, Any], - Interceptor[OperationWithDefaultsInput, OperationWithDefaultsOutput, Any, Any], - Interceptor[OptionalInputOutputInput, OptionalInputOutputOutput, Any, Any], - Interceptor[RecursiveShapesInput, RecursiveShapesOutput, Any, Any], - Interceptor[RpcV2CborDenseMapsInput, RpcV2CborDenseMapsOutput, Any, Any], - Interceptor[RpcV2CborListsInput, RpcV2CborListsOutput, Any, Any], - Interceptor[RpcV2CborSparseMapsInput, RpcV2CborSparseMapsOutput, Any, Any], - Interceptor[RpcV2CborUnionsInput, RpcV2CborUnionsOutput, Any, Any], - Interceptor[SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput, Any, Any], - Interceptor[SparseNullsOperationInput, SparseNullsOperationOutput, Any, Any], -] _PROTOCOL_SETTINGS = ProtocolSettings( namespace="smithy.protocoltests.rpcv2Cbor", service_target="RpcV2Protocol" ) diff --git a/codegen-output/rpcv2-cbor/src/rpcv2cbor/models.py b/codegen-output/rpcv2-cbor/src/rpcv2cbor/models.py index 5b6d90c8a..0288e3664 100644 --- a/codegen-output/rpcv2-cbor/src/rpcv2cbor/models.py +++ b/codegen-output/rpcv2-cbor/src/rpcv2cbor/models.py @@ -1,84 +1,29 @@ # Code generated by smithy-python-codegen DO NOT EDIT. -from base64 import b64decode -from dataclasses import dataclass, field -from datetime import datetime, timezone -from enum import IntEnum, StrEnum -import logging -from typing import Any, Literal, Self, Union - -from smithy_core._schema_compact import hydrate -from smithy_core.deserializers import ShapeDeserializer -from smithy_core.documents import TypeRegistry -from smithy_core.exceptions import ModeledError, SerializationError -from smithy_core.response import EMPTY_RESPONSE_METADATA, ResponseMetadata -from smithy_core.schemas import APIOperation, Schema -from smithy_core.serializers import ShapeSerializer +from ._private import schemas as _schemas +from smithy_core._dynamic_models import ModelRegistry +from smithy_core.exceptions import ModeledError +from smithy_core.schemas import APIOperation from smithy_core.shapes import ShapeID -from smithy_core.types import UnknownEnumMixin from ._private.schemas import ( - CLIENT_OPTIONAL_DEFAULTS as _SCHEMA_CLIENT_OPTIONAL_DEFAULTS, - COMPLEX_ERROR as _SCHEMA_COMPLEX_ERROR, - COMPLEX_NESTED_ERROR_DATA as _SCHEMA_COMPLEX_NESTED_ERROR_DATA, - DEFAULTS as _SCHEMA_DEFAULTS, EMPTY_INPUT_OUTPUT as _SCHEMA_EMPTY_INPUT_OUTPUT, - EMPTY_INPUT_OUTPUT_INPUT as _SCHEMA_EMPTY_INPUT_OUTPUT_INPUT, - EMPTY_INPUT_OUTPUT_OUTPUT as _SCHEMA_EMPTY_INPUT_OUTPUT_OUTPUT, FLOAT16 as _SCHEMA_FLOAT16, - FLOAT16_INPUT as _SCHEMA_FLOAT16_INPUT, - FLOAT16_OUTPUT as _SCHEMA_FLOAT16_OUTPUT, FRACTIONAL_SECONDS as _SCHEMA_FRACTIONAL_SECONDS, - FRACTIONAL_SECONDS_INPUT as _SCHEMA_FRACTIONAL_SECONDS_INPUT, - FRACTIONAL_SECONDS_OUTPUT as _SCHEMA_FRACTIONAL_SECONDS_OUTPUT, - GREETING_STRUCT as _SCHEMA_GREETING_STRUCT, GREETING_WITH_ERRORS as _SCHEMA_GREETING_WITH_ERRORS, - GREETING_WITH_ERRORS_INPUT as _SCHEMA_GREETING_WITH_ERRORS_INPUT, - GREETING_WITH_ERRORS_OUTPUT as _SCHEMA_GREETING_WITH_ERRORS_OUTPUT, - INVALID_GREETING as _SCHEMA_INVALID_GREETING, NO_INPUT_OUTPUT as _SCHEMA_NO_INPUT_OUTPUT, - NO_INPUT_OUTPUT_INPUT as _SCHEMA_NO_INPUT_OUTPUT_INPUT, - NO_INPUT_OUTPUT_OUTPUT as _SCHEMA_NO_INPUT_OUTPUT_OUTPUT, OPERATION_WITH_DEFAULTS as _SCHEMA_OPERATION_WITH_DEFAULTS, - OPERATION_WITH_DEFAULTS_INPUT as _SCHEMA_OPERATION_WITH_DEFAULTS_INPUT, - OPERATION_WITH_DEFAULTS_OUTPUT as _SCHEMA_OPERATION_WITH_DEFAULTS_OUTPUT, OPTIONAL_INPUT_OUTPUT as _SCHEMA_OPTIONAL_INPUT_OUTPUT, - OPTIONAL_INPUT_OUTPUT_INPUT as _SCHEMA_OPTIONAL_INPUT_OUTPUT_INPUT, - OPTIONAL_INPUT_OUTPUT_OUTPUT as _SCHEMA_OPTIONAL_INPUT_OUTPUT_OUTPUT, RECURSIVE_SHAPES as _SCHEMA_RECURSIVE_SHAPES, - RECURSIVE_SHAPES_INPUT as _SCHEMA_RECURSIVE_SHAPES_INPUT, - RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1 as _SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1, - RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2 as _SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2, - RECURSIVE_SHAPES_OUTPUT as _SCHEMA_RECURSIVE_SHAPES_OUTPUT, RPC_V2_CBOR_DENSE_MAPS as _SCHEMA_RPC_V2_CBOR_DENSE_MAPS, - RPC_V2_CBOR_DENSE_MAPS_INPUT as _SCHEMA_RPC_V2_CBOR_DENSE_MAPS_INPUT, - RPC_V2_CBOR_DENSE_MAPS_OUTPUT as _SCHEMA_RPC_V2_CBOR_DENSE_MAPS_OUTPUT, RPC_V2_CBOR_LISTS as _SCHEMA_RPC_V2_CBOR_LISTS, - RPC_V2_CBOR_LISTS_INPUT as _SCHEMA_RPC_V2_CBOR_LISTS_INPUT, - RPC_V2_CBOR_LISTS_OUTPUT as _SCHEMA_RPC_V2_CBOR_LISTS_OUTPUT, - RPC_V2_CBOR_NESTED_UNION as _SCHEMA_RPC_V2_CBOR_NESTED_UNION, RPC_V2_CBOR_SPARSE_MAPS as _SCHEMA_RPC_V2_CBOR_SPARSE_MAPS, - RPC_V2_CBOR_SPARSE_MAPS_INPUT as _SCHEMA_RPC_V2_CBOR_SPARSE_MAPS_INPUT, - RPC_V2_CBOR_SPARSE_MAPS_OUTPUT as _SCHEMA_RPC_V2_CBOR_SPARSE_MAPS_OUTPUT, - RPC_V2_CBOR_UNION as _SCHEMA_RPC_V2_CBOR_UNION, RPC_V2_CBOR_UNIONS as _SCHEMA_RPC_V2_CBOR_UNIONS, - RPC_V2_CBOR_UNIONS_INPUT as _SCHEMA_RPC_V2_CBOR_UNIONS_INPUT, - RPC_V2_CBOR_UNIONS_OUTPUT as _SCHEMA_RPC_V2_CBOR_UNIONS_OUTPUT, SIMPLE_SCALAR_PROPERTIES as _SCHEMA_SIMPLE_SCALAR_PROPERTIES, - SIMPLE_SCALAR_PROPERTIES_INPUT as _SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT, - SIMPLE_SCALAR_PROPERTIES_OUTPUT as _SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT, SPARSE_NULLS_OPERATION as _SCHEMA_SPARSE_NULLS_OPERATION, - SPARSE_NULLS_OPERATION_INPUT as _SCHEMA_SPARSE_NULLS_OPERATION_INPUT, - SPARSE_NULLS_OPERATION_OUTPUT as _SCHEMA_SPARSE_NULLS_OPERATION_OUTPUT, - STRUCTURE_LIST_MEMBER as _SCHEMA_STRUCTURE_LIST_MEMBER, - VALIDATION_EXCEPTION as _SCHEMA_VALIDATION_EXCEPTION, - VALIDATION_EXCEPTION_FIELD as _SCHEMA_VALIDATION_EXCEPTION_FIELD, ) -logger = logging.getLogger(__name__) - - class ServiceError(ModeledError): """ Base error for all errors in the service. @@ -88,3381 +33,215 @@ class ServiceError(ModeledError): """ -@dataclass(kw_only=True) -class ValidationExceptionField: - """Describes one specific validation failure for an input member.""" - - path: str - """ - A JSONPointer expression to the structure member whose value failed to - satisfy the modeled constraints. - """ - - message: str - """A detailed description of the validation failure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_VALIDATION_EXCEPTION_FIELD), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_VALIDATION_EXCEPTION_FIELD).members_by_index - serializer.write_string(members[0], self.path) - serializer.write_string(members[1], self.message) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_VALIDATION_EXCEPTION_FIELD) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["path"] = de.read_string(members[0]) - - case 1: - kwargs["message"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - if "path" not in kwargs: - kwargs["path"] = "" - if "message" not in kwargs: - kwargs["message"] = "" - return kwargs - - -def _serialize_validation_exception_field_list( - serializer: ShapeSerializer, schema: Schema, value: list[ValidationExceptionField] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_struct(member_schema, e) - - -def _deserialize_validation_exception_field_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[ValidationExceptionField]: - result: list[ValidationExceptionField] = [] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(ValidationExceptionField.deserialize(d)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class ValidationException(ServiceError): - """ - A standard error for input validation failures. This should be thrown by - services when a member of the input structure falls outside of the - modeled or documented constraints. - """ - - fault: Literal["client", "server"] | None = "client" - - field_list: list[ValidationExceptionField] | None = None - """ - A list of specific failures encountered while validating the input. A - member can appear in this list more than once if it failed to satisfy - multiple constraints. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_VALIDATION_EXCEPTION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_VALIDATION_EXCEPTION).members_by_index - serializer.write_string(members[0], self.message) - if self.field_list is not None: - _serialize_validation_exception_field_list( - serializer, members[1], self.field_list - ) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_VALIDATION_EXCEPTION) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["message"] = de.read_string(members[0]) - - case 1: - kwargs["field_list"] = _deserialize_validation_exception_field_list( - de, members[1] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ClientOptionalDefaults: - """Dataclass for ClientOptionalDefaults structure.""" - - member: int = 0 - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_CLIENT_OPTIONAL_DEFAULTS), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_CLIENT_OPTIONAL_DEFAULTS).members_by_index - if self.member is not None: - serializer.write_integer(members[0], self.member) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_CLIENT_OPTIONAL_DEFAULTS) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["member"] = de.read_integer(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ComplexNestedErrorData: - """Dataclass for ComplexNestedErrorData structure.""" - - foo: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_COMPLEX_NESTED_ERROR_DATA) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class ComplexError(ServiceError): - """This error is thrown when a request is invalid.""" - - fault: Literal["client", "server"] | None = "client" - - top_level: str | None = None - - nested: ComplexNestedErrorData | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_COMPLEX_ERROR), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_COMPLEX_ERROR).members_by_index - if self.top_level is not None: - serializer.write_string(members[0], self.top_level) - - if self.nested is not None: - serializer.write_struct(members[1], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_COMPLEX_ERROR) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["top_level"] = de.read_string(members[0]) - - case 1: - kwargs["nested"] = ComplexNestedErrorData.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -class TestEnum(UnknownEnumMixin, StrEnum): - FOO = "FOO" - BAR = "BAR" - BAZ = "BAZ" - - -class TestIntEnum(UnknownEnumMixin, IntEnum): - ONE = 1 - TWO = 2 - - -def _serialize_test_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_test_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_test_string_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_test_string_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class Defaults: - """Dataclass for Defaults structure.""" - - default_string: str = "hi" - - default_boolean: bool = True - - default_list: list[str] = field(default_factory=list[str]) - - default_timestamp: datetime = datetime(1970, 1, 1, 0, 0, 0, 0, timezone.utc) - - default_blob: bytes = b64decode("YWJj") - - default_byte: int = 1 - - default_short: int = 1 - - default_integer: int = 10 - - default_long: int = 100 - - default_float: float = 1.0 - - default_double: float = 1.0 - - default_map: dict[str, str] = field(default_factory=dict[str, str]) - - default_enum: str = TestEnum("FOO") - - default_int_enum: int = TestIntEnum(1) - - empty_string: str = "" - - false_boolean: bool = False - - empty_blob: bytes = b64decode("") - - zero_byte: int = 0 - - zero_short: int = 0 - - zero_integer: int = 0 - - zero_long: int = 0 - - zero_float: float = 0.0 - - zero_double: float = 0.0 - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_DEFAULTS), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_DEFAULTS).members_by_index - serializer.write_string(members[0], self.default_string) - serializer.write_boolean(members[1], self.default_boolean) - _serialize_test_string_list(serializer, members[2], self.default_list) - serializer.write_timestamp(members[3], self.default_timestamp) - serializer.write_blob(members[4], self.default_blob) - serializer.write_byte(members[5], self.default_byte) - serializer.write_short(members[6], self.default_short) - serializer.write_integer(members[7], self.default_integer) - serializer.write_long(members[8], self.default_long) - serializer.write_float(members[9], self.default_float) - serializer.write_double(members[10], self.default_double) - _serialize_test_string_map(serializer, members[11], self.default_map) - serializer.write_string(members[12], self.default_enum) - serializer.write_integer(members[13], self.default_int_enum) - serializer.write_string(members[14], self.empty_string) - serializer.write_boolean(members[15], self.false_boolean) - serializer.write_blob(members[16], self.empty_blob) - serializer.write_byte(members[17], self.zero_byte) - serializer.write_short(members[18], self.zero_short) - serializer.write_integer(members[19], self.zero_integer) - serializer.write_long(members[20], self.zero_long) - serializer.write_float(members[21], self.zero_float) - serializer.write_double(members[22], self.zero_double) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_DEFAULTS) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["default_string"] = de.read_string(members[0]) - - case 1: - kwargs["default_boolean"] = de.read_boolean(members[1]) - - case 2: - kwargs["default_list"] = _deserialize_test_string_list( - de, members[2] - ) - - case 3: - kwargs["default_timestamp"] = de.read_timestamp(members[3]) - - case 4: - kwargs["default_blob"] = de.read_blob(members[4]) - - case 5: - kwargs["default_byte"] = de.read_byte(members[5]) - - case 6: - kwargs["default_short"] = de.read_short(members[6]) - - case 7: - kwargs["default_integer"] = de.read_integer(members[7]) - - case 8: - kwargs["default_long"] = de.read_long(members[8]) - - case 9: - kwargs["default_float"] = de.read_float(members[9]) - - case 10: - kwargs["default_double"] = de.read_double(members[10]) - - case 11: - kwargs["default_map"] = _deserialize_test_string_map( - de, members[11] - ) - - case 12: - kwargs["default_enum"] = TestEnum(de.read_string(members[12])) - - case 13: - kwargs["default_int_enum"] = TestIntEnum( - de.read_integer(members[13]) - ) - - case 14: - kwargs["empty_string"] = de.read_string(members[14]) - - case 15: - kwargs["false_boolean"] = de.read_boolean(members[15]) - - case 16: - kwargs["empty_blob"] = de.read_blob(members[16]) - - case 17: - kwargs["zero_byte"] = de.read_byte(members[17]) - - case 18: - kwargs["zero_short"] = de.read_short(members[18]) - - case 19: - kwargs["zero_integer"] = de.read_integer(members[19]) - - case 20: - kwargs["zero_long"] = de.read_long(members[20]) - - case 21: - kwargs["zero_float"] = de.read_float(members[21]) - - case 22: - kwargs["zero_double"] = de.read_double(members[22]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_dense_boolean_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, bool] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_boolean(value_schema, v)) - - -def _deserialize_dense_boolean_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, bool]: - result: dict[str, bool] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_boolean(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_dense_number_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, int] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_integer(value_schema, v)) - - -def _deserialize_dense_number_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, int]: - result: dict[str, int] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_integer(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_string_set( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_string_set( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_dense_set_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, list[str]] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: _serialize_string_set(vs, value_schema, v)) - - -def _deserialize_dense_set_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, list[str]]: - result: dict[str, list[str]] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = _deserialize_string_set(d, value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_dense_string_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_string(value_schema, v)) - - -def _deserialize_dense_string_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str]: - result: dict[str, str] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class GreetingStruct: - """Dataclass for GreetingStruct structure.""" - - hi: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_STRUCT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_STRUCT).members_by_index - if self.hi is not None: - serializer.write_string(members[0], self.hi) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_STRUCT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["hi"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_dense_struct_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, GreetingStruct] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - m.entry(k, lambda vs: vs.write_struct(value_schema, v)) - - -def _deserialize_dense_struct_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, GreetingStruct]: - result: dict[str, GreetingStruct] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result[k] = GreetingStruct.deserialize(d) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class EmptyInputOutputInput: - """Dataclass for EmptyInputOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_EMPTY_INPUT_OUTPUT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_INPUT_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class EmptyInputOutputOutput: - """Dataclass for EmptyInputOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. - - Use this to recover the request identifiers a service's support team - needs in order to investigate a call. Members of the metadata are - individually optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_EMPTY_INPUT_OUTPUT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_EMPTY_INPUT_OUTPUT_OUTPUT) +_registry = ModelRegistry( + _schemas, + renames={}, + index={ + "ValidationException": "VALIDATION_EXCEPTION", + "ValidationExceptionField": "VALIDATION_EXCEPTION_FIELD", + "ClientOptionalDefaults": "CLIENT_OPTIONAL_DEFAULTS", + "ComplexError": "COMPLEX_ERROR", + "ComplexNestedErrorData": "COMPLEX_NESTED_ERROR_DATA", + "Defaults": "DEFAULTS", + "EmptyInputOutputInput": "EMPTY_INPUT_OUTPUT_INPUT", + "EmptyInputOutputOutput": "EMPTY_INPUT_OUTPUT_OUTPUT", + "Float16Input": "FLOAT16_INPUT", + "Float16Output": "FLOAT16_OUTPUT", + "FractionalSecondsInput": "FRACTIONAL_SECONDS_INPUT", + "FractionalSecondsOutput": "FRACTIONAL_SECONDS_OUTPUT", + "GreetingWithErrorsInput": "GREETING_WITH_ERRORS_INPUT", + "GreetingWithErrorsOutput": "GREETING_WITH_ERRORS_OUTPUT", + "InvalidGreeting": "INVALID_GREETING", + "NoInputOutputInput": "NO_INPUT_OUTPUT_INPUT", + "NoInputOutputOutput": "NO_INPUT_OUTPUT_OUTPUT", + "OperationWithDefaultsInput": "OPERATION_WITH_DEFAULTS_INPUT", + "OperationWithDefaultsOutput": "OPERATION_WITH_DEFAULTS_OUTPUT", + "OptionalInputOutputInput": "OPTIONAL_INPUT_OUTPUT_INPUT", + "OptionalInputOutputOutput": "OPTIONAL_INPUT_OUTPUT_OUTPUT", + "RecursiveShapesInput": "RECURSIVE_SHAPES_INPUT", + "RecursiveShapesInputOutputNested1": "RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1", + "RecursiveShapesInputOutputNested2": "RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2", + "RecursiveShapesOutput": "RECURSIVE_SHAPES_OUTPUT", + "RpcV2CborDenseMapsInput": "RPC_V2_CBOR_DENSE_MAPS_INPUT", + "RpcV2CborDenseMapsOutput": "RPC_V2_CBOR_DENSE_MAPS_OUTPUT", + "RpcV2CborListsInput": "RPC_V2_CBOR_LISTS_INPUT", + "RpcV2CborListsOutput": "RPC_V2_CBOR_LISTS_OUTPUT", + "RpcV2CborNestedUnion": "RPC_V2_CBOR_NESTED_UNION", + "RpcV2CborNestedUnionStringValue": "RPC_V2_CBOR_NESTED_UNION", + "RpcV2CborNestedUnionUnknown": "RPC_V2_CBOR_NESTED_UNION", + "RpcV2CborSparseMapsInput": "RPC_V2_CBOR_SPARSE_MAPS_INPUT", + "RpcV2CborSparseMapsOutput": "RPC_V2_CBOR_SPARSE_MAPS_OUTPUT", + "RpcV2CborUnion": "RPC_V2_CBOR_UNION", + "RpcV2CborUnionStringValue": "RPC_V2_CBOR_UNION", + "RpcV2CborUnionUnionValue": "RPC_V2_CBOR_UNION", + "RpcV2CborUnionUnknown": "RPC_V2_CBOR_UNION", + "RpcV2CborUnionsInput": "RPC_V2_CBOR_UNIONS_INPUT", + "RpcV2CborUnionsOutput": "RPC_V2_CBOR_UNIONS_OUTPUT", + "SimpleScalarPropertiesInput": "SIMPLE_SCALAR_PROPERTIES_INPUT", + "SimpleScalarPropertiesOutput": "SIMPLE_SCALAR_PROPERTIES_OUTPUT", + "SparseNullsOperationInput": "SPARSE_NULLS_OPERATION_INPUT", + "SparseNullsOperationOutput": "SPARSE_NULLS_OPERATION_OUTPUT", + "StructureListMember": "STRUCTURE_LIST_MEMBER", + "TestEnum": "TEST_ENUM", + "TestIntEnum": "TEST_INT_ENUM", + "FooEnum": "FOO_ENUM", + "GreetingStruct": "GREETING_STRUCT", + "IntegerEnum": "INTEGER_ENUM", + }, + shape_names=frozenset( + { + "ClientOptionalDefaults", + "ComplexError", + "ComplexNestedErrorData", + "Defaults", + "EmptyInputOutputInput", + "EmptyInputOutputOutput", + "Float16Input", + "Float16Output", + "FooEnum", + "FractionalSecondsInput", + "FractionalSecondsOutput", + "GreetingStruct", + "GreetingWithErrorsInput", + "GreetingWithErrorsOutput", + "IntegerEnum", + "InvalidGreeting", + "NoInputOutputInput", + "NoInputOutputOutput", + "OperationWithDefaultsInput", + "OperationWithDefaultsOutput", + "OptionalInputOutputInput", + "OptionalInputOutputOutput", + "RecursiveShapesInput", + "RecursiveShapesInputOutputNested1", + "RecursiveShapesInputOutputNested2", + "RecursiveShapesOutput", + "RpcV2CborDenseMapsInput", + "RpcV2CborDenseMapsOutput", + "RpcV2CborListsInput", + "RpcV2CborListsOutput", + "RpcV2CborNestedUnion", + "RpcV2CborSparseMapsInput", + "RpcV2CborSparseMapsOutput", + "RpcV2CborUnion", + "RpcV2CborUnionsInput", + "RpcV2CborUnionsOutput", + "SimpleScalarPropertiesInput", + "SimpleScalarPropertiesOutput", + "SparseNullsOperationInput", + "SparseNullsOperationOutput", + "StructureListMember", + "TestEnum", + "TestIntEnum", + "ValidationException", + "ValidationExceptionField", + } + ), + service_error="ServiceError", +) - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +def __getattr__(name: str): + return _registry.build(name) EMPTY_INPUT_OUTPUT = APIOperation( - input=EmptyInputOutputInput, - output=EmptyInputOutputOutput, static_schema=_SCHEMA_EMPTY_INPUT_OUTPUT, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("smithy.api#noAuth")], ) +FLOAT16 = APIOperation( + static_schema=_SCHEMA_FLOAT16, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("smithy.api#noAuth")], +) -@dataclass(kw_only=True) -class Float16Input: - """Dataclass for Float16Input structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FLOAT16_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass +FRACTIONAL_SECONDS = APIOperation( + static_schema=_SCHEMA_FRACTIONAL_SECONDS, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("smithy.api#noAuth")], +) - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) +GREETING_WITH_ERRORS = APIOperation( + static_schema=_SCHEMA_GREETING_WITH_ERRORS, + model_registry=_registry, + error_ids=[ + ShapeID("smithy.protocoltests.rpcv2Cbor#InvalidGreeting"), + ShapeID("smithy.protocoltests.rpcv2Cbor#ComplexError"), + ], + effective_auth_schemes=[ShapeID("smithy.api#noAuth")], +) - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FLOAT16_INPUT) +NO_INPUT_OUTPUT = APIOperation( + static_schema=_SCHEMA_NO_INPUT_OUTPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("smithy.api#noAuth")], +) - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) +OPERATION_WITH_DEFAULTS = APIOperation( + static_schema=_SCHEMA_OPERATION_WITH_DEFAULTS, + model_registry=_registry, + error_ids=[ShapeID("smithy.framework#ValidationException")], + effective_auth_schemes=[ShapeID("smithy.api#noAuth")], +) - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +OPTIONAL_INPUT_OUTPUT = APIOperation( + static_schema=_SCHEMA_OPTIONAL_INPUT_OUTPUT, + model_registry=_registry, + error_ids=[], + effective_auth_schemes=[ShapeID("smithy.api#noAuth")], +) +RPC_V2_CBOR_DENSE_MAPS = APIOperation( + static_schema=_SCHEMA_RPC_V2_CBOR_DENSE_MAPS, + model_registry=_registry, + error_ids=[ShapeID("smithy.framework#ValidationException")], + effective_auth_schemes=[ShapeID("smithy.api#noAuth")], +) -@dataclass(kw_only=True) -class Float16Output: - """Dataclass for Float16Output structure.""" - - value: float | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. - - Use this to recover the request identifiers a service's support team - needs in order to investigate a call. Members of the metadata are - individually optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FLOAT16_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_FLOAT16_OUTPUT).members_by_index - if self.value is not None: - serializer.write_double(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FLOAT16_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["value"] = de.read_double(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -FLOAT16 = APIOperation( - input=Float16Input, - output=Float16Output, - static_schema=_SCHEMA_FLOAT16, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("smithy.api#noAuth")], -) - - -@dataclass(kw_only=True) -class FractionalSecondsInput: - """Dataclass for FractionalSecondsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FRACTIONAL_SECONDS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FRACTIONAL_SECONDS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class FractionalSecondsOutput: - """Dataclass for FractionalSecondsOutput structure.""" - - datetime_: datetime | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. - - Use this to recover the request identifiers a service's support team - needs in order to investigate a call. Members of the metadata are - individually optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT).members_by_index - if self.datetime_ is not None: - serializer.write_timestamp(members[0], self.datetime_) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_FRACTIONAL_SECONDS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["datetime_"] = de.read_timestamp(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -FRACTIONAL_SECONDS = APIOperation( - input=FractionalSecondsInput, - output=FractionalSecondsOutput, - static_schema=_SCHEMA_FRACTIONAL_SECONDS, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("smithy.api#noAuth")], -) - - -@dataclass(kw_only=True) -class GreetingWithErrorsInput: - """Dataclass for GreetingWithErrorsInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_WITH_ERRORS_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class GreetingWithErrorsOutput: - """Dataclass for GreetingWithErrorsOutput structure.""" - - greeting: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. - - Use this to recover the request identifiers a service's support team - needs in order to investigate a call. Members of the metadata are - individually optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT).members_by_index - if self.greeting is not None: - serializer.write_string(members[0], self.greeting) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_GREETING_WITH_ERRORS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["greeting"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class InvalidGreeting(ServiceError): - """This error is thrown when an invalid greeting value is provided.""" - - fault: Literal["client", "server"] | None = "client" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_INVALID_GREETING), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_INVALID_GREETING).members_by_index - if self.message is not None: - serializer.write_string(members[0], self.message) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_INVALID_GREETING) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["message"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -GREETING_WITH_ERRORS = APIOperation( - input=GreetingWithErrorsInput, - output=GreetingWithErrorsOutput, - static_schema=_SCHEMA_GREETING_WITH_ERRORS, - error_registry=TypeRegistry( - { - ShapeID("smithy.protocoltests.rpcv2Cbor#InvalidGreeting"): InvalidGreeting, - ShapeID("smithy.protocoltests.rpcv2Cbor#ComplexError"): ComplexError, - } - ), - effective_auth_schemes=[ShapeID("smithy.api#noAuth")], -) - - -@dataclass(kw_only=True) -class NoInputOutputInput: - """Dataclass for NoInputOutputInput structure.""" - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_OUTPUT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_OUTPUT_INPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class NoInputOutputOutput: - """Dataclass for NoInputOutputOutput structure.""" - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. - - Use this to recover the request identifiers a service's support team - needs in order to investigate a call. Members of the metadata are - individually optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_NO_INPUT_OUTPUT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - pass - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_NO_INPUT_OUTPUT_OUTPUT) - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -NO_INPUT_OUTPUT = APIOperation( - input=NoInputOutputInput, - output=NoInputOutputOutput, - static_schema=_SCHEMA_NO_INPUT_OUTPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("smithy.api#noAuth")], -) - - -@dataclass(kw_only=True) -class OperationWithDefaultsInput: - """Dataclass for OperationWithDefaultsInput structure.""" - - defaults: Defaults | None = None - - client_optional_defaults: ClientOptionalDefaults | None = None - - top_level_default: str = "hi" - - other_top_level_default: int = 0 - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_INPUT).members_by_index - if self.defaults is not None: - serializer.write_struct(members[0], self.defaults) - - if self.client_optional_defaults is not None: - serializer.write_struct(members[1], self.client_optional_defaults) - - if self.top_level_default is not None: - serializer.write_string(members[2], self.top_level_default) - - if self.other_top_level_default is not None: - serializer.write_integer(members[3], self.other_top_level_default) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["defaults"] = Defaults.deserialize(de) - - case 1: - kwargs["client_optional_defaults"] = ( - ClientOptionalDefaults.deserialize(de) - ) - - case 2: - kwargs["top_level_default"] = de.read_string(members[2]) - - case 3: - kwargs["other_top_level_default"] = de.read_integer(members[3]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class OperationWithDefaultsOutput: - """Dataclass for OperationWithDefaultsOutput structure.""" - - default_string: str = "hi" - - default_boolean: bool = True - - default_list: list[str] = field(default_factory=list[str]) - - default_timestamp: datetime = datetime(1970, 1, 1, 0, 0, 0, 0, timezone.utc) - - default_blob: bytes = b64decode("YWJj") - - default_byte: int = 1 - - default_short: int = 1 - - default_integer: int = 10 - - default_long: int = 100 - - default_float: float = 1.0 - - default_double: float = 1.0 - - default_map: dict[str, str] = field(default_factory=dict[str, str]) - - default_enum: str = TestEnum("FOO") - - default_int_enum: int = TestIntEnum(1) - - empty_string: str = "" - - false_boolean: bool = False - - empty_blob: bytes = b64decode("") - - zero_byte: int = 0 - - zero_short: int = 0 - - zero_integer: int = 0 - - zero_long: int = 0 - - zero_float: float = 0.0 - - zero_double: float = 0.0 - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. - - Use this to recover the request identifiers a service's support team - needs in order to investigate a call. Members of the metadata are - individually optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_OUTPUT).members_by_index - serializer.write_string(members[0], self.default_string) - serializer.write_boolean(members[1], self.default_boolean) - _serialize_test_string_list(serializer, members[2], self.default_list) - serializer.write_timestamp(members[3], self.default_timestamp) - serializer.write_blob(members[4], self.default_blob) - serializer.write_byte(members[5], self.default_byte) - serializer.write_short(members[6], self.default_short) - serializer.write_integer(members[7], self.default_integer) - serializer.write_long(members[8], self.default_long) - serializer.write_float(members[9], self.default_float) - serializer.write_double(members[10], self.default_double) - _serialize_test_string_map(serializer, members[11], self.default_map) - serializer.write_string(members[12], self.default_enum) - serializer.write_integer(members[13], self.default_int_enum) - serializer.write_string(members[14], self.empty_string) - serializer.write_boolean(members[15], self.false_boolean) - serializer.write_blob(members[16], self.empty_blob) - serializer.write_byte(members[17], self.zero_byte) - serializer.write_short(members[18], self.zero_short) - serializer.write_integer(members[19], self.zero_integer) - serializer.write_long(members[20], self.zero_long) - serializer.write_float(members[21], self.zero_float) - serializer.write_double(members[22], self.zero_double) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPERATION_WITH_DEFAULTS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["default_string"] = de.read_string(members[0]) - - case 1: - kwargs["default_boolean"] = de.read_boolean(members[1]) - - case 2: - kwargs["default_list"] = _deserialize_test_string_list( - de, members[2] - ) - - case 3: - kwargs["default_timestamp"] = de.read_timestamp(members[3]) - - case 4: - kwargs["default_blob"] = de.read_blob(members[4]) - - case 5: - kwargs["default_byte"] = de.read_byte(members[5]) - - case 6: - kwargs["default_short"] = de.read_short(members[6]) - - case 7: - kwargs["default_integer"] = de.read_integer(members[7]) - - case 8: - kwargs["default_long"] = de.read_long(members[8]) - - case 9: - kwargs["default_float"] = de.read_float(members[9]) - - case 10: - kwargs["default_double"] = de.read_double(members[10]) - - case 11: - kwargs["default_map"] = _deserialize_test_string_map( - de, members[11] - ) - - case 12: - kwargs["default_enum"] = TestEnum(de.read_string(members[12])) - - case 13: - kwargs["default_int_enum"] = TestIntEnum( - de.read_integer(members[13]) - ) - - case 14: - kwargs["empty_string"] = de.read_string(members[14]) - - case 15: - kwargs["false_boolean"] = de.read_boolean(members[15]) - - case 16: - kwargs["empty_blob"] = de.read_blob(members[16]) - - case 17: - kwargs["zero_byte"] = de.read_byte(members[17]) - - case 18: - kwargs["zero_short"] = de.read_short(members[18]) - - case 19: - kwargs["zero_integer"] = de.read_integer(members[19]) - - case 20: - kwargs["zero_long"] = de.read_long(members[20]) - - case 21: - kwargs["zero_float"] = de.read_float(members[21]) - - case 22: - kwargs["zero_double"] = de.read_double(members[22]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -OPERATION_WITH_DEFAULTS = APIOperation( - input=OperationWithDefaultsInput, - output=OperationWithDefaultsOutput, - static_schema=_SCHEMA_OPERATION_WITH_DEFAULTS, - error_registry=TypeRegistry( - {ShapeID("smithy.framework#ValidationException"): ValidationException} - ), - effective_auth_schemes=[ShapeID("smithy.api#noAuth")], -) - - -@dataclass(kw_only=True) -class OptionalInputOutputInput: - """Dataclass for OptionalInputOutputInput structure.""" - - value: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_OPTIONAL_INPUT_OUTPUT_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_OPTIONAL_INPUT_OUTPUT_INPUT).members_by_index - if self.value is not None: - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPTIONAL_INPUT_OUTPUT_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["value"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class OptionalInputOutputOutput: - """Dataclass for OptionalInputOutputOutput structure.""" - - value: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. - - Use this to recover the request identifiers a service's support team - needs in order to investigate a call. Members of the metadata are - individually optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_OPTIONAL_INPUT_OUTPUT_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_OPTIONAL_INPUT_OUTPUT_OUTPUT).members_by_index - if self.value is not None: - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_OPTIONAL_INPUT_OUTPUT_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["value"] = de.read_string(members[0]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -OPTIONAL_INPUT_OUTPUT = APIOperation( - input=OptionalInputOutputInput, - output=OptionalInputOutputOutput, - static_schema=_SCHEMA_OPTIONAL_INPUT_OUTPUT, - error_registry=TypeRegistry({}), - effective_auth_schemes=[ShapeID("smithy.api#noAuth")], -) - - -@dataclass(kw_only=True) -class RpcV2CborDenseMapsInput: - """Dataclass for RpcV2CborDenseMapsInput structure.""" - - dense_struct_map: dict[str, GreetingStruct] | None = None - - dense_number_map: dict[str, int] | None = None - - dense_boolean_map: dict[str, bool] | None = None - - dense_string_map: dict[str, str] | None = None - - dense_set_map: dict[str, list[str]] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RPC_V2_CBOR_DENSE_MAPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RPC_V2_CBOR_DENSE_MAPS_INPUT).members_by_index - if self.dense_struct_map is not None: - _serialize_dense_struct_map(serializer, members[0], self.dense_struct_map) - - if self.dense_number_map is not None: - _serialize_dense_number_map(serializer, members[1], self.dense_number_map) - - if self.dense_boolean_map is not None: - _serialize_dense_boolean_map(serializer, members[2], self.dense_boolean_map) - - if self.dense_string_map is not None: - _serialize_dense_string_map(serializer, members[3], self.dense_string_map) - - if self.dense_set_map is not None: - _serialize_dense_set_map(serializer, members[4], self.dense_set_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RPC_V2_CBOR_DENSE_MAPS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["dense_struct_map"] = _deserialize_dense_struct_map( - de, members[0] - ) - - case 1: - kwargs["dense_number_map"] = _deserialize_dense_number_map( - de, members[1] - ) - - case 2: - kwargs["dense_boolean_map"] = _deserialize_dense_boolean_map( - de, members[2] - ) - - case 3: - kwargs["dense_string_map"] = _deserialize_dense_string_map( - de, members[3] - ) - - case 4: - kwargs["dense_set_map"] = _deserialize_dense_set_map(de, members[4]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RpcV2CborDenseMapsOutput: - """Dataclass for RpcV2CborDenseMapsOutput structure.""" - - dense_struct_map: dict[str, GreetingStruct] | None = None - - dense_number_map: dict[str, int] | None = None - - dense_boolean_map: dict[str, bool] | None = None - - dense_string_map: dict[str, str] | None = None - - dense_set_map: dict[str, list[str]] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. - - Use this to recover the request identifiers a service's support team - needs in order to investigate a call. Members of the metadata are - individually optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RPC_V2_CBOR_DENSE_MAPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RPC_V2_CBOR_DENSE_MAPS_OUTPUT).members_by_index - if self.dense_struct_map is not None: - _serialize_dense_struct_map(serializer, members[0], self.dense_struct_map) - - if self.dense_number_map is not None: - _serialize_dense_number_map(serializer, members[1], self.dense_number_map) - - if self.dense_boolean_map is not None: - _serialize_dense_boolean_map(serializer, members[2], self.dense_boolean_map) - - if self.dense_string_map is not None: - _serialize_dense_string_map(serializer, members[3], self.dense_string_map) - - if self.dense_set_map is not None: - _serialize_dense_set_map(serializer, members[4], self.dense_set_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RPC_V2_CBOR_DENSE_MAPS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["dense_struct_map"] = _deserialize_dense_struct_map( - de, members[0] - ) - - case 1: - kwargs["dense_number_map"] = _deserialize_dense_number_map( - de, members[1] - ) - - case 2: - kwargs["dense_boolean_map"] = _deserialize_dense_boolean_map( - de, members[2] - ) - - case 3: - kwargs["dense_string_map"] = _deserialize_dense_string_map( - de, members[3] - ) - - case 4: - kwargs["dense_set_map"] = _deserialize_dense_set_map(de, members[4]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -RPC_V2_CBOR_DENSE_MAPS = APIOperation( - input=RpcV2CborDenseMapsInput, - output=RpcV2CborDenseMapsOutput, - static_schema=_SCHEMA_RPC_V2_CBOR_DENSE_MAPS, - error_registry=TypeRegistry( - {ShapeID("smithy.framework#ValidationException"): ValidationException} - ), - effective_auth_schemes=[ShapeID("smithy.api#noAuth")], -) - - -def _serialize_blob_list( - serializer: ShapeSerializer, schema: Schema, value: list[bytes] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_blob(member_schema, e) - - -def _deserialize_blob_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[bytes]: - result: list[bytes] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_blob(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_boolean_list( - serializer: ShapeSerializer, schema: Schema, value: list[bool] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_boolean(member_schema, e) - - -def _deserialize_boolean_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[bool]: - result: list[bool] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_boolean(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -class FooEnum(UnknownEnumMixin, StrEnum): - FOO = "Foo" - BAZ = "Baz" - BAR = "Bar" - ONE = "1" - ZERO = "0" - - -def _serialize_foo_enum_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_foo_enum_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(FooEnum(d.read_string(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_integer_list( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) - - -def _deserialize_integer_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_integer(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -class IntegerEnum(UnknownEnumMixin, IntEnum): - A = 1 - B = 2 - C = 3 - - -def _serialize_integer_enum_list( - serializer: ShapeSerializer, schema: Schema, value: list[int] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_integer(member_schema, e) - - -def _deserialize_integer_enum_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[int]: - result: list[int] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(IntegerEnum(d.read_integer(member_schema))) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[str] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_string(member_schema, e) - - -def _deserialize_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str]: - result: list[str] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_nested_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[list[str]] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - _serialize_string_list(ls, member_schema, e) - - -def _deserialize_nested_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[list[str]]: - result: list[list[str]] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(_deserialize_string_list(d, member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class StructureListMember: - """Dataclass for StructureListMember structure.""" - - a: str | None = None - - b: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER).members_by_index - if self.a is not None: - serializer.write_string(members[0], self.a) - - if self.b is not None: - serializer.write_string(members[1], self.b) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_STRUCTURE_LIST_MEMBER) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["a"] = de.read_string(members[0]) - - case 1: - kwargs["b"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -def _serialize_structure_list( - serializer: ShapeSerializer, schema: Schema, value: list[StructureListMember] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_struct(member_schema, e) - - -def _deserialize_structure_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[StructureListMember]: - result: list[StructureListMember] = [] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(StructureListMember.deserialize(d)) - - deserializer.read_list(schema, _read_value) - return result - - -def _serialize_timestamp_list( - serializer: ShapeSerializer, schema: Schema, value: list[datetime] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - ls.write_timestamp(member_schema, e) - - -def _deserialize_timestamp_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[datetime]: - result: list[datetime] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - - else: - result.append(d.read_timestamp(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class RpcV2CborListsInput: - """Dataclass for RpcV2CborListsInput structure.""" - - string_list: list[str] | None = None - - string_set: list[str] | None = None - - integer_list: list[int] | None = None - - boolean_list: list[bool] | None = None - - timestamp_list: list[datetime] | None = None - - enum_list: list[str] | None = None - - int_enum_list: list[int] | None = None - - nested_string_list: list[list[str]] | None = None - """A list of lists of strings.""" - - structure_list: list[StructureListMember] | None = None - - blob_list: list[bytes] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RPC_V2_CBOR_LISTS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RPC_V2_CBOR_LISTS_INPUT).members_by_index - if self.string_list is not None: - _serialize_string_list(serializer, members[0], self.string_list) - - if self.string_set is not None: - _serialize_string_set(serializer, members[1], self.string_set) - - if self.integer_list is not None: - _serialize_integer_list(serializer, members[2], self.integer_list) - - if self.boolean_list is not None: - _serialize_boolean_list(serializer, members[3], self.boolean_list) - - if self.timestamp_list is not None: - _serialize_timestamp_list(serializer, members[4], self.timestamp_list) - - if self.enum_list is not None: - _serialize_foo_enum_list(serializer, members[5], self.enum_list) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[6], self.int_enum_list) - - if self.nested_string_list is not None: - _serialize_nested_string_list( - serializer, members[7], self.nested_string_list - ) - - if self.structure_list is not None: - _serialize_structure_list(serializer, members[8], self.structure_list) - - if self.blob_list is not None: - _serialize_blob_list(serializer, members[9], self.blob_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RPC_V2_CBOR_LISTS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_list"] = _deserialize_string_list(de, members[0]) - - case 1: - kwargs["string_set"] = _deserialize_string_set(de, members[1]) - - case 2: - kwargs["integer_list"] = _deserialize_integer_list(de, members[2]) - - case 3: - kwargs["boolean_list"] = _deserialize_boolean_list(de, members[3]) - - case 4: - kwargs["timestamp_list"] = _deserialize_timestamp_list( - de, members[4] - ) - - case 5: - kwargs["enum_list"] = _deserialize_foo_enum_list(de, members[5]) - - case 6: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[6] - ) - - case 7: - kwargs["nested_string_list"] = _deserialize_nested_string_list( - de, members[7] - ) - - case 8: - kwargs["structure_list"] = _deserialize_structure_list( - de, members[8] - ) - - case 9: - kwargs["blob_list"] = _deserialize_blob_list(de, members[9]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RpcV2CborListsOutput: - """Dataclass for RpcV2CborListsOutput structure.""" - - string_list: list[str] | None = None - - string_set: list[str] | None = None - - integer_list: list[int] | None = None - - boolean_list: list[bool] | None = None - - timestamp_list: list[datetime] | None = None - - enum_list: list[str] | None = None - - int_enum_list: list[int] | None = None - - nested_string_list: list[list[str]] | None = None - """A list of lists of strings.""" - - structure_list: list[StructureListMember] | None = None - - blob_list: list[bytes] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. - - Use this to recover the request identifiers a service's support team - needs in order to investigate a call. Members of the metadata are - individually optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RPC_V2_CBOR_LISTS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RPC_V2_CBOR_LISTS_OUTPUT).members_by_index - if self.string_list is not None: - _serialize_string_list(serializer, members[0], self.string_list) - - if self.string_set is not None: - _serialize_string_set(serializer, members[1], self.string_set) - - if self.integer_list is not None: - _serialize_integer_list(serializer, members[2], self.integer_list) - - if self.boolean_list is not None: - _serialize_boolean_list(serializer, members[3], self.boolean_list) - - if self.timestamp_list is not None: - _serialize_timestamp_list(serializer, members[4], self.timestamp_list) - - if self.enum_list is not None: - _serialize_foo_enum_list(serializer, members[5], self.enum_list) - - if self.int_enum_list is not None: - _serialize_integer_enum_list(serializer, members[6], self.int_enum_list) - - if self.nested_string_list is not None: - _serialize_nested_string_list( - serializer, members[7], self.nested_string_list - ) - - if self.structure_list is not None: - _serialize_structure_list(serializer, members[8], self.structure_list) - - if self.blob_list is not None: - _serialize_blob_list(serializer, members[9], self.blob_list) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RPC_V2_CBOR_LISTS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["string_list"] = _deserialize_string_list(de, members[0]) - - case 1: - kwargs["string_set"] = _deserialize_string_set(de, members[1]) - - case 2: - kwargs["integer_list"] = _deserialize_integer_list(de, members[2]) - - case 3: - kwargs["boolean_list"] = _deserialize_boolean_list(de, members[3]) - - case 4: - kwargs["timestamp_list"] = _deserialize_timestamp_list( - de, members[4] - ) - - case 5: - kwargs["enum_list"] = _deserialize_foo_enum_list(de, members[5]) - - case 6: - kwargs["int_enum_list"] = _deserialize_integer_enum_list( - de, members[6] - ) - - case 7: - kwargs["nested_string_list"] = _deserialize_nested_string_list( - de, members[7] - ) - - case 8: - kwargs["structure_list"] = _deserialize_structure_list( - de, members[8] - ) - - case 9: - kwargs["blob_list"] = _deserialize_blob_list(de, members[9]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -RPC_V2_CBOR_LISTS = APIOperation( - input=RpcV2CborListsInput, - output=RpcV2CborListsOutput, - static_schema=_SCHEMA_RPC_V2_CBOR_LISTS, - error_registry=TypeRegistry( - {ShapeID("smithy.framework#ValidationException"): ValidationException} - ), - effective_auth_schemes=[ShapeID("smithy.api#noAuth")], -) - - -@dataclass -class RpcV2CborNestedUnionStringValue: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RPC_V2_CBOR_NESTED_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RPC_V2_CBOR_NESTED_UNION).members_by_index - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_RPC_V2_CBOR_NESTED_UNION).members_by_index - return cls(value=deserializer.read_string(members[0])) - - -@dataclass -class RpcV2CborNestedUnionUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -RpcV2CborNestedUnion = Union[ - RpcV2CborNestedUnionStringValue | RpcV2CborNestedUnionUnknown -] - - -class _RpcV2CborNestedUnionDeserializer: - _result: RpcV2CborNestedUnion | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> RpcV2CborNestedUnion: - self._result = None - deserializer.read_struct( - hydrate(_SCHEMA_RPC_V2_CBOR_NESTED_UNION), self._consumer - ) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(RpcV2CborNestedUnionStringValue.deserialize(de)) - - case _: - self._set_result( - RpcV2CborNestedUnionUnknown(tag=schema.expect_member_name()) - ) - - def _set_result(self, value: RpcV2CborNestedUnion) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -def _serialize_sparse_boolean_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, bool | None] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - if v is None: - m.entry(k, lambda vs: vs.write_null(value_schema)) - else: - m.entry(k, lambda vs: vs.write_boolean(value_schema, v)) # type: ignore - - -def _deserialize_sparse_boolean_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, bool | None]: - result: dict[str, bool | None] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result[k] = None - else: - result[k] = d.read_boolean(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_sparse_number_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, int | None] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - if v is None: - m.entry(k, lambda vs: vs.write_null(value_schema)) - else: - m.entry(k, lambda vs: vs.write_integer(value_schema, v)) # type: ignore - - -def _deserialize_sparse_number_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, int | None]: - result: dict[str, int | None] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result[k] = None - else: - result[k] = d.read_integer(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_sparse_set_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, list[str] | None] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - if v is None: - m.entry(k, lambda vs: vs.write_null(value_schema)) - else: - m.entry(k, lambda vs: _serialize_string_set(vs, value_schema, v)) # type: ignore - - -def _deserialize_sparse_set_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, list[str] | None]: - result: dict[str, list[str] | None] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result[k] = None - else: - result[k] = _deserialize_string_set(d, value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_sparse_string_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, str | None] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - if v is None: - m.entry(k, lambda vs: vs.write_null(value_schema)) - else: - m.entry(k, lambda vs: vs.write_string(value_schema, v)) # type: ignore - - -def _deserialize_sparse_string_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, str | None]: - result: dict[str, str | None] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result[k] = None - else: - result[k] = d.read_string(value_schema) - - deserializer.read_map(schema, _read_value) - return result - - -def _serialize_sparse_struct_map( - serializer: ShapeSerializer, schema: Schema, value: dict[str, GreetingStruct | None] -) -> None: - with serializer.begin_map(schema, len(value)) as m: - value_schema = schema.members_by_index[1] - for k, v in value.items(): - if v is None: - m.entry(k, lambda vs: vs.write_null(value_schema)) - else: - m.entry(k, lambda vs: vs.write_struct(value_schema, v)) # type: ignore - - -def _deserialize_sparse_struct_map( - deserializer: ShapeDeserializer, schema: Schema -) -> dict[str, GreetingStruct | None]: - result: dict[str, GreetingStruct | None] = {} - value_schema = schema.members_by_index[1] - - def _read_value(k: str, d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result[k] = None - else: - result[k] = GreetingStruct.deserialize(d) - - deserializer.read_map(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class RpcV2CborSparseMapsInput: - """Dataclass for RpcV2CborSparseMapsInput structure.""" - - sparse_struct_map: dict[str, GreetingStruct | None] | None = None - - sparse_number_map: dict[str, int | None] | None = None - - sparse_boolean_map: dict[str, bool | None] | None = None - - sparse_string_map: dict[str, str | None] | None = None - - sparse_set_map: dict[str, list[str] | None] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RPC_V2_CBOR_SPARSE_MAPS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RPC_V2_CBOR_SPARSE_MAPS_INPUT).members_by_index - if self.sparse_struct_map is not None: - _serialize_sparse_struct_map(serializer, members[0], self.sparse_struct_map) - - if self.sparse_number_map is not None: - _serialize_sparse_number_map(serializer, members[1], self.sparse_number_map) - - if self.sparse_boolean_map is not None: - _serialize_sparse_boolean_map( - serializer, members[2], self.sparse_boolean_map - ) - - if self.sparse_string_map is not None: - _serialize_sparse_string_map(serializer, members[3], self.sparse_string_map) - - if self.sparse_set_map is not None: - _serialize_sparse_set_map(serializer, members[4], self.sparse_set_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RPC_V2_CBOR_SPARSE_MAPS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["sparse_struct_map"] = _deserialize_sparse_struct_map( - de, members[0] - ) - - case 1: - kwargs["sparse_number_map"] = _deserialize_sparse_number_map( - de, members[1] - ) - - case 2: - kwargs["sparse_boolean_map"] = _deserialize_sparse_boolean_map( - de, members[2] - ) - - case 3: - kwargs["sparse_string_map"] = _deserialize_sparse_string_map( - de, members[3] - ) - - case 4: - kwargs["sparse_set_map"] = _deserialize_sparse_set_map( - de, members[4] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RpcV2CborSparseMapsOutput: - """Dataclass for RpcV2CborSparseMapsOutput structure.""" - - sparse_struct_map: dict[str, GreetingStruct | None] | None = None - - sparse_number_map: dict[str, int | None] | None = None - - sparse_boolean_map: dict[str, bool | None] | None = None - - sparse_string_map: dict[str, str | None] | None = None - - sparse_set_map: dict[str, list[str] | None] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. - - Use this to recover the request identifiers a service's support team - needs in order to investigate a call. Members of the metadata are - individually optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RPC_V2_CBOR_SPARSE_MAPS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RPC_V2_CBOR_SPARSE_MAPS_OUTPUT).members_by_index - if self.sparse_struct_map is not None: - _serialize_sparse_struct_map(serializer, members[0], self.sparse_struct_map) - - if self.sparse_number_map is not None: - _serialize_sparse_number_map(serializer, members[1], self.sparse_number_map) - - if self.sparse_boolean_map is not None: - _serialize_sparse_boolean_map( - serializer, members[2], self.sparse_boolean_map - ) - - if self.sparse_string_map is not None: - _serialize_sparse_string_map(serializer, members[3], self.sparse_string_map) - - if self.sparse_set_map is not None: - _serialize_sparse_set_map(serializer, members[4], self.sparse_set_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RPC_V2_CBOR_SPARSE_MAPS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["sparse_struct_map"] = _deserialize_sparse_struct_map( - de, members[0] - ) - - case 1: - kwargs["sparse_number_map"] = _deserialize_sparse_number_map( - de, members[1] - ) - - case 2: - kwargs["sparse_boolean_map"] = _deserialize_sparse_boolean_map( - de, members[2] - ) - - case 3: - kwargs["sparse_string_map"] = _deserialize_sparse_string_map( - de, members[3] - ) - - case 4: - kwargs["sparse_set_map"] = _deserialize_sparse_set_map( - de, members[4] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -RPC_V2_CBOR_SPARSE_MAPS = APIOperation( - input=RpcV2CborSparseMapsInput, - output=RpcV2CborSparseMapsOutput, - static_schema=_SCHEMA_RPC_V2_CBOR_SPARSE_MAPS, - error_registry=TypeRegistry( - {ShapeID("smithy.framework#ValidationException"): ValidationException} - ), - effective_auth_schemes=[ShapeID("smithy.api#noAuth")], -) - - -@dataclass -class RpcV2CborUnionStringValue: - value: str - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RPC_V2_CBOR_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RPC_V2_CBOR_UNION).members_by_index - serializer.write_string(members[0], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - members = hydrate(_SCHEMA_RPC_V2_CBOR_UNION).members_by_index - return cls(value=deserializer.read_string(members[0])) - - -@dataclass -class RpcV2CborUnionUnionValue: - value: RpcV2CborNestedUnion - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RPC_V2_CBOR_UNION), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RPC_V2_CBOR_UNION).members_by_index - serializer.write_struct(members[1], self.value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(value=_RpcV2CborNestedUnionDeserializer().deserialize(deserializer)) - - -@dataclass -class RpcV2CborUnionUnknown: - """ - Represents an unknown variant. - - If you receive this value, you will need to update your library to receive the - parsed value. - - This value may not be deliberately sent. - """ - - tag: str - - def serialize(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - def serialize_members(self, serializer: ShapeSerializer): - raise SerializationError("Unknown union variants may not be serialized.") - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - raise NotImplementedError() - - -RpcV2CborUnion = Union[ - RpcV2CborUnionStringValue | RpcV2CborUnionUnionValue | RpcV2CborUnionUnknown -] - - -class _RpcV2CborUnionDeserializer: - _result: RpcV2CborUnion | None = None - - def deserialize(self, deserializer: ShapeDeserializer) -> RpcV2CborUnion: - self._result = None - deserializer.read_struct(hydrate(_SCHEMA_RPC_V2_CBOR_UNION), self._consumer) - - if self._result is None: - raise SerializationError( - "Unions must have exactly one value, but found none." - ) - - return self._result - - def _consumer(self, schema: Schema, de: ShapeDeserializer) -> None: - match schema.expect_member_index(): - case 0: - self._set_result(RpcV2CborUnionStringValue.deserialize(de)) - - case 1: - self._set_result(RpcV2CborUnionUnionValue.deserialize(de)) - - case _: - self._set_result(RpcV2CborUnionUnknown(tag=schema.expect_member_name())) - - def _set_result(self, value: RpcV2CborUnion) -> None: - if self._result is not None: - raise SerializationError( - "Unions must have exactly one value, but found more than one." - ) - self._result = value - - -@dataclass(kw_only=True) -class RpcV2CborUnionsInput: - """Dataclass for RpcV2CborUnionsInput structure.""" - - contents: RpcV2CborUnion | None = None - - other_value: str | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RPC_V2_CBOR_UNIONS_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RPC_V2_CBOR_UNIONS_INPUT).members_by_index - if self.contents is not None: - serializer.write_struct(members[0], self.contents) - - if self.other_value is not None: - serializer.write_string(members[1], self.other_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RPC_V2_CBOR_UNIONS_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["contents"] = _RpcV2CborUnionDeserializer().deserialize(de) - - case 1: - kwargs["other_value"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RpcV2CborUnionsOutput: - """Dataclass for RpcV2CborUnionsOutput structure.""" - - contents: RpcV2CborUnion | None = None - - other_value: str | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. - - Use this to recover the request identifiers a service's support team - needs in order to investigate a call. Members of the metadata are - individually optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RPC_V2_CBOR_UNIONS_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RPC_V2_CBOR_UNIONS_OUTPUT).members_by_index - if self.contents is not None: - serializer.write_struct(members[0], self.contents) - - if self.other_value is not None: - serializer.write_string(members[1], self.other_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RPC_V2_CBOR_UNIONS_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["contents"] = _RpcV2CborUnionDeserializer().deserialize(de) - - case 1: - kwargs["other_value"] = de.read_string(members[1]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs +RPC_V2_CBOR_LISTS = APIOperation( + static_schema=_SCHEMA_RPC_V2_CBOR_LISTS, + model_registry=_registry, + error_ids=[ShapeID("smithy.framework#ValidationException")], + effective_auth_schemes=[ShapeID("smithy.api#noAuth")], +) +RPC_V2_CBOR_SPARSE_MAPS = APIOperation( + static_schema=_SCHEMA_RPC_V2_CBOR_SPARSE_MAPS, + model_registry=_registry, + error_ids=[ShapeID("smithy.framework#ValidationException")], + effective_auth_schemes=[ShapeID("smithy.api#noAuth")], +) RPC_V2_CBOR_UNIONS = APIOperation( - input=RpcV2CborUnionsInput, - output=RpcV2CborUnionsOutput, static_schema=_SCHEMA_RPC_V2_CBOR_UNIONS, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("smithy.api#noAuth")], ) - -@dataclass(kw_only=True) -class SimpleScalarPropertiesInput: - """Dataclass for SimpleScalarPropertiesInput structure.""" - - true_boolean_value: bool | None = None - - false_boolean_value: bool | None = None - - byte_value: int | None = None - - double_value: float | None = None - - float_value: float | None = None - - integer_value: int | None = None - - long_value: int | None = None - - short_value: int | None = None - - string_value: str | None = None - - blob_value: bytes | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT).members_by_index - if self.true_boolean_value is not None: - serializer.write_boolean(members[0], self.true_boolean_value) - - if self.false_boolean_value is not None: - serializer.write_boolean(members[1], self.false_boolean_value) - - if self.byte_value is not None: - serializer.write_byte(members[2], self.byte_value) - - if self.double_value is not None: - serializer.write_double(members[3], self.double_value) - - if self.float_value is not None: - serializer.write_float(members[4], self.float_value) - - if self.integer_value is not None: - serializer.write_integer(members[5], self.integer_value) - - if self.long_value is not None: - serializer.write_long(members[6], self.long_value) - - if self.short_value is not None: - serializer.write_short(members[7], self.short_value) - - if self.string_value is not None: - serializer.write_string(members[8], self.string_value) - - if self.blob_value is not None: - serializer.write_blob(members[9], self.blob_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["true_boolean_value"] = de.read_boolean(members[0]) - - case 1: - kwargs["false_boolean_value"] = de.read_boolean(members[1]) - - case 2: - kwargs["byte_value"] = de.read_byte(members[2]) - - case 3: - kwargs["double_value"] = de.read_double(members[3]) - - case 4: - kwargs["float_value"] = de.read_float(members[4]) - - case 5: - kwargs["integer_value"] = de.read_integer(members[5]) - - case 6: - kwargs["long_value"] = de.read_long(members[6]) - - case 7: - kwargs["short_value"] = de.read_short(members[7]) - - case 8: - kwargs["string_value"] = de.read_string(members[8]) - - case 9: - kwargs["blob_value"] = de.read_blob(members[9]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SimpleScalarPropertiesOutput: - """Dataclass for SimpleScalarPropertiesOutput structure.""" - - true_boolean_value: bool | None = None - - false_boolean_value: bool | None = None - - byte_value: int | None = None - - double_value: float | None = None - - float_value: float | None = None - - integer_value: int | None = None - - long_value: int | None = None - - short_value: int | None = None - - string_value: str | None = None - - blob_value: bytes | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. - - Use this to recover the request identifiers a service's support team - needs in order to investigate a call. Members of the metadata are - individually optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT).members_by_index - if self.true_boolean_value is not None: - serializer.write_boolean(members[0], self.true_boolean_value) - - if self.false_boolean_value is not None: - serializer.write_boolean(members[1], self.false_boolean_value) - - if self.byte_value is not None: - serializer.write_byte(members[2], self.byte_value) - - if self.double_value is not None: - serializer.write_double(members[3], self.double_value) - - if self.float_value is not None: - serializer.write_float(members[4], self.float_value) - - if self.integer_value is not None: - serializer.write_integer(members[5], self.integer_value) - - if self.long_value is not None: - serializer.write_long(members[6], self.long_value) - - if self.short_value is not None: - serializer.write_short(members[7], self.short_value) - - if self.string_value is not None: - serializer.write_string(members[8], self.string_value) - - if self.blob_value is not None: - serializer.write_blob(members[9], self.blob_value) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SIMPLE_SCALAR_PROPERTIES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["true_boolean_value"] = de.read_boolean(members[0]) - - case 1: - kwargs["false_boolean_value"] = de.read_boolean(members[1]) - - case 2: - kwargs["byte_value"] = de.read_byte(members[2]) - - case 3: - kwargs["double_value"] = de.read_double(members[3]) - - case 4: - kwargs["float_value"] = de.read_float(members[4]) - - case 5: - kwargs["integer_value"] = de.read_integer(members[5]) - - case 6: - kwargs["long_value"] = de.read_long(members[6]) - - case 7: - kwargs["short_value"] = de.read_short(members[7]) - - case 8: - kwargs["string_value"] = de.read_string(members[8]) - - case 9: - kwargs["blob_value"] = de.read_blob(members[9]) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - SIMPLE_SCALAR_PROPERTIES = APIOperation( - input=SimpleScalarPropertiesInput, - output=SimpleScalarPropertiesOutput, static_schema=_SCHEMA_SIMPLE_SCALAR_PROPERTIES, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("smithy.api#noAuth")], ) - -def _serialize_sparse_string_list( - serializer: ShapeSerializer, schema: Schema, value: list[str | None] -) -> None: - member_schema = schema.members_by_index[0] - with serializer.begin_list(schema, len(value)) as ls: - for e in value: - if e is None: - ls.write_null(member_schema) - else: - ls.write_string(member_schema, e) - - -def _deserialize_sparse_string_list( - deserializer: ShapeDeserializer, schema: Schema -) -> list[str | None]: - result: list[str | None] = [] - member_schema = schema.members_by_index[0] - - def _read_value(d: ShapeDeserializer): - if d.is_null(): - d.read_null() - result.append(None) - else: - result.append(d.read_string(member_schema)) - - deserializer.read_list(schema, _read_value) - return result - - -@dataclass(kw_only=True) -class SparseNullsOperationInput: - """Dataclass for SparseNullsOperationInput structure.""" - - sparse_string_list: list[str | None] | None = None - - sparse_string_map: dict[str, str | None] | None = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SPARSE_NULLS_OPERATION_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SPARSE_NULLS_OPERATION_INPUT).members_by_index - if self.sparse_string_list is not None: - _serialize_sparse_string_list( - serializer, members[0], self.sparse_string_list - ) - - if self.sparse_string_map is not None: - _serialize_sparse_string_map(serializer, members[1], self.sparse_string_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SPARSE_NULLS_OPERATION_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["sparse_string_list"] = _deserialize_sparse_string_list( - de, members[0] - ) - - case 1: - kwargs["sparse_string_map"] = _deserialize_sparse_string_map( - de, members[1] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class SparseNullsOperationOutput: - """Dataclass for SparseNullsOperationOutput structure.""" - - sparse_string_list: list[str | None] | None = None - - sparse_string_map: dict[str, str | None] | None = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. - - Use this to recover the request identifiers a service's support team - needs in order to investigate a call. Members of the metadata are - individually optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_SPARSE_NULLS_OPERATION_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_SPARSE_NULLS_OPERATION_OUTPUT).members_by_index - if self.sparse_string_list is not None: - _serialize_sparse_string_list( - serializer, members[0], self.sparse_string_list - ) - - if self.sparse_string_map is not None: - _serialize_sparse_string_map(serializer, members[1], self.sparse_string_map) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_SPARSE_NULLS_OPERATION_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["sparse_string_list"] = _deserialize_sparse_string_list( - de, members[0] - ) - - case 1: - kwargs["sparse_string_map"] = _deserialize_sparse_string_map( - de, members[1] - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - SPARSE_NULLS_OPERATION = APIOperation( - input=SparseNullsOperationInput, - output=SparseNullsOperationOutput, static_schema=_SCHEMA_SPARSE_NULLS_OPERATION, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("smithy.api#noAuth")], ) - -@dataclass(kw_only=True) -class RecursiveShapesInputOutputNested1: - """Dataclass for RecursiveShapesInputOutputNested1 structure.""" - - foo: str | None = None - - nested: "RecursiveShapesInputOutputNested2 | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1 - ).members_by_index - if self.foo is not None: - serializer.write_string(members[0], self.foo) - - if self.nested is not None: - serializer.write_struct(members[1], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED1) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["foo"] = de.read_string(members[0]) - - case 1: - kwargs["nested"] = RecursiveShapesInputOutputNested2.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RecursiveShapesInputOutputNested2: - """Dataclass for RecursiveShapesInputOutputNested2 structure.""" - - bar: str | None = None - - recursive_member: "RecursiveShapesInputOutputNested1 | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct( - hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2), self - ) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate( - _SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2 - ).members_by_index - if self.bar is not None: - serializer.write_string(members[0], self.bar) - - if self.recursive_member is not None: - serializer.write_struct(members[1], self.recursive_member) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT_OUTPUT_NESTED2) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["bar"] = de.read_string(members[0]) - - case 1: - kwargs["recursive_member"] = ( - RecursiveShapesInputOutputNested1.deserialize(de) - ) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RecursiveShapesInput: - """Dataclass for RecursiveShapesInput structure.""" - - nested: "RecursiveShapesInputOutputNested1 | None" = None - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_SHAPES_INPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = RecursiveShapesInputOutputNested1.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - -@dataclass(kw_only=True) -class RecursiveShapesOutput: - """Dataclass for RecursiveShapesOutput structure.""" - - nested: "RecursiveShapesInputOutputNested1 | None" = None - - response_metadata: ResponseMetadata = field( - default=EMPTY_RESPONSE_METADATA, repr=False, compare=False - ) - """ - Metadata about the response that produced this output. - - Use this to recover the request identifiers a service's support team - needs in order to investigate a call. Members of the metadata are - individually optional. - """ - - def serialize(self, serializer: ShapeSerializer): - serializer.write_struct(hydrate(_SCHEMA_RECURSIVE_SHAPES_OUTPUT), self) - - def serialize_members(self, serializer: ShapeSerializer): - members = hydrate(_SCHEMA_RECURSIVE_SHAPES_OUTPUT).members_by_index - if self.nested is not None: - serializer.write_struct(members[0], self.nested) - - @classmethod - def deserialize(cls, deserializer: ShapeDeserializer) -> Self: - return cls(**cls.deserialize_kwargs(deserializer)) - - @classmethod - def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]: - kwargs: dict[str, Any] = {} - schema = hydrate(_SCHEMA_RECURSIVE_SHAPES_OUTPUT) - members = schema.members_by_index - - def _consumer(member_schema: Schema, de: ShapeDeserializer) -> None: - match member_schema.expect_member_index(): - case 0: - kwargs["nested"] = RecursiveShapesInputOutputNested1.deserialize(de) - - case _: - logger.debug("Unexpected member schema: %s", member_schema) - - deserializer.read_struct(schema, consumer=_consumer) - return kwargs - - RECURSIVE_SHAPES = APIOperation( - input=RecursiveShapesInput, - output=RecursiveShapesOutput, static_schema=_SCHEMA_RECURSIVE_SHAPES, - error_registry=TypeRegistry({}), + model_registry=_registry, + error_ids=[], effective_auth_schemes=[ShapeID("smithy.api#noAuth")], ) diff --git a/codegen-output/rpcv2-cbor/src/rpcv2cbor/models.pyi b/codegen-output/rpcv2-cbor/src/rpcv2cbor/models.pyi new file mode 100644 index 000000000..434d4c79f --- /dev/null +++ b/codegen-output/rpcv2-cbor/src/rpcv2cbor/models.pyi @@ -0,0 +1,377 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from dataclasses import dataclass +from datetime import datetime +from enum import IntEnum, StrEnum +from typing import Self, Union + +from smithy_core.deserializers import ShapeDeserializer +from smithy_core.exceptions import ModeledError +from smithy_core.response import ResponseMetadata +from smithy_core.schemas import APIOperation +from smithy_core.serializers import ShapeSerializer +from smithy_core.types import UnknownEnumMixin + +class _SerdeShape: + def serialize(self, serializer: ShapeSerializer) -> None: ... + def serialize_members(self, serializer: ShapeSerializer) -> None: ... + @classmethod + def deserialize(cls, deserializer: ShapeDeserializer) -> Self: ... + +class ServiceError(ModeledError): ... + +@dataclass(kw_only=True) +class ValidationException(ServiceError, _SerdeShape): + field_list: list[ValidationExceptionField] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ValidationExceptionField(_SerdeShape): + path: str + message: str + +@dataclass(kw_only=True) +class ClientOptionalDefaults(_SerdeShape): + member: int | None = ... + +@dataclass(kw_only=True) +class ComplexError(ServiceError, _SerdeShape): + top_level: str | None = ... + nested: ComplexNestedErrorData | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class ComplexNestedErrorData(_SerdeShape): + foo: str | None = ... + +@dataclass(kw_only=True) +class Defaults(_SerdeShape): + default_string: str | None = ... + default_boolean: bool | None = ... + default_list: list[str] | None = ... + default_timestamp: datetime | None = ... + default_blob: bytes | None = ... + default_byte: int | None = ... + default_short: int | None = ... + default_integer: int | None = ... + default_long: int | None = ... + default_float: float | None = ... + default_double: float | None = ... + default_map: dict[str, str] | None = ... + default_enum: str | None = ... + default_int_enum: int | None = ... + empty_string: str | None = ... + false_boolean: bool | None = ... + empty_blob: bytes | None = ... + zero_byte: int | None = ... + zero_short: int | None = ... + zero_integer: int | None = ... + zero_long: int | None = ... + zero_float: float | None = ... + zero_double: float | None = ... + +@dataclass(kw_only=True) +class EmptyInputOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class EmptyInputOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class Float16Input(_SerdeShape): + pass + +@dataclass(kw_only=True) +class Float16Output(_SerdeShape): + value: float | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class FractionalSecondsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class FractionalSecondsOutput(_SerdeShape): + datetime_: datetime | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class GreetingWithErrorsInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class GreetingWithErrorsOutput(_SerdeShape): + greeting: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class InvalidGreeting(ServiceError, _SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class NoInputOutputInput(_SerdeShape): + pass + +@dataclass(kw_only=True) +class NoInputOutputOutput(_SerdeShape): + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class OperationWithDefaultsInput(_SerdeShape): + defaults: Defaults | None = ... + client_optional_defaults: ClientOptionalDefaults | None = ... + top_level_default: str | None = ... + other_top_level_default: int | None = ... + +@dataclass(kw_only=True) +class OperationWithDefaultsOutput(_SerdeShape): + default_string: str | None = ... + default_boolean: bool | None = ... + default_list: list[str] | None = ... + default_timestamp: datetime | None = ... + default_blob: bytes | None = ... + default_byte: int | None = ... + default_short: int | None = ... + default_integer: int | None = ... + default_long: int | None = ... + default_float: float | None = ... + default_double: float | None = ... + default_map: dict[str, str] | None = ... + default_enum: str | None = ... + default_int_enum: int | None = ... + empty_string: str | None = ... + false_boolean: bool | None = ... + empty_blob: bytes | None = ... + zero_byte: int | None = ... + zero_short: int | None = ... + zero_integer: int | None = ... + zero_long: int | None = ... + zero_float: float | None = ... + zero_double: float | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class OptionalInputOutputInput(_SerdeShape): + value: str | None = ... + +@dataclass(kw_only=True) +class OptionalInputOutputOutput(_SerdeShape): + value: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class RecursiveShapesInput(_SerdeShape): + nested: RecursiveShapesInputOutputNested1 | None = ... + +@dataclass(kw_only=True) +class RecursiveShapesInputOutputNested1(_SerdeShape): + foo: str | None = ... + nested: RecursiveShapesInputOutputNested2 | None = ... + +@dataclass(kw_only=True) +class RecursiveShapesInputOutputNested2(_SerdeShape): + bar: str | None = ... + recursive_member: RecursiveShapesInputOutputNested1 | None = ... + +@dataclass(kw_only=True) +class RecursiveShapesOutput(_SerdeShape): + nested: RecursiveShapesInputOutputNested1 | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class RpcV2CborDenseMapsInput(_SerdeShape): + dense_struct_map: dict[str, GreetingStruct] | None = ... + dense_number_map: dict[str, int] | None = ... + dense_boolean_map: dict[str, bool] | None = ... + dense_string_map: dict[str, str] | None = ... + dense_set_map: dict[str, list[str]] | None = ... + +@dataclass(kw_only=True) +class RpcV2CborDenseMapsOutput(_SerdeShape): + dense_struct_map: dict[str, GreetingStruct] | None = ... + dense_number_map: dict[str, int] | None = ... + dense_boolean_map: dict[str, bool] | None = ... + dense_string_map: dict[str, str] | None = ... + dense_set_map: dict[str, list[str]] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class RpcV2CborListsInput(_SerdeShape): + string_list: list[str] | None = ... + string_set: list[str] | None = ... + integer_list: list[int] | None = ... + boolean_list: list[bool] | None = ... + timestamp_list: list[datetime] | None = ... + enum_list: list[str] | None = ... + int_enum_list: list[int] | None = ... + nested_string_list: list[list[str]] | None = ... + structure_list: list[StructureListMember] | None = ... + blob_list: list[bytes] | None = ... + +@dataclass(kw_only=True) +class RpcV2CborListsOutput(_SerdeShape): + string_list: list[str] | None = ... + string_set: list[str] | None = ... + integer_list: list[int] | None = ... + boolean_list: list[bool] | None = ... + timestamp_list: list[datetime] | None = ... + enum_list: list[str] | None = ... + int_enum_list: list[int] | None = ... + nested_string_list: list[list[str]] | None = ... + structure_list: list[StructureListMember] | None = ... + blob_list: list[bytes] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass +class RpcV2CborNestedUnionStringValue(_SerdeShape): + value: str + +@dataclass +class RpcV2CborNestedUnionUnknown(_SerdeShape): + tag: str + +RpcV2CborNestedUnion = Union[ + RpcV2CborNestedUnionStringValue | RpcV2CborNestedUnionUnknown +] + +class _RpcV2CborNestedUnionDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> RpcV2CborNestedUnion: ... + +@dataclass(kw_only=True) +class RpcV2CborSparseMapsInput(_SerdeShape): + sparse_struct_map: dict[str, GreetingStruct | None] | None = ... + sparse_number_map: dict[str, int | None] | None = ... + sparse_boolean_map: dict[str, bool | None] | None = ... + sparse_string_map: dict[str, str | None] | None = ... + sparse_set_map: dict[str, list[str] | None] | None = ... + +@dataclass(kw_only=True) +class RpcV2CborSparseMapsOutput(_SerdeShape): + sparse_struct_map: dict[str, GreetingStruct | None] | None = ... + sparse_number_map: dict[str, int | None] | None = ... + sparse_boolean_map: dict[str, bool | None] | None = ... + sparse_string_map: dict[str, str | None] | None = ... + sparse_set_map: dict[str, list[str] | None] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass +class RpcV2CborUnionStringValue(_SerdeShape): + value: str + +@dataclass +class RpcV2CborUnionUnionValue(_SerdeShape): + value: RpcV2CborNestedUnion + +@dataclass +class RpcV2CborUnionUnknown(_SerdeShape): + tag: str + +RpcV2CborUnion = Union[ + RpcV2CborUnionStringValue | RpcV2CborUnionUnionValue | RpcV2CborUnionUnknown +] + +class _RpcV2CborUnionDeserializer: + def deserialize(self, deserializer: ShapeDeserializer) -> RpcV2CborUnion: ... + +@dataclass(kw_only=True) +class RpcV2CborUnionsInput(_SerdeShape): + contents: RpcV2CborUnion | None = ... + other_value: str | None = ... + +@dataclass(kw_only=True) +class RpcV2CborUnionsOutput(_SerdeShape): + contents: RpcV2CborUnion | None = ... + other_value: str | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class SimpleScalarPropertiesInput(_SerdeShape): + true_boolean_value: bool | None = ... + false_boolean_value: bool | None = ... + byte_value: int | None = ... + double_value: float | None = ... + float_value: float | None = ... + integer_value: int | None = ... + long_value: int | None = ... + short_value: int | None = ... + string_value: str | None = ... + blob_value: bytes | None = ... + +@dataclass(kw_only=True) +class SimpleScalarPropertiesOutput(_SerdeShape): + true_boolean_value: bool | None = ... + false_boolean_value: bool | None = ... + byte_value: int | None = ... + double_value: float | None = ... + float_value: float | None = ... + integer_value: int | None = ... + long_value: int | None = ... + short_value: int | None = ... + string_value: str | None = ... + blob_value: bytes | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class SparseNullsOperationInput(_SerdeShape): + sparse_string_list: list[str | None] | None = ... + sparse_string_map: dict[str, str | None] | None = ... + +@dataclass(kw_only=True) +class SparseNullsOperationOutput(_SerdeShape): + sparse_string_list: list[str | None] | None = ... + sparse_string_map: dict[str, str | None] | None = ... + response_metadata: ResponseMetadata = ... + +@dataclass(kw_only=True) +class StructureListMember(_SerdeShape): + a: str | None = ... + b: str | None = ... + +class TestEnum(UnknownEnumMixin, StrEnum): + FOO = "FOO" + BAR = "BAR" + BAZ = "BAZ" + +class TestIntEnum(UnknownEnumMixin, IntEnum): + ONE = 1 + TWO = 2 + +class FooEnum(UnknownEnumMixin, StrEnum): + FOO = "Foo" + BAZ = "Baz" + BAR = "Bar" + ONE = "1" + ZERO = "0" + +@dataclass(kw_only=True) +class GreetingStruct(_SerdeShape): + hi: str | None = ... + +class IntegerEnum(UnknownEnumMixin, IntEnum): + A = 1 + B = 2 + C = 3 + +EMPTY_INPUT_OUTPUT: APIOperation[EmptyInputOutputInput, EmptyInputOutputOutput] +FLOAT16: APIOperation[Float16Input, Float16Output] +FRACTIONAL_SECONDS: APIOperation[FractionalSecondsInput, FractionalSecondsOutput] +GREETING_WITH_ERRORS: APIOperation[GreetingWithErrorsInput, GreetingWithErrorsOutput] +NO_INPUT_OUTPUT: APIOperation[NoInputOutputInput, NoInputOutputOutput] +OPERATION_WITH_DEFAULTS: APIOperation[ + OperationWithDefaultsInput, OperationWithDefaultsOutput +] +OPTIONAL_INPUT_OUTPUT: APIOperation[OptionalInputOutputInput, OptionalInputOutputOutput] +RECURSIVE_SHAPES: APIOperation[RecursiveShapesInput, RecursiveShapesOutput] +RPC_V2_CBOR_DENSE_MAPS: APIOperation[RpcV2CborDenseMapsInput, RpcV2CborDenseMapsOutput] +RPC_V2_CBOR_LISTS: APIOperation[RpcV2CborListsInput, RpcV2CborListsOutput] +RPC_V2_CBOR_SPARSE_MAPS: APIOperation[ + RpcV2CborSparseMapsInput, RpcV2CborSparseMapsOutput +] +RPC_V2_CBOR_UNIONS: APIOperation[RpcV2CborUnionsInput, RpcV2CborUnionsOutput] +SIMPLE_SCALAR_PROPERTIES: APIOperation[ + SimpleScalarPropertiesInput, SimpleScalarPropertiesOutput +] +SPARSE_NULLS_OPERATION: APIOperation[ + SparseNullsOperationInput, SparseNullsOperationOutput +] diff --git a/codegen-output/rpcv2-cbor/tests/_typecheck.py b/codegen-output/rpcv2-cbor/tests/_typecheck.py new file mode 100644 index 000000000..2fdda98d7 --- /dev/null +++ b/codegen-output/rpcv2-cbor/tests/_typecheck.py @@ -0,0 +1,85 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from typing import Any + +from rpcv2cbor.models import ( + ClientOptionalDefaults, + ComplexNestedErrorData, + Defaults, + EmptyInputOutputInput, + EmptyInputOutputOutput, + Float16Input, + Float16Output, + FractionalSecondsInput, + FractionalSecondsOutput, + GreetingStruct, + GreetingWithErrorsInput, + GreetingWithErrorsOutput, + NoInputOutputInput, + NoInputOutputOutput, + OperationWithDefaultsInput, + OperationWithDefaultsOutput, + OptionalInputOutputInput, + OptionalInputOutputOutput, + RecursiveShapesInput, + RecursiveShapesInputOutputNested1, + RecursiveShapesInputOutputNested2, + RecursiveShapesOutput, + RpcV2CborDenseMapsInput, + RpcV2CborDenseMapsOutput, + RpcV2CborListsInput, + RpcV2CborListsOutput, + RpcV2CborSparseMapsInput, + RpcV2CborSparseMapsOutput, + RpcV2CborUnionsInput, + RpcV2CborUnionsOutput, + SimpleScalarPropertiesInput, + SimpleScalarPropertiesOutput, + SparseNullsOperationInput, + SparseNullsOperationOutput, + StructureListMember, + ValidationExceptionField, +) + + +# Static type fixture: pyright over this validates models.pyi. +# Not executed as a test; it only needs to type-check. + +_: Any = ... + +ValidationExceptionField(path=_, message=_) +ClientOptionalDefaults() +ComplexNestedErrorData() +Defaults() +EmptyInputOutputInput() +EmptyInputOutputOutput() +Float16Input() +Float16Output() +FractionalSecondsInput() +FractionalSecondsOutput() +GreetingWithErrorsInput() +GreetingWithErrorsOutput() +NoInputOutputInput() +NoInputOutputOutput() +OperationWithDefaultsInput() +OperationWithDefaultsOutput() +OptionalInputOutputInput() +OptionalInputOutputOutput() +RecursiveShapesInput() +RecursiveShapesInputOutputNested1() +RecursiveShapesInputOutputNested2() +RecursiveShapesOutput() +RpcV2CborDenseMapsInput() +RpcV2CborDenseMapsOutput() +RpcV2CborListsInput() +RpcV2CborListsOutput() +RpcV2CborSparseMapsInput() +RpcV2CborSparseMapsOutput() +RpcV2CborUnionsInput() +RpcV2CborUnionsOutput() +SimpleScalarPropertiesInput() +SimpleScalarPropertiesOutput() +SparseNullsOperationInput() +SparseNullsOperationOutput() +StructureListMember() +GreetingStruct() diff --git a/codegen-output/rpcv2-cbor/tests/test_model_conformance.py b/codegen-output/rpcv2-cbor/tests/test_model_conformance.py new file mode 100644 index 000000000..c8cf164cc --- /dev/null +++ b/codegen-output/rpcv2-cbor/tests/test_model_conformance.py @@ -0,0 +1,13 @@ +# Code generated by smithy-python-codegen DO NOT EDIT. + +from pathlib import Path + +from smithy_test import verify_models + +from rpcv2cbor import models as _models +from rpcv2cbor._private import schemas as _schemas + + +def test_model_conformance() -> None: + pyi = Path(_models.__file__).with_suffix(".pyi") + verify_models(_models, _schemas, pyi_path=str(pyi) if pyi.exists() else None) diff --git a/codegen/core/src/it/java/software/amazon/smithy/python/codegen/test/PythonCodegenTest.java b/codegen/core/src/it/java/software/amazon/smithy/python/codegen/test/PythonCodegenTest.java index 8d5a84bfa..65bec161b 100644 --- a/codegen/core/src/it/java/software/amazon/smithy/python/codegen/test/PythonCodegenTest.java +++ b/codegen/core/src/it/java/software/amazon/smithy/python/codegen/test/PythonCodegenTest.java @@ -56,8 +56,9 @@ public void testCodegen(@TempDir Path tempDir) throws IOException { // An output that models a "responseMetadata" member gets both the SDK-reserved // response_metadata attribute and the escaped modeled member, so neither shadows - // the other. - var models = Files.readString(tempDir.resolve("src/weather/models.py")); + // the other. Field declarations live in the typed stub (models.py builds + // classes lazily at runtime), so the surface is asserted against models.pyi. + var models = Files.readString(tempDir.resolve("src/weather/models.pyi")); assertTrue(models.contains("response_metadata: ResponseMetadata")); assertTrue(models.contains("response_metadata_:")); diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/ClientGenerator.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/ClientGenerator.java index 4bc89eab0..45f2c1dcd 100644 --- a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/ClientGenerator.java +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/ClientGenerator.java @@ -255,17 +255,33 @@ private void generateOperation(PythonWriter writer, OperationShape operation) { var output = model.expectShape(operation.getOutputShape()); var outputSymbol = symbolProvider.toSymbol(output); - writer.putContext("input", inputSymbol); - writer.putContext("output", outputSymbol); + // Input/output types are used ONLY in annotations here. Import them under + // TYPE_CHECKING and reference by bare name (with future-annotations deferring + // the annotations) so importing the client does not eagerly build every model + // class. The operation constant below is a real runtime import. + writer.getImportContainer().enableFutureAnnotations(); + writer.getImportContainer() + .addTypeCheckingImport( + inputSymbol.getNamespace(), + inputSymbol.getName(), + inputSymbol.getName()); + writer.getImportContainer() + .addTypeCheckingImport( + outputSymbol.getNamespace(), + outputSymbol.getName(), + outputSymbol.getName()); + + writer.putContext("input", inputSymbol.getName()); + writer.putContext("output", outputSymbol.getName()); writer.putContext("plugin", pluginSymbol); writer.putContext("operationName", operationMethodSymbol.getName()); writer.putContext("operation", symbolProvider.toSymbol(operation)); writer.write(""" async def ${operationName:L}( self, - input: ${input:T}, + input: ${input:L}, plugins: list[${plugin:T}] | None = None - ) -> ${output:T}: + ) -> ${output:L}: ${C|} pipeline, call = await self._prepare_call( input, diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/DirectedPythonClientCodegen.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/DirectedPythonClientCodegen.java index d19bcda4c..1840033b2 100644 --- a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/DirectedPythonClientCodegen.java +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/DirectedPythonClientCodegen.java @@ -11,7 +11,6 @@ import java.util.Set; import java.util.logging.Logger; import software.amazon.smithy.codegen.core.SymbolProvider; -import software.amazon.smithy.codegen.core.TopologicalIndex; import software.amazon.smithy.codegen.core.directed.CreateContextDirective; import software.amazon.smithy.codegen.core.directed.CreateSymbolProviderDirective; import software.amazon.smithy.codegen.core.directed.CustomizeDirective; @@ -30,17 +29,14 @@ import software.amazon.smithy.model.shapes.ServiceShape; import software.amazon.smithy.model.shapes.ShapeId; import software.amazon.smithy.python.codegen.generators.ConfigGenerator; -import software.amazon.smithy.python.codegen.generators.EnumGenerator; +import software.amazon.smithy.python.codegen.generators.ConformanceTestGenerator; import software.amazon.smithy.python.codegen.generators.InitGenerator; -import software.amazon.smithy.python.codegen.generators.IntEnumGenerator; -import software.amazon.smithy.python.codegen.generators.ListGenerator; -import software.amazon.smithy.python.codegen.generators.MapGenerator; +import software.amazon.smithy.python.codegen.generators.ModelModuleGenerator; +import software.amazon.smithy.python.codegen.generators.ModelStubGenerator; import software.amazon.smithy.python.codegen.generators.OperationGenerator; import software.amazon.smithy.python.codegen.generators.ProtocolGenerator; import software.amazon.smithy.python.codegen.generators.SchemaGenerator; import software.amazon.smithy.python.codegen.generators.ServiceErrorGenerator; -import software.amazon.smithy.python.codegen.generators.StructureGenerator; -import software.amazon.smithy.python.codegen.generators.UnionGenerator; import software.amazon.smithy.python.codegen.integrations.PythonIntegration; import software.amazon.smithy.python.codegen.writer.PythonDelegator; import software.amazon.smithy.utils.SmithyUnstableApi; @@ -107,6 +103,14 @@ public void customizeBeforeShapeGeneration(CustomizeDirective(directive.connectedShapes().values()); + new ModelModuleGenerator(directive.context(), modelShapes).run(); + new ModelStubGenerator(directive.context(), modelShapes).run(); + new ConformanceTestGenerator(directive.context(), modelShapes).run(); + new ConfigGenerator(directive.settings(), directive.context()).run(); var serviceIndex = ServiceIndex.of(directive.model()); if (directive.context().applicationProtocol().isHttpProtocol()) { @@ -142,75 +146,37 @@ public void generateOperation(GenerateOperationDirective directive) { - directive.context().writerDelegator().useShapeWriter(directive.shape(), writer -> { - StructureGenerator generator = new StructureGenerator( - directive.context(), - writer, - directive.shape(), - TopologicalIndex.of(directive.model()).getRecursiveShapes()); - generator.run(); - }); + // Structures are built on demand at runtime; see ModelModuleGenerator. } @Override public void generateError(GenerateErrorDirective directive) { - directive.context().writerDelegator().useShapeWriter(directive.shape(), writer -> { - StructureGenerator generator = new StructureGenerator( - directive.context(), - writer, - directive.shape(), - TopologicalIndex.of(directive.model()).getRecursiveShapes()); - generator.run(); - }); + // Errors are built on demand at runtime; see ModelModuleGenerator. } @Override public void generateUnion(GenerateUnionDirective directive) { - directive.context().writerDelegator().useShapeWriter(directive.shape(), writer -> { - UnionGenerator generator = new UnionGenerator( - directive.context(), - writer, - directive.shape(), - TopologicalIndex.of(directive.model()).getRecursiveShapes()); - generator.run(); - }); + // Unions are built on demand at runtime; see ModelModuleGenerator. } @Override public void generateList(GenerateListDirective directive) { - var serSymbol = directive.context() - .symbolProvider() - .toSymbol(directive.shape()) - .expectProperty(SymbolProperties.SERIALIZER); - var delegator = directive.context().writerDelegator(); - delegator.useFileWriter(serSymbol.getDefinitionFile(), serSymbol.getNamespace(), writer -> { - new ListGenerator(directive.context(), writer, directive.shape()).run(); - }); + // List serde is handled generically by the runtime codec; nothing to emit. } @Override public void generateMap(GenerateMapDirective directive) { - var serSymbol = directive.context() - .symbolProvider() - .toSymbol(directive.shape()) - .expectProperty(SymbolProperties.SERIALIZER); - var delegator = directive.context().writerDelegator(); - delegator.useFileWriter(serSymbol.getDefinitionFile(), serSymbol.getNamespace(), writer -> { - new MapGenerator(directive.context(), writer, directive.shape()).run(); - }); + // Map serde is handled generically by the runtime codec; nothing to emit. } @Override public void generateEnumShape(GenerateEnumDirective directive) { - if (!directive.shape().isEnumShape()) { - return; - } - new EnumGenerator(directive.context(), directive.shape().asEnumShape().get()).run(); + // Enums are built on demand at runtime; see ModelModuleGenerator. } @Override public void generateIntEnumShape(GenerateIntEnumDirective directive) { - new IntEnumGenerator(directive).run(); + // Int enums are built on demand at runtime; see ModelModuleGenerator. } @Override diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/HttpProtocolTestGenerator.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/HttpProtocolTestGenerator.java index e7e761c3e..10c0fdf05 100644 --- a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/HttpProtocolTestGenerator.java +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/HttpProtocolTestGenerator.java @@ -611,7 +611,7 @@ private void assertResponseEqual(HttpMessageTestCase testCase, Shape operationOr writer.write(""" assert isinstance(actual.$1L, $2T) actual_body_content = await actual.$1L.read() - expected_body_content = await $3T(expected.$1L).read() + expected_body_content = await $3T(expected.$1L or b"").read() """, memberName, RuntimeTypes.ASYNC_BYTE_STREAM, RuntimeTypes.ASYNC_BYTES_READER); compareMediaBlob(testCase, writer); continue; diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/SchemaTraitFilterIndex.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/SchemaTraitFilterIndex.java index aee202da4..9e68cdb5b 100644 --- a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/SchemaTraitFilterIndex.java +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/SchemaTraitFilterIndex.java @@ -18,6 +18,7 @@ import software.amazon.smithy.model.traits.AuthDefinitionTrait; import software.amazon.smithy.model.traits.DefaultTrait; import software.amazon.smithy.model.traits.EndpointTrait; +import software.amazon.smithy.model.traits.EnumValueTrait; import software.amazon.smithy.model.traits.ErrorTrait; import software.amazon.smithy.model.traits.EventHeaderTrait; import software.amazon.smithy.model.traits.EventPayloadTrait; @@ -32,10 +33,12 @@ import software.amazon.smithy.model.traits.HttpResponseCodeTrait; import software.amazon.smithy.model.traits.HttpTrait; import software.amazon.smithy.model.traits.IdempotencyTokenTrait; +import software.amazon.smithy.model.traits.InputTrait; import software.amazon.smithy.model.traits.JsonNameTrait; import software.amazon.smithy.model.traits.LengthTrait; import software.amazon.smithy.model.traits.LongPollTrait; import software.amazon.smithy.model.traits.MediaTypeTrait; +import software.amazon.smithy.model.traits.OutputTrait; import software.amazon.smithy.model.traits.PatternTrait; import software.amazon.smithy.model.traits.ProtocolDefinitionTrait; import software.amazon.smithy.model.traits.RangeTrait; @@ -85,7 +88,10 @@ public final class SchemaTraitFilterIndex implements KnowledgeIndex { SensitiveTrait.ID, IdempotencyTokenTrait.ID, DefaultTrait.ID, // runtime populates default values + EnumValueTrait.ID, // runtime builds enum members with their wire value RequiredTrait.ID, // runtime enforcement + InputTrait.ID, // runtime input-structure nullability (@input members optional) + OutputTrait.ID, // runtime injects response_metadata on output structures TimestampFormatTrait.ID, // read per-member by smithy_http / smithy_aws_core serde ORIGINAL_SHAPE_ID, // rpcv2Cbor unit detection ServiceTrait.ID, // service metadata, including sdkId used by package docs diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/ConfigGenerator.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/ConfigGenerator.java index 06740755a..8f1e16064 100644 --- a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/ConfigGenerator.java +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/ConfigGenerator.java @@ -356,25 +356,46 @@ private void writeInterceptorsType(PythonWriter writer) { var operationShapes = TopDownIndex.of(context.model()) .getContainedOperations(settings.service()); - writer.addStdlibImport("typing", "Union"); + writer.addStdlibImports("typing", java.util.Set.of("TYPE_CHECKING", "Any", "Union")); writer.addDependency(SmithyPythonDependency.SMITHY_CORE); - writer.writeInline("_ServiceInterceptor = Union["); - var iter = operationShapes.iterator(); - while (iter.hasNext()) { - var operation = iter.next(); - var input = symbolProvider.toSymbol(context.model().expectShape(operation.getInputShape())); - var output = symbolProvider.toSymbol(context.model().expectShape(operation.getOutputShape())); - - // TODO: pull the transport request/response types off of the application protocol - writer.addStdlibImport("typing", "Any"); - writer.writeInline("$T[$T, $T, Any, Any]", RuntimeTypes.INTERCEPTOR, input, output); - if (iter.hasNext()) { - writer.writeInline(", "); - } else { - writer.writeInline("]"); - } + // Collect the input/output class names referenced by the interceptor union. + // They are emitted as a TYPE_CHECKING-only import + alias so they are NOT built + // at runtime: the models module builds classes lazily, and the interceptor union + // is only ever read as a type (the `interceptors` field annotation is a string + // under `from __future__ import annotations`). + var names = new java.util.TreeSet(); + var unionMembers = new java.util.ArrayList(); + for (var operation : operationShapes) { + var input = symbolProvider.toSymbol( + context.model().expectShape(operation.getInputShape())).getName(); + var output = symbolProvider.toSymbol( + context.model().expectShape(operation.getOutputShape())).getName(); + names.add(input); + names.add(output); + unionMembers.add(String.format("Interceptor[%s, %s, Any, Any]", input, output)); } + + writer.write("if TYPE_CHECKING:").indent(); + writer.write("from smithy_core.interceptors import Interceptor"); + writer.openBlock("from .models import (", ")", () -> { + for (var name : names) { + writer.write("$L,", name); + } + }); + writer.write(""); + writer.openBlock("_ServiceInterceptor = Union[", "]", () -> { + for (var member : unionMembers) { + writer.write("$L,", member); + } + }); + writer.dedent(); + // Runtime fallback: the precise union above is TYPE_CHECKING-only (it names every + // input/output class, which would build them all eagerly). At runtime the alias + // is Any so the `interceptors` field annotation resolves without building models. + writer.write("else:").indent(); + writer.write("_ServiceInterceptor = Any"); + writer.dedent(); writer.write(""); } diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/ConformanceTestGenerator.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/ConformanceTestGenerator.java new file mode 100644 index 000000000..a827332dd --- /dev/null +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/ConformanceTestGenerator.java @@ -0,0 +1,135 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ +package software.amazon.smithy.python.codegen.generators; + +import java.util.List; +import software.amazon.smithy.codegen.core.SymbolProvider; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.knowledge.NullableIndex; +import software.amazon.smithy.model.knowledge.OperationIndex; +import software.amazon.smithy.model.shapes.Shape; +import software.amazon.smithy.model.shapes.StructureShape; +import software.amazon.smithy.model.traits.ErrorTrait; +import software.amazon.smithy.python.codegen.CodegenUtils; +import software.amazon.smithy.python.codegen.GenerationContext; +import software.amazon.smithy.python.codegen.PythonSettings; +import software.amazon.smithy.python.codegen.SmithyPythonDependency; +import software.amazon.smithy.python.codegen.writer.PythonWriter; +import software.amazon.smithy.utils.SmithyInternalApi; + +/** + * Emits maintainer-only conformance tests into a generated client: + * + *
    + *
  • {@code tests/test_model_conformance.py} -- calls + * {@code smithy_test.verify_models} to assert every lazily-built model class + * matches its schema and the {@code models.pyi} stub at runtime. + *
  • {@code tests/_typecheck.py} -- a per-shape usage fixture; running pyright over + * it validates the stub's static types (the one layer runtime introspection + * cannot cover). + *
+ * + * These import {@code smithy_test}, a maintainer/test package customers do not depend + * on, so a shipped client carries no test weight. + */ +@SmithyInternalApi +public final class ConformanceTestGenerator implements Runnable { + + private final GenerationContext context; + private final PythonSettings settings; + private final Model model; + private final SymbolProvider symbolProvider; + private final List shapes; + + public ConformanceTestGenerator(GenerationContext context, List shapes) { + this.context = context; + this.settings = context.settings(); + this.model = context.model(); + this.symbolProvider = context.symbolProvider(); + this.shapes = shapes; + } + + @Override + public void run() { + writeConformanceTest(); + writeTypecheckFixture(); + } + + private void writeConformanceTest() { + var module = settings.moduleName(); + var filename = String.format("tests/test_model_conformance.py", module); + context.writerDelegator().useFileWriter(filename, "tests.test_model_conformance", writer -> { + // Register the test deps the raw-string imports below rely on, so the + // generated pyproject's test group installs them (CI's `uv pip install + // --group test` fails to import smithy_test otherwise). + writer.addDependency(SmithyPythonDependency.SMITHY_TEST); + writer.addDependency(SmithyPythonDependency.PYTEST); + writer.write(""" + from pathlib import Path + + from smithy_test import verify_models + + from $1L import models as _models + from $1L._private import schemas as _schemas + + + def test_model_conformance() -> None: + pyi = Path(_models.__file__).with_suffix(".pyi") + verify_models( + _models, + _schemas, + pyi_path=str(pyi) if pyi.exists() else None, + ) + """, module); + }); + } + + private void writeTypecheckFixture() { + var module = settings.moduleName(); + var filename = "tests/_typecheck.py"; + var index = NullableIndex.of(model); + var operationIndex = OperationIndex.of(model); + context.writerDelegator().useFileWriter(filename, "tests._typecheck", writer -> { + writer.write("# Static type fixture: pyright over this validates models.pyi."); + writer.write("# Not executed as a test; it only needs to type-check.\n"); + // Fills required members: Any is assignable to every field type, so the fixture + // verifies the stub's constructor accepts each kwarg, not the value's type. + writer.addStdlibImport("typing", "Any"); + writer.write("_: Any = ...\n"); + for (var shape : shapes) { + if (shape instanceof StructureShape struct && !struct.hasTrait(ErrorTrait.class)) { + writeStructUsage(writer, struct, index, operationIndex, module); + } + } + }); + } + + private void writeStructUsage( + PythonWriter writer, + StructureShape shape, + NullableIndex index, + OperationIndex operationIndex, + String module + ) { + var name = symbolProvider.toSymbol(shape).getName(); + writer.addImport(module + ".models", name); + // Construct with required (non-input) members so the type checker verifies the + // constructor signature the stub declares. + var args = new StringBuilder(); + if (!operationIndex.isInputStructure(shape)) { + for (var member : shape.members()) { + if (CodegenUtils.isRequiredMember(index, member) + && !CodegenUtils.isErrorMessage(model, member)) { + var memberName = symbolProvider.toMemberName(member); + if (args.length() > 0) { + args.append(", "); + } + args.append(memberName).append("=_"); + } + } + } + writer.write("$1L($2L)", name, args.toString()); + } +} diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/ModelModuleGenerator.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/ModelModuleGenerator.java new file mode 100644 index 000000000..7a4925e56 --- /dev/null +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/ModelModuleGenerator.java @@ -0,0 +1,141 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ +package software.amazon.smithy.python.codegen.generators; + +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeSet; +import software.amazon.smithy.model.loader.Prelude; +import software.amazon.smithy.model.shapes.Shape; +import software.amazon.smithy.model.shapes.ShapeType; +import software.amazon.smithy.python.codegen.GenerationContext; +import software.amazon.smithy.python.codegen.PythonSettings; +import software.amazon.smithy.python.codegen.SymbolProperties; +import software.amazon.smithy.python.codegen.writer.PythonWriter; +import software.amazon.smithy.utils.SmithyInternalApi; + +/** + * Emits the runtime {@code models.py}: a thin module that builds model classes on + * demand from the compact schemas via {@link smithy_core._dynamic_models.ModelRegistry}, + * instead of eager per-shape dataclasses. The typed surface for static tooling is + * emitted separately as {@code models.pyi}. + */ +@SmithyInternalApi +public final class ModelModuleGenerator implements Runnable { + + private final GenerationContext context; + private final PythonSettings settings; + private final List shapes; + + public ModelModuleGenerator(GenerationContext context, List shapes) { + this.context = context; + this.settings = context.settings(); + this.shapes = shapes; + } + + @Override + public void run() { + var module = settings.moduleName(); + var filename = String.format("src/%s/models.py", module); + var namespace = String.format("%s.models", module); + + context.writerDelegator().useFileWriter(filename, namespace, writer -> { + // addImport hoists these into the file's import block so they land at the + // top even though ServiceError/operations also write into this file. + writer.addImport("smithy_core._dynamic_models", "ModelRegistry"); + writer.addImport("._private", "schemas", "_schemas"); + + var symbolProvider = context.symbolProvider(); + // A shape whose generated symbol name differs from its shape-id name (a + // conflict resolved by renaming, e.g. two GreetingStruct in different + // namespaces) is unresolvable from the schema id name alone, which the + // index collapses to one entry. Map such symbols directly to their unique + // schema constant so build(symbol_name) finds the right schema. + var renames = new LinkedHashMap(); + // name -> schema-const for every model shape plus every union variant and + // Unknown class, so the registry resolves build(name) without hydrating the + // whole module just to construct this map. + var index = new LinkedHashMap(); + // every real shape-id name, so the registry reproduces the symbol provider's + // variant-name collision disambiguation at build time. + var shapeNames = new TreeSet(); + + for (var shape : shapes) { + if (!isModelShape(shape) || Prelude.isPreludeShape(shape)) { + continue; + } + var symbol = symbolProvider.toSymbol(shape); + var schemaRef = symbol.getProperty(SymbolProperties.SCHEMA); + if (schemaRef.isEmpty()) { + continue; + } + var constName = schemaRef.get().getSymbol().getName(); + // An enum/int-enum resolves to a generic `str`/`int` symbol carrying the + // real class name in ENUM_SYMBOL; reading symbol.getName() here would + // index/rename-detect against "str"/"int" and miss a renamed enum. + var classSymbol = symbol.getProperty(SymbolProperties.ENUM_SYMBOL) + .orElse(symbol); + var symbolName = classSymbol.getName(); + var idName = shape.getId().getName(); + shapeNames.add(idName); + index.put(idName, constName); + if (!symbolName.equals(idName)) { + renames.put(symbolName, constName); + } + if (shape.isUnionShape()) { + for (var member : shape.asUnionShape().get().members()) { + index.put(symbolProvider.toSymbol(member).getName(), constName); + } + index.put( + symbol.expectProperty(SymbolProperties.UNION_UNKNOWN).getName(), + constName); + } + } + + writer.openBlock("_registry = ModelRegistry(", ")\n", () -> { + writer.write("_schemas,"); + writeStringMap(writer, "renames", renames); + writeStringMap(writer, "index", index); + writer.openBlock("shape_names=frozenset({", "}),", () -> { + for (var name : shapeNames) { + writer.write("$S,", name); + } + }); + // The runtime bases modeled errors on this service's ServiceError (not + // ModeledError) so `except ServiceError` catches them, matching the eager + // generator. ServiceErrorGenerator emits it into this same models module. + writer.write("service_error=\"ServiceError\","); + }); + + // No runtime __all__: names are provided lazily by __getattr__ (a static + // __all__ would trip F822). The typed __all__Lives in models.pyi. + writer.write(""" + def __getattr__(name: str): + return _registry.build(name) + """); + }); + } + + private static void writeStringMap(PythonWriter writer, String keyword, Map map) { + if (map.isEmpty()) { + writer.write("$L={},", keyword); + return; + } + writer.openBlock(keyword + "={", "},", () -> { + for (var entry : map.entrySet()) { + writer.write("$S: $S,", entry.getKey(), entry.getValue()); + } + }); + } + + private boolean isModelShape(Shape shape) { + var t = shape.getType(); + return t == ShapeType.STRUCTURE + || t == ShapeType.UNION + || t == ShapeType.ENUM + || t == ShapeType.INT_ENUM; + } +} diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/ModelStubGenerator.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/ModelStubGenerator.java new file mode 100644 index 000000000..90486e97d --- /dev/null +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/ModelStubGenerator.java @@ -0,0 +1,235 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ +package software.amazon.smithy.python.codegen.generators; + +import java.util.ArrayList; +import java.util.List; +import software.amazon.smithy.codegen.core.SymbolProvider; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.knowledge.NullableIndex; +import software.amazon.smithy.model.knowledge.OperationIndex; +import software.amazon.smithy.model.shapes.EnumShape; +import software.amazon.smithy.model.shapes.MemberShape; +import software.amazon.smithy.model.shapes.OperationShape; +import software.amazon.smithy.model.shapes.Shape; +import software.amazon.smithy.model.shapes.StructureShape; +import software.amazon.smithy.model.shapes.UnionShape; +import software.amazon.smithy.model.traits.EnumValueTrait; +import software.amazon.smithy.model.traits.ErrorTrait; +import software.amazon.smithy.python.codegen.CodegenUtils; +import software.amazon.smithy.python.codegen.GenerationContext; +import software.amazon.smithy.python.codegen.PythonSettings; +import software.amazon.smithy.python.codegen.RuntimeTypes; +import software.amazon.smithy.python.codegen.SymbolProperties; +import software.amazon.smithy.python.codegen.writer.PythonWriter; +import software.amazon.smithy.utils.SmithyInternalApi; + +/** + * Emits {@code models.pyi}: the typed surface for static tooling. The runtime + * {@code models.py} builds these classes on demand; the stub declares them (and the + * operation constants, with concrete {@code APIOperation[Input, Output]} type args) so + * pyright and IDEs see the full types without importing the lazy runtime. + */ +@SmithyInternalApi +public final class ModelStubGenerator implements Runnable { + + private final GenerationContext context; + private final PythonSettings settings; + private final Model model; + private final SymbolProvider symbolProvider; + private final List shapes; + + public ModelStubGenerator(GenerationContext context, List shapes) { + this.context = context; + this.settings = context.settings(); + this.model = context.model(); + this.symbolProvider = context.symbolProvider(); + this.shapes = shapes; + } + + @Override + public void run() { + var module = settings.moduleName(); + var filename = String.format("src/%s/models.pyi", module); + var namespace = String.format("%s.models", module); + + context.writerDelegator().useFileWriter(filename, namespace, writer -> { + writer.addStdlibImport("dataclasses", "dataclass"); + writer.addStdlibImports("typing", java.util.Set.of("Union", "Self")); + writer.addImport("smithy_core.schemas", "APIOperation"); + writer.addImport("smithy_core.exceptions", "ModeledError"); + writer.addImport("smithy_core.serializers", "ShapeSerializer"); + writer.addImport("smithy_core.deserializers", "ShapeDeserializer"); + + // Concrete serde base: the runtime attaches these methods to every built + // model class, so declaring them here (implemented, not abstract) lets the + // classes satisfy SerializeableStruct/DeserializeableShape without listing + // the methods per class or appearing abstract to the type checker. + writer.write(""" + class _SerdeShape: + def serialize(self, serializer: ShapeSerializer) -> None: ... + def serialize_members(self, serializer: ShapeSerializer) -> None: ... + @classmethod + def deserialize(cls, deserializer: ShapeDeserializer) -> Self: ... + + class ServiceError(ModeledError): + ... + """); + + for (var shape : shapes) { + switch (shape.getType()) { + case STRUCTURE -> writeStruct(writer, shape.asStructureShape().get()); + case UNION -> writeUnion(writer, shape.asUnionShape().get()); + case ENUM -> writeEnum(writer, shape.asEnumShape().get()); + case INT_ENUM -> writeIntEnum(writer, shape.asIntEnumShape().get()); + default -> { + } + } + } + for (var shape : shapes) { + if (shape.isOperationShape()) { + writeOperation(writer, shape.asOperationShape().get()); + } + } + }); + } + + private void writeStruct(PythonWriter writer, StructureShape shape) { + var symbol = symbolProvider.toSymbol(shape); + var name = symbol.getName(); + writer.addLocallyDefinedSymbol(symbol); + var isError = shape.hasTrait(ErrorTrait.class); + var base = isError + ? "(ServiceError, _SerdeShape)" + : "(_SerdeShape)"; + var index = NullableIndex.of(model); + writer.openBlock("@dataclass(kw_only=True)\nclass $L$L:", "", name, base, () -> { + var members = shape.members() + .stream() + .filter(m -> !CodegenUtils.isErrorMessage(model, m)) + .toList(); + if (members.isEmpty() && !carriesResponseMetadata(shape)) { + writer.write("pass"); + return; + } + for (var member : members) { + var memberName = symbolProvider.toMemberName(member); + var mandatory = CodegenUtils.isRequiredMember(index, member) + && !OperationIndex.of(model).isInputStructure(shape); + if (mandatory) { + writer.write("$L: $T", memberName, memberTypeSymbol(member)); + } else { + writer.write("$L: $T | None = ...", memberName, memberTypeSymbol(member)); + } + } + if (carriesResponseMetadata(shape)) { + writer.write("response_metadata: $T = ...", RuntimeTypes.RESPONSE_METADATA); + } + }); + writer.write(""); + } + + private boolean carriesResponseMetadata(Shape shape) { + return shape.hasTrait(ErrorTrait.class) || OperationIndex.of(model).isOutputStructure(shape); + } + + private void writeUnion(PythonWriter writer, UnionShape shape) { + var parentSymbol = symbolProvider.toSymbol(shape); + var parentName = parentSymbol.getName(); + writer.addLocallyDefinedSymbol(parentSymbol); + var variantNames = new ArrayList(); + for (var member : shape.members()) { + var variantSymbol = symbolProvider.toSymbol(member); + var variantName = variantSymbol.getName(); + writer.addLocallyDefinedSymbol(variantSymbol); + variantNames.add(variantName); + var target = model.expectShape(member.getTarget()); + writer.openBlock( + "@dataclass\nclass $L(_SerdeShape):", + "", + variantName, + () -> writer.write("value: $T", valueTypeSymbol(target))); + writer.write(""); + } + var unknownSymbol = parentSymbol.expectProperty(SymbolProperties.UNION_UNKNOWN); + var unknownName = unknownSymbol.getName(); + writer.addLocallyDefinedSymbol(unknownSymbol); + writer.openBlock( + "@dataclass\nclass $L(_SerdeShape):", + "", + unknownName, + () -> writer.write("tag: str")); + writer.write(""); + variantNames.add(unknownName); + writer.write("$L = Union[$L]", parentName, String.join(" | ", variantNames)); + writer.write(""); + // The runtime builds a `_Deserializer().deserialize(d)` helper for event- + // stream unions; declare it so client.py's event-stream wiring type-checks. + var deserializerSymbol = parentSymbol.expectProperty(SymbolProperties.DESERIALIZER); + var deserializerName = deserializerSymbol.getName(); + writer.addLocallyDefinedSymbol(deserializerSymbol); + writer.openBlock( + "class $L:", + "", + deserializerName, + () -> writer.write( + "def deserialize(self, deserializer: ShapeDeserializer) -> $L: ...", + parentName)); + writer.write(""); + } + + private software.amazon.smithy.codegen.core.Symbol valueTypeSymbol(Shape target) { + // Enum members are typed as their base str/int (the symbol the provider gives a + // enum/int-enum shape), matching the eager generator: the field accepts the raw + // backing value, and the enum class is only a convenience for callers. + return symbolProvider.toSymbol(target); + } + + private software.amazon.smithy.codegen.core.Symbol memberTypeSymbol(MemberShape member) { + return symbolProvider.toSymbol(member); + } + + private void writeEnum(PythonWriter writer, EnumShape shape) { + var enumSymbol = symbolProvider.toSymbol(shape) + .expectProperty(SymbolProperties.ENUM_SYMBOL); + var name = enumSymbol.getName(); + writer.addLocallyDefinedSymbol(enumSymbol); + writer.addStdlibImport("enum", "StrEnum"); + writer.openBlock("class $L($T, StrEnum):", "", name, RuntimeTypes.UNKNOWN_ENUM_MIXIN, () -> { + for (var member : shape.members()) { + var memberName = symbolProvider.toMemberName(member); + var value = member.expectTrait(EnumValueTrait.class).expectStringValue(); + writer.write("$L = $S", memberName, value); + } + }); + writer.write(""); + } + + private void writeIntEnum(PythonWriter writer, software.amazon.smithy.model.shapes.IntEnumShape shape) { + var enumSymbol = symbolProvider.toSymbol(shape) + .expectProperty(SymbolProperties.ENUM_SYMBOL); + writer.addLocallyDefinedSymbol(enumSymbol); + writer.addStdlibImport("enum", "IntEnum"); + writer.openBlock("class $L($T, IntEnum):", + "", + enumSymbol.getName(), + RuntimeTypes.UNKNOWN_ENUM_MIXIN, + () -> { + for (var member : shape.members()) { + var memberName = symbolProvider.toMemberName(member); + var value = member.expectTrait(EnumValueTrait.class).expectIntValue(); + writer.write("$L = $L", memberName, value); + } + }); + writer.write(""); + } + + private void writeOperation(PythonWriter writer, OperationShape shape) { + var opName = symbolProvider.toSymbol(shape).getName(); + var inName = symbolProvider.toSymbol(model.expectShape(shape.getInputShape())).getName(); + var outName = symbolProvider.toSymbol(model.expectShape(shape.getOutputShape())).getName(); + writer.write("$L: APIOperation[$L, $L]", opName, inName, outName); + } +} diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/OperationGenerator.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/OperationGenerator.java index 53f627f09..1480903b4 100644 --- a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/OperationGenerator.java +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/OperationGenerator.java @@ -4,13 +4,11 @@ */ package software.amazon.smithy.python.codegen.generators; -import java.util.List; import java.util.logging.Logger; import software.amazon.smithy.codegen.core.SymbolProvider; import software.amazon.smithy.model.Model; import software.amazon.smithy.model.knowledge.ServiceIndex; import software.amazon.smithy.model.shapes.OperationShape; -import software.amazon.smithy.model.shapes.ShapeId; import software.amazon.smithy.python.codegen.GenerationContext; import software.amazon.smithy.python.codegen.RuntimeTypes; import software.amazon.smithy.python.codegen.SmithyPythonDependency; @@ -40,40 +38,31 @@ public OperationGenerator(GenerationContext context, PythonWriter writer, Operat public void run() { var opSymbol = symbolProvider.toSymbol(shape); writer.addLocallyDefinedSymbol(opSymbol); - var inSymbol = symbolProvider.toSymbol(model.expectShape(shape.getInputShape())); - var outSymbol = symbolProvider.toSymbol(model.expectShape(shape.getOutputShape())); - writer.addStdlibImport("dataclasses", "dataclass"); writer.addDependency(SmithyPythonDependency.SMITHY_CORE); writer.write(""" $1L = $2T( - input = $3T, - output = $4T, - static_schema = $5T, - error_registry = $6T({ - $7C - }), + static_schema = $3T, + model_registry = _registry, + error_ids = [ + $4C + ], effective_auth_schemes = [ - ${8C} + $5C ], ) """, opSymbol.getName(), RuntimeTypes.API_OPERATION, - inSymbol, - outSymbol, opSymbol.expectProperty(SymbolProperties.SCHEMA), - RuntimeTypes.TYPE_REGISTRY, - writer.consumer(this::writeErrorTypeRegistry), + writer.consumer(this::writeErrorIds), writer.consumer(this::writeAuthSchemes)); } - private void writeErrorTypeRegistry(PythonWriter writer) { - List errors = shape.getErrors(); - for (var error : errors) { - var errSymbol = symbolProvider.toSymbol(model.expectShape(error)); - writer.write("$1T($2S): $3T,", RuntimeTypes.SHAPE_ID, error, errSymbol); + private void writeErrorIds(PythonWriter writer) { + for (var error : shape.getErrors()) { + writer.write("$1T($2S),", RuntimeTypes.SHAPE_ID, error); } } diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/SchemaGenerator.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/SchemaGenerator.java index 2213b811b..a2308e692 100644 --- a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/SchemaGenerator.java +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/SchemaGenerator.java @@ -19,6 +19,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import software.amazon.smithy.codegen.core.TopologicalIndex; +import software.amazon.smithy.model.knowledge.OperationIndex; import software.amazon.smithy.model.loader.Prelude; import software.amazon.smithy.model.node.Node; import software.amazon.smithy.model.shapes.MemberShape; @@ -26,6 +27,9 @@ import software.amazon.smithy.model.shapes.Shape; import software.amazon.smithy.model.shapes.ShapeId; import software.amazon.smithy.model.shapes.ShapeType; +import software.amazon.smithy.model.traits.DefaultTrait; +import software.amazon.smithy.model.traits.InputTrait; +import software.amazon.smithy.model.traits.OutputTrait; import software.amazon.smithy.model.traits.UnitTypeTrait; import software.amazon.smithy.python.codegen.GenerationContext; import software.amazon.smithy.python.codegen.RuntimeTypes; @@ -411,17 +415,38 @@ private void writeTraits(PythonWriter writer, Map> trait private Map> filterTraits(Shape shape) { var traitFilter = SchemaTraitFilterIndex.of(context.model()); - return shape.getAllTraits() - .entrySet() - .stream() - .filter(t -> traitFilter.includeTrait(t.getKey())) - .collect(Collectors.toMap(Map.Entry::getKey, e -> { - var value = e.getValue().toNode(); - if (value.isObjectNode() && value.asObjectNode().get().getMembers().isEmpty()) { - return Optional.empty(); - } - return Optional.of(value); - })); + Map> filtered = new LinkedHashMap<>(); + for (var entry : shape.getAllTraits().entrySet()) { + if (!traitFilter.includeTrait(entry.getKey())) { + continue; + } + var value = entry.getValue().toNode(); + // An empty-object trait value normally means a valueless annotation trait, so + // it collapses to Optional.empty(). @default is exempt: `@default({})` and + // `@default([])` are real document values the runtime must rebuild, distinct + // from `@default(null)`. + if (value.isObjectNode() + && value.asObjectNode().get().getMembers().isEmpty() + && !entry.getKey().equals(DefaultTrait.ID)) { + filtered.put(entry.getKey(), Optional.empty()); + } else { + filtered.put(entry.getKey(), Optional.of(value)); + } + } + // Record the generator's own input/output nullability decision explicitly on + // the schema: OperationIndex treats operation I/O structures as @input/@output + // regardless of an authored trait, so the runtime reads one authoritative + // signal instead of reconstructing the operation graph. + if (shape.isStructureShape()) { + var operationIndex = OperationIndex.of(context.model()); + if (operationIndex.isInputStructure(shape)) { + filtered.put(InputTrait.ID, Optional.empty()); + } + if (operationIndex.isOutputStructure(shape)) { + filtered.put(OutputTrait.ID, Optional.empty()); + } + } + return filtered; } private int typeInt(Shape shape) { diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/SetupGenerator.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/SetupGenerator.java index eda45fc54..58d49d35e 100644 --- a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/SetupGenerator.java +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/generators/SetupGenerator.java @@ -172,6 +172,9 @@ private static void writePyproject( reportUnnecessaryComparison = false reportUnusedClass = false enableExperimentalFeatures = true + # models.py is the dynamic runtime; models.pyi carries the typed + # surface for consumers, so don't type-check the implementation body. + exclude = ["**/models.py"] [tool.ruff] target-version = "py312" diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/writer/ImportDeclarations.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/writer/ImportDeclarations.java index efb45dfa0..2c364fe69 100644 --- a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/writer/ImportDeclarations.java +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/writer/ImportDeclarations.java @@ -26,6 +26,10 @@ public final class ImportDeclarations implements ImportContainer { private final Map> stdlibImports = new TreeMap<>(); private final Map> externalImports = new TreeMap<>(); private final Map> localImports = new TreeMap<>(); + // Imports emitted inside `if TYPE_CHECKING:` -- used only in annotations, never at + // runtime. Requires `from __future__ import annotations` so annotations stay strings. + private final Map> typeCheckingImports = new TreeMap<>(); + private boolean futureAnnotations = false; private final PythonSettings settings; private final String localNamespace; @@ -57,6 +61,21 @@ public ImportDeclarations addImport(String namespace, String name, String alias) return addImportToMap(namespace, name, alias, externalImports); } + /** Enable `from __future__ import annotations` so annotations are deferred strings. */ + public void enableFutureAnnotations() { + this.futureAnnotations = true; + } + + /** Add an import that is emitted only inside `if TYPE_CHECKING:` (annotation-only). */ + public ImportDeclarations addTypeCheckingImport(String namespace, String name, String alias) { + var isTestModule = this.localNamespace.startsWith("tests"); + var ns = namespace.startsWith(settings.moduleName()) && !isTestModule + ? relativize(namespace) + : namespace; + enableFutureAnnotations(); + return addImportToMap(ns, name, alias, typeCheckingImports); + } + private String relativize(String namespace) { if (namespace.startsWith(localNamespace)) { return "." + namespace.substring(localNamespace.length()); @@ -154,10 +173,15 @@ private void aliasImportInMap( @Override public String toString() { - if (externalImports.isEmpty() && stdlibImports.isEmpty() && localImports.isEmpty()) { + if (externalImports.isEmpty() && stdlibImports.isEmpty() + && localImports.isEmpty() + && typeCheckingImports.isEmpty()) { return ""; } StringBuilder builder = new StringBuilder(); + if (futureAnnotations) { + builder.append("from __future__ import annotations\n\n"); + } if (!stdlibImports.isEmpty()) { formatImportList(builder, stdlibImports); } @@ -167,6 +191,20 @@ public String toString() { if (!localImports.isEmpty()) { formatImportList(builder, localImports); } + if (!typeCheckingImports.isEmpty()) { + builder.append("from typing import TYPE_CHECKING\n\n"); + builder.append("if TYPE_CHECKING:\n"); + var block = new StringBuilder(); + formatImportList(block, typeCheckingImports); + // indent the rendered imports into the TYPE_CHECKING block + for (var line : block.toString().split("\n", -1)) { + if (line.isEmpty()) { + builder.append("\n"); + } else { + builder.append(" ").append(line).append("\n"); + } + } + } builder.append("\n"); return builder.toString(); } diff --git a/packages/smithy-aws-core/src/smithy_aws_core/aio/protocols.py b/packages/smithy-aws-core/src/smithy_aws_core/aio/protocols.py index 77338706a..c8212e7d8 100644 --- a/packages/smithy-aws-core/src/smithy_aws_core/aio/protocols.py +++ b/packages/smithy-aws-core/src/smithy_aws_core/aio/protocols.py @@ -823,15 +823,15 @@ def _create_serializer( sink=sink, action=action, version=self._version, params=params ) - def _action_name( + def _action_name[I: SerializeableShape, O: DeserializeableShape]( self, - operation: APIOperation[SerializeableShape, DeserializeableShape], + operation: APIOperation[I, O], ) -> str: return operation.schema.id.name - def _response_wrapper_elements( + def _response_wrapper_elements[I: SerializeableShape, O: DeserializeableShape]( self, - operation: APIOperation[SerializeableShape, DeserializeableShape], + operation: APIOperation[I, O], ) -> tuple[str, ...]: name = operation.schema.id.name # Operations with no output members will omit the element. @@ -867,9 +867,9 @@ def _create_serializer( sink=sink, action=action, version=self._version, params=params ) - def _response_wrapper_elements( + def _response_wrapper_elements[I: SerializeableShape, O: DeserializeableShape]( self, - operation: APIOperation[SerializeableShape, DeserializeableShape], + operation: APIOperation[I, O], ) -> tuple[str, ...]: return (f"{operation.schema.id.name}Response",) diff --git a/packages/smithy-aws-core/tests/unit/aio/test_protocols.py b/packages/smithy-aws-core/tests/unit/aio/test_protocols.py index 6792943f1..b9408e6ef 100644 --- a/packages/smithy-aws-core/tests/unit/aio/test_protocols.py +++ b/packages/smithy-aws-core/tests/unit/aio/test_protocols.py @@ -33,6 +33,14 @@ from smithy_json import JSONSettings +class _StubRegistry: + def __init__(self, classes: dict[str, type]) -> None: + self._classes = classes + + def build(self, name: str) -> type: + return self._classes[name] + + @pytest.mark.parametrize( "header, expected", [ @@ -852,8 +860,6 @@ def _rest_xml_protocol() -> RestXmlClientProtocol: def _rest_xml_operation() -> APIOperation[Any, Any]: return APIOperation( - input=_EmptyInput, - output=_EmptyOutput, static_schema=( ShapeType.OPERATION.value, "com.test", @@ -863,7 +869,9 @@ def _rest_xml_operation() -> APIOperation[Any, Any]: _EMPTY_OUTPUT_SCHEMA, (_NO_SUCH_BUCKET_SCHEMA,), ), - error_registry=TypeRegistry({}), + model_registry=_StubRegistry( + {"EmptyInput": _EmptyInput, "EmptyOutput": _EmptyOutput} + ), effective_auth_schemes=[], ) diff --git a/packages/smithy-cbor/tests/benchmark/model.py b/packages/smithy-cbor/tests/benchmark/model.py index 66defc8ea..cb47dea50 100644 --- a/packages/smithy-cbor/tests/benchmark/model.py +++ b/packages/smithy-cbor/tests/benchmark/model.py @@ -22,7 +22,6 @@ from smithy_core.aio.interfaces import ProtocolSettings from smithy_core.deserializers import ShapeDeserializer -from smithy_core.documents import TypeRegistry from smithy_core.prelude import ( DOUBLE, INTEGER, @@ -348,9 +347,15 @@ def _consumer(schema: Schema, de: ShapeDeserializer) -> None: return kwargs +class _StubRegistry: + def __init__(self, classes: dict[str, type]) -> None: + self._classes = classes + + def build(self, name: str) -> type: + return self._classes[name] + + PUT_RECORDS_OPERATION: APIOperation[PutRecordsInput, PutRecordsOutput] = APIOperation( - input=PutRecordsInput, - output=PutRecordsOutput, static_schema=( ShapeType.OPERATION.value, _NS, @@ -360,6 +365,8 @@ def _consumer(schema: Schema, de: ShapeDeserializer) -> None: PUT_RECORDS_OUTPUT, (), ), - error_registry=TypeRegistry({}), + model_registry=_StubRegistry( + {"PutRecordsInput": PutRecordsInput, "PutRecordsOutput": PutRecordsOutput} + ), effective_auth_schemes=[ShapeID("smithy.api#noAuth")], ) diff --git a/packages/smithy-core/.changes/next-release/smithy-core-breaking-34fe2c948db04c26ad4f5f74bdd88589.json b/packages/smithy-core/.changes/next-release/smithy-core-breaking-34fe2c948db04c26ad4f5f74bdd88589.json new file mode 100644 index 000000000..eb163db3b --- /dev/null +++ b/packages/smithy-core/.changes/next-release/smithy-core-breaking-34fe2c948db04c26ad4f5f74bdd88589.json @@ -0,0 +1,4 @@ +{ + "type": "breaking", + "description": "Generated model classes are now built lazily from the schema on first access via a `ModelRegistry`, rather than defined eagerly at import. This moves per-class construction cost off the import/cold-start path." +} \ No newline at end of file diff --git a/packages/smithy-core/.changes/next-release/smithy-core-breaking-3fe38360eee74a54840e3d191dfe4f0e.json b/packages/smithy-core/.changes/next-release/smithy-core-breaking-3fe38360eee74a54840e3d191dfe4f0e.json new file mode 100644 index 000000000..2cfc29ca4 --- /dev/null +++ b/packages/smithy-core/.changes/next-release/smithy-core-breaking-3fe38360eee74a54840e3d191dfe4f0e.json @@ -0,0 +1,4 @@ +{ + "type": "breaking", + "description": "Removed the `input`/`output`/`error_registry` constructor overrides from `APIOperation`. Operations are now constructed from a `static_schema` tuple plus a `model_registry` that resolves input, output, and error types on demand." +} \ No newline at end of file diff --git a/packages/smithy-core/src/smithy_core/_dynamic_models.py b/packages/smithy-core/src/smithy_core/_dynamic_models.py new file mode 100644 index 000000000..028323346 --- /dev/null +++ b/packages/smithy-core/src/smithy_core/_dynamic_models.py @@ -0,0 +1,722 @@ +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +"""Build model classes on demand from compact schemas. + +A generated ``models.py`` is a thin module: it binds one :py:class:`ModelRegistry` +to its ``_private.schemas`` module and defers to ``registry.build(name)`` from a +module ``__getattr__``. No per-shape class source is emitted; the registry +synthesizes the dataclass (or union variants, enum, or error class) on first +access and the generic codec here serializes it by walking its hydrated schema. + +The per-member reader/writer is resolved once and cached on the member schema via +a :py:class:`SchemaExtension`, so steady-state serde does the same work as +straight-line generated code reached through a cached callable rather than a type +match on every call. +""" + +from __future__ import annotations + +import datetime +from base64 import b64decode +from collections.abc import Collection +from dataclasses import field as _field +from dataclasses import make_dataclass +from decimal import Decimal +from enum import IntEnum, StrEnum +from threading import RLock +from types import ModuleType +from typing import TYPE_CHECKING, Any, cast, dataclass_transform + +from ._model_naming import member_field_name, union_unknown_name, variant_class_name +from ._schema_compact import hydrate +from .deserializers import ShapeDeserializer +from .exceptions import ModeledError +from .schemas import Schema, SchemaExtension +from .serializers import ShapeSerializer +from .shapes import ShapeID, ShapeType +from .traits import ( + DefaultTrait, + EnumValueTrait, + ErrorTrait, + RequiredTrait, + SensitiveTrait, + SparseTrait, + StreamingTrait, +) +from .types import UnknownEnumMixin + +if TYPE_CHECKING: + from collections.abc import Callable + +type _Writer = "Callable[[ShapeSerializer, Schema, Any], None]" +type _Reader = "Callable[[ShapeDeserializer, Schema], Any]" + + +def _scalar(write_name: str, read_name: str) -> tuple[_Writer, _Reader]: + def w(s: ShapeSerializer, m: Schema, v: Any) -> None: + getattr(s, write_name)(m, v) + + def r(d: ShapeDeserializer, m: Schema) -> Any: + return getattr(d, read_name)(m) + + return w, r + + +_SCALAR_CODECS: dict[ShapeType, tuple[_Writer, _Reader]] = { + ShapeType.BOOLEAN: _scalar("write_boolean", "read_boolean"), + ShapeType.STRING: _scalar("write_string", "read_string"), + ShapeType.TIMESTAMP: _scalar("write_timestamp", "read_timestamp"), + ShapeType.BLOB: _scalar("write_blob", "read_blob"), + ShapeType.BYTE: _scalar("write_byte", "read_byte"), + ShapeType.SHORT: _scalar("write_short", "read_short"), + ShapeType.INTEGER: _scalar("write_integer", "read_integer"), + ShapeType.LONG: _scalar("write_long", "read_long"), + ShapeType.FLOAT: _scalar("write_float", "read_float"), + ShapeType.DOUBLE: _scalar("write_double", "read_double"), + ShapeType.BIG_INTEGER: _scalar("write_big_integer", "read_big_integer"), + ShapeType.BIG_DECIMAL: _scalar("write_big_decimal", "read_big_decimal"), + ShapeType.DOCUMENT: _scalar("write_document", "read_document"), +} + +_PY_SCALAR: dict[ShapeType, Any] = { + ShapeType.BOOLEAN: bool, + ShapeType.STRING: str, + ShapeType.ENUM: str, + ShapeType.TIMESTAMP: datetime.datetime, + ShapeType.BLOB: bytes, + ShapeType.BYTE: int, + ShapeType.SHORT: int, + ShapeType.INTEGER: int, + ShapeType.INT_ENUM: int, + ShapeType.LONG: int, + ShapeType.FLOAT: float, + ShapeType.DOUBLE: float, + ShapeType.BIG_INTEGER: int, + ShapeType.BIG_DECIMAL: Decimal, + ShapeType.DOCUMENT: Any, + ShapeType.LIST: list, + ShapeType.MAP: dict, +} + + +# Sentinel: a mandatory member (no dataclass default); emitted as a 2-tuple field. +_MANDATORY = object() + +# Client error-correction defaults by scalar shape type (Smithy spec § client error +# correction). Mirrors MemberErrorCorrectionGenerator. Enum/int-enum fill the raw +# placeholder the dynamic serde uses ("" / -1), not an enum instance. +_CORRECTION_SCALARS: dict[ShapeType, Any] = { + ShapeType.BOOLEAN: lambda: False, + ShapeType.STRING: lambda: "", + ShapeType.ENUM: lambda: "", + ShapeType.INT_ENUM: lambda: -1, + ShapeType.BYTE: lambda: 0, + ShapeType.SHORT: lambda: 0, + ShapeType.INTEGER: lambda: 0, + ShapeType.LONG: lambda: 0, + ShapeType.BIG_INTEGER: lambda: 0, + ShapeType.FLOAT: lambda: 0.0, + ShapeType.DOUBLE: lambda: 0.0, + ShapeType.BIG_DECIMAL: lambda: Decimal(0), + ShapeType.BLOB: lambda: b"", + ShapeType.TIMESTAMP: lambda: datetime.datetime.fromtimestamp(0, tz=datetime.UTC), + ShapeType.LIST: list, + ShapeType.MAP: dict, + ShapeType.DOCUMENT: lambda: _document(None), +} + + +def _document(value: Any) -> Any: + from .documents import Document + + return Document(value) + + +# The generator synthesizes @input/@output onto operation I/O structures (see +# SchemaGenerator.filterTraits), so these are the authoritative nullability signals. +_INPUT_TRAIT = ShapeID("smithy.api#input") +_OUTPUT_TRAIT = ShapeID("smithy.api#output") + + +@dataclass_transform(kw_only_default=True) +class ModelRegistry: + """Builds and caches model classes for one generated client from its schemas. + + CAUTION: ``schemas_module`` must be the client's ``_private.schemas``. Generated + clients pass a codegen-built ``index`` and ``shape_names`` so no shape is hydrated + until first requested; absent those, the registry falls back to hydrating every + schema once to build the index. + """ + + def __init__( + self, + schemas_module: ModuleType, + renames: dict[str, str] | None = None, + *, + index: dict[str, str] | None = None, + shape_names: Collection[str] | None = None, + service_error: str | None = None, + ) -> None: + self._schemas = schemas_module + self._renames = renames or {} + self._classes: dict[str, type] = {} + self._union_schemas: dict[str, Schema] = {} + # Reentrant because build() recurses: unions build their variants, and a + # member codec resolves nested targets through build(). Guards the + # read-miss-build-store on _classes so concurrent builders of one shape + # cannot publish two distinct class objects. + self._lock = RLock() + # A codegen-supplied index (name -> schema-const, variant/unknown names already + # disambiguated) lets the registry resolve a build() without hydrating every + # schema in the module just to map names; the scanning fallback hydrates all. + self._index: dict[str, str] | None = index + self._shape_names: set[str] = set(shape_names) if shape_names else set() + # Generated clients name their per-service error base (a ModeledError subclass + # emitted into the models module). Modeled errors extend it so `except + # ServiceError` catches them; a hand-built registry omits it and falls back to + # ModeledError. + self._service_error_name = service_error + self._codec = SchemaExtension(self._resolve_member_codec) + self._field_names_ext = SchemaExtension(self._compute_field_names) + + def _error_base(self) -> type: + if self._service_error_name is None: + return ModeledError + return getattr(self._models_module, self._service_error_name) + + @property + def _models_module_name(self) -> str: + return self._schemas.__name__.rsplit(".", 2)[0] + ".models" + + @property + def _models_module(self) -> ModuleType: + import sys + + return sys.modules[self._models_module_name] + + def _field_names(self, schema: Schema) -> tuple[str, ...]: + return schema.get_extension(self._field_names_ext) + + def _is_input(self, schema: Schema) -> bool: + return schema.get_trait(_INPUT_TRAIT) is not None + + def _is_output(self, schema: Schema) -> bool: + return schema.get_trait(_OUTPUT_TRAIT) is not None + + def _compute_field_names(self, schema: Schema) -> tuple[str, ...]: + self._ensure_index() + is_error = schema.get_trait(ErrorTrait) is not None + is_enum = schema.shape_type in (ShapeType.ENUM, ShapeType.INT_ENUM) + carries_md = is_error or self._is_output(schema) + return tuple( + member_field_name( + member.expect_member_name(), + is_error=is_error, + carries_response_metadata=carries_md, + is_enum=is_enum, + ) + for member in schema.members_by_index + ) + + def build(self, name: str) -> type: + cached = self._classes.get(name) + if cached is not None: + return cached + with self._lock: + cached = self._classes.get(name) + if cached is not None: + return cached + index = self._ensure_index() + # Event-stream union deserializer helper: _Deserializer().deserialize(d). + if name.startswith("_") and name.endswith("Deserializer"): + union_name = name[1 : -len("Deserializer")] + if union_name in index: + built = self._build_union_deserializer(union_name) + self._classes[name] = built + return built + module = self._models_module_name + renamed = self._renames.get(name) + if renamed is not None: + const = renamed + elif name in index: + const = index[name] + else: + # smithy.api#Unit is a prelude empty struct used as a union variant + # target; it is not emitted as a generated schema constant, so build it + # from the prelude. + if name == "Unit": + from .prelude import UNIT + + built = self._build_struct("Unit", UNIT) + built.__module__ = module + self._classes[name] = built + return built + raise AttributeError(name) + schema = hydrate(getattr(self._schemas, const)) + if schema.shape_type == ShapeType.UNION: + self._build_union(schema.id.name, schema) + return self._classes[name] + if schema.shape_type in (ShapeType.ENUM, ShapeType.INT_ENUM): + built = self._build_enum(name, schema) + else: + built = self._build_struct(name, schema) + built.__module__ = module + self._classes[name] = built + return built + + def _build_union_deserializer(self, union_name: str) -> type: + # Ensure the union (and its variants + schema) are registered. + self.build(union_name) + registry = self + + def deserialize(self: Any, deserializer: ShapeDeserializer) -> Any: + return registry._deserialize_union(deserializer, union_name) + + return type(f"_{union_name}Deserializer", (), {"deserialize": deserialize}) + + def serialize_members( + self, instance: Any, serializer: ShapeSerializer, schema: Schema + ) -> None: + field_names = self._field_names(schema) + for i, member in enumerate(schema.members_by_index): + value = getattr(instance, field_names[i]) + if value is None: + continue + writer, _ = member.get_extension(self._codec) + writer(serializer, member, value) + + def deserialize_kwargs( + self, deserializer: ShapeDeserializer, schema: Schema + ) -> dict[str, Any]: + kwargs: dict[str, Any] = {} + by_index = schema.members_by_index + field_names = self._field_names(schema) + + def consume(member_schema: Schema, de: ShapeDeserializer) -> None: + idx = member_schema.expect_member_index() + _, reader = by_index[idx].get_extension(self._codec) + kwargs[field_names[idx]] = reader(de, by_index[idx]) + + deserializer.read_struct(schema, consumer=consume) + if not self._is_input(schema): + self._error_correct(schema, kwargs, field_names, by_index) + return kwargs + + def _error_correct( + self, + schema: Schema, + kwargs: dict[str, Any], + field_names: tuple[str, ...], + by_index: tuple[Schema, ...], + ) -> None: + """Fill @required members a non-compliant server omitted (Smithy client error correction).""" + for i, member in enumerate(by_index): + fname = field_names[i] + if fname in kwargs: + continue + if member.get_trait(RequiredTrait) is None: + continue + if member.get_trait(DefaultTrait) is not None: + continue + kwargs[fname] = self._correction_default(member) + + def _correction_default(self, member: Schema) -> Any: + st = member.shape_type + if st == ShapeType.STRUCTURE: + target = member.expect_member_target().id.name + return self.build(target)._smithy_default() # type: ignore[attr-defined] + if st == ShapeType.UNION: + target = member.expect_member_target().id.name + return self.build(union_unknown_name(target, self._shape_names))(tag="") + return _CORRECTION_SCALARS[st]() + + def _build_struct(self, name: str, schema: Schema) -> type: + is_error = schema.get_trait(ErrorTrait) is not None + # Per Smithy @input structure constraints, every member of an input + # structure is effectively optional regardless of @required; only + # non-input structures make a @required, non-@default member mandatory. + input_nullable = self._is_input(schema) + field_names = self._field_names(schema) + fields: list[Any] = [] + for i, member in enumerate(schema.members_by_index): + spec = self._field_spec(member, input_nullable) + if spec is _MANDATORY: + fields.append((field_names[i], _py_type(member))) + else: + fields.append((field_names[i], _py_type(member), spec)) + bases: tuple[type, ...] = (self._error_base(),) if is_error else () + # Operation outputs carry a non-modeled response_metadata attribute, excluded + # from eq and repr. Errors inherit it from ModeledError instead. + if not is_error and self._is_output(schema): + from .response import EMPTY_RESPONSE_METADATA, ResponseMetadata + + fields.append( + ( + "response_metadata", + ResponseMetadata, + _field(default=EMPTY_RESPONSE_METADATA, repr=False, compare=False), + ) + ) + return make_dataclass( + name, + fields, + bases=bases, + kw_only=True, + namespace=self._struct_namespace(schema), + ) + + def _build_enum(self, name: str, schema: Schema) -> type: + # Mirrors EnumGenerator/IntEnumGenerator: UnknownEnumMixin first base, member + # name from the symbol-provider namer, wire value from the enumValue trait (the + # member name is only the default when the trait is absent). + is_int = schema.shape_type is ShapeType.INT_ENUM + base: type = IntEnum if is_int else StrEnum + members: dict[str, Any] = {} + for member in schema.members_by_index: + member_name = member.expect_member_name() + value_trait = member.get_trait(EnumValueTrait) + value = value_trait.value if value_trait is not None else member_name + members[ + member_field_name( + member_name, + is_error=False, + carries_response_metadata=False, + is_enum=True, + ) + ] = value + bases = (UnknownEnumMixin, base) + meta = type(base) + ns = cast("dict[str, Any]", meta.__prepare__(name, bases)) + for field_name, value in members.items(): + ns[field_name] = value + return cast(type, meta(name, bases, ns)) + + def _field_spec(self, member: Schema, input_nullable: bool) -> Any: + """The dataclass default for a member. + + A member is mandatory (no default) only when its container is NOT an input + structure, it is @required, and it has no @default. Input-structure members + are always nullable (``| None = None``) per the Smithy @input constraints. + Sensitive members get repr=False; @default values are typed; list/map/document + defaults use default_factory. + """ + sensitive = member.get_trait(SensitiveTrait) is not None + default_trait = member.get_trait(DefaultTrait) + required = member.get_trait(RequiredTrait) is not None + + if default_trait is None: + if required and not input_nullable: + return _field(repr=False) if sensitive else _MANDATORY + return _field(default=None, repr=False) if sensitive else None + + factory = self._default_factory(member, default_trait) + if factory is not None: + if sensitive: + return _field(default_factory=factory, repr=False) + return _field(default_factory=factory) + value = self._default_value(member, default_trait) + return _field(default=value, repr=False) if sensitive else value + + def _default_value(self, member: Schema, trait: DefaultTrait) -> Any: + st = member.shape_type + raw = trait.value + if raw is None: + return None # null default -> None (member is nullable) + if st == ShapeType.TIMESTAMP: + return _parse_timestamp(member, raw) + if st == ShapeType.BLOB: + return b64decode(raw) # type: ignore[arg-type] + if st in (ShapeType.ENUM, ShapeType.INT_ENUM): + return ( + raw # built value is the raw string/int; enum classes are StrEnum/int + ) + return raw + + def _default_factory(self, member: Schema, trait: DefaultTrait) -> Any: + st = member.shape_type + if st == ShapeType.LIST: + return list + if st == ShapeType.MAP: + return dict + if st == ShapeType.DOCUMENT: + # Matches StructureGenerator: a document @default resolves to Document(value). + # The compact schema preserves an object default as a Mapping, an array as a + # tuple, and null as None (a non-None Document(None)). + from collections.abc import Mapping + + raw = trait.value + value: Any + if isinstance(raw, Mapping): + value = dict(raw) + elif isinstance(raw, (tuple, list)): + value = list(raw) + else: + value = raw + return lambda: _document(value) + return None + + def _build_union(self, name: str, schema: Schema) -> None: + module = self._models_module_name + for member in schema.members_by_index: + vname = variant_class_name( + name, member.expect_member_name(), self._shape_names + ) + variant = self._build_variant(vname, schema, member.expect_member_index()) + variant.__module__ = module + self._classes[vname] = variant + unknown = union_unknown_name(name, self._shape_names) + unknown_cls = make_dataclass(unknown, [("tag", str)]) + unknown_cls.__module__ = module + self._classes[unknown] = unknown_cls + self._union_schemas[name] = schema + # A tagged union has no single runtime class; expose a marker so the name + # resolves. Static code uses the .pyi union alias, not this object. + marker = make_dataclass(name, []) + marker.__module__ = module + self._classes[name] = marker + + def _build_variant(self, vname: str, union_schema: Schema, index: int) -> type: + registry = self + + def serialize(self: Any, serializer: ShapeSerializer) -> None: + serializer.write_struct(union_schema, self) + + def serialize_members(self: Any, serializer: ShapeSerializer) -> None: + member = union_schema.members_by_index[index] + writer, _ = member.get_extension(registry._codec) + writer(serializer, member, self.value) + + @classmethod # type: ignore[misc] + def deserialize(cls: type, deserializer: ShapeDeserializer) -> Any: + member = union_schema.members_by_index[index] + _, reader = member.get_extension(registry._codec) + return cls(value=reader(deserializer, member)) + + return make_dataclass( + vname, + [("value", Any)], + namespace={ + "serialize": serialize, + "serialize_members": serialize_members, + "deserialize": deserialize, + }, + ) + + def _struct_namespace(self, schema: Schema) -> dict[str, Any]: + registry = self + + def serialize(self: Any, serializer: ShapeSerializer) -> None: + serializer.write_struct(schema, self) + + def serialize_members(self: Any, serializer: ShapeSerializer) -> None: + registry.serialize_members(self, serializer, schema) + + @classmethod # type: ignore[misc] + def deserialize(cls: type, deserializer: ShapeDeserializer) -> Any: + return cls(**registry.deserialize_kwargs(deserializer, schema)) + + @classmethod # type: ignore[misc] + def _smithy_default(cls: type) -> Any: + field_names = registry._field_names(schema) + by_index = schema.members_by_index + kwargs: dict[str, Any] = {} + registry._error_correct(schema, kwargs, field_names, by_index) + return cls(**kwargs) + + return { + "serialize": serialize, + "serialize_members": serialize_members, + "deserialize": deserialize, + "_smithy_default": _smithy_default, + } + + def _deserialize_union(self, deserializer: ShapeDeserializer, name: str) -> Any: + schema = self._union_schemas[name] + by_index = schema.members_by_index + result: list[Any] = [None] + + def consume(member_schema: Schema, de: ShapeDeserializer) -> None: + member = by_index[member_schema.expect_member_index()] + _, reader = member.get_extension(self._codec) + variant = self.build( + variant_class_name(name, member.expect_member_name(), self._shape_names) + ) + result[0] = variant(value=reader(de, member)) + + deserializer.read_struct(schema, consumer=consume) + if result[0] is None: + result[0] = self.build(union_unknown_name(name, self._shape_names))( + tag="unknown" + ) + return result[0] + + def _is_streaming(self, member: Schema) -> bool: + try: + target = member.expect_member_target() + except Exception: + return False + return target.get_trait(StreamingTrait) is not None + + def _resolve_member_codec(self, member: Schema) -> tuple[_Writer, _Reader]: + st = member.shape_type + if st == ShapeType.BLOB and self._is_streaming(member): + return _scalar("write_data_stream", "read_data_stream") + if st in (ShapeType.ENUM, ShapeType.INT_ENUM): + # A StrEnum/IntEnum serializes as its bare str/int, but deserialize must + # coerce the raw primitive back through the enum class (matching the eager + # EnumGenerator's `EnumClass(read_string(...))`). + is_int = st == ShapeType.INT_ENUM + enum_cls = self.build(member.expect_member_target().id.name) + write_name = "write_integer" if is_int else "write_string" + read_name = "read_integer" if is_int else "read_string" + + def we(s: ShapeSerializer, m: Schema, v: Any) -> None: + getattr(s, write_name)(m, v) + + def re(d: ShapeDeserializer, m: Schema) -> Any: + return enum_cls(getattr(d, read_name)(m)) + + return we, re + scalar = _SCALAR_CODECS.get(st) + if scalar is not None: + return scalar + if st == ShapeType.STRUCTURE: + target = member.expect_member_target().id.name + + def wr(s: ShapeSerializer, m: Schema, v: Any) -> None: + s.write_struct(m, v) + + def rr(d: ShapeDeserializer, m: Schema) -> Any: + from typing import cast + + from .deserializers import DeserializeableShape + + return cast( + "type[DeserializeableShape]", self.build(target) + ).deserialize(d) + + return wr, rr + if st == ShapeType.UNION: + target = member.expect_member_target().id.name + self.build(target) # ensure union schema is registered + + def wu(s: ShapeSerializer, m: Schema, v: Any) -> None: + s.write_struct(m, v) + + def ru(d: ShapeDeserializer, m: Schema) -> Any: + return self._deserialize_union(d, target) + + return wu, ru + if st == ShapeType.LIST: + collection = member.expect_member_target() + elem = collection.members_by_index[0] + return self._list_codec(elem, collection.get_trait(SparseTrait) is not None) + if st == ShapeType.MAP: + collection = member.expect_member_target() + value_member = collection.members["value"] + return self._map_codec( + value_member, collection.get_trait(SparseTrait) is not None + ) + raise NotImplementedError(f"no codec for shape type {st}") + + def _list_codec(self, elem: Schema, sparse: bool) -> tuple[_Writer, _Reader]: + def w(s: ShapeSerializer, m: Schema, v: list[Any]) -> None: + ew, _ = elem.get_extension(self._codec) + with s.begin_list(m, len(v)) as ls: + for e in v: + if sparse and e is None: + ls.write_null(elem) + else: + ew(ls, elem, e) + + def r(d: ShapeDeserializer, m: Schema) -> list[Any]: + _, er = elem.get_extension(self._codec) + out: list[Any] = [] + + def read_one(dd: ShapeDeserializer) -> None: + if dd.is_null(): + dd.read_null() + if sparse: + out.append(None) + else: + out.append(er(dd, elem)) + + d.read_list(m, read_one) + return out + + return w, r + + def _map_codec(self, value_member: Schema, sparse: bool) -> tuple[_Writer, _Reader]: + def w(s: ShapeSerializer, m: Schema, v: dict[str, Any]) -> None: + vw, _ = value_member.get_extension(self._codec) + with s.begin_map(m, len(v)) as ms: + for k, val in v.items(): + if sparse and val is None: + ms.entry(k, lambda vs: vs.write_null(value_member)) + else: + ms.entry(k, lambda vs, _v=val: vw(vs, value_member, _v)) + + def r(d: ShapeDeserializer, m: Schema) -> dict[str, Any]: + _, vr = value_member.get_extension(self._codec) + out: dict[str, Any] = {} + + def read_entry(k: str, dd: ShapeDeserializer) -> None: + if dd.is_null(): + dd.read_null() + if sparse: + out[k] = None + else: + out[k] = vr(dd, value_member) + + d.read_map(m, read_entry) + return out + + return w, r + + def _ensure_index(self) -> dict[str, str]: + if self._index is None: + # First pass: every real shape name, so variant-name disambiguation + # (PythonSymbolProvider.memberShape) can see the whole model. + consts: list[tuple[str, Schema]] = [] + shape_names: set[str] = set() + for const in dir(self._schemas): + if not (const.replace("_", "").isupper() and const[:1].isalpha()): + continue + tup = getattr(self._schemas, const) + if not isinstance(tup, tuple): + continue + schema = hydrate(cast("tuple[Any, ...]", tup)) + consts.append((const, schema)) + shape_names.add(schema.id.name) + self._shape_names = shape_names + index: dict[str, str] = {} + for const, schema in consts: + index.setdefault(schema.id.name, const) + if schema.shape_type == ShapeType.UNION: + for mname in schema.members: + index.setdefault( + variant_class_name(schema.id.name, mname, shape_names), + const, + ) + index.setdefault( + union_unknown_name(schema.id.name, shape_names), const + ) + self._index = index + return self._index + + +def _py_type(member: Schema) -> Any: + return _PY_SCALAR.get(member.shape_type, Any) + + +def _parse_timestamp(member: Schema, raw: Any) -> datetime.datetime: + """Build a datetime from a @default node, honoring @timestampFormat. + + A numeric node is epoch seconds; a string node is RFC3339 (or the member's + declared timestamp format). Matches CodegenUtils.parseTimestampNode. + """ + from .utils import ensure_utc, epoch_seconds_to_datetime + + if isinstance(raw, (int, float)): + return epoch_seconds_to_datetime(raw) + return ensure_utc(datetime.datetime.fromisoformat(str(raw))) diff --git a/packages/smithy-core/src/smithy_core/_model_naming.py b/packages/smithy-core/src/smithy_core/_model_naming.py new file mode 100644 index 000000000..05245e2e8 --- /dev/null +++ b/packages/smithy-core/src/smithy_core/_model_naming.py @@ -0,0 +1,94 @@ +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +"""Python port of the codegen member-name derivation (PythonSymbolProvider.toMemberName). + +CAUTION: this MUST stay bug-for-bug identical to the Java escaper. The generated +conformance test asserts it against the committed generated models for every member. +""" + +import re +from collections.abc import Collection + +_SNAKE_1 = re.compile(r"([A-Z]+)([A-Z][a-z])") +_SNAKE_2 = re.compile(r"([a-z\d])([A-Z])") +_SNAKE_WS = re.compile(r"(\s|-)") + +# reserved-member-names.txt (keywords + used builtins + datetime) +_RESERVED_MEMBERS = frozenset( + """and as assert async await break class continue def del elif else except + finally for from global if import in is lambda nonlocal not or pass raise + return try while with yield bool bytes bytearray dict float int list str + datetime""".split() +) +# reserved-error-member-names.txt +_RESERVED_ERROR_MEMBERS = frozenset( + {"is_retry_safe", "retry_after", "is_throttling_error", "fault"} +) +_ERROR_MESSAGE_MEMBER_NAMES = frozenset({"errormessage", "error_message", "message"}) +_RESPONSE_METADATA_MEMBER = "response_metadata" + + +def to_snake_case(word: str) -> str: + if not word: + return word + word = _SNAKE_1.sub(r"\1_\2", word) + word = _SNAKE_2.sub(r"\1_\2", word) + word = _SNAKE_WS.sub("_", word) + return word.lower() + + +def member_field_name( + wire_name: str, + *, + is_error: bool, + carries_response_metadata: bool, + is_enum: bool, +) -> str: + """Derive the generated python field name for a member. + + :param carries_response_metadata: True if the container is an error or an + operation output structure (which the generator gives a response_metadata + attribute). + """ + if is_error and wire_name.lower() in _ERROR_MESSAGE_MEMBER_NAMES: + return "message" + + name = to_snake_case(wire_name) + if name in _RESERVED_MEMBERS: + name += "_" + if is_error and name in _RESERVED_ERROR_MEMBERS: + name += "_" + if name == _RESPONSE_METADATA_MEMBER and carries_response_metadata: + name += "_" + if is_enum: + name = name.upper() + return name + + +def variant_class_name( + container_name: str, + member_name: str, + shape_names: Collection[str] = (), +) -> str: + """Union variant class name: container + capitalized member. + + CAUTION: mirrors PythonSymbolProvider.memberShape -- a synthesized variant name + that collides with a service-defined shape is disambiguated with a ``_`` + separator (shape names cannot contain ``_``, so this can never re-collide). + ``shape_names`` must be every shape name in the model for the check to fire. + """ + capitalized = ( + member_name[:1].upper() + member_name[1:] if member_name else member_name + ) + name = container_name + capitalized + if name in shape_names: + name = container_name + "_" + capitalized + return name + + +def union_unknown_name(container_name: str, shape_names: Collection[str] = ()) -> str: + """Union ``Unknown`` variant name, disambiguated like PythonSymbolProvider.unionShape.""" + name = container_name + "Unknown" + if name in shape_names: + name = container_name + "_Unknown" + return name diff --git a/packages/smithy-core/src/smithy_core/schemas.py b/packages/smithy-core/src/smithy_core/schemas.py index 452fac069..f93492d95 100644 --- a/packages/smithy-core/src/smithy_core/schemas.py +++ b/packages/smithy-core/src/smithy_core/schemas.py @@ -382,13 +382,14 @@ class MemberSchema(TypedDict): @dataclass(kw_only=True, frozen=True) class APIOperation[I: "SerializeableShape", O: "DeserializeableShape"]: - """A modeled Smithy operation.""" + """A modeled Smithy operation. - input: type[I] - """The input type of the operation.""" - - output: type[O] - """The output type of the operation.""" + Input, output, and error types are resolved lazily from ``static_schema`` via + ``model_registry`` on first access, so importing a client's operation table + builds no model classes until an operation is actually used. Static typing is + carried by the generated ``.pyi`` (operation constants are declared with concrete + ``APIOperation[Input, Output]`` type arguments). + """ static_schema: "StaticOperationSchema" = field(repr=False) """The operation's compact schema tuple. @@ -398,12 +399,42 @@ class APIOperation[I: "SerializeableShape", O: "DeserializeableShape"]: properties hydrate from it and cache in place on first access. """ - error_registry: "TypeRegistry" - """A TypeRegistry used to create errors.""" + model_registry: "Any" = field(default=None, repr=False) + """The client's ModelRegistry, used to build input/output/error types on demand. + + Hand-built operations supply a registry whose ``build(name)`` returns the + types for the shape names carried in ``static_schema``. + """ + + error_ids: Sequence[ShapeID] = () + """Shape ids of the operation's modeled errors, resolved to types on demand.""" - effective_auth_schemes: Sequence[ShapeID] + effective_auth_schemes: Sequence[ShapeID] = () """A list of effective auth schemes for the operation.""" + @cached_property + def input(self) -> type[I]: + """The input type of the operation (built on first access).""" + return self.model_registry.build(self.input_schema.id.name) + + @cached_property + def output(self) -> type[O]: + """The output type of the operation (built on first access).""" + return self.model_registry.build(self.output_schema.id.name) + + @cached_property + def error_registry(self) -> "TypeRegistry": + """A TypeRegistry of modeled error types, built on first access. + + Only touched on an error path, so success calls never build error classes. + """ + from .documents import TypeRegistry + + registry = self.model_registry + return TypeRegistry( + {error_id: registry.build(error_id.name) for error_id in self.error_ids} + ) + @cached_property def schema(self) -> Schema: """The schema of the operation.""" diff --git a/packages/smithy-core/src/smithy_core/traits.py b/packages/smithy-core/src/smithy_core/traits.py index 12c04eb73..5446632b7 100644 --- a/packages/smithy-core/src/smithy_core/traits.py +++ b/packages/smithy-core/src/smithy_core/traits.py @@ -212,6 +212,14 @@ def __post_init__(self): assert self.document_value is None +@dataclass(init=False, frozen=True) +class EnumValueTrait(Trait, id=ShapeID("smithy.api#enumValue")): + @property + def value(self) -> str | int: + assert isinstance(self.document_value, str | int) + return self.document_value + + @dataclass(init=False, frozen=True) class LongPollTrait(Trait, id=ShapeID("smithy.api#longPoll")): """Indicates that the service may hold the request open while waiting for diff --git a/packages/smithy-core/tests/unit/aio/_pipeline_harness.py b/packages/smithy-core/tests/unit/aio/_pipeline_harness.py index 1f3f18a23..12ff9a717 100644 --- a/packages/smithy-core/tests/unit/aio/_pipeline_harness.py +++ b/packages/smithy-core/tests/unit/aio/_pipeline_harness.py @@ -9,7 +9,6 @@ from smithy_core.aio.interfaces.retries import RetryStrategy from smithy_core.aio.retries import SimpleRetryStrategy from smithy_core.deserializers import ShapeDeserializer -from smithy_core.documents import TypeRegistry from smithy_core.endpoints import EndpointResolverParams from smithy_core.interceptors import InterceptorChain from smithy_core.prelude import BLOB @@ -71,9 +70,28 @@ def deserialize(cls, deserializer: ShapeDeserializer) -> Self: members={"message": {"target": _STRING}}, ) -OPERATION = APIOperation( - input=StubInput, - output=StubOutput, + +class _StubRegistry: + """A hand-built operation's model registry: maps shape name to its stub type.""" + + def __init__(self, classes: dict[str, type]) -> None: + self._classes = classes + + def build(self, name: str) -> type: + return self._classes[name] + + +_STUB_REGISTRY = _StubRegistry( + { + "StreamingInput": StubInput, + "StreamingOutput": StubOutput, + "UnaryInput": StubInput, + "UnaryOutput": StubOutput, + "DataStreamInput": StubInput, + } +) + +OPERATION: APIOperation[StubInput, StubOutput] = APIOperation( static_schema=( ShapeType.OPERATION.value, "com.example", @@ -83,7 +101,7 @@ def deserialize(cls, deserializer: ShapeDeserializer) -> Self: _OUTPUT_SCHEMA, (), ), - error_registry=TypeRegistry({}), + model_registry=_STUB_REGISTRY, effective_auth_schemes=[], ) @@ -93,9 +111,7 @@ def deserialize(cls, deserializer: ShapeDeserializer) -> Self: ) # An operation whose input is a data stream rather than an event stream. -DATA_STREAM_OPERATION = APIOperation( - input=StubInput, - output=StubOutput, +DATA_STREAM_OPERATION: APIOperation[StubInput, StubOutput] = APIOperation( static_schema=( ShapeType.OPERATION.value, "com.example", @@ -105,16 +121,14 @@ def deserialize(cls, deserializer: ShapeDeserializer) -> Self: _UNARY_OUTPUT_SCHEMA, (), ), - error_registry=TypeRegistry({}), + model_registry=_STUB_REGISTRY, effective_auth_schemes=[], ) # ``ClientCall.retryable()`` is False for operations with an input event stream, so # OPERATION above never enters the retry loop. This one has no input stream and so # exercises it. -UNARY_OPERATION = APIOperation( - input=StubInput, - output=StubOutput, +UNARY_OPERATION: APIOperation[StubInput, StubOutput] = APIOperation( static_schema=( ShapeType.OPERATION.value, "com.example", @@ -124,7 +138,7 @@ def deserialize(cls, deserializer: ShapeDeserializer) -> Self: _UNARY_OUTPUT_SCHEMA, (), ), - error_registry=TypeRegistry({}), + model_registry=_STUB_REGISTRY, effective_auth_schemes=[], ) diff --git a/packages/smithy-core/tests/unit/test_dynamic_models.py b/packages/smithy-core/tests/unit/test_dynamic_models.py new file mode 100644 index 000000000..60d4363dc --- /dev/null +++ b/packages/smithy-core/tests/unit/test_dynamic_models.py @@ -0,0 +1,361 @@ +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +# pyright: reportPrivateUsage=false +from enum import IntEnum, StrEnum +from types import ModuleType +from typing import Any, cast + +from smithy_core import _schema_compact +from smithy_core._dynamic_models import ModelRegistry +from smithy_core._schema_compact import StaticSchema +from smithy_core.deserializers import ShapeDeserializer +from smithy_core.exceptions import ModeledError +from smithy_core.shapes import ShapeType +from smithy_core.types import UnknownEnumMixin + +NS = "ns.example" + + +def _struct(name: str, members: tuple[tuple[str, object], ...]) -> StaticSchema: + return ( + ShapeType.STRUCTURE.value, + NS, + name, + 0, + tuple(m[0] for m in members), + tuple((m[1], 0) for m in members), + ) + + +_ERROR_TRAIT = "smithy.api#error" + + +def _error_struct(name: str, members: tuple[tuple[str, object], ...]) -> StaticSchema: + return ( + ShapeType.STRUCTURE.value, + NS, + name, + {_ERROR_TRAIT: "client"}, + tuple(m[0] for m in members), + tuple((m[1], 0) for m in members), + ) + + +def _union(name: str, members: tuple[tuple[str, object], ...]) -> StaticSchema: + return ( + ShapeType.UNION.value, + NS, + name, + 0, + tuple(m[0] for m in members), + tuple((m[1], 0) for m in members), + ) + + +_ENUM_VALUE = "smithy.api#enumValue" + + +def _enum( + name: str, + members: tuple[tuple[str, object | None], ...], + *, + int_enum: bool = False, +) -> StaticSchema: + # Enum members target UNIT (-1); a present enumValue is a valued member-trait dict. + type_int = (ShapeType.INT_ENUM if int_enum else ShapeType.ENUM).value + return ( + type_int, + NS, + name, + 0, + tuple(m[0] for m in members), + tuple((-1, {_ENUM_VALUE: m[1]} if m[1] is not None else 0) for m in members), + ) + + +def _module(**consts: StaticSchema) -> ModuleType: + mod = ModuleType("ns.example._private.schemas") + for const, tup in consts.items(): + setattr(mod, const, tup) + return mod + + +def _fields(cls: type) -> list[str]: + fields: dict[str, object] = getattr(cls, "__dataclass_fields__") + return list(fields) + + +def _tracking_module(**consts: StaticSchema) -> tuple[ModuleType, list[str]]: + """A schemas module that records every attribute read, to detect hydration.""" + touched: list[str] = [] + + class _Tracking(ModuleType): + def __getattribute__(self, name: str) -> object: + if name.replace("_", "").isupper() and name[:1].isalpha(): + touched.append(name) + return super().__getattribute__(name) + + mod = _Tracking("ns.example._private.schemas") + for const, tup in consts.items(): + setattr(mod, const, tup) + return mod, touched + + +def test_supplied_index_resolves_without_scanning_module() -> None: + # Two structs, but the index names only one. With a supplied index the registry + # must resolve it without reading the other schema constant at all. + mod, touched = _tracking_module( + FOO=_struct("Foo", (("a", ShapeType.STRING.value),)), + BAR=_struct("Bar", (("b", ShapeType.STRING.value),)), + ) + registry = ModelRegistry(mod, index={"Foo": "FOO"}, shape_names={"Foo", "Bar"}) + foo = registry.build("Foo") + assert foo.__name__ == "Foo" + assert touched == ["FOO"] # BAR never read + + +def test_supplied_index_matches_scanning_fallback() -> None: + consts = { + "FOO": _struct("Foo", (("a", ShapeType.STRING.value),)), + "BAR": _struct("Bar", (("b", ShapeType.INTEGER.value),)), + } + scanned = ModelRegistry(_module(**consts)).build("Foo") + supplied = ModelRegistry( + _module(**consts), + index={"Foo": "FOO", "Bar": "BAR"}, + shape_names={"Foo", "Bar"}, + ).build("Foo") + assert _fields(scanned) == _fields(supplied) + + +def test_supplied_index_disambiguated_union_variant() -> None: + # Union FooWarning.message collides with struct FooWarningMessage; codegen emits + # the "_"-disambiguated variant name in the index. The real struct must still + # build with its modeled field, not the union variant's "value". + _schema_compact._cache.clear() + union = _union("FooWarning", (("message", ShapeType.STRING.value),)) + struct = _struct("FooWarningMessage", (("text", ShapeType.STRING.value),)) + mod = _module(FOOWARNING=union, FOOWARNINGMESSAGE=struct) + registry = ModelRegistry( + mod, + index={ + "FooWarning": "FOOWARNING", + "FooWarning_Message": "FOOWARNING", + "FooWarningUnknown": "FOOWARNING", + "FooWarningMessage": "FOOWARNINGMESSAGE", + }, + shape_names={"FooWarning", "FooWarningMessage"}, + ) + struct_cls = registry.build("FooWarningMessage") + assert _fields(struct_cls) == ["text"] + variant_cls = registry.build("FooWarning_Message") + assert _fields(variant_cls) == ["value"] + + +def test_str_enum_uses_wire_value_not_member_name() -> None: + # The member name (EN_US) differs from the wire value (en-US); the built enum must + # carry the wire value so serialization sends en-US, not EN_US. + _schema_compact._cache.clear() + mod = _module( + LANG=_enum("Lang", (("EN_US", "en-US"), ("MULTI", "multi"))), + ) + registry = ModelRegistry(mod, index={"Lang": "LANG"}, shape_names={"Lang"}) + cls = cast("type[StrEnum]", registry.build("Lang")) + assert cls["EN_US"].value == "en-US" + assert cls["EN_US"] == "en-US" + assert list(cls.__members__) == ["EN_US", "MULTI"] + unknown = cast(UnknownEnumMixin, cls("xx-YY")) + assert unknown.is_unknown # UnknownEnumMixin: unknown value, no raise + + +def test_int_enum_builds_with_values() -> None: + _schema_compact._cache.clear() + mod = _module(CODE=_enum("Code", (("A", 1), ("B", 2)), int_enum=True)) + registry = ModelRegistry(mod, index={"Code": "CODE"}, shape_names={"Code"}) + cls = cast("type[IntEnum]", registry.build("Code")) + assert cls["A"].value == 1 + assert int(cls["A"]) == 1 + + +def test_enum_defaults_value_to_member_name_when_trait_absent() -> None: + _schema_compact._cache.clear() + mod = _module(STATUS=_enum("Status", (("ACTIVE", None), ("DELETED", None)))) + registry = ModelRegistry(mod, index={"Status": "STATUS"}, shape_names={"Status"}) + cls = cast("type[StrEnum]", registry.build("Status")) + assert cls["ACTIVE"].value == "ACTIVE" + + +def test_modeled_error_extends_injected_service_error() -> None: + import sys + + _schema_compact._cache.clear() + + class ServiceError(ModeledError): + pass + + models = ModuleType("ns.example.models") + models.ServiceError = ServiceError # type: ignore[attr-defined] + sys.modules["ns.example.models"] = models + try: + mod = _module(BOOM=_error_struct("Boom", (("reason", ShapeType.STRING.value),))) + registry = ModelRegistry( + mod, + index={"Boom": "BOOM"}, + shape_names={"Boom"}, + service_error="ServiceError", + ) + cls = registry.build("Boom") + assert issubclass(cls, ServiceError) + assert issubclass(cls, ModeledError) + finally: + del sys.modules["ns.example.models"] + + +def test_modeled_error_falls_back_to_modeled_error_without_service_error() -> None: + _schema_compact._cache.clear() + mod = _module(BOOM=_error_struct("Boom", (("reason", ShapeType.STRING.value),))) + registry = ModelRegistry(mod, index={"Boom": "BOOM"}, shape_names={"Boom"}) + cls = registry.build("Boom") + assert issubclass(cls, ModeledError) + assert cls.__mro__[1] is ModeledError + + +def test_enum_member_deserialize_coerces_to_enum_class() -> None: + # A member whose target is an enum must deserialize to the enum class, not the + # raw wire string (the eager generator wrapped it as EnumClass(read_string(...))). + _schema_compact._cache.clear() + lang = _enum("Lang", (("EN_US", "en-US"), ("MULTI", "multi"))) + req = ( + ShapeType.STRUCTURE.value, + NS, + "Req", + 0, + ("lang",), + ((lambda: lang, 0),), + ) + mod = _module(LANG=lang, REQ=req) + registry = ModelRegistry( + mod, + index={"Lang": "LANG", "Req": "REQ"}, + shape_names={"Lang", "Req"}, + ) + req_schema = _schema_compact.hydrate(req) + member = req_schema.members_by_index[0] + _, reader = member.get_extension(registry._codec) + + class _De: + def read_string(self, schema: object) -> str: + return "en-US" + + result = reader(cast(ShapeDeserializer, _De()), member) + lang = cast("type[StrEnum]", registry.build("Lang")) + assert result is lang["EN_US"] + + +def test_union_classes_report_models_module() -> None: + # The union parent, each variant, and the Unknown class must carry the client + # models module, not smithy_core._dynamic_models. + _schema_compact._cache.clear() + mod = _module( + FOO=_union("Foo", (("a", ShapeType.STRING.value),)), + ) + registry = ModelRegistry(mod, index={"Foo": "FOO"}, shape_names={"Foo"}) + registry.build("Foo") + for name in ("Foo", "FooA", "FooUnknown"): + assert registry.build(name).__module__ == "ns.example.models" + + +def test_concurrent_build_returns_one_class() -> None: + import threading + + _schema_compact._cache.clear() + mod = _module(FOO=_struct("Foo", (("a", ShapeType.STRING.value),))) + registry = ModelRegistry(mod, index={"Foo": "FOO"}, shape_names={"Foo"}) + start = threading.Barrier(8) + results: list[type] = [] + lock = threading.Lock() + + def worker() -> None: + start.wait() + built = registry.build("Foo") + with lock: + results.append(built) + + threads = [threading.Thread(target=worker) for _ in range(8)] + for t in threads: + t.start() + for t in threads: + t.join() + assert len({id(r) for r in results}) == 1 + + +def _operation(name: str, input_ref: object, output_ref: object) -> StaticSchema: + # Operation tuple: shape header (0-3) then input (4), output (5), errors (6). + return ( + ShapeType.OPERATION.value, + NS, + name, + 0, + input_ref, + output_ref, + (), + ) + + +def test_import_and_one_operation_does_not_build_every_shape() -> None: + # Importing the operation table (constructing APIOperation objects) must build no + # model classes and hydrate no schemas; using one operation must build only that + # operation's input, leaving sibling operations' shapes and unrelated shapes alone. + import smithy_core._dynamic_models as dm + from smithy_core.schemas import APIOperation + + _schema_compact._cache.clear() + a_in = _struct("AInput", (("a", ShapeType.STRING.value),)) + a_out = _struct("AOutput", (("a", ShapeType.STRING.value),)) + b_in = _struct("BInput", (("b", ShapeType.STRING.value),)) + b_out = _struct("BOutput", (("b", ShapeType.STRING.value),)) + unrelated = _struct("Unrelated", (("c", ShapeType.STRING.value),)) + mod = _module( + AINPUT=a_in, + AOUTPUT=a_out, + BINPUT=b_in, + BOUTPUT=b_out, + UNRELATED=unrelated, + OP_A=_operation("OpA", lambda: a_in, lambda: a_out), + OP_B=_operation("OpB", lambda: b_in, lambda: b_out), + ) + registry = ModelRegistry( + mod, + index={ + "AInput": "AINPUT", + "AOutput": "AOUTPUT", + "BInput": "BINPUT", + "BOutput": "BOUTPUT", + "Unrelated": "UNRELATED", + }, + shape_names={"AInput", "AOutput", "BInput", "BOutput", "Unrelated"}, + ) + + hydrations: list[object] = [] + original = dm.hydrate + + def _counting(tup: StaticSchema) -> object: + hydrations.append(tup) + return original(tup) + + dm.hydrate = _counting + try: + # Construct the operation table the way generated models.py does. + op_a: APIOperation[Any, Any] = APIOperation( + static_schema=mod.OP_A, model_registry=registry + ) + APIOperation(static_schema=mod.OP_B, model_registry=registry) + assert registry._classes == {} # no class built by constructing the table + assert hydrations == [] # no schema hydrated by constructing the table + + built: type = op_a.input # using one operation + assert built.__name__ == "AInput" + # Only AInput was built; sibling and unrelated shapes stayed lazy. + assert set(registry._classes) == {"AInput"} + finally: + dm.hydrate = original diff --git a/packages/smithy-core/tests/unit/test_model_naming.py b/packages/smithy-core/tests/unit/test_model_naming.py new file mode 100644 index 000000000..d47d7e495 --- /dev/null +++ b/packages/smithy-core/tests/unit/test_model_naming.py @@ -0,0 +1,30 @@ +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +from smithy_core._model_naming import union_unknown_name, variant_class_name + + +def test_variant_class_name_default() -> None: + assert variant_class_name("Foo", "bar") == "FooBar" + + +def test_variant_class_name_disambiguates_shape_collision() -> None: + # Union "AgenticRetrieveWarning" member "message" would synthesize + # "AgenticRetrieveWarningMessage", colliding with the real structure of that + # name; PythonSymbolProvider.memberShape inserts a "_" separator. + names = {"AgenticRetrieveWarningMessage"} + assert ( + variant_class_name("AgenticRetrieveWarning", "message", names) + == "AgenticRetrieveWarning_Message" + ) + + +def test_variant_class_name_no_collision_keeps_base() -> None: + assert variant_class_name("Foo", "bar", {"Baz"}) == "FooBar" + + +def test_union_unknown_name_default() -> None: + assert union_unknown_name("Foo") == "FooUnknown" + + +def test_union_unknown_name_disambiguates_shape_collision() -> None: + assert union_unknown_name("Foo", {"FooUnknown"}) == "Foo_Unknown" diff --git a/packages/smithy-core/tests/unit/test_schemas.py b/packages/smithy-core/tests/unit/test_schemas.py index 0ec7f4151..3f3f658a0 100644 --- a/packages/smithy-core/tests/unit/test_schemas.py +++ b/packages/smithy-core/tests/unit/test_schemas.py @@ -4,7 +4,6 @@ from typing import Any import pytest -from smithy_core.documents import TypeRegistry from smithy_core.exceptions import ExpectationNotMetError, SmithyError from smithy_core.schemas import APIOperation, Schema, SchemaExtension from smithy_core.shapes import ShapeID, ShapeType @@ -19,6 +18,14 @@ STRING = Schema(id=ShapeID("smithy.api#String"), shape_type=ShapeType.STRING) +class _StubRegistry: + def __init__(self, classes: dict[str, type]) -> None: + self._classes = classes + + def build(self, name: str) -> type: + return self._classes[name] + + def test_traits_list(): trait = InternalTrait() schema = Schema(id=ID, shape_type=ShapeType.STRUCTURE, traits=[trait]) @@ -280,8 +287,6 @@ def test_operation_idempotency_token_member(): }, ) operation = APIOperation[Any, Any]( - input=object, - output=object, static_schema=( ShapeType.OPERATION.value, "com.example", @@ -291,7 +296,7 @@ def test_operation_idempotency_token_member(): input_schema, (), ), - error_registry=TypeRegistry({}), + model_registry=_StubRegistry({"OperationInput": object}), effective_auth_schemes=[], ) assert operation.idempotency_token_member is input_schema.members["token"] diff --git a/packages/smithy-http/tests/unit/aio/test_protocols.py b/packages/smithy-http/tests/unit/aio/test_protocols.py index 775bd22ff..92aab05df 100644 --- a/packages/smithy-http/tests/unit/aio/test_protocols.py +++ b/packages/smithy-http/tests/unit/aio/test_protocols.py @@ -144,6 +144,24 @@ class StreamingOutput(MockOutput): ) +class _StubRegistry: + def __init__(self, classes: dict[str, type]) -> None: + self._classes = classes + + def build(self, name: str) -> type: + return self._classes[name] + + +_STUB_REGISTRY = _StubRegistry( + { + "LegacyInput": LegacyInput, + "StructInput": StructInput, + "MockOutput": MockOutput, + "StreamingOutput": StreamingOutput, + } +) + + class AsyncBody: async def read(self, size: int = -1) -> bytes: return b"{}" @@ -170,9 +188,7 @@ class ProtocolCheck(metaclass=FailOnInstanceCheck): def test_http_binding_protocol_falls_back_to_legacy_serialize() -> None: - operation = APIOperation( - input=LegacyInput, - output=MockOutput, + operation: APIOperation[Any, Any] = APIOperation( static_schema=( ShapeType.OPERATION.value, "ns.foo", @@ -182,7 +198,7 @@ def test_http_binding_protocol_falls_back_to_legacy_serialize() -> None: MockOutput.SCHEMA, (), ), - error_registry=TypeRegistry({}), + model_registry=_STUB_REGISTRY, effective_auth_schemes=[], ) input = LegacyInput() @@ -200,9 +216,7 @@ def test_http_binding_protocol_falls_back_to_legacy_serialize() -> None: def test_http_binding_protocol_uses_structure_fast_path() -> None: - operation = APIOperation( - input=StructInput, - output=MockOutput, + operation: APIOperation[Any, Any] = APIOperation( static_schema=( ShapeType.OPERATION.value, "ns.foo", @@ -212,7 +226,7 @@ def test_http_binding_protocol_uses_structure_fast_path() -> None: MockOutput.SCHEMA, (), ), - error_registry=TypeRegistry({}), + model_registry=_STUB_REGISTRY, effective_auth_schemes=[], ) input = StructInput() @@ -246,9 +260,7 @@ def fail_if_scanned(_: APIOperation[Any, Any]) -> None: "output_stream_member", property(fail_if_scanned), ) - operation = APIOperation( - input=LegacyInput, - output=output, + operation: APIOperation[Any, Any] = APIOperation( static_schema=( ShapeType.OPERATION.value, "ns.foo", @@ -258,7 +270,7 @@ def fail_if_scanned(_: APIOperation[Any, Any]) -> None: output.SCHEMA, (), ), - error_registry=TypeRegistry({}), + model_registry=_STUB_REGISTRY, effective_auth_schemes=[], ) request = HTTPRequest( diff --git a/packages/smithy-test/src/smithy_test/__init__.py b/packages/smithy-test/src/smithy_test/__init__.py index 3c193e1a9..ebbec3f1b 100644 --- a/packages/smithy-test/src/smithy_test/__init__.py +++ b/packages/smithy-test/src/smithy_test/__init__.py @@ -1,7 +1,9 @@ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 +from ._private.conformance import ConformanceError as ConformanceError +from ._private.conformance import verify_models as verify_models from ._private.equality import deep_equal as deep_equal from ._private.equality import xml_equal as xml_equal __version__ = "0.1.0" -__all__ = ("deep_equal", "xml_equal") +__all__ = ("ConformanceError", "deep_equal", "verify_models", "xml_equal") diff --git a/packages/smithy-test/src/smithy_test/_private/conformance.py b/packages/smithy-test/src/smithy_test/_private/conformance.py new file mode 100644 index 000000000..89c1067e2 --- /dev/null +++ b/packages/smithy-test/src/smithy_test/_private/conformance.py @@ -0,0 +1,232 @@ +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +"""Conformance checks for generated model modules. + +:py:func:`verify_models` introspects a generated client's ``models`` module and +asserts the runtime classes it builds on demand match the model (the compact +schemas they are built from) and, optionally, the ``models.pyi`` stub that carries +their static types. Type-correctness of the stub is NOT checked here -- that +requires a type checker (pyright over a generated usage fixture). +""" + +from __future__ import annotations + +import ast +import dataclasses +import datetime +from decimal import Decimal +from types import ModuleType +from typing import Any, cast + +from smithy_core._schema_compact import hydrate +from smithy_core.shapes import ShapeType +from smithy_core.traits import DefaultTrait, RequiredTrait + +_SHAPE_CONSTS = ("STRUCTURE", "UNION", "ENUM", "INT_ENUM") + +_INPUT = "smithy.api#input" + + +class ConformanceError(AssertionError): + """A generated model class does not match its schema or stub.""" + + +def verify_models( + models: ModuleType, + schemas: ModuleType, + *, + codec: Any | None = None, + pyi_path: str | None = None, +) -> int: + """Verify every model shape in ``schemas`` builds and matches its surface. + + :param models: The generated ``models`` module (lazy ``__getattr__`` build). + :param schemas: The generated ``_private.schemas`` module. + :param codec: Optional codec with ``serialize``/``deserialize``; when given, every + shape is round-tripped through it. Omit for request-only protocols. + :param pyi_path: If given, the ``models.pyi`` file is AST-parsed and its class + field surface asserted to match the runtime classes. + :returns: The number of shapes verified. + :raises ConformanceError: On the first mismatch. + """ + structs = _structures(schemas, models) + for name, schema in structs.items(): + cls = getattr(models, name) + _assert_fields_match_schema(name, cls, schema) + if codec is not None: + _assert_round_trips(name, cls, schema, models, codec) + + if pyi_path is not None: + _assert_stub_matches(pyi_path, models, structs) + + return len(structs) + + +def _structures(schemas: ModuleType, models: ModuleType) -> dict[str, Any]: + # A shape's generated symbol name usually equals its schema id name, but a + # rename (two shapes sharing an id name in different namespaces) makes them + # differ. The registry's rename map (symbol -> schema constant) is the + # authoritative symbol<->schema pairing, so key each schema by the symbol + # the client actually exposes rather than the ambiguous id name. + const_to_symbol: dict[str, str] = {} + registry = getattr(models, "_registry", None) + if registry is not None: + for symbol, const in getattr(registry, "_renames", {}).items(): + const_to_symbol[const] = symbol + out: dict[str, Any] = {} + for const in dir(schemas): + if not (const.replace("_", "").isupper() and const[:1].isalpha()): + continue + tup = getattr(schemas, const) + if not isinstance(tup, tuple): + continue + schema = hydrate(cast("tuple[Any, ...]", tup)) + if schema.shape_type == ShapeType.STRUCTURE: + out[const_to_symbol.get(const, schema.id.name)] = schema + return out + + +def _assert_fields_match_schema(name: str, cls: type, schema: Any) -> None: + if not dataclasses.is_dataclass(cls): + raise ConformanceError(f"{name}: built class is not a dataclass") + field_names = {f.name for f in dataclasses.fields(cls)} + for member in schema.members_by_index: + # a runtime field must exist for every modeled member (name derived by the + # same ported namer the registry uses) + from smithy_core._model_naming import member_field_name + + is_error = _is_error(schema) + fname = member_field_name( + member.expect_member_name(), + is_error=is_error, + carries_response_metadata=is_error or _is_output(schema), + is_enum=False, + ) + if fname not in field_names: + raise ConformanceError( + f"{name}: schema member {member.expect_member_name()!r} -> field " + f"{fname!r} missing from built class {sorted(field_names)}" + ) + + +def _assert_round_trips( + name: str, cls: type, schema: Any, models: ModuleType, codec: Any +) -> None: + instance = _build_instance(cls, schema, models) + body = codec.serialize(instance) + rebuilt = codec.deserialize(body, cls) + reserialized = codec.serialize(rebuilt) + if body != reserialized: + raise ConformanceError( + f"{name}: round-trip mismatch\n first: {body!r}\n again: {reserialized!r}" + ) + + +def _build_instance(cls: type, schema: Any, models: ModuleType) -> Any: + """Construct an instance filling required members with trivial values.""" + from smithy_core._model_naming import member_field_name + + kwargs: dict[str, Any] = {} + is_error = _is_error(schema) + for member in schema.members_by_index: + required = member.get_trait(RequiredTrait) is not None + has_default = member.get_trait(DefaultTrait) is not None + if not required or has_default or _is_input(schema): + continue + fname = member_field_name( + member.expect_member_name(), + is_error=is_error, + carries_response_metadata=is_error or _is_output(schema), + is_enum=False, + ) + kwargs[fname] = _trivial_value(member, models) + return cls(**kwargs) + + +def _trivial_value(member: Any, models: ModuleType) -> Any: + st = member.shape_type + simple: dict[ShapeType, Any] = { + ShapeType.STRING: "x", + ShapeType.BOOLEAN: False, + ShapeType.TIMESTAMP: datetime.datetime(2020, 1, 1, tzinfo=datetime.UTC), + ShapeType.BLOB: b"x", + ShapeType.BYTE: 1, + ShapeType.SHORT: 1, + ShapeType.INTEGER: 1, + ShapeType.LONG: 1, + ShapeType.FLOAT: 1.0, + ShapeType.DOUBLE: 1.0, + ShapeType.BIG_INTEGER: 1, + ShapeType.BIG_DECIMAL: Decimal(1), + ShapeType.LIST: [], + ShapeType.MAP: {}, + } + if st in simple: + return simple[st] + if st == ShapeType.ENUM: + return next(iter(member.expect_member_target().members)) + if st == ShapeType.INT_ENUM: + return 1 + if st == ShapeType.STRUCTURE: + target = member.expect_member_target() + nested = getattr(models, target.id.name) + return _build_instance(nested, target, models) + if st == ShapeType.UNION: + target = member.expect_member_target() + first = target.members_by_index[0] + variant = getattr(models, target.id.name + first.expect_member_name()) + return variant(value=_trivial_value(first, models)) + return None + + +def _assert_stub_matches( + pyi_path: str, models: ModuleType, structs: dict[str, Any] +) -> None: + """AST-parse models.pyi and assert its class field surface matches runtime.""" + tree = ast.parse(open(pyi_path).read()) + stub_fields: dict[str, set[str]] = {} + for node in tree.body: + if isinstance(node, ast.ClassDef): + stub_fields[node.name] = { + stmt.target.id + for stmt in node.body + if isinstance(stmt, ast.AnnAssign) and isinstance(stmt.target, ast.Name) + } + for name in structs: + if name not in stub_fields: + raise ConformanceError( + f"{name}: declared in schema but absent from models.pyi" + ) + cls = getattr(models, name) + runtime = {f.name for f in dataclasses.fields(cls)} + inherited: set[str] = set() + for base in cls.__mro__[1:]: + if dataclasses.is_dataclass(base): + inherited |= {f.name for f in dataclasses.fields(base)} + # The stub declares locally-defined fields plus response_metadata (which the + # runtime inherits on errors but declares on outputs). Normalize both sides to + # "local fields, with response_metadata counted if present at runtime". + local_runtime = (runtime - inherited) | (runtime & {"response_metadata"}) + if stub_fields[name] != local_runtime: + raise ConformanceError( + f"{name}: models.pyi fields {sorted(stub_fields[name])} != " + f"runtime local fields {sorted(local_runtime)}" + ) + + +def _is_error(schema: Any) -> bool: + from smithy_core.traits import ErrorTrait + + return schema.get_trait(ErrorTrait) is not None + + +def _is_output(schema: Any) -> bool: + from smithy_core.shapes import ShapeID + + return schema.get_trait(ShapeID("smithy.api#output")) is not None + + +def _is_input(schema: Any) -> bool: + from smithy_core.shapes import ShapeID + + return schema.get_trait(ShapeID("smithy.api#input")) is not None