Server Test Python

Server Test Python

rev. af78cf3b5d5944dfafb96a5c7b03480600beef09

Files changed:

tmp-codegen-diff/codegen-server-test-python/Cargo.lock

@@ -114,114 +174,174 @@
  134    134   
 "thiserror 2.0.12",
  135    135   
 "tokio",
  136    136   
 "tower",
  137    137   
 "tower-http",
  138    138   
 "tracing",
  139    139   
 "uuid",
  140    140   
]
  141    141   
  142    142   
[[package]]
  143    143   
name = "aws-smithy-http-server-python"
  144         -
version = "0.65.1"
         144  +
version = "0.66.0"
  145    145   
dependencies = [
  146    146   
 "aws-smithy-http",
  147    147   
 "aws-smithy-http-server",
  148    148   
 "aws-smithy-json",
  149    149   
 "aws-smithy-types",
  150    150   
 "aws-smithy-xml",
  151    151   
 "bytes",
  152    152   
 "futures",
  153    153   
 "http 0.2.12",
  154    154   
 "hyper",
@@ -639,639 +698,704 @@
  659    659   
 "cfg-if",
  660    660   
 "crunchy",
  661    661   
]
  662    662   
  663    663   
[[package]]
  664    664   
name = "hashbrown"
  665    665   
version = "0.15.3"
  666    666   
source = "registry+https://github.com/rust-lang/crates.io-index"
  667    667   
checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3"
  668    668   
         669  +
[[package]]
         670  +
name = "heck"
         671  +
version = "0.4.1"
         672  +
source = "registry+https://github.com/rust-lang/crates.io-index"
         673  +
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
         674  +
  669    675   
[[package]]
  670    676   
name = "hermit-abi"
  671    677   
version = "0.5.1"
  672    678   
source = "registry+https://github.com/rust-lang/crates.io-index"
  673    679   
checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08"
  674    680   
  675    681   
[[package]]
  676    682   
name = "http"
  677    683   
version = "0.2.12"
  678    684   
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -849,855 +911,917 @@
  869    875   
version = "2.9.0"
  870    876   
source = "registry+https://github.com/rust-lang/crates.io-index"
  871    877   
checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"
  872    878   
dependencies = [
  873    879   
 "equivalent",
  874    880   
 "hashbrown",
  875    881   
]
  876    882   
  877    883   
[[package]]
  878    884   
name = "indoc"
  879         -
version = "1.0.9"
         885  +
version = "2.0.6"
  880    886   
source = "registry+https://github.com/rust-lang/crates.io-index"
  881         -
checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
         887  +
checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd"
  882    888   
  883    889   
[[package]]
  884    890   
name = "itoa"
  885    891   
version = "1.0.15"
  886    892   
source = "registry+https://github.com/rust-lang/crates.io-index"
  887    893   
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
  888    894   
  889    895   
[[package]]
  890    896   
name = "js-sys"
  891    897   
version = "0.3.77"
@@ -1026,1032 +1088,1094 @@
 1046   1052   
]
 1047   1053   
 1048   1054   
[[package]]
 1049   1055   
name = "memchr"
 1050   1056   
version = "2.7.4"
 1051   1057   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1052   1058   
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
 1053   1059   
 1054   1060   
[[package]]
 1055   1061   
name = "memoffset"
 1056         -
version = "0.8.0"
        1062  +
version = "0.9.1"
 1057   1063   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1058         -
checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
        1064  +
checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
 1059   1065   
dependencies = [
 1060   1066   
 "autocfg",
 1061   1067   
]
 1062   1068   
 1063   1069   
[[package]]
 1064   1070   
name = "mime"
 1065   1071   
version = "0.3.17"
 1066   1072   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1067   1073   
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
 1068   1074   
@@ -1347,1353 +1523,1538 @@
 1367   1373   
 "percent-encoding",
 1368   1374   
 "pin-project-lite",
 1369   1375   
 "pyo3",
 1370   1376   
 "pyo3-asyncio",
 1371   1377   
 "tokio",
 1372   1378   
 "tokio-stream",
 1373   1379   
 "tower",
 1374   1380   
 "tracing",
 1375   1381   
]
 1376   1382   
        1383  +
[[package]]
        1384  +
name = "portable-atomic"
        1385  +
version = "1.11.0"
        1386  +
source = "registry+https://github.com/rust-lang/crates.io-index"
        1387  +
checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e"
        1388  +
 1377   1389   
[[package]]
 1378   1390   
name = "potential_utf"
 1379   1391   
version = "0.1.2"
 1380   1392   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1381   1393   
checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585"
 1382   1394   
dependencies = [
 1383   1395   
 "zerovec",
 1384   1396   
]
 1385   1397   
 1386   1398   
[[package]]
 1387   1399   
name = "powerfmt"
 1388   1400   
version = "0.2.0"
 1389   1401   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1390   1402   
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
 1391   1403   
 1392   1404   
[[package]]
 1393   1405   
name = "ppv-lite86"
 1394   1406   
version = "0.2.21"
 1395   1407   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1396   1408   
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
 1397   1409   
dependencies = [
 1398   1410   
 "zerocopy",
 1399   1411   
]
 1400   1412   
 1401   1413   
[[package]]
 1402   1414   
name = "proc-macro2"
 1403   1415   
version = "1.0.95"
 1404   1416   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1405   1417   
checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
 1406   1418   
dependencies = [
 1407   1419   
 "unicode-ident",
 1408   1420   
]
 1409   1421   
 1410   1422   
[[package]]
 1411   1423   
name = "pyo3"
 1412         -
version = "0.18.3"
        1424  +
version = "0.20.3"
 1413   1425   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1414         -
checksum = "e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109"
        1426  +
checksum = "53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233"
 1415   1427   
dependencies = [
 1416   1428   
 "cfg-if",
 1417   1429   
 "indoc",
 1418   1430   
 "libc",
 1419   1431   
 "memoffset",
 1420   1432   
 "parking_lot",
        1433  +
 "portable-atomic",
 1421   1434   
 "pyo3-build-config",
 1422   1435   
 "pyo3-ffi",
 1423   1436   
 "pyo3-macros",
 1424   1437   
 "unindent",
 1425   1438   
]
 1426   1439   
 1427   1440   
[[package]]
 1428   1441   
name = "pyo3-asyncio"
 1429         -
version = "0.18.0"
        1442  +
version = "0.20.0"
 1430   1443   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1431         -
checksum = "d3564762e37035cfc486228e10b0528460fa026d681b5763873c693aa0d5c260"
        1444  +
checksum = "6ea6b68e93db3622f3bb3bf363246cf948ed5375afe7abff98ccbdd50b184995"
 1432   1445   
dependencies = [
 1433   1446   
 "async-channel",
 1434   1447   
 "futures",
 1435   1448   
 "once_cell",
 1436   1449   
 "pin-project-lite",
 1437   1450   
 "pyo3",
 1438   1451   
 "pyo3-asyncio-macros",
 1439   1452   
 "tokio",
 1440   1453   
]
 1441   1454   
 1442   1455   
[[package]]
 1443   1456   
name = "pyo3-asyncio-macros"
 1444         -
version = "0.18.0"
        1457  +
version = "0.20.0"
 1445   1458   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1446         -
checksum = "be72d4cd43a27530306bd0d20d3932182fbdd072c6b98d3638bc37efb9d559dd"
        1459  +
checksum = "56c467178e1da6252c95c29ecf898b133f742e9181dca5def15dc24e19d45a39"
 1447   1460   
dependencies = [
 1448   1461   
 "proc-macro2",
 1449   1462   
 "quote",
 1450   1463   
 "syn 1.0.109",
 1451   1464   
]
 1452   1465   
 1453   1466   
[[package]]
 1454   1467   
name = "pyo3-build-config"
 1455         -
version = "0.18.3"
        1468  +
version = "0.20.3"
 1456   1469   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1457         -
checksum = "9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3"
        1470  +
checksum = "deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7"
 1458   1471   
dependencies = [
 1459   1472   
 "once_cell",
 1460   1473   
 "target-lexicon",
 1461   1474   
]
 1462   1475   
 1463   1476   
[[package]]
 1464   1477   
name = "pyo3-ffi"
 1465         -
version = "0.18.3"
        1478  +
version = "0.20.3"
 1466   1479   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1467         -
checksum = "fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c"
        1480  +
checksum = "62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa"
 1468   1481   
dependencies = [
 1469   1482   
 "libc",
 1470   1483   
 "pyo3-build-config",
 1471   1484   
]
 1472   1485   
 1473   1486   
[[package]]
 1474   1487   
name = "pyo3-macros"
 1475         -
version = "0.18.3"
        1488  +
version = "0.20.3"
 1476   1489   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1477         -
checksum = "a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d"
        1490  +
checksum = "7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158"
 1478   1491   
dependencies = [
 1479   1492   
 "proc-macro2",
 1480   1493   
 "pyo3-macros-backend",
 1481   1494   
 "quote",
 1482         -
 "syn 1.0.109",
        1495  +
 "syn 2.0.101",
 1483   1496   
]
 1484   1497   
 1485   1498   
[[package]]
 1486   1499   
name = "pyo3-macros-backend"
 1487         -
version = "0.18.3"
        1500  +
version = "0.20.3"
 1488   1501   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1489         -
checksum = "97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918"
        1502  +
checksum = "7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185"
 1490   1503   
dependencies = [
        1504  +
 "heck",
 1491   1505   
 "proc-macro2",
        1506  +
 "pyo3-build-config",
 1492   1507   
 "quote",
 1493         -
 "syn 1.0.109",
        1508  +
 "syn 2.0.101",
 1494   1509   
]
 1495   1510   
 1496   1511   
[[package]]
 1497   1512   
name = "query_map"
 1498   1513   
version = "0.7.0"
 1499   1514   
source = "registry+https://github.com/rust-lang/crates.io-index"
 1500   1515   
checksum = "5eab6b8b1074ef3359a863758dae650c7c0c6027927a085b7af911c8e0bf3a15"
 1501   1516   
dependencies = [
 1502   1517   
 "form_urlencoded",
 1503   1518   
 "serde",
@@ -2202,2217 +2264,2279 @@
 2222   2237   
checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
 2223   2238   
 2224   2239   
[[package]]
 2225   2240   
name = "unicode-ident"
 2226   2241   
version = "1.0.18"
 2227   2242   
source = "registry+https://github.com/rust-lang/crates.io-index"
 2228   2243   
checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
 2229   2244   
 2230   2245   
[[package]]
 2231   2246   
name = "unindent"
 2232         -
version = "0.1.11"
        2247  +
version = "0.2.4"
 2233   2248   
source = "registry+https://github.com/rust-lang/crates.io-index"
 2234         -
checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
        2249  +
checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
 2235   2250   
 2236   2251   
[[package]]
 2237   2252   
name = "unique_items"
 2238   2253   
version = "0.0.1"
 2239   2254   
dependencies = [
 2240   2255   
 "aws-smithy-http",
 2241   2256   
 "aws-smithy-http-server",
 2242   2257   
 "aws-smithy-http-server-python",
 2243   2258   
 "aws-smithy-json",
 2244   2259   
 "aws-smithy-runtime-api",

tmp-codegen-diff/codegen-server-test-python/constraints/rust-server-codegen-python/Cargo.toml

@@ -16,16 +75,75 @@
   36     36   
version = "0.3"
   37     37   
[dependencies.nom]
   38     38   
version = "7"
   39     39   
[dependencies.parking_lot]
   40     40   
version = "0.12"
   41     41   
[dependencies.percent-encoding]
   42     42   
version = "2.0.0"
   43     43   
[dependencies.pin-project-lite]
   44     44   
version = "0.2"
   45     45   
[dependencies.pyo3]
   46         -
version = "0.18"
          46  +
version = "0.20"
   47     47   
[dependencies.pyo3-asyncio]
   48         -
version = "0.18"
          48  +
version = "0.20"
   49     49   
features = ["attributes", "tokio-runtime", "unstable-streams"]
   50     50   
[dependencies.regex]
   51     51   
version = "1.5.5"
   52     52   
[dependencies.tokio]
   53     53   
version = "1.20.1"
   54     54   
features = ["full"]
   55     55   
[dependencies.tokio-stream]
   56     56   
version = "0.1.12"
   57     57   
[dependencies.tower]
   58     58   
version = "0.4"

tmp-codegen-diff/codegen-server-test-python/constraints/rust-server-codegen-python/python/constraints/input/__init__.pyi

@@ -60,60 +136,136 @@
   80     80   
    range_short_list_header: typing.Optional[typing.List[int]]
   81     81   
   82     82   
    range_short_list_query: typing.Optional[typing.List[int]]
   83     83   
   84     84   
    range_short_query: int
   85     85   
   86     86   
    range_short_set_header: typing.Optional[typing.List[int]]
   87     87   
   88     88   
    range_short_set_query: typing.Optional[typing.List[int]]
   89     89   
   90         -
    def __init__(self, length_string_label: str, range_integer_label: int, range_short_label: int, range_long_label: int, range_byte_label: int, enum_string_label: constraints.model.EnumString, length_string_header_map: typing.Dict[str, str], length_string_header: typing.Optional[str] = ..., range_integer_header: int, range_short_header: int, range_long_header: int, range_byte_header: int, length_string_set_header: typing.Optional[typing.Set[str]] = ..., list_length_string_header: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_header: typing.Optional[typing.List[str]] = ..., length_set_pattern_string_header: typing.Optional[typing.Set[str]] = ..., range_byte_set_header: typing.Optional[typing.List[int]] = ..., range_short_set_header: typing.Optional[typing.List[int]] = ..., range_integer_set_header: typing.Optional[typing.List[int]] = ..., range_long_set_header: typing.Optional[typing.List[int]] = ..., range_byte_list_header: typing.Optional[typing.List[int]] = ..., range_short_list_header: typing.Optional[typing.List[int]] = ..., range_integer_list_header: typing.Optional[typing.List[int]] = ..., range_long_list_header: typing.Optional[typing.List[int]] = ..., length_string_query: typing.Optional[str] = ..., range_byte_query: int, range_short_query: int, range_integer_query: int, range_long_query: int, enum_string_query: typing.Optional[constraints.model.EnumString] = ..., length_string_list_query: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_query: typing.Optional[typing.List[str]] = ..., length_string_set_query: typing.Optional[typing.Set[str]] = ..., range_byte_list_query: typing.Optional[typing.List[int]] = ..., range_short_list_query: typing.Optional[typing.List[int]] = ..., range_integer_list_query: typing.Optional[typing.List[int]] = ..., range_long_list_query: typing.Optional[typing.List[int]] = ..., range_byte_set_query: typing.Optional[typing.List[int]] = ..., range_short_set_query: typing.Optional[typing.List[int]] = ..., range_integer_set_query: typing.Optional[typing.List[int]] = ..., range_long_set_query: typing.Optional[typing.List[int]] = ..., enum_string_list_query: typing.Optional[typing.List[constraints.model.EnumString]] = ...) -> None:
          90  +
    def __init__(self, length_string_label: str, range_integer_label: int, range_short_label: int, range_long_label: int, range_byte_label: int, enum_string_label: constraints.model.EnumString, length_string_header_map: typing.Dict[str, str], range_integer_header: int, range_short_header: int, range_long_header: int, range_byte_header: int, range_byte_query: int, range_short_query: int, range_integer_query: int, range_long_query: int, length_string_header: typing.Optional[str] = ..., length_string_set_header: typing.Optional[typing.Set[str]] = ..., list_length_string_header: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_header: typing.Optional[typing.List[str]] = ..., length_set_pattern_string_header: typing.Optional[typing.Set[str]] = ..., range_byte_set_header: typing.Optional[typing.List[int]] = ..., range_short_set_header: typing.Optional[typing.List[int]] = ..., range_integer_set_header: typing.Optional[typing.List[int]] = ..., range_long_set_header: typing.Optional[typing.List[int]] = ..., range_byte_list_header: typing.Optional[typing.List[int]] = ..., range_short_list_header: typing.Optional[typing.List[int]] = ..., range_integer_list_header: typing.Optional[typing.List[int]] = ..., range_long_list_header: typing.Optional[typing.List[int]] = ..., length_string_query: typing.Optional[str] = ..., enum_string_query: typing.Optional[constraints.model.EnumString] = ..., length_string_list_query: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_query: typing.Optional[typing.List[str]] = ..., length_string_set_query: typing.Optional[typing.Set[str]] = ..., range_byte_list_query: typing.Optional[typing.List[int]] = ..., range_short_list_query: typing.Optional[typing.List[int]] = ..., range_integer_list_query: typing.Optional[typing.List[int]] = ..., range_long_list_query: typing.Optional[typing.List[int]] = ..., range_byte_set_query: typing.Optional[typing.List[int]] = ..., range_short_set_query: typing.Optional[typing.List[int]] = ..., range_integer_set_query: typing.Optional[typing.List[int]] = ..., range_long_set_query: typing.Optional[typing.List[int]] = ..., enum_string_list_query: typing.Optional[typing.List[constraints.model.EnumString]] = ...) -> None:
   91     91   
        ...
   92     92   
   93     93   
   94     94   
class ConstrainedHttpPayloadBoundShapeOperationInput:
   95     95   
    http_payload_bound_constrained_shape: constraints.model.ConA
   96     96   
   97     97   
    def __init__(self, http_payload_bound_constrained_shape: constraints.model.ConA) -> None:
   98     98   
        ...
   99     99   
  100    100   
  101    101   
class ConstrainedRecursiveShapesOperationInput:
  102    102   
    nested: typing.Optional[constraints.model.RecursiveShapesInputOutputNested1]
  103    103   
  104    104   
    recursive_list: typing.List[constraints.model.RecursiveShapesInputOutputNested1]
  105    105   
  106         -
    def __init__(self, nested: typing.Optional[constraints.model.RecursiveShapesInputOutputNested1] = ..., recursive_list: typing.List[constraints.model.RecursiveShapesInputOutputNested1]) -> None:
         106  +
    def __init__(self, recursive_list: typing.List[constraints.model.RecursiveShapesInputOutputNested1], nested: typing.Optional[constraints.model.RecursiveShapesInputOutputNested1] = ...) -> None:
  107    107   
        ...
  108    108   
  109    109   
  110    110   
class ConstrainedShapesOnlyInOutputOperationInput:
  111    111   
    def __init__(self) -> None:
  112    112   
        ...
  113    113   
  114    114   
  115    115   
class ConstrainedShapesOperationInput:
  116    116   
    con_a: constraints.model.ConA

tmp-codegen-diff/codegen-server-test-python/constraints/rust-server-codegen-python/python/constraints/model/__init__.pyi

@@ -113,113 +173,173 @@
  133    133   
    set_of_range_short: typing.Optional[typing.List[int]]
  134    134   
  135    135   
    sparse_length_list: typing.Optional[typing.List[typing.Optional[str]]]
  136    136   
  137    137   
    sparse_length_map: typing.Optional[typing.Dict[str, typing.Optional[str]]]
  138    138   
  139    139   
    sparse_list: typing.Optional[typing.List[typing.Optional[str]]]
  140    140   
  141    141   
    sparse_map: typing.Optional[typing.Dict[str, typing.Optional[typing.List[str]]]]
  142    142   
  143         -
    def __init__(self, con_b: constraints.model.ConB, opt_con_b: typing.Optional[constraints.model.ConB] = ..., length_string: typing.Optional[str] = ..., min_length_string: typing.Optional[str] = ..., max_length_string: typing.Optional[str] = ..., fixed_length_string: typing.Optional[str] = ..., length_blob: typing.Optional[constraints.types.Blob] = ..., min_length_blob: typing.Optional[constraints.types.Blob] = ..., max_length_blob: typing.Optional[constraints.types.Blob] = ..., fixed_length_blob: typing.Optional[constraints.types.Blob] = ..., range_integer: int, min_range_integer: int, max_range_integer: int, fixed_value_integer: int, range_short: int, min_range_short: int, max_range_short: int, fixed_value_short: int, range_long: int, min_range_long: int, max_range_long: int, fixed_value_long: int, range_byte: int, min_range_byte: int, max_range_byte: int, fixed_value_byte: int, con_b_list: typing.Optional[typing.List[typing.List[constraints.model.ConB]]] = ..., length_list: typing.Optional[typing.List[str]] = ..., sensitive_length_list: typing.Optional[typing.List[constraints.model.SensitiveStructure]] = ..., con_b_set: typing.Optional[typing.List[typing.Set[str]]] = ..., con_b_map: typing.Optional[typing.Dict[str, str]] = ..., length_map: typing.Optional[typing.Dict[str, str]] = ..., map_of_map_of_list_of_list_of_con_b: typing.Optional[typing.Dict[str, typing.Dict[str, typing.List[typing.List[constraints.model.ConB]]]]] = ..., sparse_map: typing.Optional[typing.Dict[str, typing.Optional[typing.List[str]]]] = ..., sparse_list: typing.Optional[typing.List[typing.Optional[str]]] = ..., sparse_length_map: typing.Optional[typing.Dict[str, typing.Optional[str]]] = ..., sparse_length_list: typing.Optional[typing.List[typing.Optional[str]]] = ..., constrained_union: typing.Optional[constraints.model.ConstrainedUnion] = ..., enum_string: typing.Optional[constraints.model.EnumString] = ..., list_of_length_string: typing.Optional[typing.List[str]] = ..., set_of_length_string: typing.Optional[typing.Set[str]] = ..., map_of_length_string: typing.Optional[typing.Dict[str, str]] = ..., list_of_length_blob: typing.Optional[typing.List[constraints.types.Blob]] = ..., map_of_length_blob: typing.Optional[typing.Dict[str, constraints.types.Blob]] = ..., list_of_range_integer: typing.Optional[typing.List[int]] = ..., set_of_range_integer: typing.Optional[typing.List[int]] = ..., map_of_range_integer: typing.Optional[typing.Dict[str, int]] = ..., list_of_range_short: typing.Optional[typing.List[int]] = ..., set_of_range_short: typing.Optional[typing.List[int]] = ..., map_of_range_short: typing.Optional[typing.Dict[str, int]] = ..., list_of_range_long: typing.Optional[typing.List[int]] = ..., set_of_range_long: typing.Optional[typing.List[int]] = ..., map_of_range_long: typing.Optional[typing.Dict[str, int]] = ..., list_of_range_byte: typing.Optional[typing.List[int]] = ..., set_of_range_byte: typing.Optional[typing.List[int]] = ..., map_of_range_byte: typing.Optional[typing.Dict[str, int]] = ..., non_streaming_blob: typing.Optional[constraints.types.Blob] = ..., pattern_string: typing.Optional[str] = ..., map_of_pattern_string: typing.Optional[typing.Dict[str, str]] = ..., list_of_pattern_string: typing.Optional[typing.List[str]] = ..., set_of_pattern_string: typing.Optional[typing.Set[str]] = ..., length_length_pattern_string: typing.Optional[str] = ..., map_of_length_pattern_string: typing.Optional[typing.Dict[str, str]] = ..., list_of_length_pattern_string: typing.Optional[typing.List[str]] = ..., set_of_length_pattern_string: typing.Optional[typing.Set[str]] = ..., length_list_of_pattern_string: typing.Optional[typing.List[str]] = ..., length_set_of_pattern_string: typing.Optional[typing.Set[str]] = ...) -> None:
         143  +
    def __init__(self, con_b: constraints.model.ConB, range_integer: int, min_range_integer: int, max_range_integer: int, fixed_value_integer: int, range_short: int, min_range_short: int, max_range_short: int, fixed_value_short: int, range_long: int, min_range_long: int, max_range_long: int, fixed_value_long: int, range_byte: int, min_range_byte: int, max_range_byte: int, fixed_value_byte: int, opt_con_b: typing.Optional[constraints.model.ConB] = ..., length_string: typing.Optional[str] = ..., min_length_string: typing.Optional[str] = ..., max_length_string: typing.Optional[str] = ..., fixed_length_string: typing.Optional[str] = ..., length_blob: typing.Optional[constraints.types.Blob] = ..., min_length_blob: typing.Optional[constraints.types.Blob] = ..., max_length_blob: typing.Optional[constraints.types.Blob] = ..., fixed_length_blob: typing.Optional[constraints.types.Blob] = ..., con_b_list: typing.Optional[typing.List[typing.List[constraints.model.ConB]]] = ..., length_list: typing.Optional[typing.List[str]] = ..., sensitive_length_list: typing.Optional[typing.List[constraints.model.SensitiveStructure]] = ..., con_b_set: typing.Optional[typing.List[typing.Set[str]]] = ..., con_b_map: typing.Optional[typing.Dict[str, str]] = ..., length_map: typing.Optional[typing.Dict[str, str]] = ..., map_of_map_of_list_of_list_of_con_b: typing.Optional[typing.Dict[str, typing.Dict[str, typing.List[typing.List[constraints.model.ConB]]]]] = ..., sparse_map: typing.Optional[typing.Dict[str, typing.Optional[typing.List[str]]]] = ..., sparse_list: typing.Optional[typing.List[typing.Optional[str]]] = ..., sparse_length_map: typing.Optional[typing.Dict[str, typing.Optional[str]]] = ..., sparse_length_list: typing.Optional[typing.List[typing.Optional[str]]] = ..., constrained_union: typing.Optional[constraints.model.ConstrainedUnion] = ..., enum_string: typing.Optional[constraints.model.EnumString] = ..., list_of_length_string: typing.Optional[typing.List[str]] = ..., set_of_length_string: typing.Optional[typing.Set[str]] = ..., map_of_length_string: typing.Optional[typing.Dict[str, str]] = ..., list_of_length_blob: typing.Optional[typing.List[constraints.types.Blob]] = ..., map_of_length_blob: typing.Optional[typing.Dict[str, constraints.types.Blob]] = ..., list_of_range_integer: typing.Optional[typing.List[int]] = ..., set_of_range_integer: typing.Optional[typing.List[int]] = ..., map_of_range_integer: typing.Optional[typing.Dict[str, int]] = ..., list_of_range_short: typing.Optional[typing.List[int]] = ..., set_of_range_short: typing.Optional[typing.List[int]] = ..., map_of_range_short: typing.Optional[typing.Dict[str, int]] = ..., list_of_range_long: typing.Optional[typing.List[int]] = ..., set_of_range_long: typing.Optional[typing.List[int]] = ..., map_of_range_long: typing.Optional[typing.Dict[str, int]] = ..., list_of_range_byte: typing.Optional[typing.List[int]] = ..., set_of_range_byte: typing.Optional[typing.List[int]] = ..., map_of_range_byte: typing.Optional[typing.Dict[str, int]] = ..., non_streaming_blob: typing.Optional[constraints.types.Blob] = ..., pattern_string: typing.Optional[str] = ..., map_of_pattern_string: typing.Optional[typing.Dict[str, str]] = ..., list_of_pattern_string: typing.Optional[typing.List[str]] = ..., set_of_pattern_string: typing.Optional[typing.Set[str]] = ..., length_length_pattern_string: typing.Optional[str] = ..., map_of_length_pattern_string: typing.Optional[typing.Dict[str, str]] = ..., list_of_length_pattern_string: typing.Optional[typing.List[str]] = ..., set_of_length_pattern_string: typing.Optional[typing.Set[str]] = ..., length_list_of_pattern_string: typing.Optional[typing.List[str]] = ..., length_set_of_pattern_string: typing.Optional[typing.Set[str]] = ...) -> None:
  144    144   
        ...
  145    145   
  146    146   
  147    147   
class ConB:
  148    148   
    int: int
  149    149   
  150    150   
    nice: str
  151    151   
  152    152   
    opt_int: typing.Optional[int]
  153    153   

tmp-codegen-diff/codegen-server-test-python/constraints/rust-server-codegen-python/python/constraints/output/__init__.pyi

@@ -60,60 +136,136 @@
   80     80   
    range_short_list_header: typing.Optional[typing.List[int]]
   81     81   
   82     82   
    range_short_list_query: typing.Optional[typing.List[int]]
   83     83   
   84     84   
    range_short_query: int
   85     85   
   86     86   
    range_short_set_header: typing.Optional[typing.List[int]]
   87     87   
   88     88   
    range_short_set_query: typing.Optional[typing.List[int]]
   89     89   
   90         -
    def __init__(self, length_string_label: str, range_integer_label: int, range_short_label: int, range_long_label: int, range_byte_label: int, enum_string_label: constraints.model.EnumString, length_string_header_map: typing.Dict[str, str], length_string_header: typing.Optional[str] = ..., range_integer_header: int, range_short_header: int, range_long_header: int, range_byte_header: int, length_string_set_header: typing.Optional[typing.Set[str]] = ..., list_length_string_header: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_header: typing.Optional[typing.List[str]] = ..., length_set_pattern_string_header: typing.Optional[typing.Set[str]] = ..., range_byte_set_header: typing.Optional[typing.List[int]] = ..., range_short_set_header: typing.Optional[typing.List[int]] = ..., range_integer_set_header: typing.Optional[typing.List[int]] = ..., range_long_set_header: typing.Optional[typing.List[int]] = ..., range_byte_list_header: typing.Optional[typing.List[int]] = ..., range_short_list_header: typing.Optional[typing.List[int]] = ..., range_integer_list_header: typing.Optional[typing.List[int]] = ..., range_long_list_header: typing.Optional[typing.List[int]] = ..., length_string_query: typing.Optional[str] = ..., range_byte_query: int, range_short_query: int, range_integer_query: int, range_long_query: int, enum_string_query: typing.Optional[constraints.model.EnumString] = ..., length_string_list_query: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_query: typing.Optional[typing.List[str]] = ..., length_string_set_query: typing.Optional[typing.Set[str]] = ..., range_byte_list_query: typing.Optional[typing.List[int]] = ..., range_short_list_query: typing.Optional[typing.List[int]] = ..., range_integer_list_query: typing.Optional[typing.List[int]] = ..., range_long_list_query: typing.Optional[typing.List[int]] = ..., range_byte_set_query: typing.Optional[typing.List[int]] = ..., range_short_set_query: typing.Optional[typing.List[int]] = ..., range_integer_set_query: typing.Optional[typing.List[int]] = ..., range_long_set_query: typing.Optional[typing.List[int]] = ..., enum_string_list_query: typing.Optional[typing.List[constraints.model.EnumString]] = ...) -> None:
          90  +
    def __init__(self, length_string_label: str, range_integer_label: int, range_short_label: int, range_long_label: int, range_byte_label: int, enum_string_label: constraints.model.EnumString, length_string_header_map: typing.Dict[str, str], range_integer_header: int, range_short_header: int, range_long_header: int, range_byte_header: int, range_byte_query: int, range_short_query: int, range_integer_query: int, range_long_query: int, length_string_header: typing.Optional[str] = ..., length_string_set_header: typing.Optional[typing.Set[str]] = ..., list_length_string_header: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_header: typing.Optional[typing.List[str]] = ..., length_set_pattern_string_header: typing.Optional[typing.Set[str]] = ..., range_byte_set_header: typing.Optional[typing.List[int]] = ..., range_short_set_header: typing.Optional[typing.List[int]] = ..., range_integer_set_header: typing.Optional[typing.List[int]] = ..., range_long_set_header: typing.Optional[typing.List[int]] = ..., range_byte_list_header: typing.Optional[typing.List[int]] = ..., range_short_list_header: typing.Optional[typing.List[int]] = ..., range_integer_list_header: typing.Optional[typing.List[int]] = ..., range_long_list_header: typing.Optional[typing.List[int]] = ..., length_string_query: typing.Optional[str] = ..., enum_string_query: typing.Optional[constraints.model.EnumString] = ..., length_string_list_query: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_query: typing.Optional[typing.List[str]] = ..., length_string_set_query: typing.Optional[typing.Set[str]] = ..., range_byte_list_query: typing.Optional[typing.List[int]] = ..., range_short_list_query: typing.Optional[typing.List[int]] = ..., range_integer_list_query: typing.Optional[typing.List[int]] = ..., range_long_list_query: typing.Optional[typing.List[int]] = ..., range_byte_set_query: typing.Optional[typing.List[int]] = ..., range_short_set_query: typing.Optional[typing.List[int]] = ..., range_integer_set_query: typing.Optional[typing.List[int]] = ..., range_long_set_query: typing.Optional[typing.List[int]] = ..., enum_string_list_query: typing.Optional[typing.List[constraints.model.EnumString]] = ...) -> None:
   91     91   
        ...
   92     92   
   93     93   
   94     94   
class ConstrainedHttpPayloadBoundShapeOperationOutput:
   95     95   
    http_payload_bound_constrained_shape: constraints.model.ConA
   96     96   
   97     97   
    def __init__(self, http_payload_bound_constrained_shape: constraints.model.ConA) -> None:
   98     98   
        ...
   99     99   
  100    100   
  101    101   
class ConstrainedRecursiveShapesOperationOutput:
  102    102   
    nested: typing.Optional[constraints.model.RecursiveShapesInputOutputNested1]
  103    103   
  104    104   
    recursive_list: typing.List[constraints.model.RecursiveShapesInputOutputNested1]
  105    105   
  106         -
    def __init__(self, nested: typing.Optional[constraints.model.RecursiveShapesInputOutputNested1] = ..., recursive_list: typing.List[constraints.model.RecursiveShapesInputOutputNested1]) -> None:
         106  +
    def __init__(self, recursive_list: typing.List[constraints.model.RecursiveShapesInputOutputNested1], nested: typing.Optional[constraints.model.RecursiveShapesInputOutputNested1] = ...) -> None:
  107    107   
        ...
  108    108   
  109    109   
  110    110   
class ConstrainedShapesOnlyInOutputOperationOutput:
  111    111   
    list: typing.Optional[typing.List[constraints.model.ConstrainedUnionInOutput]]
  112    112   
  113    113   
    map: typing.Optional[typing.Dict[str, constraints.model.TransitivelyConstrainedStructureInOutput]]
  114    114   
  115    115   
    union: typing.Optional[constraints.model.ConstrainedUnionInOutput]
  116    116   

tmp-codegen-diff/codegen-server-test-python/constraints/rust-server-codegen-python/src/input.rs

@@ -1040,1040 +1141,1141 @@
 1060   1060   
        crate::input::query_params_targeting_length_map_operation_input_internal::Builder;
 1061   1061   
}
 1062   1062   
impl QueryParamsTargetingLengthMapOperationInput {
 1063   1063   
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingLengthMapOperationInput`](crate::input::QueryParamsTargetingLengthMapOperationInput).
 1064   1064   
    pub fn builder() -> crate::input::query_params_targeting_length_map_operation_input::Builder {
 1065   1065   
        crate::input::query_params_targeting_length_map_operation_input::Builder::default()
 1066   1066   
    }
 1067   1067   
}
 1068   1068   
 1069   1069   
#[::pyo3::pyclass]
 1070         -
/// :param nested typing.Optional\[constraints.model.RecursiveShapesInputOutputNested1\]:
 1071   1070   
/// :param recursive_list typing.List\[constraints.model.RecursiveShapesInputOutputNested1\]:
        1071  +
/// :param nested typing.Optional\[constraints.model.RecursiveShapesInputOutputNested1\]:
 1072   1072   
/// :rtype None:
 1073   1073   
#[allow(missing_docs)] // documentation missing in model
 1074   1074   
#[derive(
 1075   1075   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1076   1076   
)]
 1077   1077   
pub struct ConstrainedRecursiveShapesOperationInput {
 1078   1078   
    #[pyo3(get, set)]
 1079   1079   
    /// :type typing.Optional\[constraints.model.RecursiveShapesInputOutputNested1\]:
 1080   1080   
    #[allow(missing_docs)] // documentation missing in model
 1081   1081   
    pub nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
 1082   1082   
    #[pyo3(get, set)]
 1083   1083   
    /// :type typing.List\[constraints.model.RecursiveShapesInputOutputNested1\]:
 1084   1084   
    #[allow(missing_docs)] // documentation missing in model
 1085   1085   
    pub recursive_list: ::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>,
 1086   1086   
}
 1087   1087   
impl ConstrainedRecursiveShapesOperationInput {
 1088   1088   
    #[allow(missing_docs)] // documentation missing in model
 1089   1089   
    pub fn nested(
 1090   1090   
        &self,
 1091   1091   
    ) -> ::std::option::Option<&crate::model::RecursiveShapesInputOutputNested1> {
 1092   1092   
        self.nested.as_ref()
 1093   1093   
    }
 1094   1094   
    #[allow(missing_docs)] // documentation missing in model
 1095   1095   
    pub fn recursive_list(&self) -> &[crate::model::RecursiveShapesInputOutputNested1] {
 1096   1096   
        use std::ops::Deref;
 1097   1097   
        self.recursive_list.deref()
 1098   1098   
    }
 1099   1099   
}
 1100   1100   
#[allow(clippy::new_without_default)]
 1101   1101   
#[allow(clippy::too_many_arguments)]
 1102   1102   
#[::pyo3::pymethods]
 1103   1103   
impl ConstrainedRecursiveShapesOperationInput {
 1104   1104   
    #[new]
 1105   1105   
    pub fn new(
 1106         -
        nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
 1107   1106   
        recursive_list: ::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>,
        1107  +
        nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
 1108   1108   
    ) -> Self {
 1109   1109   
        Self {
 1110         -
            nested,
 1111   1110   
            recursive_list,
        1111  +
            nested,
 1112   1112   
        }
 1113   1113   
    }
 1114   1114   
    fn __repr__(&self) -> String {
 1115   1115   
        format!("{self:?}")
 1116   1116   
    }
 1117   1117   
    fn __str__(&self) -> String {
 1118   1118   
        format!("{self:?}")
 1119   1119   
    }
 1120   1120   
}
 1121   1121   
impl<'source> ::pyo3::FromPyObject<'source>
@@ -1190,1190 +1271,1271 @@
 1210   1210   
}
 1211   1211   
 1212   1212   
#[::pyo3::pyclass]
 1213   1213   
/// :param length_string_label str:
 1214   1214   
/// :param range_integer_label int:
 1215   1215   
/// :param range_short_label int:
 1216   1216   
/// :param range_long_label int:
 1217   1217   
/// :param range_byte_label int:
 1218   1218   
/// :param enum_string_label constraints.model.EnumString:
 1219   1219   
/// :param length_string_header_map typing.Dict\[str, str\]:
 1220         -
/// :param length_string_header typing.Optional\[str\]:
 1221   1220   
/// :param range_integer_header int:
 1222   1221   
/// :param range_short_header int:
 1223   1222   
/// :param range_long_header int:
 1224   1223   
/// :param range_byte_header int:
        1224  +
/// :param range_byte_query int:
        1225  +
/// :param range_short_query int:
        1226  +
/// :param range_integer_query int:
        1227  +
/// :param range_long_query int:
        1228  +
/// :param length_string_header typing.Optional\[str\]:
 1225   1229   
/// :param length_string_set_header typing.Optional\[typing.Set\[str\]\]:
 1226   1230   
/// :param list_length_string_header typing.Optional\[typing.List\[str\]\]:
 1227   1231   
/// :param length_list_pattern_string_header typing.Optional\[typing.List\[str\]\]:
 1228   1232   
/// :param length_set_pattern_string_header typing.Optional\[typing.Set\[str\]\]:
 1229   1233   
/// :param range_byte_set_header typing.Optional\[typing.List\[int\]\]:
 1230   1234   
/// :param range_short_set_header typing.Optional\[typing.List\[int\]\]:
 1231   1235   
/// :param range_integer_set_header typing.Optional\[typing.List\[int\]\]:
 1232   1236   
/// :param range_long_set_header typing.Optional\[typing.List\[int\]\]:
 1233   1237   
/// :param range_byte_list_header typing.Optional\[typing.List\[int\]\]:
 1234   1238   
/// :param range_short_list_header typing.Optional\[typing.List\[int\]\]:
 1235   1239   
/// :param range_integer_list_header typing.Optional\[typing.List\[int\]\]:
 1236   1240   
/// :param range_long_list_header typing.Optional\[typing.List\[int\]\]:
 1237   1241   
/// :param length_string_query typing.Optional\[str\]:
 1238         -
/// :param range_byte_query int:
 1239         -
/// :param range_short_query int:
 1240         -
/// :param range_integer_query int:
 1241         -
/// :param range_long_query int:
 1242   1242   
/// :param enum_string_query typing.Optional\[constraints.model.EnumString\]:
 1243   1243   
/// :param length_string_list_query typing.Optional\[typing.List\[str\]\]:
 1244   1244   
/// :param length_list_pattern_string_query typing.Optional\[typing.List\[str\]\]:
 1245   1245   
/// :param length_string_set_query typing.Optional\[typing.Set\[str\]\]:
 1246   1246   
/// :param range_byte_list_query typing.Optional\[typing.List\[int\]\]:
 1247   1247   
/// :param range_short_list_query typing.Optional\[typing.List\[int\]\]:
 1248   1248   
/// :param range_integer_list_query typing.Optional\[typing.List\[int\]\]:
 1249   1249   
/// :param range_long_list_query typing.Optional\[typing.List\[int\]\]:
 1250   1250   
/// :param range_byte_set_query typing.Optional\[typing.List\[int\]\]:
 1251   1251   
/// :param range_short_set_query typing.Optional\[typing.List\[int\]\]:
@@ -1601,1601 +1732,1732 @@
 1621   1621   
        length_string_label: ::std::string::String,
 1622   1622   
        range_integer_label: i32,
 1623   1623   
        range_short_label: i16,
 1624   1624   
        range_long_label: i64,
 1625   1625   
        range_byte_label: i8,
 1626   1626   
        enum_string_label: crate::model::EnumString,
 1627   1627   
        length_string_header_map: ::std::collections::HashMap<
 1628   1628   
            ::std::string::String,
 1629   1629   
            ::std::string::String,
 1630   1630   
        >,
 1631         -
        length_string_header: ::std::option::Option<::std::string::String>,
 1632   1631   
        range_integer_header: i32,
 1633   1632   
        range_short_header: i16,
 1634   1633   
        range_long_header: i64,
 1635   1634   
        range_byte_header: i8,
        1635  +
        range_byte_query: i8,
        1636  +
        range_short_query: i16,
        1637  +
        range_integer_query: i32,
        1638  +
        range_long_query: i64,
        1639  +
        length_string_header: ::std::option::Option<::std::string::String>,
 1636   1640   
        length_string_set_header: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1637   1641   
        list_length_string_header: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1638   1642   
        length_list_pattern_string_header: ::std::option::Option<
 1639   1643   
            ::std::vec::Vec<::std::string::String>,
 1640   1644   
        >,
 1641   1645   
        length_set_pattern_string_header: ::std::option::Option<
 1642   1646   
            ::std::vec::Vec<::std::string::String>,
 1643   1647   
        >,
 1644   1648   
        range_byte_set_header: ::std::option::Option<::std::vec::Vec<i8>>,
 1645   1649   
        range_short_set_header: ::std::option::Option<::std::vec::Vec<i16>>,
 1646   1650   
        range_integer_set_header: ::std::option::Option<::std::vec::Vec<i32>>,
 1647   1651   
        range_long_set_header: ::std::option::Option<::std::vec::Vec<i64>>,
 1648   1652   
        range_byte_list_header: ::std::option::Option<::std::vec::Vec<i8>>,
 1649   1653   
        range_short_list_header: ::std::option::Option<::std::vec::Vec<i16>>,
 1650   1654   
        range_integer_list_header: ::std::option::Option<::std::vec::Vec<i32>>,
 1651   1655   
        range_long_list_header: ::std::option::Option<::std::vec::Vec<i64>>,
 1652   1656   
        length_string_query: ::std::option::Option<::std::string::String>,
 1653         -
        range_byte_query: i8,
 1654         -
        range_short_query: i16,
 1655         -
        range_integer_query: i32,
 1656         -
        range_long_query: i64,
 1657   1657   
        enum_string_query: ::std::option::Option<crate::model::EnumString>,
 1658   1658   
        length_string_list_query: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1659   1659   
        length_list_pattern_string_query: ::std::option::Option<
 1660   1660   
            ::std::vec::Vec<::std::string::String>,
 1661   1661   
        >,
 1662   1662   
        length_string_set_query: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1663   1663   
        range_byte_list_query: ::std::option::Option<::std::vec::Vec<i8>>,
 1664   1664   
        range_short_list_query: ::std::option::Option<::std::vec::Vec<i16>>,
 1665   1665   
        range_integer_list_query: ::std::option::Option<::std::vec::Vec<i32>>,
 1666   1666   
        range_long_list_query: ::std::option::Option<::std::vec::Vec<i64>>,
 1667   1667   
        range_byte_set_query: ::std::option::Option<::std::vec::Vec<i8>>,
 1668   1668   
        range_short_set_query: ::std::option::Option<::std::vec::Vec<i16>>,
 1669   1669   
        range_integer_set_query: ::std::option::Option<::std::vec::Vec<i32>>,
 1670   1670   
        range_long_set_query: ::std::option::Option<::std::vec::Vec<i64>>,
 1671   1671   
        enum_string_list_query: ::std::option::Option<::std::vec::Vec<crate::model::EnumString>>,
 1672   1672   
    ) -> Self {
 1673   1673   
        Self {
 1674   1674   
            length_string_label,
 1675   1675   
            range_integer_label,
 1676   1676   
            range_short_label,
 1677   1677   
            range_long_label,
 1678   1678   
            range_byte_label,
 1679   1679   
            enum_string_label,
 1680   1680   
            length_string_header_map,
 1681         -
            length_string_header,
 1682   1681   
            range_integer_header,
 1683   1682   
            range_short_header,
 1684   1683   
            range_long_header,
 1685   1684   
            range_byte_header,
        1685  +
            range_byte_query,
        1686  +
            range_short_query,
        1687  +
            range_integer_query,
        1688  +
            range_long_query,
        1689  +
            length_string_header,
 1686   1690   
            length_string_set_header,
 1687   1691   
            list_length_string_header,
 1688   1692   
            length_list_pattern_string_header,
 1689   1693   
            length_set_pattern_string_header,
 1690   1694   
            range_byte_set_header,
 1691   1695   
            range_short_set_header,
 1692   1696   
            range_integer_set_header,
 1693   1697   
            range_long_set_header,
 1694   1698   
            range_byte_list_header,
 1695   1699   
            range_short_list_header,
 1696   1700   
            range_integer_list_header,
 1697   1701   
            range_long_list_header,
 1698   1702   
            length_string_query,
 1699         -
            range_byte_query,
 1700         -
            range_short_query,
 1701         -
            range_integer_query,
 1702         -
            range_long_query,
 1703   1703   
            enum_string_query,
 1704   1704   
            length_string_list_query,
 1705   1705   
            length_list_pattern_string_query,
 1706   1706   
            length_string_set_query,
 1707   1707   
            range_byte_list_query,
 1708   1708   
            range_short_list_query,
 1709   1709   
            range_integer_list_query,
 1710   1710   
            range_long_list_query,
 1711   1711   
            range_byte_set_query,
 1712   1712   
            range_short_set_query,

tmp-codegen-diff/codegen-server-test-python/constraints/rust-server-codegen-python/src/model.rs

@@ -896,896 +980,980 @@
  916    916   
}
  917    917   
impl RecursiveShapesInputOutputNested2 {
  918    918   
    /// Creates a new builder-style object to manufacture [`RecursiveShapesInputOutputNested2`](crate::model::RecursiveShapesInputOutputNested2).
  919    919   
    pub fn builder() -> crate::model::recursive_shapes_input_output_nested2::Builder {
  920    920   
        crate::model::recursive_shapes_input_output_nested2::Builder::default()
  921    921   
    }
  922    922   
}
  923    923   
  924    924   
#[::pyo3::pyclass]
  925    925   
/// :param con_b constraints.model.ConB:
  926         -
/// :param opt_con_b typing.Optional\[constraints.model.ConB\]:
  927         -
/// :param length_string typing.Optional\[str\]:
  928         -
/// :param min_length_string typing.Optional\[str\]:
  929         -
/// :param max_length_string typing.Optional\[str\]:
  930         -
/// :param fixed_length_string typing.Optional\[str\]:
  931         -
/// :param length_blob typing.Optional\[constraints.types.Blob\]:
  932         -
/// :param min_length_blob typing.Optional\[constraints.types.Blob\]:
  933         -
/// :param max_length_blob typing.Optional\[constraints.types.Blob\]:
  934         -
/// :param fixed_length_blob typing.Optional\[constraints.types.Blob\]:
  935    926   
/// :param range_integer int:
  936    927   
/// :param min_range_integer int:
  937    928   
/// :param max_range_integer int:
  938    929   
/// :param fixed_value_integer int:
  939    930   
/// :param range_short int:
  940    931   
/// :param min_range_short int:
  941    932   
/// :param max_range_short int:
  942    933   
/// :param fixed_value_short int:
  943    934   
/// :param range_long int:
  944    935   
/// :param min_range_long int:
  945    936   
/// :param max_range_long int:
  946    937   
/// :param fixed_value_long int:
  947    938   
/// :param range_byte int:
  948    939   
/// :param min_range_byte int:
  949    940   
/// :param max_range_byte int:
  950    941   
/// :param fixed_value_byte int:
         942  +
/// :param opt_con_b typing.Optional\[constraints.model.ConB\]:
         943  +
/// :param length_string typing.Optional\[str\]:
         944  +
/// :param min_length_string typing.Optional\[str\]:
         945  +
/// :param max_length_string typing.Optional\[str\]:
         946  +
/// :param fixed_length_string typing.Optional\[str\]:
         947  +
/// :param length_blob typing.Optional\[constraints.types.Blob\]:
         948  +
/// :param min_length_blob typing.Optional\[constraints.types.Blob\]:
         949  +
/// :param max_length_blob typing.Optional\[constraints.types.Blob\]:
         950  +
/// :param fixed_length_blob typing.Optional\[constraints.types.Blob\]:
  951    951   
/// :param con_b_list typing.Optional\[typing.List\[typing.List\[constraints.model.ConB\]\]\]:
  952    952   
/// :param length_list typing.Optional\[typing.List\[str\]\]:
  953    953   
/// :param sensitive_length_list typing.Optional\[typing.List\[constraints.model.SensitiveStructure\]\]:
  954    954   
/// :param con_b_set typing.Optional\[typing.List\[typing.Set\[str\]\]\]:
  955    955   
/// :param con_b_map typing.Optional\[typing.Dict\[str, str\]\]:
  956    956   
/// :param length_map typing.Optional\[typing.Dict\[str, str\]\]:
  957    957   
/// :param map_of_map_of_list_of_list_of_con_b typing.Optional\[typing.Dict\[str, typing.Dict\[str, typing.List\[typing.List\[constraints.model.ConB\]\]\]\]\]:
  958    958   
/// :param sparse_map typing.Optional\[typing.Dict\[str, typing.Optional\[typing.List\[str\]\]\]\]:
  959    959   
/// :param sparse_list typing.Optional\[typing.List\[typing.Optional\[str\]\]\]:
  960    960   
/// :param sparse_length_map typing.Optional\[typing.Dict\[str, typing.Optional\[str\]\]\]:
@@ -1640,1640 +1724,1724 @@
 1660   1660   
        self.length_set_of_pattern_string.as_ref()
 1661   1661   
    }
 1662   1662   
}
 1663   1663   
#[allow(clippy::new_without_default)]
 1664   1664   
#[allow(clippy::too_many_arguments)]
 1665   1665   
#[::pyo3::pymethods]
 1666   1666   
impl ConA {
 1667   1667   
    #[new]
 1668   1668   
    pub fn new(
 1669   1669   
        con_b: crate::model::ConB,
 1670         -
        opt_con_b: ::std::option::Option<crate::model::ConB>,
 1671         -
        length_string: ::std::option::Option<::std::string::String>,
 1672         -
        min_length_string: ::std::option::Option<::std::string::String>,
 1673         -
        max_length_string: ::std::option::Option<::std::string::String>,
 1674         -
        fixed_length_string: ::std::option::Option<::std::string::String>,
 1675         -
        length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1676         -
        min_length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1677         -
        max_length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1678         -
        fixed_length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1679   1670   
        range_integer: i32,
 1680   1671   
        min_range_integer: i32,
 1681   1672   
        max_range_integer: i32,
 1682   1673   
        fixed_value_integer: i32,
 1683   1674   
        range_short: i16,
 1684   1675   
        min_range_short: i16,
 1685   1676   
        max_range_short: i16,
 1686   1677   
        fixed_value_short: i16,
 1687   1678   
        range_long: i64,
 1688   1679   
        min_range_long: i64,
 1689   1680   
        max_range_long: i64,
 1690   1681   
        fixed_value_long: i64,
 1691   1682   
        range_byte: i8,
 1692   1683   
        min_range_byte: i8,
 1693   1684   
        max_range_byte: i8,
 1694   1685   
        fixed_value_byte: i8,
        1686  +
        opt_con_b: ::std::option::Option<crate::model::ConB>,
        1687  +
        length_string: ::std::option::Option<::std::string::String>,
        1688  +
        min_length_string: ::std::option::Option<::std::string::String>,
        1689  +
        max_length_string: ::std::option::Option<::std::string::String>,
        1690  +
        fixed_length_string: ::std::option::Option<::std::string::String>,
        1691  +
        length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        1692  +
        min_length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        1693  +
        max_length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        1694  +
        fixed_length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1695   1695   
        con_b_list: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<crate::model::ConB>>>,
 1696   1696   
        length_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1697   1697   
        sensitive_length_list: ::std::option::Option<
 1698   1698   
            ::std::vec::Vec<crate::model::SensitiveStructure>,
 1699   1699   
        >,
 1700   1700   
        con_b_set: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
 1701   1701   
        con_b_map: ::std::option::Option<
 1702   1702   
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1703   1703   
        >,
 1704   1704   
        length_map: ::std::option::Option<
@@ -1762,1762 +1846,1846 @@
 1782   1782   
            ::std::vec::Vec<::std::string::String>,
 1783   1783   
        >,
 1784   1784   
        set_of_length_pattern_string: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1785   1785   
        length_list_of_pattern_string: ::std::option::Option<
 1786   1786   
            ::std::vec::Vec<::std::string::String>,
 1787   1787   
        >,
 1788   1788   
        length_set_of_pattern_string: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1789   1789   
    ) -> Self {
 1790   1790   
        Self {
 1791   1791   
            con_b,
 1792         -
            opt_con_b,
 1793         -
            length_string,
 1794         -
            min_length_string,
 1795         -
            max_length_string,
 1796         -
            fixed_length_string,
 1797         -
            length_blob,
 1798         -
            min_length_blob,
 1799         -
            max_length_blob,
 1800         -
            fixed_length_blob,
 1801   1792   
            range_integer,
 1802   1793   
            min_range_integer,
 1803   1794   
            max_range_integer,
 1804   1795   
            fixed_value_integer,
 1805   1796   
            range_short,
 1806   1797   
            min_range_short,
 1807   1798   
            max_range_short,
 1808   1799   
            fixed_value_short,
 1809   1800   
            range_long,
 1810   1801   
            min_range_long,
 1811   1802   
            max_range_long,
 1812   1803   
            fixed_value_long,
 1813   1804   
            range_byte,
 1814   1805   
            min_range_byte,
 1815   1806   
            max_range_byte,
 1816   1807   
            fixed_value_byte,
        1808  +
            opt_con_b,
        1809  +
            length_string,
        1810  +
            min_length_string,
        1811  +
            max_length_string,
        1812  +
            fixed_length_string,
        1813  +
            length_blob,
        1814  +
            min_length_blob,
        1815  +
            max_length_blob,
        1816  +
            fixed_length_blob,
 1817   1817   
            con_b_list,
 1818   1818   
            length_list,
 1819   1819   
            sensitive_length_list,
 1820   1820   
            con_b_set,
 1821   1821   
            con_b_map,
 1822   1822   
            length_map,
 1823   1823   
            map_of_map_of_list_of_list_of_con_b,
 1824   1824   
            sparse_map,
 1825   1825   
            sparse_list,
 1826   1826   
            sparse_length_map,

tmp-codegen-diff/codegen-server-test-python/constraints/rust-server-codegen-python/src/output.rs

@@ -971,971 +1072,1072 @@
  991    991   
    }
  992    992   
}
  993    993   
impl QueryParamsTargetingLengthMapOperationOutput {
  994    994   
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingLengthMapOperationOutput`](crate::output::QueryParamsTargetingLengthMapOperationOutput).
  995    995   
    pub fn builder() -> crate::output::query_params_targeting_length_map_operation_output::Builder {
  996    996   
        crate::output::query_params_targeting_length_map_operation_output::Builder::default()
  997    997   
    }
  998    998   
}
  999    999   
 1000   1000   
#[::pyo3::pyclass]
 1001         -
/// :param nested typing.Optional\[constraints.model.RecursiveShapesInputOutputNested1\]:
 1002   1001   
/// :param recursive_list typing.List\[constraints.model.RecursiveShapesInputOutputNested1\]:
        1002  +
/// :param nested typing.Optional\[constraints.model.RecursiveShapesInputOutputNested1\]:
 1003   1003   
/// :rtype None:
 1004   1004   
#[allow(missing_docs)] // documentation missing in model
 1005   1005   
#[derive(
 1006   1006   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1007   1007   
)]
 1008   1008   
pub struct ConstrainedRecursiveShapesOperationOutput {
 1009   1009   
    #[pyo3(get, set)]
 1010   1010   
    /// :type typing.Optional\[constraints.model.RecursiveShapesInputOutputNested1\]:
 1011   1011   
    #[allow(missing_docs)] // documentation missing in model
 1012   1012   
    pub nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
 1013   1013   
    #[pyo3(get, set)]
 1014   1014   
    /// :type typing.List\[constraints.model.RecursiveShapesInputOutputNested1\]:
 1015   1015   
    #[allow(missing_docs)] // documentation missing in model
 1016   1016   
    pub recursive_list: ::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>,
 1017   1017   
}
 1018   1018   
impl ConstrainedRecursiveShapesOperationOutput {
 1019   1019   
    #[allow(missing_docs)] // documentation missing in model
 1020   1020   
    pub fn nested(
 1021   1021   
        &self,
 1022   1022   
    ) -> ::std::option::Option<&crate::model::RecursiveShapesInputOutputNested1> {
 1023   1023   
        self.nested.as_ref()
 1024   1024   
    }
 1025   1025   
    #[allow(missing_docs)] // documentation missing in model
 1026   1026   
    pub fn recursive_list(&self) -> &[crate::model::RecursiveShapesInputOutputNested1] {
 1027   1027   
        use std::ops::Deref;
 1028   1028   
        self.recursive_list.deref()
 1029   1029   
    }
 1030   1030   
}
 1031   1031   
#[allow(clippy::new_without_default)]
 1032   1032   
#[allow(clippy::too_many_arguments)]
 1033   1033   
#[::pyo3::pymethods]
 1034   1034   
impl ConstrainedRecursiveShapesOperationOutput {
 1035   1035   
    #[new]
 1036   1036   
    pub fn new(
 1037         -
        nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
 1038   1037   
        recursive_list: ::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>,
        1038  +
        nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
 1039   1039   
    ) -> Self {
 1040   1040   
        Self {
 1041         -
            nested,
 1042   1041   
            recursive_list,
        1042  +
            nested,
 1043   1043   
        }
 1044   1044   
    }
 1045   1045   
    fn __repr__(&self) -> String {
 1046   1046   
        format!("{self:?}")
 1047   1047   
    }
 1048   1048   
    fn __str__(&self) -> String {
 1049   1049   
        format!("{self:?}")
 1050   1050   
    }
 1051   1051   
}
 1052   1052   
impl<'source> ::pyo3::FromPyObject<'source>
@@ -1111,1111 +1192,1192 @@
 1131   1131   
}
 1132   1132   
 1133   1133   
#[::pyo3::pyclass]
 1134   1134   
/// :param length_string_label str:
 1135   1135   
/// :param range_integer_label int:
 1136   1136   
/// :param range_short_label int:
 1137   1137   
/// :param range_long_label int:
 1138   1138   
/// :param range_byte_label int:
 1139   1139   
/// :param enum_string_label constraints.model.EnumString:
 1140   1140   
/// :param length_string_header_map typing.Dict\[str, str\]:
 1141         -
/// :param length_string_header typing.Optional\[str\]:
 1142   1141   
/// :param range_integer_header int:
 1143   1142   
/// :param range_short_header int:
 1144   1143   
/// :param range_long_header int:
 1145   1144   
/// :param range_byte_header int:
        1145  +
/// :param range_byte_query int:
        1146  +
/// :param range_short_query int:
        1147  +
/// :param range_integer_query int:
        1148  +
/// :param range_long_query int:
        1149  +
/// :param length_string_header typing.Optional\[str\]:
 1146   1150   
/// :param length_string_set_header typing.Optional\[typing.Set\[str\]\]:
 1147   1151   
/// :param list_length_string_header typing.Optional\[typing.List\[str\]\]:
 1148   1152   
/// :param length_list_pattern_string_header typing.Optional\[typing.List\[str\]\]:
 1149   1153   
/// :param length_set_pattern_string_header typing.Optional\[typing.Set\[str\]\]:
 1150   1154   
/// :param range_byte_set_header typing.Optional\[typing.List\[int\]\]:
 1151   1155   
/// :param range_short_set_header typing.Optional\[typing.List\[int\]\]:
 1152   1156   
/// :param range_integer_set_header typing.Optional\[typing.List\[int\]\]:
 1153   1157   
/// :param range_long_set_header typing.Optional\[typing.List\[int\]\]:
 1154   1158   
/// :param range_byte_list_header typing.Optional\[typing.List\[int\]\]:
 1155   1159   
/// :param range_short_list_header typing.Optional\[typing.List\[int\]\]:
 1156   1160   
/// :param range_integer_list_header typing.Optional\[typing.List\[int\]\]:
 1157   1161   
/// :param range_long_list_header typing.Optional\[typing.List\[int\]\]:
 1158   1162   
/// :param length_string_query typing.Optional\[str\]:
 1159         -
/// :param range_byte_query int:
 1160         -
/// :param range_short_query int:
 1161         -
/// :param range_integer_query int:
 1162         -
/// :param range_long_query int:
 1163   1163   
/// :param enum_string_query typing.Optional\[constraints.model.EnumString\]:
 1164   1164   
/// :param length_string_list_query typing.Optional\[typing.List\[str\]\]:
 1165   1165   
/// :param length_list_pattern_string_query typing.Optional\[typing.List\[str\]\]:
 1166   1166   
/// :param length_string_set_query typing.Optional\[typing.Set\[str\]\]:
 1167   1167   
/// :param range_byte_list_query typing.Optional\[typing.List\[int\]\]:
 1168   1168   
/// :param range_short_list_query typing.Optional\[typing.List\[int\]\]:
 1169   1169   
/// :param range_integer_list_query typing.Optional\[typing.List\[int\]\]:
 1170   1170   
/// :param range_long_list_query typing.Optional\[typing.List\[int\]\]:
 1171   1171   
/// :param range_byte_set_query typing.Optional\[typing.List\[int\]\]:
 1172   1172   
/// :param range_short_set_query typing.Optional\[typing.List\[int\]\]:
@@ -1522,1522 +1653,1653 @@
 1542   1542   
        length_string_label: ::std::string::String,
 1543   1543   
        range_integer_label: i32,
 1544   1544   
        range_short_label: i16,
 1545   1545   
        range_long_label: i64,
 1546   1546   
        range_byte_label: i8,
 1547   1547   
        enum_string_label: crate::model::EnumString,
 1548   1548   
        length_string_header_map: ::std::collections::HashMap<
 1549   1549   
            ::std::string::String,
 1550   1550   
            ::std::string::String,
 1551   1551   
        >,
 1552         -
        length_string_header: ::std::option::Option<::std::string::String>,
 1553   1552   
        range_integer_header: i32,
 1554   1553   
        range_short_header: i16,
 1555   1554   
        range_long_header: i64,
 1556   1555   
        range_byte_header: i8,
        1556  +
        range_byte_query: i8,
        1557  +
        range_short_query: i16,
        1558  +
        range_integer_query: i32,
        1559  +
        range_long_query: i64,
        1560  +
        length_string_header: ::std::option::Option<::std::string::String>,
 1557   1561   
        length_string_set_header: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1558   1562   
        list_length_string_header: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1559   1563   
        length_list_pattern_string_header: ::std::option::Option<
 1560   1564   
            ::std::vec::Vec<::std::string::String>,
 1561   1565   
        >,
 1562   1566   
        length_set_pattern_string_header: ::std::option::Option<
 1563   1567   
            ::std::vec::Vec<::std::string::String>,
 1564   1568   
        >,
 1565   1569   
        range_byte_set_header: ::std::option::Option<::std::vec::Vec<i8>>,
 1566   1570   
        range_short_set_header: ::std::option::Option<::std::vec::Vec<i16>>,
 1567   1571   
        range_integer_set_header: ::std::option::Option<::std::vec::Vec<i32>>,
 1568   1572   
        range_long_set_header: ::std::option::Option<::std::vec::Vec<i64>>,
 1569   1573   
        range_byte_list_header: ::std::option::Option<::std::vec::Vec<i8>>,
 1570   1574   
        range_short_list_header: ::std::option::Option<::std::vec::Vec<i16>>,
 1571   1575   
        range_integer_list_header: ::std::option::Option<::std::vec::Vec<i32>>,
 1572   1576   
        range_long_list_header: ::std::option::Option<::std::vec::Vec<i64>>,
 1573   1577   
        length_string_query: ::std::option::Option<::std::string::String>,
 1574         -
        range_byte_query: i8,
 1575         -
        range_short_query: i16,
 1576         -
        range_integer_query: i32,
 1577         -
        range_long_query: i64,
 1578   1578   
        enum_string_query: ::std::option::Option<crate::model::EnumString>,
 1579   1579   
        length_string_list_query: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1580   1580   
        length_list_pattern_string_query: ::std::option::Option<
 1581   1581   
            ::std::vec::Vec<::std::string::String>,
 1582   1582   
        >,
 1583   1583   
        length_string_set_query: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1584   1584   
        range_byte_list_query: ::std::option::Option<::std::vec::Vec<i8>>,
 1585   1585   
        range_short_list_query: ::std::option::Option<::std::vec::Vec<i16>>,
 1586   1586   
        range_integer_list_query: ::std::option::Option<::std::vec::Vec<i32>>,
 1587   1587   
        range_long_list_query: ::std::option::Option<::std::vec::Vec<i64>>,
 1588   1588   
        range_byte_set_query: ::std::option::Option<::std::vec::Vec<i8>>,
 1589   1589   
        range_short_set_query: ::std::option::Option<::std::vec::Vec<i16>>,
 1590   1590   
        range_integer_set_query: ::std::option::Option<::std::vec::Vec<i32>>,
 1591   1591   
        range_long_set_query: ::std::option::Option<::std::vec::Vec<i64>>,
 1592   1592   
        enum_string_list_query: ::std::option::Option<::std::vec::Vec<crate::model::EnumString>>,
 1593   1593   
    ) -> Self {
 1594   1594   
        Self {
 1595   1595   
            length_string_label,
 1596   1596   
            range_integer_label,
 1597   1597   
            range_short_label,
 1598   1598   
            range_long_label,
 1599   1599   
            range_byte_label,
 1600   1600   
            enum_string_label,
 1601   1601   
            length_string_header_map,
 1602         -
            length_string_header,
 1603   1602   
            range_integer_header,
 1604   1603   
            range_short_header,
 1605   1604   
            range_long_header,
 1606   1605   
            range_byte_header,
        1606  +
            range_byte_query,
        1607  +
            range_short_query,
        1608  +
            range_integer_query,
        1609  +
            range_long_query,
        1610  +
            length_string_header,
 1607   1611   
            length_string_set_header,
 1608   1612   
            list_length_string_header,
 1609   1613   
            length_list_pattern_string_header,
 1610   1614   
            length_set_pattern_string_header,
 1611   1615   
            range_byte_set_header,
 1612   1616   
            range_short_set_header,
 1613   1617   
            range_integer_set_header,
 1614   1618   
            range_long_set_header,
 1615   1619   
            range_byte_list_header,
 1616   1620   
            range_short_list_header,
 1617   1621   
            range_integer_list_header,
 1618   1622   
            range_long_list_header,
 1619   1623   
            length_string_query,
 1620         -
            range_byte_query,
 1621         -
            range_short_query,
 1622         -
            range_integer_query,
 1623         -
            range_long_query,
 1624   1624   
            enum_string_query,
 1625   1625   
            length_string_list_query,
 1626   1626   
            length_list_pattern_string_query,
 1627   1627   
            length_string_set_query,
 1628   1628   
            range_byte_list_query,
 1629   1629   
            range_short_list_query,
 1630   1630   
            range_integer_list_query,
 1631   1631   
            range_long_list_query,
 1632   1632   
            range_byte_set_query,
 1633   1633   
            range_short_set_query,

tmp-codegen-diff/codegen-server-test-python/constraints/rust-server-codegen-python/src/python_module_export.rs

@@ -1,1 +33,33 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[::pyo3::pymodule]
    3         -
#[::pyo3(name = "constraints")]
           3  +
#[pyo3(name = "constraints")]
    4      4   
pub fn python_library(py: ::pyo3::Python<'_>, m: &::pyo3::types::PyModule) -> ::pyo3::PyResult<()> {
    5      5   
    let input = ::pyo3::types::PyModule::new(py, "input")?;
    6      6   
    let output = ::pyo3::types::PyModule::new(py, "output")?;
    7      7   
    let error = ::pyo3::types::PyModule::new(py, "error")?;
    8      8   
    error.add_class::<crate::error::InternalServerError>()?;
    9      9   
    error.add_class::<crate::error::EventStreamErrorMessage>()?;
   10     10   
    error.add_class::<crate::error::ValidationException>()?;
   11     11   
    let model = ::pyo3::types::PyModule::new(py, "model")?;
   12     12   
    model.add_class::<crate::model::ValidationExceptionField>()?;
   13     13   
    output.add_class::<crate::output::EventStreamsOperationOutput>()?;

tmp-codegen-diff/codegen-server-test-python/constraints_without_public_constrained_types/rust-server-codegen-python/Cargo.toml

@@ -16,16 +75,75 @@
   36     36   
version = "0.3"
   37     37   
[dependencies.nom]
   38     38   
version = "7"
   39     39   
[dependencies.parking_lot]
   40     40   
version = "0.12"
   41     41   
[dependencies.percent-encoding]
   42     42   
version = "2.0.0"
   43     43   
[dependencies.pin-project-lite]
   44     44   
version = "0.2"
   45     45   
[dependencies.pyo3]
   46         -
version = "0.18"
          46  +
version = "0.20"
   47     47   
[dependencies.pyo3-asyncio]
   48         -
version = "0.18"
          48  +
version = "0.20"
   49     49   
features = ["attributes", "tokio-runtime", "unstable-streams"]
   50     50   
[dependencies.regex]
   51     51   
version = "1.5.5"
   52     52   
[dependencies.tokio]
   53     53   
version = "1.20.1"
   54     54   
features = ["full"]
   55     55   
[dependencies.tokio-stream]
   56     56   
version = "0.1.12"
   57     57   
[dependencies.tower]
   58     58   
version = "0.4"

tmp-codegen-diff/codegen-server-test-python/constraints_without_public_constrained_types/rust-server-codegen-python/python/constraints_without_public_constrained_types/input/__init__.pyi

@@ -60,60 +136,136 @@
   80     80   
    range_short_list_header: typing.Optional[typing.List[int]]
   81     81   
   82     82   
    range_short_list_query: typing.Optional[typing.List[int]]
   83     83   
   84     84   
    range_short_query: int
   85     85   
   86     86   
    range_short_set_header: typing.Optional[typing.List[int]]
   87     87   
   88     88   
    range_short_set_query: typing.Optional[typing.List[int]]
   89     89   
   90         -
    def __init__(self, length_string_label: str, range_integer_label: int, range_short_label: int, range_long_label: int, range_byte_label: int, enum_string_label: constraints_without_public_constrained_types.model.EnumString, length_string_header_map: typing.Dict[str, str], length_string_header: typing.Optional[str] = ..., range_integer_header: int, range_short_header: int, range_long_header: int, range_byte_header: int, length_string_set_header: typing.Optional[typing.Set[str]] = ..., list_length_string_header: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_header: typing.Optional[typing.List[str]] = ..., length_set_pattern_string_header: typing.Optional[typing.Set[str]] = ..., range_byte_set_header: typing.Optional[typing.List[int]] = ..., range_short_set_header: typing.Optional[typing.List[int]] = ..., range_integer_set_header: typing.Optional[typing.List[int]] = ..., range_long_set_header: typing.Optional[typing.List[int]] = ..., range_byte_list_header: typing.Optional[typing.List[int]] = ..., range_short_list_header: typing.Optional[typing.List[int]] = ..., range_integer_list_header: typing.Optional[typing.List[int]] = ..., range_long_list_header: typing.Optional[typing.List[int]] = ..., length_string_query: typing.Optional[str] = ..., range_byte_query: int, range_short_query: int, range_integer_query: int, range_long_query: int, enum_string_query: typing.Optional[constraints_without_public_constrained_types.model.EnumString] = ..., length_string_list_query: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_query: typing.Optional[typing.List[str]] = ..., length_string_set_query: typing.Optional[typing.Set[str]] = ..., range_byte_list_query: typing.Optional[typing.List[int]] = ..., range_short_list_query: typing.Optional[typing.List[int]] = ..., range_integer_list_query: typing.Optional[typing.List[int]] = ..., range_long_list_query: typing.Optional[typing.List[int]] = ..., range_byte_set_query: typing.Optional[typing.List[int]] = ..., range_short_set_query: typing.Optional[typing.List[int]] = ..., range_integer_set_query: typing.Optional[typing.List[int]] = ..., range_long_set_query: typing.Optional[typing.List[int]] = ..., enum_string_list_query: typing.Optional[typing.List[constraints_without_public_constrained_types.model.EnumString]] = ...) -> None:
          90  +
    def __init__(self, length_string_label: str, range_integer_label: int, range_short_label: int, range_long_label: int, range_byte_label: int, enum_string_label: constraints_without_public_constrained_types.model.EnumString, length_string_header_map: typing.Dict[str, str], range_integer_header: int, range_short_header: int, range_long_header: int, range_byte_header: int, range_byte_query: int, range_short_query: int, range_integer_query: int, range_long_query: int, length_string_header: typing.Optional[str] = ..., length_string_set_header: typing.Optional[typing.Set[str]] = ..., list_length_string_header: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_header: typing.Optional[typing.List[str]] = ..., length_set_pattern_string_header: typing.Optional[typing.Set[str]] = ..., range_byte_set_header: typing.Optional[typing.List[int]] = ..., range_short_set_header: typing.Optional[typing.List[int]] = ..., range_integer_set_header: typing.Optional[typing.List[int]] = ..., range_long_set_header: typing.Optional[typing.List[int]] = ..., range_byte_list_header: typing.Optional[typing.List[int]] = ..., range_short_list_header: typing.Optional[typing.List[int]] = ..., range_integer_list_header: typing.Optional[typing.List[int]] = ..., range_long_list_header: typing.Optional[typing.List[int]] = ..., length_string_query: typing.Optional[str] = ..., enum_string_query: typing.Optional[constraints_without_public_constrained_types.model.EnumString] = ..., length_string_list_query: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_query: typing.Optional[typing.List[str]] = ..., length_string_set_query: typing.Optional[typing.Set[str]] = ..., range_byte_list_query: typing.Optional[typing.List[int]] = ..., range_short_list_query: typing.Optional[typing.List[int]] = ..., range_integer_list_query: typing.Optional[typing.List[int]] = ..., range_long_list_query: typing.Optional[typing.List[int]] = ..., range_byte_set_query: typing.Optional[typing.List[int]] = ..., range_short_set_query: typing.Optional[typing.List[int]] = ..., range_integer_set_query: typing.Optional[typing.List[int]] = ..., range_long_set_query: typing.Optional[typing.List[int]] = ..., enum_string_list_query: typing.Optional[typing.List[constraints_without_public_constrained_types.model.EnumString]] = ...) -> None:
   91     91   
        ...
   92     92   
   93     93   
   94     94   
class ConstrainedHttpPayloadBoundShapeOperationInput:
   95     95   
    http_payload_bound_constrained_shape: constraints_without_public_constrained_types.model.ConA
   96     96   
   97     97   
    def __init__(self, http_payload_bound_constrained_shape: constraints_without_public_constrained_types.model.ConA) -> None:
   98     98   
        ...
   99     99   
  100    100   
  101    101   
class ConstrainedRecursiveShapesOperationInput:
  102    102   
    nested: typing.Optional[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1]
  103    103   
  104    104   
    recursive_list: typing.List[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1]
  105    105   
  106         -
    def __init__(self, nested: typing.Optional[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1] = ..., recursive_list: typing.List[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1]) -> None:
         106  +
    def __init__(self, recursive_list: typing.List[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1], nested: typing.Optional[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1] = ...) -> None:
  107    107   
        ...
  108    108   
  109    109   
  110    110   
class ConstrainedShapesOnlyInOutputOperationInput:
  111    111   
    def __init__(self) -> None:
  112    112   
        ...
  113    113   
  114    114   
  115    115   
class ConstrainedShapesOperationInput:
  116    116   
    con_a: constraints_without_public_constrained_types.model.ConA

tmp-codegen-diff/codegen-server-test-python/constraints_without_public_constrained_types/rust-server-codegen-python/python/constraints_without_public_constrained_types/model/__init__.pyi

@@ -113,113 +173,173 @@
  133    133   
    set_of_range_short: typing.Optional[typing.List[int]]
  134    134   
  135    135   
    sparse_length_list: typing.Optional[typing.List[typing.Optional[str]]]
  136    136   
  137    137   
    sparse_length_map: typing.Optional[typing.Dict[str, typing.Optional[str]]]
  138    138   
  139    139   
    sparse_list: typing.Optional[typing.List[typing.Optional[str]]]
  140    140   
  141    141   
    sparse_map: typing.Optional[typing.Dict[str, typing.Optional[typing.List[str]]]]
  142    142   
  143         -
    def __init__(self, con_b: constraints_without_public_constrained_types.model.ConB, opt_con_b: typing.Optional[constraints_without_public_constrained_types.model.ConB] = ..., length_string: typing.Optional[str] = ..., min_length_string: typing.Optional[str] = ..., max_length_string: typing.Optional[str] = ..., fixed_length_string: typing.Optional[str] = ..., length_blob: typing.Optional[constraints_without_public_constrained_types.types.Blob] = ..., min_length_blob: typing.Optional[constraints_without_public_constrained_types.types.Blob] = ..., max_length_blob: typing.Optional[constraints_without_public_constrained_types.types.Blob] = ..., fixed_length_blob: typing.Optional[constraints_without_public_constrained_types.types.Blob] = ..., range_integer: int, min_range_integer: int, max_range_integer: int, fixed_value_integer: int, range_short: int, min_range_short: int, max_range_short: int, fixed_value_short: int, range_long: int, min_range_long: int, max_range_long: int, fixed_value_long: int, range_byte: int, min_range_byte: int, max_range_byte: int, fixed_value_byte: int, con_b_list: typing.Optional[typing.List[typing.List[constraints_without_public_constrained_types.model.ConB]]] = ..., length_list: typing.Optional[typing.List[str]] = ..., sensitive_length_list: typing.Optional[typing.List[constraints_without_public_constrained_types.model.SensitiveStructure]] = ..., con_b_set: typing.Optional[typing.List[typing.Set[str]]] = ..., con_b_map: typing.Optional[typing.Dict[str, str]] = ..., length_map: typing.Optional[typing.Dict[str, str]] = ..., map_of_map_of_list_of_list_of_con_b: typing.Optional[typing.Dict[str, typing.Dict[str, typing.List[typing.List[constraints_without_public_constrained_types.model.ConB]]]]] = ..., sparse_map: typing.Optional[typing.Dict[str, typing.Optional[typing.List[str]]]] = ..., sparse_list: typing.Optional[typing.List[typing.Optional[str]]] = ..., sparse_length_map: typing.Optional[typing.Dict[str, typing.Optional[str]]] = ..., sparse_length_list: typing.Optional[typing.List[typing.Optional[str]]] = ..., constrained_union: typing.Optional[constraints_without_public_constrained_types.model.ConstrainedUnion] = ..., enum_string: typing.Optional[constraints_without_public_constrained_types.model.EnumString] = ..., list_of_length_string: typing.Optional[typing.List[str]] = ..., set_of_length_string: typing.Optional[typing.Set[str]] = ..., map_of_length_string: typing.Optional[typing.Dict[str, str]] = ..., list_of_length_blob: typing.Optional[typing.List[constraints_without_public_constrained_types.types.Blob]] = ..., map_of_length_blob: typing.Optional[typing.Dict[str, constraints_without_public_constrained_types.types.Blob]] = ..., list_of_range_integer: typing.Optional[typing.List[int]] = ..., set_of_range_integer: typing.Optional[typing.List[int]] = ..., map_of_range_integer: typing.Optional[typing.Dict[str, int]] = ..., list_of_range_short: typing.Optional[typing.List[int]] = ..., set_of_range_short: typing.Optional[typing.List[int]] = ..., map_of_range_short: typing.Optional[typing.Dict[str, int]] = ..., list_of_range_long: typing.Optional[typing.List[int]] = ..., set_of_range_long: typing.Optional[typing.List[int]] = ..., map_of_range_long: typing.Optional[typing.Dict[str, int]] = ..., list_of_range_byte: typing.Optional[typing.List[int]] = ..., set_of_range_byte: typing.Optional[typing.List[int]] = ..., map_of_range_byte: typing.Optional[typing.Dict[str, int]] = ..., non_streaming_blob: typing.Optional[constraints_without_public_constrained_types.types.Blob] = ..., pattern_string: typing.Optional[str] = ..., map_of_pattern_string: typing.Optional[typing.Dict[str, str]] = ..., list_of_pattern_string: typing.Optional[typing.List[str]] = ..., set_of_pattern_string: typing.Optional[typing.Set[str]] = ..., length_length_pattern_string: typing.Optional[str] = ..., map_of_length_pattern_string: typing.Optional[typing.Dict[str, str]] = ..., list_of_length_pattern_string: typing.Optional[typing.List[str]] = ..., set_of_length_pattern_string: typing.Optional[typing.Set[str]] = ..., length_list_of_pattern_string: typing.Optional[typing.List[str]] = ..., length_set_of_pattern_string: typing.Optional[typing.Set[str]] = ...) -> None:
         143  +
    def __init__(self, con_b: constraints_without_public_constrained_types.model.ConB, range_integer: int, min_range_integer: int, max_range_integer: int, fixed_value_integer: int, range_short: int, min_range_short: int, max_range_short: int, fixed_value_short: int, range_long: int, min_range_long: int, max_range_long: int, fixed_value_long: int, range_byte: int, min_range_byte: int, max_range_byte: int, fixed_value_byte: int, opt_con_b: typing.Optional[constraints_without_public_constrained_types.model.ConB] = ..., length_string: typing.Optional[str] = ..., min_length_string: typing.Optional[str] = ..., max_length_string: typing.Optional[str] = ..., fixed_length_string: typing.Optional[str] = ..., length_blob: typing.Optional[constraints_without_public_constrained_types.types.Blob] = ..., min_length_blob: typing.Optional[constraints_without_public_constrained_types.types.Blob] = ..., max_length_blob: typing.Optional[constraints_without_public_constrained_types.types.Blob] = ..., fixed_length_blob: typing.Optional[constraints_without_public_constrained_types.types.Blob] = ..., con_b_list: typing.Optional[typing.List[typing.List[constraints_without_public_constrained_types.model.ConB]]] = ..., length_list: typing.Optional[typing.List[str]] = ..., sensitive_length_list: typing.Optional[typing.List[constraints_without_public_constrained_types.model.SensitiveStructure]] = ..., con_b_set: typing.Optional[typing.List[typing.Set[str]]] = ..., con_b_map: typing.Optional[typing.Dict[str, str]] = ..., length_map: typing.Optional[typing.Dict[str, str]] = ..., map_of_map_of_list_of_list_of_con_b: typing.Optional[typing.Dict[str, typing.Dict[str, typing.List[typing.List[constraints_without_public_constrained_types.model.ConB]]]]] = ..., sparse_map: typing.Optional[typing.Dict[str, typing.Optional[typing.List[str]]]] = ..., sparse_list: typing.Optional[typing.List[typing.Optional[str]]] = ..., sparse_length_map: typing.Optional[typing.Dict[str, typing.Optional[str]]] = ..., sparse_length_list: typing.Optional[typing.List[typing.Optional[str]]] = ..., constrained_union: typing.Optional[constraints_without_public_constrained_types.model.ConstrainedUnion] = ..., enum_string: typing.Optional[constraints_without_public_constrained_types.model.EnumString] = ..., list_of_length_string: typing.Optional[typing.List[str]] = ..., set_of_length_string: typing.Optional[typing.Set[str]] = ..., map_of_length_string: typing.Optional[typing.Dict[str, str]] = ..., list_of_length_blob: typing.Optional[typing.List[constraints_without_public_constrained_types.types.Blob]] = ..., map_of_length_blob: typing.Optional[typing.Dict[str, constraints_without_public_constrained_types.types.Blob]] = ..., list_of_range_integer: typing.Optional[typing.List[int]] = ..., set_of_range_integer: typing.Optional[typing.List[int]] = ..., map_of_range_integer: typing.Optional[typing.Dict[str, int]] = ..., list_of_range_short: typing.Optional[typing.List[int]] = ..., set_of_range_short: typing.Optional[typing.List[int]] = ..., map_of_range_short: typing.Optional[typing.Dict[str, int]] = ..., list_of_range_long: typing.Optional[typing.List[int]] = ..., set_of_range_long: typing.Optional[typing.List[int]] = ..., map_of_range_long: typing.Optional[typing.Dict[str, int]] = ..., list_of_range_byte: typing.Optional[typing.List[int]] = ..., set_of_range_byte: typing.Optional[typing.List[int]] = ..., map_of_range_byte: typing.Optional[typing.Dict[str, int]] = ..., non_streaming_blob: typing.Optional[constraints_without_public_constrained_types.types.Blob] = ..., pattern_string: typing.Optional[str] = ..., map_of_pattern_string: typing.Optional[typing.Dict[str, str]] = ..., list_of_pattern_string: typing.Optional[typing.List[str]] = ..., set_of_pattern_string: typing.Optional[typing.Set[str]] = ..., length_length_pattern_string: typing.Optional[str] = ..., map_of_length_pattern_string: typing.Optional[typing.Dict[str, str]] = ..., list_of_length_pattern_string: typing.Optional[typing.List[str]] = ..., set_of_length_pattern_string: typing.Optional[typing.Set[str]] = ..., length_list_of_pattern_string: typing.Optional[typing.List[str]] = ..., length_set_of_pattern_string: typing.Optional[typing.Set[str]] = ...) -> None:
  144    144   
        ...
  145    145   
  146    146   
  147    147   
class ConB:
  148    148   
    int: int
  149    149   
  150    150   
    nice: str
  151    151   
  152    152   
    opt_int: typing.Optional[int]
  153    153   

tmp-codegen-diff/codegen-server-test-python/constraints_without_public_constrained_types/rust-server-codegen-python/python/constraints_without_public_constrained_types/output/__init__.pyi

@@ -60,60 +136,136 @@
   80     80   
    range_short_list_header: typing.Optional[typing.List[int]]
   81     81   
   82     82   
    range_short_list_query: typing.Optional[typing.List[int]]
   83     83   
   84     84   
    range_short_query: int
   85     85   
   86     86   
    range_short_set_header: typing.Optional[typing.List[int]]
   87     87   
   88     88   
    range_short_set_query: typing.Optional[typing.List[int]]
   89     89   
   90         -
    def __init__(self, length_string_label: str, range_integer_label: int, range_short_label: int, range_long_label: int, range_byte_label: int, enum_string_label: constraints_without_public_constrained_types.model.EnumString, length_string_header_map: typing.Dict[str, str], length_string_header: typing.Optional[str] = ..., range_integer_header: int, range_short_header: int, range_long_header: int, range_byte_header: int, length_string_set_header: typing.Optional[typing.Set[str]] = ..., list_length_string_header: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_header: typing.Optional[typing.List[str]] = ..., length_set_pattern_string_header: typing.Optional[typing.Set[str]] = ..., range_byte_set_header: typing.Optional[typing.List[int]] = ..., range_short_set_header: typing.Optional[typing.List[int]] = ..., range_integer_set_header: typing.Optional[typing.List[int]] = ..., range_long_set_header: typing.Optional[typing.List[int]] = ..., range_byte_list_header: typing.Optional[typing.List[int]] = ..., range_short_list_header: typing.Optional[typing.List[int]] = ..., range_integer_list_header: typing.Optional[typing.List[int]] = ..., range_long_list_header: typing.Optional[typing.List[int]] = ..., length_string_query: typing.Optional[str] = ..., range_byte_query: int, range_short_query: int, range_integer_query: int, range_long_query: int, enum_string_query: typing.Optional[constraints_without_public_constrained_types.model.EnumString] = ..., length_string_list_query: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_query: typing.Optional[typing.List[str]] = ..., length_string_set_query: typing.Optional[typing.Set[str]] = ..., range_byte_list_query: typing.Optional[typing.List[int]] = ..., range_short_list_query: typing.Optional[typing.List[int]] = ..., range_integer_list_query: typing.Optional[typing.List[int]] = ..., range_long_list_query: typing.Optional[typing.List[int]] = ..., range_byte_set_query: typing.Optional[typing.List[int]] = ..., range_short_set_query: typing.Optional[typing.List[int]] = ..., range_integer_set_query: typing.Optional[typing.List[int]] = ..., range_long_set_query: typing.Optional[typing.List[int]] = ..., enum_string_list_query: typing.Optional[typing.List[constraints_without_public_constrained_types.model.EnumString]] = ...) -> None:
          90  +
    def __init__(self, length_string_label: str, range_integer_label: int, range_short_label: int, range_long_label: int, range_byte_label: int, enum_string_label: constraints_without_public_constrained_types.model.EnumString, length_string_header_map: typing.Dict[str, str], range_integer_header: int, range_short_header: int, range_long_header: int, range_byte_header: int, range_byte_query: int, range_short_query: int, range_integer_query: int, range_long_query: int, length_string_header: typing.Optional[str] = ..., length_string_set_header: typing.Optional[typing.Set[str]] = ..., list_length_string_header: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_header: typing.Optional[typing.List[str]] = ..., length_set_pattern_string_header: typing.Optional[typing.Set[str]] = ..., range_byte_set_header: typing.Optional[typing.List[int]] = ..., range_short_set_header: typing.Optional[typing.List[int]] = ..., range_integer_set_header: typing.Optional[typing.List[int]] = ..., range_long_set_header: typing.Optional[typing.List[int]] = ..., range_byte_list_header: typing.Optional[typing.List[int]] = ..., range_short_list_header: typing.Optional[typing.List[int]] = ..., range_integer_list_header: typing.Optional[typing.List[int]] = ..., range_long_list_header: typing.Optional[typing.List[int]] = ..., length_string_query: typing.Optional[str] = ..., enum_string_query: typing.Optional[constraints_without_public_constrained_types.model.EnumString] = ..., length_string_list_query: typing.Optional[typing.List[str]] = ..., length_list_pattern_string_query: typing.Optional[typing.List[str]] = ..., length_string_set_query: typing.Optional[typing.Set[str]] = ..., range_byte_list_query: typing.Optional[typing.List[int]] = ..., range_short_list_query: typing.Optional[typing.List[int]] = ..., range_integer_list_query: typing.Optional[typing.List[int]] = ..., range_long_list_query: typing.Optional[typing.List[int]] = ..., range_byte_set_query: typing.Optional[typing.List[int]] = ..., range_short_set_query: typing.Optional[typing.List[int]] = ..., range_integer_set_query: typing.Optional[typing.List[int]] = ..., range_long_set_query: typing.Optional[typing.List[int]] = ..., enum_string_list_query: typing.Optional[typing.List[constraints_without_public_constrained_types.model.EnumString]] = ...) -> None:
   91     91   
        ...
   92     92   
   93     93   
   94     94   
class ConstrainedHttpPayloadBoundShapeOperationOutput:
   95     95   
    http_payload_bound_constrained_shape: constraints_without_public_constrained_types.model.ConA
   96     96   
   97     97   
    def __init__(self, http_payload_bound_constrained_shape: constraints_without_public_constrained_types.model.ConA) -> None:
   98     98   
        ...
   99     99   
  100    100   
  101    101   
class ConstrainedRecursiveShapesOperationOutput:
  102    102   
    nested: typing.Optional[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1]
  103    103   
  104    104   
    recursive_list: typing.List[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1]
  105    105   
  106         -
    def __init__(self, nested: typing.Optional[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1] = ..., recursive_list: typing.List[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1]) -> None:
         106  +
    def __init__(self, recursive_list: typing.List[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1], nested: typing.Optional[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1] = ...) -> None:
  107    107   
        ...
  108    108   
  109    109   
  110    110   
class ConstrainedShapesOnlyInOutputOperationOutput:
  111    111   
    list: typing.Optional[typing.List[constraints_without_public_constrained_types.model.ConstrainedUnionInOutput]]
  112    112   
  113    113   
    map: typing.Optional[typing.Dict[str, constraints_without_public_constrained_types.model.TransitivelyConstrainedStructureInOutput]]
  114    114   
  115    115   
    union: typing.Optional[constraints_without_public_constrained_types.model.ConstrainedUnionInOutput]
  116    116   

tmp-codegen-diff/codegen-server-test-python/constraints_without_public_constrained_types/rust-server-codegen-python/src/input.rs

@@ -1040,1040 +1141,1141 @@
 1060   1060   
        crate::input::query_params_targeting_length_map_operation_input_internal::Builder;
 1061   1061   
}
 1062   1062   
impl QueryParamsTargetingLengthMapOperationInput {
 1063   1063   
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingLengthMapOperationInput`](crate::input::QueryParamsTargetingLengthMapOperationInput).
 1064   1064   
    pub fn builder() -> crate::input::query_params_targeting_length_map_operation_input::Builder {
 1065   1065   
        crate::input::query_params_targeting_length_map_operation_input::Builder::default()
 1066   1066   
    }
 1067   1067   
}
 1068   1068   
 1069   1069   
#[::pyo3::pyclass]
 1070         -
/// :param nested typing.Optional\[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1\]:
 1071   1070   
/// :param recursive_list typing.List\[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1\]:
        1071  +
/// :param nested typing.Optional\[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1\]:
 1072   1072   
/// :rtype None:
 1073   1073   
#[allow(missing_docs)] // documentation missing in model
 1074   1074   
#[derive(
 1075   1075   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1076   1076   
)]
 1077   1077   
pub struct ConstrainedRecursiveShapesOperationInput {
 1078   1078   
    #[pyo3(get, set)]
 1079   1079   
    /// :type typing.Optional\[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1\]:
 1080   1080   
    #[allow(missing_docs)] // documentation missing in model
 1081   1081   
    pub nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
 1082   1082   
    #[pyo3(get, set)]
 1083   1083   
    /// :type typing.List\[constraints_without_public_constrained_types.model.RecursiveShapesInputOutputNested1\]:
 1084   1084   
    #[allow(missing_docs)] // documentation missing in model
 1085   1085   
    pub recursive_list: ::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>,
 1086   1086   
}
 1087   1087   
impl ConstrainedRecursiveShapesOperationInput {
 1088   1088   
    #[allow(missing_docs)] // documentation missing in model
 1089   1089   
    pub fn nested(
 1090   1090   
        &self,
 1091   1091   
    ) -> ::std::option::Option<&crate::model::RecursiveShapesInputOutputNested1> {
 1092   1092   
        self.nested.as_ref()
 1093   1093   
    }
 1094   1094   
    #[allow(missing_docs)] // documentation missing in model
 1095   1095   
    pub fn recursive_list(&self) -> &[crate::model::RecursiveShapesInputOutputNested1] {
 1096   1096   
        use std::ops::Deref;
 1097   1097   
        self.recursive_list.deref()
 1098   1098   
    }
 1099   1099   
}
 1100   1100   
#[allow(clippy::new_without_default)]
 1101   1101   
#[allow(clippy::too_many_arguments)]
 1102   1102   
#[::pyo3::pymethods]
 1103   1103   
impl ConstrainedRecursiveShapesOperationInput {
 1104   1104   
    #[new]
 1105   1105   
    pub fn new(
 1106         -
        nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
 1107   1106   
        recursive_list: ::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>,
        1107  +
        nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
 1108   1108   
    ) -> Self {
 1109   1109   
        Self {
 1110         -
            nested,
 1111   1110   
            recursive_list,
        1111  +
            nested,
 1112   1112   
        }
 1113   1113   
    }
 1114   1114   
    fn __repr__(&self) -> String {
 1115   1115   
        format!("{self:?}")
 1116   1116   
    }
 1117   1117   
    fn __str__(&self) -> String {
 1118   1118   
        format!("{self:?}")
 1119   1119   
    }
 1120   1120   
}
 1121   1121   
impl<'source> ::pyo3::FromPyObject<'source>
@@ -1190,1190 +1271,1271 @@
 1210   1210   
}
 1211   1211   
 1212   1212   
#[::pyo3::pyclass]
 1213   1213   
/// :param length_string_label str:
 1214   1214   
/// :param range_integer_label int:
 1215   1215   
/// :param range_short_label int:
 1216   1216   
/// :param range_long_label int:
 1217   1217   
/// :param range_byte_label int:
 1218   1218   
/// :param enum_string_label constraints_without_public_constrained_types.model.EnumString:
 1219   1219   
/// :param length_string_header_map typing.Dict\[str, str\]:
 1220         -
/// :param length_string_header typing.Optional\[str\]:
 1221   1220   
/// :param range_integer_header int:
 1222   1221   
/// :param range_short_header int:
 1223   1222   
/// :param range_long_header int:
 1224   1223   
/// :param range_byte_header int:
        1224  +
/// :param range_byte_query int:
        1225  +
/// :param range_short_query int:
        1226  +
/// :param range_integer_query int:
        1227  +
/// :param range_long_query int:
        1228  +
/// :param length_string_header typing.Optional\[str\]:
 1225   1229   
/// :param length_string_set_header typing.Optional\[typing.Set\[str\]\]:
 1226   1230   
/// :param list_length_string_header typing.Optional\[typing.List\[str\]\]:
 1227   1231   
/// :param length_list_pattern_string_header typing.Optional\[typing.List\[str\]\]:
 1228   1232   
/// :param length_set_pattern_string_header typing.Optional\[typing.Set\[str\]\]:
 1229   1233   
/// :param range_byte_set_header typing.Optional\[typing.List\[int\]\]:
 1230   1234   
/// :param range_short_set_header typing.Optional\[typing.List\[int\]\]:
 1231   1235   
/// :param range_integer_set_header typing.Optional\[typing.List\[int\]\]:
 1232   1236   
/// :param range_long_set_header typing.Optional\[typing.List\[int\]\]:
 1233   1237   
/// :param range_byte_list_header typing.Optional\[typing.List\[int\]\]:
 1234   1238   
/// :param range_short_list_header typing.Optional\[typing.List\[int\]\]:
 1235   1239   
/// :param range_integer_list_header typing.Optional\[typing.List\[int\]\]:
 1236   1240   
/// :param range_long_list_header typing.Optional\[typing.List\[int\]\]:
 1237   1241   
/// :param length_string_query typing.Optional\[str\]:
 1238         -
/// :param range_byte_query int:
 1239         -
/// :param range_short_query int:
 1240         -
/// :param range_integer_query int:
 1241         -
/// :param range_long_query int:
 1242   1242   
/// :param enum_string_query typing.Optional\[constraints_without_public_constrained_types.model.EnumString\]:
 1243   1243   
/// :param length_string_list_query typing.Optional\[typing.List\[str\]\]:
 1244   1244   
/// :param length_list_pattern_string_query typing.Optional\[typing.List\[str\]\]:
 1245   1245   
/// :param length_string_set_query typing.Optional\[typing.Set\[str\]\]:
 1246   1246   
/// :param range_byte_list_query typing.Optional\[typing.List\[int\]\]:
 1247   1247   
/// :param range_short_list_query typing.Optional\[typing.List\[int\]\]:
 1248   1248   
/// :param range_integer_list_query typing.Optional\[typing.List\[int\]\]:
 1249   1249   
/// :param range_long_list_query typing.Optional\[typing.List\[int\]\]:
 1250   1250   
/// :param range_byte_set_query typing.Optional\[typing.List\[int\]\]:
 1251   1251   
/// :param range_short_set_query typing.Optional\[typing.List\[int\]\]:
@@ -1601,1601 +1732,1732 @@
 1621   1621   
        length_string_label: ::std::string::String,
 1622   1622   
        range_integer_label: i32,
 1623   1623   
        range_short_label: i16,
 1624   1624   
        range_long_label: i64,
 1625   1625   
        range_byte_label: i8,
 1626   1626   
        enum_string_label: crate::model::EnumString,
 1627   1627   
        length_string_header_map: ::std::collections::HashMap<
 1628   1628   
            ::std::string::String,
 1629   1629   
            ::std::string::String,
 1630   1630   
        >,
 1631         -
        length_string_header: ::std::option::Option<::std::string::String>,
 1632   1631   
        range_integer_header: i32,
 1633   1632   
        range_short_header: i16,
 1634   1633   
        range_long_header: i64,
 1635   1634   
        range_byte_header: i8,
        1635  +
        range_byte_query: i8,
        1636  +
        range_short_query: i16,
        1637  +
        range_integer_query: i32,
        1638  +
        range_long_query: i64,
        1639  +
        length_string_header: ::std::option::Option<::std::string::String>,
 1636   1640   
        length_string_set_header: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1637   1641   
        list_length_string_header: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1638   1642   
        length_list_pattern_string_header: ::std::option::Option<
 1639   1643   
            ::std::vec::Vec<::std::string::String>,
 1640   1644   
        >,
 1641   1645   
        length_set_pattern_string_header: ::std::option::Option<
 1642   1646   
            ::std::vec::Vec<::std::string::String>,
 1643   1647   
        >,
 1644   1648   
        range_byte_set_header: ::std::option::Option<::std::vec::Vec<i8>>,
 1645   1649   
        range_short_set_header: ::std::option::Option<::std::vec::Vec<i16>>,
 1646   1650   
        range_integer_set_header: ::std::option::Option<::std::vec::Vec<i32>>,
 1647   1651   
        range_long_set_header: ::std::option::Option<::std::vec::Vec<i64>>,
 1648   1652   
        range_byte_list_header: ::std::option::Option<::std::vec::Vec<i8>>,
 1649   1653   
        range_short_list_header: ::std::option::Option<::std::vec::Vec<i16>>,
 1650   1654   
        range_integer_list_header: ::std::option::Option<::std::vec::Vec<i32>>,
 1651   1655   
        range_long_list_header: ::std::option::Option<::std::vec::Vec<i64>>,
 1652   1656   
        length_string_query: ::std::option::Option<::std::string::String>,
 1653         -
        range_byte_query: i8,
 1654         -
        range_short_query: i16,
 1655         -
        range_integer_query: i32,
 1656         -
        range_long_query: i64,
 1657   1657   
        enum_string_query: ::std::option::Option<crate::model::EnumString>,
 1658   1658   
        length_string_list_query: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1659   1659   
        length_list_pattern_string_query: ::std::option::Option<
 1660   1660   
            ::std::vec::Vec<::std::string::String>,
 1661   1661   
        >,
 1662   1662   
        length_string_set_query: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1663   1663   
        range_byte_list_query: ::std::option::Option<::std::vec::Vec<i8>>,
 1664   1664   
        range_short_list_query: ::std::option::Option<::std::vec::Vec<i16>>,
 1665   1665   
        range_integer_list_query: ::std::option::Option<::std::vec::Vec<i32>>,
 1666   1666   
        range_long_list_query: ::std::option::Option<::std::vec::Vec<i64>>,
 1667   1667   
        range_byte_set_query: ::std::option::Option<::std::vec::Vec<i8>>,
 1668   1668   
        range_short_set_query: ::std::option::Option<::std::vec::Vec<i16>>,
 1669   1669   
        range_integer_set_query: ::std::option::Option<::std::vec::Vec<i32>>,
 1670   1670   
        range_long_set_query: ::std::option::Option<::std::vec::Vec<i64>>,
 1671   1671   
        enum_string_list_query: ::std::option::Option<::std::vec::Vec<crate::model::EnumString>>,
 1672   1672   
    ) -> Self {
 1673   1673   
        Self {
 1674   1674   
            length_string_label,
 1675   1675   
            range_integer_label,
 1676   1676   
            range_short_label,
 1677   1677   
            range_long_label,
 1678   1678   
            range_byte_label,
 1679   1679   
            enum_string_label,
 1680   1680   
            length_string_header_map,
 1681         -
            length_string_header,
 1682   1681   
            range_integer_header,
 1683   1682   
            range_short_header,
 1684   1683   
            range_long_header,
 1685   1684   
            range_byte_header,
        1685  +
            range_byte_query,
        1686  +
            range_short_query,
        1687  +
            range_integer_query,
        1688  +
            range_long_query,
        1689  +
            length_string_header,
 1686   1690   
            length_string_set_header,
 1687   1691   
            list_length_string_header,
 1688   1692   
            length_list_pattern_string_header,
 1689   1693   
            length_set_pattern_string_header,
 1690   1694   
            range_byte_set_header,
 1691   1695   
            range_short_set_header,
 1692   1696   
            range_integer_set_header,
 1693   1697   
            range_long_set_header,
 1694   1698   
            range_byte_list_header,
 1695   1699   
            range_short_list_header,
 1696   1700   
            range_integer_list_header,
 1697   1701   
            range_long_list_header,
 1698   1702   
            length_string_query,
 1699         -
            range_byte_query,
 1700         -
            range_short_query,
 1701         -
            range_integer_query,
 1702         -
            range_long_query,
 1703   1703   
            enum_string_query,
 1704   1704   
            length_string_list_query,
 1705   1705   
            length_list_pattern_string_query,
 1706   1706   
            length_string_set_query,
 1707   1707   
            range_byte_list_query,
 1708   1708   
            range_short_list_query,
 1709   1709   
            range_integer_list_query,
 1710   1710   
            range_long_list_query,
 1711   1711   
            range_byte_set_query,
 1712   1712   
            range_short_set_query,

tmp-codegen-diff/codegen-server-test-python/constraints_without_public_constrained_types/rust-server-codegen-python/src/model.rs

@@ -896,896 +980,980 @@
  916    916   
}
  917    917   
impl RecursiveShapesInputOutputNested2 {
  918    918   
    /// Creates a new builder-style object to manufacture [`RecursiveShapesInputOutputNested2`](crate::model::RecursiveShapesInputOutputNested2).
  919    919   
    pub fn builder() -> crate::model::recursive_shapes_input_output_nested2::Builder {
  920    920   
        crate::model::recursive_shapes_input_output_nested2::Builder::default()
  921    921   
    }
  922    922   
}
  923    923   
  924    924   
#[::pyo3::pyclass]
  925    925   
/// :param con_b constraints_without_public_constrained_types.model.ConB:
  926         -
/// :param opt_con_b typing.Optional\[constraints_without_public_constrained_types.model.ConB\]:
  927         -
/// :param length_string typing.Optional\[str\]:
  928         -
/// :param min_length_string typing.Optional\[str\]:
  929         -
/// :param max_length_string typing.Optional\[str\]:
  930         -
/// :param fixed_length_string typing.Optional\[str\]:
  931         -
/// :param length_blob typing.Optional\[constraints_without_public_constrained_types.types.Blob\]:
  932         -
/// :param min_length_blob typing.Optional\[constraints_without_public_constrained_types.types.Blob\]:
  933         -
/// :param max_length_blob typing.Optional\[constraints_without_public_constrained_types.types.Blob\]:
  934         -
/// :param fixed_length_blob typing.Optional\[constraints_without_public_constrained_types.types.Blob\]:
  935    926   
/// :param range_integer int:
  936    927   
/// :param min_range_integer int:
  937    928   
/// :param max_range_integer int:
  938    929   
/// :param fixed_value_integer int:
  939    930   
/// :param range_short int:
  940    931   
/// :param min_range_short int:
  941    932   
/// :param max_range_short int:
  942    933   
/// :param fixed_value_short int:
  943    934   
/// :param range_long int:
  944    935   
/// :param min_range_long int:
  945    936   
/// :param max_range_long int:
  946    937   
/// :param fixed_value_long int:
  947    938   
/// :param range_byte int:
  948    939   
/// :param min_range_byte int:
  949    940   
/// :param max_range_byte int:
  950    941   
/// :param fixed_value_byte int:
         942  +
/// :param opt_con_b typing.Optional\[constraints_without_public_constrained_types.model.ConB\]:
         943  +
/// :param length_string typing.Optional\[str\]:
         944  +
/// :param min_length_string typing.Optional\[str\]:
         945  +
/// :param max_length_string typing.Optional\[str\]:
         946  +
/// :param fixed_length_string typing.Optional\[str\]:
         947  +
/// :param length_blob typing.Optional\[constraints_without_public_constrained_types.types.Blob\]:
         948  +
/// :param min_length_blob typing.Optional\[constraints_without_public_constrained_types.types.Blob\]:
         949  +
/// :param max_length_blob typing.Optional\[constraints_without_public_constrained_types.types.Blob\]:
         950  +
/// :param fixed_length_blob typing.Optional\[constraints_without_public_constrained_types.types.Blob\]:
  951    951   
/// :param con_b_list typing.Optional\[typing.List\[typing.List\[constraints_without_public_constrained_types.model.ConB\]\]\]:
  952    952   
/// :param length_list typing.Optional\[typing.List\[str\]\]:
  953    953   
/// :param sensitive_length_list typing.Optional\[typing.List\[constraints_without_public_constrained_types.model.SensitiveStructure\]\]:
  954    954   
/// :param con_b_set typing.Optional\[typing.List\[typing.Set\[str\]\]\]:
  955    955   
/// :param con_b_map typing.Optional\[typing.Dict\[str, str\]\]:
  956    956   
/// :param length_map typing.Optional\[typing.Dict\[str, str\]\]:
  957    957   
/// :param map_of_map_of_list_of_list_of_con_b typing.Optional\[typing.Dict\[str, typing.Dict\[str, typing.List\[typing.List\[constraints_without_public_constrained_types.model.ConB\]\]\]\]\]:
  958    958   
/// :param sparse_map typing.Optional\[typing.Dict\[str, typing.Optional\[typing.List\[str\]\]\]\]:
  959    959   
/// :param sparse_list typing.Optional\[typing.List\[typing.Optional\[str\]\]\]:
  960    960   
/// :param sparse_length_map typing.Optional\[typing.Dict\[str, typing.Optional\[str\]\]\]:
@@ -1640,1640 +1724,1724 @@
 1660   1660   
        self.length_set_of_pattern_string.as_ref()
 1661   1661   
    }
 1662   1662   
}
 1663   1663   
#[allow(clippy::new_without_default)]
 1664   1664   
#[allow(clippy::too_many_arguments)]
 1665   1665   
#[::pyo3::pymethods]
 1666   1666   
impl ConA {
 1667   1667   
    #[new]
 1668   1668   
    pub fn new(
 1669   1669   
        con_b: crate::model::ConB,
 1670         -
        opt_con_b: ::std::option::Option<crate::model::ConB>,
 1671         -
        length_string: ::std::option::Option<::std::string::String>,
 1672         -
        min_length_string: ::std::option::Option<::std::string::String>,
 1673         -
        max_length_string: ::std::option::Option<::std::string::String>,
 1674         -
        fixed_length_string: ::std::option::Option<::std::string::String>,
 1675         -
        length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1676         -
        min_length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1677         -
        max_length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1678         -
        fixed_length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1679   1670   
        range_integer: i32,
 1680   1671   
        min_range_integer: i32,
 1681   1672   
        max_range_integer: i32,
 1682   1673   
        fixed_value_integer: i32,
 1683   1674   
        range_short: i16,
 1684   1675   
        min_range_short: i16,
 1685   1676   
        max_range_short: i16,
 1686   1677   
        fixed_value_short: i16,
 1687   1678   
        range_long: i64,
 1688   1679   
        min_range_long: i64,
 1689   1680   
        max_range_long: i64,
 1690   1681   
        fixed_value_long: i64,
 1691   1682   
        range_byte: i8,
 1692   1683   
        min_range_byte: i8,
 1693   1684   
        max_range_byte: i8,
 1694   1685   
        fixed_value_byte: i8,
        1686  +
        opt_con_b: ::std::option::Option<crate::model::ConB>,
        1687  +
        length_string: ::std::option::Option<::std::string::String>,
        1688  +
        min_length_string: ::std::option::Option<::std::string::String>,
        1689  +
        max_length_string: ::std::option::Option<::std::string::String>,
        1690  +
        fixed_length_string: ::std::option::Option<::std::string::String>,
        1691  +
        length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        1692  +
        min_length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        1693  +
        max_length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        1694  +
        fixed_length_blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1695   1695   
        con_b_list: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<crate::model::ConB>>>,
 1696   1696   
        length_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1697   1697   
        sensitive_length_list: ::std::option::Option<
 1698   1698   
            ::std::vec::Vec<crate::model::SensitiveStructure>,
 1699   1699   
        >,
 1700   1700   
        con_b_set: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
 1701   1701   
        con_b_map: ::std::option::Option<
 1702   1702   
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1703   1703   
        >,
 1704   1704   
        length_map: ::std::option::Option<
@@ -1762,1762 +1846,1846 @@
 1782   1782   
            ::std::vec::Vec<::std::string::String>,
 1783   1783   
        >,
 1784   1784   
        set_of_length_pattern_string: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1785   1785   
        length_list_of_pattern_string: ::std::option::Option<
 1786   1786   
            ::std::vec::Vec<::std::string::String>,
 1787   1787   
        >,
 1788   1788   
        length_set_of_pattern_string: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1789   1789   
    ) -> Self {
 1790   1790   
        Self {
 1791   1791   
            con_b,
 1792         -
            opt_con_b,
 1793         -
            length_string,
 1794         -
            min_length_string,
 1795         -
            max_length_string,
 1796         -
            fixed_length_string,
 1797         -
            length_blob,
 1798         -
            min_length_blob,
 1799         -
            max_length_blob,
 1800         -
            fixed_length_blob,
 1801   1792   
            range_integer,
 1802   1793   
            min_range_integer,
 1803   1794   
            max_range_integer,
 1804   1795   
            fixed_value_integer,
 1805   1796   
            range_short,
 1806   1797   
            min_range_short,
 1807   1798   
            max_range_short,
 1808   1799   
            fixed_value_short,
 1809   1800   
            range_long,
 1810   1801   
            min_range_long,
 1811   1802   
            max_range_long,
 1812   1803   
            fixed_value_long,
 1813   1804   
            range_byte,
 1814   1805   
            min_range_byte,
 1815   1806   
            max_range_byte,
 1816   1807   
            fixed_value_byte,
        1808  +
            opt_con_b,
        1809  +
            length_string,
        1810  +
            min_length_string,
        1811  +
            max_length_string,
        1812  +
            fixed_length_string,
        1813  +
            length_blob,
        1814  +
            min_length_blob,
        1815  +
            max_length_blob,
        1816  +
            fixed_length_blob,
 1817   1817   
            con_b_list,
 1818   1818   
            length_list,
 1819   1819   
            sensitive_length_list,
 1820   1820   
            con_b_set,
 1821   1821   
            con_b_map,
 1822   1822   
            length_map,
 1823   1823   
            map_of_map_of_list_of_list_of_con_b,
 1824   1824   
            sparse_map,
 1825   1825   
            sparse_list,
 1826   1826   
            sparse_length_map,