Server Test

Server Test

rev. 3c756f73b1f83a0eed4275d9d1e22df0b10b66fb (ignoring whitespace)

Files changed:

tmp-codegen-diff/codegen-server-test/constraints-http0x/rust-server-codegen/src/operation_shape.rs

@@ -0,1 +0,832 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[allow(missing_docs)] // documentation missing in model
           3  +
pub struct EventStreamsOperation;
           4  +
           5  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EventStreamsOperation {
           6  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
           7  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
           8  +
            "com.amazonaws.constraints#EventStreamsOperation",
           9  +
            "com.amazonaws.constraints",
          10  +
            "EventStreamsOperation",
          11  +
        );
          12  +
          13  +
    type Input = crate::input::EventStreamsOperationInput;
          14  +
    type Output = crate::output::EventStreamsOperationOutput;
          15  +
    type Error = crate::error::EventStreamsOperationError;
          16  +
}
          17  +
          18  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
          19  +
    for EventStreamsOperation
          20  +
{
          21  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
          22  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
          23  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
          24  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
          25  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
          26  +
        >,
          27  +
    >;
          28  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
          29  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
          30  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
          31  +
    >;
          32  +
          33  +
    fn request_fmt() -> Self::RequestFmt {
          34  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
          35  +
    }
          36  +
          37  +
    fn response_fmt() -> Self::ResponseFmt {
          38  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
          39  +
    }
          40  +
}
          41  +
          42  +
#[allow(missing_docs)] // documentation missing in model
          43  +
pub struct StreamingBlobOperation;
          44  +
          45  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for StreamingBlobOperation {
          46  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
          47  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
          48  +
            "com.amazonaws.constraints#StreamingBlobOperation",
          49  +
            "com.amazonaws.constraints",
          50  +
            "StreamingBlobOperation",
          51  +
        );
          52  +
          53  +
    type Input = crate::input::StreamingBlobOperationInput;
          54  +
    type Output = crate::output::StreamingBlobOperationOutput;
          55  +
    type Error = std::convert::Infallible;
          56  +
}
          57  +
          58  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
          59  +
    for StreamingBlobOperation
          60  +
{
          61  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
          62  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
          63  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
          64  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
          65  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
          66  +
        >,
          67  +
    >;
          68  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
          69  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
          70  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
          71  +
    >;
          72  +
          73  +
    fn request_fmt() -> Self::RequestFmt {
          74  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
          75  +
    }
          76  +
          77  +
    fn response_fmt() -> Self::ResponseFmt {
          78  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
          79  +
    }
          80  +
}
          81  +
          82  +
#[allow(missing_docs)] // documentation missing in model
          83  +
pub struct NonStreamingBlobOperation;
          84  +
          85  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NonStreamingBlobOperation {
          86  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
          87  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
          88  +
            "com.amazonaws.constraints#NonStreamingBlobOperation",
          89  +
            "com.amazonaws.constraints",
          90  +
            "NonStreamingBlobOperation",
          91  +
        );
          92  +
          93  +
    type Input = crate::input::NonStreamingBlobOperationInput;
          94  +
    type Output = crate::output::NonStreamingBlobOperationOutput;
          95  +
    type Error = std::convert::Infallible;
          96  +
}
          97  +
          98  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
          99  +
    for NonStreamingBlobOperation
         100  +
{
         101  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         102  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         103  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         104  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         105  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         106  +
        >,
         107  +
    >;
         108  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         109  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         110  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         111  +
    >;
         112  +
         113  +
    fn request_fmt() -> Self::RequestFmt {
         114  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         115  +
    }
         116  +
         117  +
    fn response_fmt() -> Self::ResponseFmt {
         118  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         119  +
    }
         120  +
}
         121  +
         122  +
#[allow(missing_docs)] // documentation missing in model
         123  +
pub struct QueryParamsTargetingMapOfEnumStringOperation;
         124  +
         125  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         126  +
    for QueryParamsTargetingMapOfEnumStringOperation
         127  +
{
         128  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         129  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         130  +
            "com.amazonaws.constraints#QueryParamsTargetingMapOfEnumStringOperation",
         131  +
            "com.amazonaws.constraints",
         132  +
            "QueryParamsTargetingMapOfEnumStringOperation",
         133  +
        );
         134  +
         135  +
    type Input = crate::input::QueryParamsTargetingMapOfEnumStringOperationInput;
         136  +
    type Output = crate::output::QueryParamsTargetingMapOfEnumStringOperationOutput;
         137  +
    type Error = crate::error::QueryParamsTargetingMapOfEnumStringOperationError;
         138  +
}
         139  +
         140  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         141  +
    for QueryParamsTargetingMapOfEnumStringOperation
         142  +
{
         143  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         144  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         145  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         146  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         147  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         148  +
        >,
         149  +
    >;
         150  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         151  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         152  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         153  +
    >;
         154  +
         155  +
    fn request_fmt() -> Self::RequestFmt {
         156  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         157  +
    }
         158  +
         159  +
    fn response_fmt() -> Self::ResponseFmt {
         160  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         161  +
    }
         162  +
}
         163  +
         164  +
#[allow(missing_docs)] // documentation missing in model
         165  +
pub struct HttpPrefixHeadersTargetingLengthMapOperation;
         166  +
         167  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         168  +
    for HttpPrefixHeadersTargetingLengthMapOperation
         169  +
{
         170  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         171  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         172  +
            "com.amazonaws.constraints#HttpPrefixHeadersTargetingLengthMapOperation",
         173  +
            "com.amazonaws.constraints",
         174  +
            "HttpPrefixHeadersTargetingLengthMapOperation",
         175  +
        );
         176  +
         177  +
    type Input = crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput;
         178  +
    type Output = crate::output::HttpPrefixHeadersTargetingLengthMapOperationOutput;
         179  +
    type Error = crate::error::HttpPrefixHeadersTargetingLengthMapOperationError;
         180  +
}
         181  +
         182  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         183  +
    for HttpPrefixHeadersTargetingLengthMapOperation
         184  +
{
         185  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         186  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         187  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         188  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         189  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         190  +
        >,
         191  +
    >;
         192  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         193  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         194  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         195  +
    >;
         196  +
         197  +
    fn request_fmt() -> Self::RequestFmt {
         198  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         199  +
    }
         200  +
         201  +
    fn response_fmt() -> Self::ResponseFmt {
         202  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         203  +
    }
         204  +
}
         205  +
         206  +
#[allow(missing_docs)] // documentation missing in model
         207  +
pub struct QueryParamsTargetingMapOfListOfLengthPatternStringOperation;
         208  +
         209  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         210  +
    for QueryParamsTargetingMapOfListOfLengthPatternStringOperation
         211  +
{
         212  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         213  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         214  +
            "com.amazonaws.constraints#QueryParamsTargetingMapOfListOfLengthPatternStringOperation",
         215  +
            "com.amazonaws.constraints",
         216  +
            "QueryParamsTargetingMapOfListOfLengthPatternStringOperation",
         217  +
        );
         218  +
         219  +
    type Input = crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput;
         220  +
    type Output = crate::output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput;
         221  +
    type Error = crate::error::QueryParamsTargetingMapOfListOfLengthPatternStringOperationError;
         222  +
}
         223  +
         224  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         225  +
    for QueryParamsTargetingMapOfListOfLengthPatternStringOperation
         226  +
{
         227  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         228  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         229  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         230  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         231  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         232  +
        >,
         233  +
    >;
         234  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         235  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         236  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         237  +
    >;
         238  +
         239  +
    fn request_fmt() -> Self::RequestFmt {
         240  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         241  +
    }
         242  +
         243  +
    fn response_fmt() -> Self::ResponseFmt {
         244  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         245  +
    }
         246  +
}
         247  +
         248  +
#[allow(missing_docs)] // documentation missing in model
         249  +
pub struct QueryParamsTargetingMapOfLengthPatternStringOperation;
         250  +
         251  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         252  +
    for QueryParamsTargetingMapOfLengthPatternStringOperation
         253  +
{
         254  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         255  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         256  +
            "com.amazonaws.constraints#QueryParamsTargetingMapOfLengthPatternStringOperation",
         257  +
            "com.amazonaws.constraints",
         258  +
            "QueryParamsTargetingMapOfLengthPatternStringOperation",
         259  +
        );
         260  +
         261  +
    type Input = crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput;
         262  +
    type Output = crate::output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput;
         263  +
    type Error = crate::error::QueryParamsTargetingMapOfLengthPatternStringOperationError;
         264  +
}
         265  +
         266  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         267  +
    for QueryParamsTargetingMapOfLengthPatternStringOperation
         268  +
{
         269  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         270  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         271  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         272  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         273  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         274  +
        >,
         275  +
    >;
         276  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         277  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         278  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         279  +
    >;
         280  +
         281  +
    fn request_fmt() -> Self::RequestFmt {
         282  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         283  +
    }
         284  +
         285  +
    fn response_fmt() -> Self::ResponseFmt {
         286  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         287  +
    }
         288  +
}
         289  +
         290  +
#[allow(missing_docs)] // documentation missing in model
         291  +
pub struct QueryParamsTargetingMapOfListOfPatternStringOperation;
         292  +
         293  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         294  +
    for QueryParamsTargetingMapOfListOfPatternStringOperation
         295  +
{
         296  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         297  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         298  +
            "com.amazonaws.constraints#QueryParamsTargetingMapOfListOfPatternStringOperation",
         299  +
            "com.amazonaws.constraints",
         300  +
            "QueryParamsTargetingMapOfListOfPatternStringOperation",
         301  +
        );
         302  +
         303  +
    type Input = crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput;
         304  +
    type Output = crate::output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput;
         305  +
    type Error = crate::error::QueryParamsTargetingMapOfListOfPatternStringOperationError;
         306  +
}
         307  +
         308  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         309  +
    for QueryParamsTargetingMapOfListOfPatternStringOperation
         310  +
{
         311  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         312  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         313  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         314  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         315  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         316  +
        >,
         317  +
    >;
         318  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         319  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         320  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         321  +
    >;
         322  +
         323  +
    fn request_fmt() -> Self::RequestFmt {
         324  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         325  +
    }
         326  +
         327  +
    fn response_fmt() -> Self::ResponseFmt {
         328  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         329  +
    }
         330  +
}
         331  +
         332  +
#[allow(missing_docs)] // documentation missing in model
         333  +
pub struct QueryParamsTargetingMapOfPatternStringOperation;
         334  +
         335  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         336  +
    for QueryParamsTargetingMapOfPatternStringOperation
         337  +
{
         338  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         339  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         340  +
            "com.amazonaws.constraints#QueryParamsTargetingMapOfPatternStringOperation",
         341  +
            "com.amazonaws.constraints",
         342  +
            "QueryParamsTargetingMapOfPatternStringOperation",
         343  +
        );
         344  +
         345  +
    type Input = crate::input::QueryParamsTargetingMapOfPatternStringOperationInput;
         346  +
    type Output = crate::output::QueryParamsTargetingMapOfPatternStringOperationOutput;
         347  +
    type Error = crate::error::QueryParamsTargetingMapOfPatternStringOperationError;
         348  +
}
         349  +
         350  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         351  +
    for QueryParamsTargetingMapOfPatternStringOperation
         352  +
{
         353  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         354  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         355  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         356  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         357  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         358  +
        >,
         359  +
    >;
         360  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         361  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         362  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         363  +
    >;
         364  +
         365  +
    fn request_fmt() -> Self::RequestFmt {
         366  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         367  +
    }
         368  +
         369  +
    fn response_fmt() -> Self::ResponseFmt {
         370  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         371  +
    }
         372  +
}
         373  +
         374  +
#[allow(missing_docs)] // documentation missing in model
         375  +
pub struct QueryParamsTargetingMapOfListOfEnumStringOperation;
         376  +
         377  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         378  +
    for QueryParamsTargetingMapOfListOfEnumStringOperation
         379  +
{
         380  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         381  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         382  +
            "com.amazonaws.constraints#QueryParamsTargetingMapOfListOfEnumStringOperation",
         383  +
            "com.amazonaws.constraints",
         384  +
            "QueryParamsTargetingMapOfListOfEnumStringOperation",
         385  +
        );
         386  +
         387  +
    type Input = crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput;
         388  +
    type Output = crate::output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput;
         389  +
    type Error = crate::error::QueryParamsTargetingMapOfListOfEnumStringOperationError;
         390  +
}
         391  +
         392  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         393  +
    for QueryParamsTargetingMapOfListOfEnumStringOperation
         394  +
{
         395  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         396  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         397  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         398  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         399  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         400  +
        >,
         401  +
    >;
         402  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         403  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         404  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         405  +
    >;
         406  +
         407  +
    fn request_fmt() -> Self::RequestFmt {
         408  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         409  +
    }
         410  +
         411  +
    fn response_fmt() -> Self::ResponseFmt {
         412  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         413  +
    }
         414  +
}
         415  +
         416  +
#[allow(missing_docs)] // documentation missing in model
         417  +
pub struct QueryParamsTargetingMapOfLengthListOfPatternStringOperation;
         418  +
         419  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         420  +
    for QueryParamsTargetingMapOfLengthListOfPatternStringOperation
         421  +
{
         422  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         423  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         424  +
            "com.amazonaws.constraints#QueryParamsTargetingMapOfLengthListOfPatternStringOperation",
         425  +
            "com.amazonaws.constraints",
         426  +
            "QueryParamsTargetingMapOfLengthListOfPatternStringOperation",
         427  +
        );
         428  +
         429  +
    type Input = crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput;
         430  +
    type Output = crate::output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput;
         431  +
    type Error = crate::error::QueryParamsTargetingMapOfLengthListOfPatternStringOperationError;
         432  +
}
         433  +
         434  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         435  +
    for QueryParamsTargetingMapOfLengthListOfPatternStringOperation
         436  +
{
         437  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         438  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         439  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         440  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         441  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         442  +
        >,
         443  +
    >;
         444  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         445  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         446  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         447  +
    >;
         448  +
         449  +
    fn request_fmt() -> Self::RequestFmt {
         450  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         451  +
    }
         452  +
         453  +
    fn response_fmt() -> Self::ResponseFmt {
         454  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         455  +
    }
         456  +
}
         457  +
         458  +
#[allow(missing_docs)] // documentation missing in model
         459  +
pub struct QueryParamsTargetingMapOfSetOfLengthStringOperation;
         460  +
         461  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         462  +
    for QueryParamsTargetingMapOfSetOfLengthStringOperation
         463  +
{
         464  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         465  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         466  +
            "com.amazonaws.constraints#QueryParamsTargetingMapOfSetOfLengthStringOperation",
         467  +
            "com.amazonaws.constraints",
         468  +
            "QueryParamsTargetingMapOfSetOfLengthStringOperation",
         469  +
        );
         470  +
         471  +
    type Input = crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput;
         472  +
    type Output = crate::output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput;
         473  +
    type Error = crate::error::QueryParamsTargetingMapOfSetOfLengthStringOperationError;
         474  +
}
         475  +
         476  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         477  +
    for QueryParamsTargetingMapOfSetOfLengthStringOperation
         478  +
{
         479  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         480  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         481  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         482  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         483  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         484  +
        >,
         485  +
    >;
         486  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         487  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         488  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         489  +
    >;
         490  +
         491  +
    fn request_fmt() -> Self::RequestFmt {
         492  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         493  +
    }
         494  +
         495  +
    fn response_fmt() -> Self::ResponseFmt {
         496  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         497  +
    }
         498  +
}
         499  +
         500  +
#[allow(missing_docs)] // documentation missing in model
         501  +
pub struct QueryParamsTargetingMapOfListOfLengthStringOperation;
         502  +
         503  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         504  +
    for QueryParamsTargetingMapOfListOfLengthStringOperation
         505  +
{
         506  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         507  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         508  +
            "com.amazonaws.constraints#QueryParamsTargetingMapOfListOfLengthStringOperation",
         509  +
            "com.amazonaws.constraints",
         510  +
            "QueryParamsTargetingMapOfListOfLengthStringOperation",
         511  +
        );
         512  +
         513  +
    type Input = crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput;
         514  +
    type Output = crate::output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput;
         515  +
    type Error = crate::error::QueryParamsTargetingMapOfListOfLengthStringOperationError;
         516  +
}
         517  +
         518  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         519  +
    for QueryParamsTargetingMapOfListOfLengthStringOperation
         520  +
{
         521  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         522  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         523  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         524  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         525  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         526  +
        >,
         527  +
    >;
         528  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         529  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         530  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         531  +
    >;
         532  +
         533  +
    fn request_fmt() -> Self::RequestFmt {
         534  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         535  +
    }
         536  +
         537  +
    fn response_fmt() -> Self::ResponseFmt {
         538  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         539  +
    }
         540  +
}
         541  +
         542  +
#[allow(missing_docs)] // documentation missing in model
         543  +
pub struct QueryParamsTargetingMapOfLengthStringOperation;
         544  +
         545  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         546  +
    for QueryParamsTargetingMapOfLengthStringOperation
         547  +
{
         548  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         549  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         550  +
            "com.amazonaws.constraints#QueryParamsTargetingMapOfLengthStringOperation",
         551  +
            "com.amazonaws.constraints",
         552  +
            "QueryParamsTargetingMapOfLengthStringOperation",
         553  +
        );
         554  +
         555  +
    type Input = crate::input::QueryParamsTargetingMapOfLengthStringOperationInput;
         556  +
    type Output = crate::output::QueryParamsTargetingMapOfLengthStringOperationOutput;
         557  +
    type Error = crate::error::QueryParamsTargetingMapOfLengthStringOperationError;
         558  +
}
         559  +
         560  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         561  +
    for QueryParamsTargetingMapOfLengthStringOperation
         562  +
{
         563  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         564  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         565  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         566  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         567  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         568  +
        >,
         569  +
    >;
         570  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         571  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         572  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         573  +
    >;
         574  +
         575  +
    fn request_fmt() -> Self::RequestFmt {
         576  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         577  +
    }
         578  +
         579  +
    fn response_fmt() -> Self::ResponseFmt {
         580  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         581  +
    }
         582  +
}
         583  +
         584  +
#[allow(missing_docs)] // documentation missing in model
         585  +
pub struct QueryParamsTargetingLengthMapOperation;
         586  +
         587  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         588  +
    for QueryParamsTargetingLengthMapOperation
         589  +
{
         590  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         591  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         592  +
            "com.amazonaws.constraints#QueryParamsTargetingLengthMapOperation",
         593  +
            "com.amazonaws.constraints",
         594  +
            "QueryParamsTargetingLengthMapOperation",
         595  +
        );
         596  +
         597  +
    type Input = crate::input::QueryParamsTargetingLengthMapOperationInput;
         598  +
    type Output = crate::output::QueryParamsTargetingLengthMapOperationOutput;
         599  +
    type Error = crate::error::QueryParamsTargetingLengthMapOperationError;
         600  +
}
         601  +
         602  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         603  +
    for QueryParamsTargetingLengthMapOperation
         604  +
{
         605  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         606  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         607  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         608  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         609  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         610  +
        >,
         611  +
    >;
         612  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         613  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         614  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         615  +
    >;
         616  +
         617  +
    fn request_fmt() -> Self::RequestFmt {
         618  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         619  +
    }
         620  +
         621  +
    fn response_fmt() -> Self::ResponseFmt {
         622  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         623  +
    }
         624  +
}
         625  +
         626  +
#[allow(missing_docs)] // documentation missing in model
         627  +
pub struct ConstrainedRecursiveShapesOperation;
         628  +
         629  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         630  +
    for ConstrainedRecursiveShapesOperation
         631  +
{
         632  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         633  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         634  +
            "com.amazonaws.constraints#ConstrainedRecursiveShapesOperation",
         635  +
            "com.amazonaws.constraints",
         636  +
            "ConstrainedRecursiveShapesOperation",
         637  +
        );
         638  +
         639  +
    type Input = crate::input::ConstrainedRecursiveShapesOperationInput;
         640  +
    type Output = crate::output::ConstrainedRecursiveShapesOperationOutput;
         641  +
    type Error = crate::error::ConstrainedRecursiveShapesOperationError;
         642  +
}
         643  +
         644  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         645  +
    for ConstrainedRecursiveShapesOperation
         646  +
{
         647  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         648  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         649  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         650  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         651  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         652  +
        >,
         653  +
    >;
         654  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         655  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         656  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         657  +
    >;
         658  +
         659  +
    fn request_fmt() -> Self::RequestFmt {
         660  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         661  +
    }
         662  +
         663  +
    fn response_fmt() -> Self::ResponseFmt {
         664  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         665  +
    }
         666  +
}
         667  +
         668  +
#[allow(missing_docs)] // documentation missing in model
         669  +
pub struct ConstrainedHttpPayloadBoundShapeOperation;
         670  +
         671  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         672  +
    for ConstrainedHttpPayloadBoundShapeOperation
         673  +
{
         674  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         675  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         676  +
            "com.amazonaws.constraints#ConstrainedHttpPayloadBoundShapeOperation",
         677  +
            "com.amazonaws.constraints",
         678  +
            "ConstrainedHttpPayloadBoundShapeOperation",
         679  +
        );
         680  +
         681  +
    type Input = crate::input::ConstrainedHttpPayloadBoundShapeOperationInput;
         682  +
    type Output = crate::output::ConstrainedHttpPayloadBoundShapeOperationOutput;
         683  +
    type Error = crate::error::ConstrainedHttpPayloadBoundShapeOperationError;
         684  +
}
         685  +
         686  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         687  +
    for ConstrainedHttpPayloadBoundShapeOperation
         688  +
{
         689  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         690  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         691  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         692  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         693  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         694  +
        >,
         695  +
    >;
         696  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         697  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         698  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         699  +
    >;
         700  +
         701  +
    fn request_fmt() -> Self::RequestFmt {
         702  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         703  +
    }
         704  +
         705  +
    fn response_fmt() -> Self::ResponseFmt {
         706  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         707  +
    }
         708  +
}
         709  +
         710  +
#[allow(missing_docs)] // documentation missing in model
         711  +
pub struct ConstrainedHttpBoundShapesOperation;
         712  +
         713  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         714  +
    for ConstrainedHttpBoundShapesOperation
         715  +
{
         716  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         717  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         718  +
            "com.amazonaws.constraints#ConstrainedHttpBoundShapesOperation",
         719  +
            "com.amazonaws.constraints",
         720  +
            "ConstrainedHttpBoundShapesOperation",
         721  +
        );
         722  +
         723  +
    type Input = crate::input::ConstrainedHttpBoundShapesOperationInput;
         724  +
    type Output = crate::output::ConstrainedHttpBoundShapesOperationOutput;
         725  +
    type Error = crate::error::ConstrainedHttpBoundShapesOperationError;
         726  +
}
         727  +
         728  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         729  +
    for ConstrainedHttpBoundShapesOperation
         730  +
{
         731  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         732  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         733  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         734  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         735  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         736  +
        >,
         737  +
    >;
         738  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         739  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         740  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         741  +
    >;
         742  +
         743  +
    fn request_fmt() -> Self::RequestFmt {
         744  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         745  +
    }
         746  +
         747  +
    fn response_fmt() -> Self::ResponseFmt {
         748  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         749  +
    }
         750  +
}
         751  +
         752  +
#[allow(missing_docs)] // documentation missing in model
         753  +
pub struct ConstrainedShapesOnlyInOutputOperation;
         754  +
         755  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         756  +
    for ConstrainedShapesOnlyInOutputOperation
         757  +
{
         758  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         759  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         760  +
            "com.amazonaws.constraints#ConstrainedShapesOnlyInOutputOperation",
         761  +
            "com.amazonaws.constraints",
         762  +
            "ConstrainedShapesOnlyInOutputOperation",
         763  +
        );
         764  +
         765  +
    type Input = crate::input::ConstrainedShapesOnlyInOutputOperationInput;
         766  +
    type Output = crate::output::ConstrainedShapesOnlyInOutputOperationOutput;
         767  +
    type Error = std::convert::Infallible;
         768  +
}
         769  +
         770  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         771  +
    for ConstrainedShapesOnlyInOutputOperation
         772  +
{
         773  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         774  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         775  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         776  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         777  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         778  +
        >,
         779  +
    >;
         780  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         781  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         782  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         783  +
    >;
         784  +
         785  +
    fn request_fmt() -> Self::RequestFmt {
         786  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         787  +
    }
         788  +
         789  +
    fn response_fmt() -> Self::ResponseFmt {
         790  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         791  +
    }
         792  +
}
         793  +
         794  +
#[allow(missing_docs)] // documentation missing in model
         795  +
pub struct ConstrainedShapesOperation;
         796  +
         797  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ConstrainedShapesOperation {
         798  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         799  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         800  +
            "com.amazonaws.constraints#ConstrainedShapesOperation",
         801  +
            "com.amazonaws.constraints",
         802  +
            "ConstrainedShapesOperation",
         803  +
        );
         804  +
         805  +
    type Input = crate::input::ConstrainedShapesOperationInput;
         806  +
    type Output = crate::output::ConstrainedShapesOperationOutput;
         807  +
    type Error = crate::error::ConstrainedShapesOperationError;
         808  +
}
         809  +
         810  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         811  +
    for ConstrainedShapesOperation
         812  +
{
         813  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
         814  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         815  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
         816  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         817  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         818  +
        >,
         819  +
    >;
         820  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
         821  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         822  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
         823  +
    >;
         824  +
         825  +
    fn request_fmt() -> Self::RequestFmt {
         826  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         827  +
    }
         828  +
         829  +
    fn response_fmt() -> Self::ResponseFmt {
         830  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         831  +
    }
         832  +
}

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

@@ -0,1 +0,2282 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[allow(missing_docs)] // documentation missing in model
           3  +
#[derive(::std::fmt::Debug)]
           4  +
pub struct EventStreamsOperationOutput {
           5  +
    #[allow(missing_docs)] // documentation missing in model
           6  +
    pub events: ::aws_smithy_legacy_http::event_stream::EventStreamSender<
           7  +
        crate::model::Event,
           8  +
        crate::error::EventError,
           9  +
    >,
          10  +
}
          11  +
impl EventStreamsOperationOutput {
          12  +
    #[allow(missing_docs)] // documentation missing in model
          13  +
    pub fn events(
          14  +
        &self,
          15  +
    ) -> &::aws_smithy_legacy_http::event_stream::EventStreamSender<
          16  +
        crate::model::Event,
          17  +
        crate::error::EventError,
          18  +
    > {
          19  +
        &self.events
          20  +
    }
          21  +
}
          22  +
impl EventStreamsOperationOutput {
          23  +
    /// Creates a new builder-style object to manufacture [`EventStreamsOperationOutput`](crate::output::EventStreamsOperationOutput).
          24  +
    pub fn builder() -> crate::output::event_streams_operation_output::Builder {
          25  +
        crate::output::event_streams_operation_output::Builder::default()
          26  +
    }
          27  +
}
          28  +
          29  +
#[allow(missing_docs)] // documentation missing in model
          30  +
#[derive(::std::fmt::Debug)]
          31  +
pub struct StreamingBlobOperationOutput {
          32  +
    #[allow(missing_docs)] // documentation missing in model
          33  +
    pub streaming_blob: ::aws_smithy_types::byte_stream::ByteStream,
          34  +
}
          35  +
impl StreamingBlobOperationOutput {
          36  +
    #[allow(missing_docs)] // documentation missing in model
          37  +
    pub fn streaming_blob(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
          38  +
        &self.streaming_blob
          39  +
    }
          40  +
}
          41  +
impl StreamingBlobOperationOutput {
          42  +
    /// Creates a new builder-style object to manufacture [`StreamingBlobOperationOutput`](crate::output::StreamingBlobOperationOutput).
          43  +
    pub fn builder() -> crate::output::streaming_blob_operation_output::Builder {
          44  +
        crate::output::streaming_blob_operation_output::Builder::default()
          45  +
    }
          46  +
}
          47  +
          48  +
#[allow(missing_docs)] // documentation missing in model
          49  +
#[derive(
          50  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
          51  +
)]
          52  +
pub struct NonStreamingBlobOperationOutput {
          53  +
    #[allow(missing_docs)] // documentation missing in model
          54  +
    pub non_streaming_blob: ::std::option::Option<::aws_smithy_types::Blob>,
          55  +
}
          56  +
impl NonStreamingBlobOperationOutput {
          57  +
    #[allow(missing_docs)] // documentation missing in model
          58  +
    pub fn non_streaming_blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
          59  +
        self.non_streaming_blob.as_ref()
          60  +
    }
          61  +
}
          62  +
impl NonStreamingBlobOperationOutput {
          63  +
    /// Creates a new builder-style object to manufacture [`NonStreamingBlobOperationOutput`](crate::output::NonStreamingBlobOperationOutput).
          64  +
    pub fn builder() -> crate::output::non_streaming_blob_operation_output::Builder {
          65  +
        crate::output::non_streaming_blob_operation_output::Builder::default()
          66  +
    }
          67  +
}
          68  +
          69  +
#[allow(missing_docs)] // documentation missing in model
          70  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
          71  +
pub struct QueryParamsTargetingMapOfEnumStringOperationOutput {
          72  +
    #[allow(missing_docs)] // documentation missing in model
          73  +
    pub map_of_enum_string: ::std::option::Option<
          74  +
        ::std::collections::HashMap<crate::model::EnumString, crate::model::EnumString>,
          75  +
    >,
          76  +
}
          77  +
impl QueryParamsTargetingMapOfEnumStringOperationOutput {
          78  +
    #[allow(missing_docs)] // documentation missing in model
          79  +
    pub fn map_of_enum_string(
          80  +
        &self,
          81  +
    ) -> ::std::option::Option<
          82  +
        &::std::collections::HashMap<crate::model::EnumString, crate::model::EnumString>,
          83  +
    > {
          84  +
        self.map_of_enum_string.as_ref()
          85  +
    }
          86  +
}
          87  +
impl QueryParamsTargetingMapOfEnumStringOperationOutput {
          88  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfEnumStringOperationOutput`](crate::output::QueryParamsTargetingMapOfEnumStringOperationOutput).
          89  +
    pub fn builder(
          90  +
    ) -> crate::output::query_params_targeting_map_of_enum_string_operation_output::Builder {
          91  +
        crate::output::query_params_targeting_map_of_enum_string_operation_output::Builder::default(
          92  +
        )
          93  +
    }
          94  +
}
          95  +
          96  +
#[allow(missing_docs)] // documentation missing in model
          97  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
          98  +
pub struct HttpPrefixHeadersTargetingLengthMapOperationOutput {
          99  +
    #[allow(missing_docs)] // documentation missing in model
         100  +
    pub length_map: ::std::option::Option<crate::model::ConBMap>,
         101  +
}
         102  +
impl HttpPrefixHeadersTargetingLengthMapOperationOutput {
         103  +
    #[allow(missing_docs)] // documentation missing in model
         104  +
    pub fn length_map(&self) -> ::std::option::Option<&crate::model::ConBMap> {
         105  +
        self.length_map.as_ref()
         106  +
    }
         107  +
}
         108  +
impl HttpPrefixHeadersTargetingLengthMapOperationOutput {
         109  +
    /// Creates a new builder-style object to manufacture [`HttpPrefixHeadersTargetingLengthMapOperationOutput`](crate::output::HttpPrefixHeadersTargetingLengthMapOperationOutput).
         110  +
    pub fn builder(
         111  +
    ) -> crate::output::http_prefix_headers_targeting_length_map_operation_output::Builder {
         112  +
        crate::output::http_prefix_headers_targeting_length_map_operation_output::Builder::default()
         113  +
    }
         114  +
}
         115  +
         116  +
#[allow(missing_docs)] // documentation missing in model
         117  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         118  +
pub struct QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput {
         119  +
    #[allow(missing_docs)] // documentation missing in model
         120  +
    pub map_of_length_pattern_string: ::std::option::Option<
         121  +
        ::std::collections::HashMap<
         122  +
            crate::model::LengthPatternString,
         123  +
            ::std::vec::Vec<crate::model::LengthPatternString>,
         124  +
        >,
         125  +
    >,
         126  +
}
         127  +
impl QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput {
         128  +
    #[allow(missing_docs)] // documentation missing in model
         129  +
    pub fn map_of_length_pattern_string(
         130  +
        &self,
         131  +
    ) -> ::std::option::Option<
         132  +
        &::std::collections::HashMap<
         133  +
            crate::model::LengthPatternString,
         134  +
            ::std::vec::Vec<crate::model::LengthPatternString>,
         135  +
        >,
         136  +
    > {
         137  +
        self.map_of_length_pattern_string.as_ref()
         138  +
    }
         139  +
}
         140  +
impl QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput {
         141  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput).
         142  +
    pub fn builder() -> crate::output::query_params_targeting_map_of_list_of_length_pattern_string_operation_output::Builder{
         143  +
        crate::output::query_params_targeting_map_of_list_of_length_pattern_string_operation_output::Builder::default()
         144  +
    }
         145  +
}
         146  +
         147  +
#[allow(missing_docs)] // documentation missing in model
         148  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         149  +
pub struct QueryParamsTargetingMapOfLengthPatternStringOperationOutput {
         150  +
    #[allow(missing_docs)] // documentation missing in model
         151  +
    pub map_of_length_pattern_string: ::std::option::Option<
         152  +
        ::std::collections::HashMap<
         153  +
            crate::model::LengthPatternString,
         154  +
            crate::model::LengthPatternString,
         155  +
        >,
         156  +
    >,
         157  +
}
         158  +
impl QueryParamsTargetingMapOfLengthPatternStringOperationOutput {
         159  +
    #[allow(missing_docs)] // documentation missing in model
         160  +
    pub fn map_of_length_pattern_string(
         161  +
        &self,
         162  +
    ) -> ::std::option::Option<
         163  +
        &::std::collections::HashMap<
         164  +
            crate::model::LengthPatternString,
         165  +
            crate::model::LengthPatternString,
         166  +
        >,
         167  +
    > {
         168  +
        self.map_of_length_pattern_string.as_ref()
         169  +
    }
         170  +
}
         171  +
impl QueryParamsTargetingMapOfLengthPatternStringOperationOutput {
         172  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfLengthPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput).
         173  +
    pub fn builder(
         174  +
    ) -> crate::output::query_params_targeting_map_of_length_pattern_string_operation_output::Builder
         175  +
    {
         176  +
        crate::output::query_params_targeting_map_of_length_pattern_string_operation_output::Builder::default()
         177  +
    }
         178  +
}
         179  +
         180  +
#[allow(missing_docs)] // documentation missing in model
         181  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         182  +
pub struct QueryParamsTargetingMapOfListOfPatternStringOperationOutput {
         183  +
    #[allow(missing_docs)] // documentation missing in model
         184  +
    pub map_of_list_of_pattern_string: ::std::option::Option<
         185  +
        ::std::collections::HashMap<
         186  +
            crate::model::PatternString,
         187  +
            ::std::vec::Vec<crate::model::PatternString>,
         188  +
        >,
         189  +
    >,
         190  +
}
         191  +
impl QueryParamsTargetingMapOfListOfPatternStringOperationOutput {
         192  +
    #[allow(missing_docs)] // documentation missing in model
         193  +
    pub fn map_of_list_of_pattern_string(
         194  +
        &self,
         195  +
    ) -> ::std::option::Option<
         196  +
        &::std::collections::HashMap<
         197  +
            crate::model::PatternString,
         198  +
            ::std::vec::Vec<crate::model::PatternString>,
         199  +
        >,
         200  +
    > {
         201  +
        self.map_of_list_of_pattern_string.as_ref()
         202  +
    }
         203  +
}
         204  +
impl QueryParamsTargetingMapOfListOfPatternStringOperationOutput {
         205  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfListOfPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput).
         206  +
    pub fn builder(
         207  +
    ) -> crate::output::query_params_targeting_map_of_list_of_pattern_string_operation_output::Builder
         208  +
    {
         209  +
        crate::output::query_params_targeting_map_of_list_of_pattern_string_operation_output::Builder::default()
         210  +
    }
         211  +
}
         212  +
         213  +
#[allow(missing_docs)] // documentation missing in model
         214  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         215  +
pub struct QueryParamsTargetingMapOfPatternStringOperationOutput {
         216  +
    #[allow(missing_docs)] // documentation missing in model
         217  +
    pub map_of_pattern_string: ::std::option::Option<
         218  +
        ::std::collections::HashMap<crate::model::PatternString, crate::model::PatternString>,
         219  +
    >,
         220  +
}
         221  +
impl QueryParamsTargetingMapOfPatternStringOperationOutput {
         222  +
    #[allow(missing_docs)] // documentation missing in model
         223  +
    pub fn map_of_pattern_string(
         224  +
        &self,
         225  +
    ) -> ::std::option::Option<
         226  +
        &::std::collections::HashMap<crate::model::PatternString, crate::model::PatternString>,
         227  +
    > {
         228  +
        self.map_of_pattern_string.as_ref()
         229  +
    }
         230  +
}
         231  +
impl QueryParamsTargetingMapOfPatternStringOperationOutput {
         232  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfPatternStringOperationOutput).
         233  +
    pub fn builder(
         234  +
    ) -> crate::output::query_params_targeting_map_of_pattern_string_operation_output::Builder {
         235  +
        crate::output::query_params_targeting_map_of_pattern_string_operation_output::Builder::default()
         236  +
    }
         237  +
}
         238  +
         239  +
#[allow(missing_docs)] // documentation missing in model
         240  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         241  +
pub struct QueryParamsTargetingMapOfListOfEnumStringOperationOutput {
         242  +
    #[allow(missing_docs)] // documentation missing in model
         243  +
    pub map_of_list_of_enum_string: ::std::option::Option<
         244  +
        ::std::collections::HashMap<
         245  +
            crate::model::EnumString,
         246  +
            ::std::vec::Vec<crate::model::EnumString>,
         247  +
        >,
         248  +
    >,
         249  +
}
         250  +
impl QueryParamsTargetingMapOfListOfEnumStringOperationOutput {
         251  +
    #[allow(missing_docs)] // documentation missing in model
         252  +
    pub fn map_of_list_of_enum_string(
         253  +
        &self,
         254  +
    ) -> ::std::option::Option<
         255  +
        &::std::collections::HashMap<
         256  +
            crate::model::EnumString,
         257  +
            ::std::vec::Vec<crate::model::EnumString>,
         258  +
        >,
         259  +
    > {
         260  +
        self.map_of_list_of_enum_string.as_ref()
         261  +
    }
         262  +
}
         263  +
impl QueryParamsTargetingMapOfListOfEnumStringOperationOutput {
         264  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfListOfEnumStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput).
         265  +
    pub fn builder(
         266  +
    ) -> crate::output::query_params_targeting_map_of_list_of_enum_string_operation_output::Builder
         267  +
    {
         268  +
        crate::output::query_params_targeting_map_of_list_of_enum_string_operation_output::Builder::default()
         269  +
    }
         270  +
}
         271  +
         272  +
#[allow(missing_docs)] // documentation missing in model
         273  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         274  +
pub struct QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput {
         275  +
    #[allow(missing_docs)] // documentation missing in model
         276  +
    pub map_of_length_list_of_pattern_string: ::std::option::Option<
         277  +
        ::std::collections::HashMap<
         278  +
            crate::model::PatternString,
         279  +
            crate::model::LengthListOfPatternString,
         280  +
        >,
         281  +
    >,
         282  +
}
         283  +
impl QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput {
         284  +
    #[allow(missing_docs)] // documentation missing in model
         285  +
    pub fn map_of_length_list_of_pattern_string(
         286  +
        &self,
         287  +
    ) -> ::std::option::Option<
         288  +
        &::std::collections::HashMap<
         289  +
            crate::model::PatternString,
         290  +
            crate::model::LengthListOfPatternString,
         291  +
        >,
         292  +
    > {
         293  +
        self.map_of_length_list_of_pattern_string.as_ref()
         294  +
    }
         295  +
}
         296  +
impl QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput {
         297  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput).
         298  +
    pub fn builder() -> crate::output::query_params_targeting_map_of_length_list_of_pattern_string_operation_output::Builder{
         299  +
        crate::output::query_params_targeting_map_of_length_list_of_pattern_string_operation_output::Builder::default()
         300  +
    }
         301  +
}
         302  +
         303  +
#[allow(missing_docs)] // documentation missing in model
         304  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         305  +
pub struct QueryParamsTargetingMapOfSetOfLengthStringOperationOutput {
         306  +
    #[allow(missing_docs)] // documentation missing in model
         307  +
    pub map_of_set_of_length_string: ::std::option::Option<
         308  +
        ::std::collections::HashMap<crate::model::LengthString, crate::model::SetOfLengthString>,
         309  +
    >,
         310  +
}
         311  +
impl QueryParamsTargetingMapOfSetOfLengthStringOperationOutput {
         312  +
    #[allow(missing_docs)] // documentation missing in model
         313  +
    pub fn map_of_set_of_length_string(
         314  +
        &self,
         315  +
    ) -> ::std::option::Option<
         316  +
        &::std::collections::HashMap<crate::model::LengthString, crate::model::SetOfLengthString>,
         317  +
    > {
         318  +
        self.map_of_set_of_length_string.as_ref()
         319  +
    }
         320  +
}
         321  +
impl QueryParamsTargetingMapOfSetOfLengthStringOperationOutput {
         322  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfSetOfLengthStringOperationOutput`](crate::output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput).
         323  +
    pub fn builder(
         324  +
    ) -> crate::output::query_params_targeting_map_of_set_of_length_string_operation_output::Builder
         325  +
    {
         326  +
        crate::output::query_params_targeting_map_of_set_of_length_string_operation_output::Builder::default()
         327  +
    }
         328  +
}
         329  +
         330  +
#[allow(missing_docs)] // documentation missing in model
         331  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         332  +
pub struct QueryParamsTargetingMapOfListOfLengthStringOperationOutput {
         333  +
    #[allow(missing_docs)] // documentation missing in model
         334  +
    pub map_of_list_of_length_string: ::std::option::Option<
         335  +
        ::std::collections::HashMap<
         336  +
            crate::model::LengthString,
         337  +
            ::std::vec::Vec<crate::model::LengthString>,
         338  +
        >,
         339  +
    >,
         340  +
}
         341  +
impl QueryParamsTargetingMapOfListOfLengthStringOperationOutput {
         342  +
    #[allow(missing_docs)] // documentation missing in model
         343  +
    pub fn map_of_list_of_length_string(
         344  +
        &self,
         345  +
    ) -> ::std::option::Option<
         346  +
        &::std::collections::HashMap<
         347  +
            crate::model::LengthString,
         348  +
            ::std::vec::Vec<crate::model::LengthString>,
         349  +
        >,
         350  +
    > {
         351  +
        self.map_of_list_of_length_string.as_ref()
         352  +
    }
         353  +
}
         354  +
impl QueryParamsTargetingMapOfListOfLengthStringOperationOutput {
         355  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfListOfLengthStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput).
         356  +
    pub fn builder(
         357  +
    ) -> crate::output::query_params_targeting_map_of_list_of_length_string_operation_output::Builder
         358  +
    {
         359  +
        crate::output::query_params_targeting_map_of_list_of_length_string_operation_output::Builder::default()
         360  +
    }
         361  +
}
         362  +
         363  +
#[allow(missing_docs)] // documentation missing in model
         364  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         365  +
pub struct QueryParamsTargetingMapOfLengthStringOperationOutput {
         366  +
    #[allow(missing_docs)] // documentation missing in model
         367  +
    pub map_of_length_string: ::std::option::Option<
         368  +
        ::std::collections::HashMap<crate::model::LengthString, crate::model::LengthString>,
         369  +
    >,
         370  +
}
         371  +
impl QueryParamsTargetingMapOfLengthStringOperationOutput {
         372  +
    #[allow(missing_docs)] // documentation missing in model
         373  +
    pub fn map_of_length_string(
         374  +
        &self,
         375  +
    ) -> ::std::option::Option<
         376  +
        &::std::collections::HashMap<crate::model::LengthString, crate::model::LengthString>,
         377  +
    > {
         378  +
        self.map_of_length_string.as_ref()
         379  +
    }
         380  +
}
         381  +
impl QueryParamsTargetingMapOfLengthStringOperationOutput {
         382  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfLengthStringOperationOutput`](crate::output::QueryParamsTargetingMapOfLengthStringOperationOutput).
         383  +
    pub fn builder(
         384  +
    ) -> crate::output::query_params_targeting_map_of_length_string_operation_output::Builder {
         385  +
        crate::output::query_params_targeting_map_of_length_string_operation_output::Builder::default()
         386  +
    }
         387  +
}
         388  +
         389  +
#[allow(missing_docs)] // documentation missing in model
         390  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         391  +
pub struct QueryParamsTargetingLengthMapOperationOutput {
         392  +
    #[allow(missing_docs)] // documentation missing in model
         393  +
    pub length_map: ::std::option::Option<crate::model::ConBMap>,
         394  +
}
         395  +
impl QueryParamsTargetingLengthMapOperationOutput {
         396  +
    #[allow(missing_docs)] // documentation missing in model
         397  +
    pub fn length_map(&self) -> ::std::option::Option<&crate::model::ConBMap> {
         398  +
        self.length_map.as_ref()
         399  +
    }
         400  +
}
         401  +
impl QueryParamsTargetingLengthMapOperationOutput {
         402  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingLengthMapOperationOutput`](crate::output::QueryParamsTargetingLengthMapOperationOutput).
         403  +
    pub fn builder() -> crate::output::query_params_targeting_length_map_operation_output::Builder {
         404  +
        crate::output::query_params_targeting_length_map_operation_output::Builder::default()
         405  +
    }
         406  +
}
         407  +
         408  +
#[allow(missing_docs)] // documentation missing in model
         409  +
#[derive(
         410  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         411  +
)]
         412  +
pub struct ConstrainedRecursiveShapesOperationOutput {
         413  +
    #[allow(missing_docs)] // documentation missing in model
         414  +
    pub nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
         415  +
    #[allow(missing_docs)] // documentation missing in model
         416  +
    pub recursive_list: ::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>,
         417  +
}
         418  +
impl ConstrainedRecursiveShapesOperationOutput {
         419  +
    #[allow(missing_docs)] // documentation missing in model
         420  +
    pub fn nested(
         421  +
        &self,
         422  +
    ) -> ::std::option::Option<&crate::model::RecursiveShapesInputOutputNested1> {
         423  +
        self.nested.as_ref()
         424  +
    }
         425  +
    #[allow(missing_docs)] // documentation missing in model
         426  +
    pub fn recursive_list(&self) -> &[crate::model::RecursiveShapesInputOutputNested1] {
         427  +
        use std::ops::Deref;
         428  +
        self.recursive_list.deref()
         429  +
    }
         430  +
}
         431  +
impl ConstrainedRecursiveShapesOperationOutput {
         432  +
    /// Creates a new builder-style object to manufacture [`ConstrainedRecursiveShapesOperationOutput`](crate::output::ConstrainedRecursiveShapesOperationOutput).
         433  +
    pub fn builder() -> crate::output::constrained_recursive_shapes_operation_output::Builder {
         434  +
        crate::output::constrained_recursive_shapes_operation_output::Builder::default()
         435  +
    }
         436  +
}
         437  +
         438  +
#[allow(missing_docs)] // documentation missing in model
         439  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         440  +
pub struct ConstrainedHttpPayloadBoundShapeOperationOutput {
         441  +
    #[allow(missing_docs)] // documentation missing in model
         442  +
    pub http_payload_bound_constrained_shape: crate::model::ConA,
         443  +
}
         444  +
impl ConstrainedHttpPayloadBoundShapeOperationOutput {
         445  +
    #[allow(missing_docs)] // documentation missing in model
         446  +
    pub fn http_payload_bound_constrained_shape(&self) -> &crate::model::ConA {
         447  +
        &self.http_payload_bound_constrained_shape
         448  +
    }
         449  +
}
         450  +
impl ConstrainedHttpPayloadBoundShapeOperationOutput {
         451  +
    /// Creates a new builder-style object to manufacture [`ConstrainedHttpPayloadBoundShapeOperationOutput`](crate::output::ConstrainedHttpPayloadBoundShapeOperationOutput).
         452  +
    pub fn builder() -> crate::output::constrained_http_payload_bound_shape_operation_output::Builder
         453  +
    {
         454  +
        crate::output::constrained_http_payload_bound_shape_operation_output::Builder::default()
         455  +
    }
         456  +
}
         457  +
         458  +
#[allow(missing_docs)] // documentation missing in model
         459  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         460  +
pub struct ConstrainedHttpBoundShapesOperationOutput {
         461  +
    #[allow(missing_docs)] // documentation missing in model
         462  +
    pub length_string_label: crate::model::LengthString,
         463  +
    #[allow(missing_docs)] // documentation missing in model
         464  +
    pub range_integer_label: crate::model::RangeInteger,
         465  +
    #[allow(missing_docs)] // documentation missing in model
         466  +
    pub range_short_label: crate::model::RangeShort,
         467  +
    #[allow(missing_docs)] // documentation missing in model
         468  +
    pub range_long_label: crate::model::RangeLong,
         469  +
    #[allow(missing_docs)] // documentation missing in model
         470  +
    pub range_byte_label: crate::model::RangeByte,
         471  +
    #[allow(missing_docs)] // documentation missing in model
         472  +
    pub enum_string_label: crate::model::EnumString,
         473  +
    #[allow(missing_docs)] // documentation missing in model
         474  +
    pub length_string_header_map:
         475  +
        ::std::collections::HashMap<crate::model::LengthString, crate::model::LengthString>,
         476  +
    #[allow(missing_docs)] // documentation missing in model
         477  +
    pub length_string_header: ::std::option::Option<crate::model::LengthString>,
         478  +
    #[allow(missing_docs)] // documentation missing in model
         479  +
    pub range_integer_header: crate::model::RangeInteger,
         480  +
    #[allow(missing_docs)] // documentation missing in model
         481  +
    pub range_short_header: crate::model::RangeShort,
         482  +
    #[allow(missing_docs)] // documentation missing in model
         483  +
    pub range_long_header: crate::model::RangeLong,
         484  +
    #[allow(missing_docs)] // documentation missing in model
         485  +
    pub range_byte_header: crate::model::RangeByte,
         486  +
    #[allow(missing_docs)] // documentation missing in model
         487  +
    pub length_string_set_header: ::std::option::Option<crate::model::SetOfLengthString>,
         488  +
    #[allow(missing_docs)] // documentation missing in model
         489  +
    pub list_length_string_header:
         490  +
        ::std::option::Option<::std::vec::Vec<crate::model::LengthString>>,
         491  +
    #[allow(missing_docs)] // documentation missing in model
         492  +
    pub length_list_pattern_string_header:
         493  +
        ::std::option::Option<crate::model::LengthListOfPatternString>,
         494  +
    #[allow(missing_docs)] // documentation missing in model
         495  +
    pub length_set_pattern_string_header:
         496  +
        ::std::option::Option<crate::model::LengthSetOfPatternString>,
         497  +
    #[allow(missing_docs)] // documentation missing in model
         498  +
    pub range_byte_set_header: ::std::option::Option<crate::model::SetOfRangeByte>,
         499  +
    #[allow(missing_docs)] // documentation missing in model
         500  +
    pub range_short_set_header: ::std::option::Option<crate::model::SetOfRangeShort>,
         501  +
    #[allow(missing_docs)] // documentation missing in model
         502  +
    pub range_integer_set_header: ::std::option::Option<crate::model::SetOfRangeInteger>,
         503  +
    #[allow(missing_docs)] // documentation missing in model
         504  +
    pub range_long_set_header: ::std::option::Option<crate::model::SetOfRangeLong>,
         505  +
    #[allow(missing_docs)] // documentation missing in model
         506  +
    pub range_byte_list_header: ::std::option::Option<::std::vec::Vec<crate::model::RangeByte>>,
         507  +
    #[allow(missing_docs)] // documentation missing in model
         508  +
    pub range_short_list_header: ::std::option::Option<::std::vec::Vec<crate::model::RangeShort>>,
         509  +
    #[allow(missing_docs)] // documentation missing in model
         510  +
    pub range_integer_list_header:
         511  +
        ::std::option::Option<::std::vec::Vec<crate::model::RangeInteger>>,
         512  +
    #[allow(missing_docs)] // documentation missing in model
         513  +
    pub range_long_list_header: ::std::option::Option<::std::vec::Vec<crate::model::RangeLong>>,
         514  +
    #[allow(missing_docs)] // documentation missing in model
         515  +
    pub length_string_query: ::std::option::Option<crate::model::LengthString>,
         516  +
    #[allow(missing_docs)] // documentation missing in model
         517  +
    pub range_byte_query: crate::model::RangeByte,
         518  +
    #[allow(missing_docs)] // documentation missing in model
         519  +
    pub range_short_query: crate::model::RangeShort,
         520  +
    #[allow(missing_docs)] // documentation missing in model
         521  +
    pub range_integer_query: crate::model::RangeInteger,
         522  +
    #[allow(missing_docs)] // documentation missing in model
         523  +
    pub range_long_query: crate::model::RangeLong,
         524  +
    #[allow(missing_docs)] // documentation missing in model
         525  +
    pub enum_string_query: ::std::option::Option<crate::model::EnumString>,
         526  +
    #[allow(missing_docs)] // documentation missing in model
         527  +
    pub length_string_list_query:
         528  +
        ::std::option::Option<::std::vec::Vec<crate::model::LengthString>>,
         529  +
    #[allow(missing_docs)] // documentation missing in model
         530  +
    pub length_list_pattern_string_query:
         531  +
        ::std::option::Option<crate::model::LengthListOfPatternString>,
         532  +
    #[allow(missing_docs)] // documentation missing in model
         533  +
    pub length_string_set_query: ::std::option::Option<crate::model::SetOfLengthString>,
         534  +
    #[allow(missing_docs)] // documentation missing in model
         535  +
    pub range_byte_list_query: ::std::option::Option<::std::vec::Vec<crate::model::RangeByte>>,
         536  +
    #[allow(missing_docs)] // documentation missing in model
         537  +
    pub range_short_list_query: ::std::option::Option<::std::vec::Vec<crate::model::RangeShort>>,
         538  +
    #[allow(missing_docs)] // documentation missing in model
         539  +
    pub range_integer_list_query:
         540  +
        ::std::option::Option<::std::vec::Vec<crate::model::RangeInteger>>,
         541  +
    #[allow(missing_docs)] // documentation missing in model
         542  +
    pub range_long_list_query: ::std::option::Option<::std::vec::Vec<crate::model::RangeLong>>,
         543  +
    #[allow(missing_docs)] // documentation missing in model
         544  +
    pub range_byte_set_query: ::std::option::Option<crate::model::SetOfRangeByte>,
         545  +
    #[allow(missing_docs)] // documentation missing in model
         546  +
    pub range_short_set_query: ::std::option::Option<crate::model::SetOfRangeShort>,
         547  +
    #[allow(missing_docs)] // documentation missing in model
         548  +
    pub range_integer_set_query: ::std::option::Option<crate::model::SetOfRangeInteger>,
         549  +
    #[allow(missing_docs)] // documentation missing in model
         550  +
    pub range_long_set_query: ::std::option::Option<crate::model::SetOfRangeLong>,
         551  +
    #[allow(missing_docs)] // documentation missing in model
         552  +
    pub enum_string_list_query: ::std::option::Option<::std::vec::Vec<crate::model::EnumString>>,
         553  +
}
         554  +
impl ConstrainedHttpBoundShapesOperationOutput {
         555  +
    #[allow(missing_docs)] // documentation missing in model
         556  +
    pub fn length_string_label(&self) -> &crate::model::LengthString {
         557  +
        &self.length_string_label
         558  +
    }
         559  +
    #[allow(missing_docs)] // documentation missing in model
         560  +
    pub fn range_integer_label(&self) -> &crate::model::RangeInteger {
         561  +
        &self.range_integer_label
         562  +
    }
         563  +
    #[allow(missing_docs)] // documentation missing in model
         564  +
    pub fn range_short_label(&self) -> &crate::model::RangeShort {
         565  +
        &self.range_short_label
         566  +
    }
         567  +
    #[allow(missing_docs)] // documentation missing in model
         568  +
    pub fn range_long_label(&self) -> &crate::model::RangeLong {
         569  +
        &self.range_long_label
         570  +
    }
         571  +
    #[allow(missing_docs)] // documentation missing in model
         572  +
    pub fn range_byte_label(&self) -> &crate::model::RangeByte {
         573  +
        &self.range_byte_label
         574  +
    }
         575  +
    #[allow(missing_docs)] // documentation missing in model
         576  +
    pub fn enum_string_label(&self) -> &crate::model::EnumString {
         577  +
        &self.enum_string_label
         578  +
    }
         579  +
    #[allow(missing_docs)] // documentation missing in model
         580  +
    pub fn length_string_header_map(
         581  +
        &self,
         582  +
    ) -> &::std::collections::HashMap<crate::model::LengthString, crate::model::LengthString> {
         583  +
        &self.length_string_header_map
         584  +
    }
         585  +
    #[allow(missing_docs)] // documentation missing in model
         586  +
    pub fn length_string_header(&self) -> ::std::option::Option<&crate::model::LengthString> {
         587  +
        self.length_string_header.as_ref()
         588  +
    }
         589  +
    #[allow(missing_docs)] // documentation missing in model
         590  +
    pub fn range_integer_header(&self) -> &crate::model::RangeInteger {
         591  +
        &self.range_integer_header
         592  +
    }
         593  +
    #[allow(missing_docs)] // documentation missing in model
         594  +
    pub fn range_short_header(&self) -> &crate::model::RangeShort {
         595  +
        &self.range_short_header
         596  +
    }
         597  +
    #[allow(missing_docs)] // documentation missing in model
         598  +
    pub fn range_long_header(&self) -> &crate::model::RangeLong {
         599  +
        &self.range_long_header
         600  +
    }
         601  +
    #[allow(missing_docs)] // documentation missing in model
         602  +
    pub fn range_byte_header(&self) -> &crate::model::RangeByte {
         603  +
        &self.range_byte_header
         604  +
    }
         605  +
    #[allow(missing_docs)] // documentation missing in model
         606  +
    pub fn length_string_set_header(
         607  +
        &self,
         608  +
    ) -> ::std::option::Option<&crate::model::SetOfLengthString> {
         609  +
        self.length_string_set_header.as_ref()
         610  +
    }
         611  +
    #[allow(missing_docs)] // documentation missing in model
         612  +
    pub fn list_length_string_header(
         613  +
        &self,
         614  +
    ) -> ::std::option::Option<&[crate::model::LengthString]> {
         615  +
        self.list_length_string_header.as_deref()
         616  +
    }
         617  +
    #[allow(missing_docs)] // documentation missing in model
         618  +
    pub fn length_list_pattern_string_header(
         619  +
        &self,
         620  +
    ) -> ::std::option::Option<&crate::model::LengthListOfPatternString> {
         621  +
        self.length_list_pattern_string_header.as_ref()
         622  +
    }
         623  +
    #[allow(missing_docs)] // documentation missing in model
         624  +
    pub fn length_set_pattern_string_header(
         625  +
        &self,
         626  +
    ) -> ::std::option::Option<&crate::model::LengthSetOfPatternString> {
         627  +
        self.length_set_pattern_string_header.as_ref()
         628  +
    }
         629  +
    #[allow(missing_docs)] // documentation missing in model
         630  +
    pub fn range_byte_set_header(&self) -> ::std::option::Option<&crate::model::SetOfRangeByte> {
         631  +
        self.range_byte_set_header.as_ref()
         632  +
    }
         633  +
    #[allow(missing_docs)] // documentation missing in model
         634  +
    pub fn range_short_set_header(&self) -> ::std::option::Option<&crate::model::SetOfRangeShort> {
         635  +
        self.range_short_set_header.as_ref()
         636  +
    }
         637  +
    #[allow(missing_docs)] // documentation missing in model
         638  +
    pub fn range_integer_set_header(
         639  +
        &self,
         640  +
    ) -> ::std::option::Option<&crate::model::SetOfRangeInteger> {
         641  +
        self.range_integer_set_header.as_ref()
         642  +
    }
         643  +
    #[allow(missing_docs)] // documentation missing in model
         644  +
    pub fn range_long_set_header(&self) -> ::std::option::Option<&crate::model::SetOfRangeLong> {
         645  +
        self.range_long_set_header.as_ref()
         646  +
    }
         647  +
    #[allow(missing_docs)] // documentation missing in model
         648  +
    pub fn range_byte_list_header(&self) -> ::std::option::Option<&[crate::model::RangeByte]> {
         649  +
        self.range_byte_list_header.as_deref()
         650  +
    }
         651  +
    #[allow(missing_docs)] // documentation missing in model
         652  +
    pub fn range_short_list_header(&self) -> ::std::option::Option<&[crate::model::RangeShort]> {
         653  +
        self.range_short_list_header.as_deref()
         654  +
    }
         655  +
    #[allow(missing_docs)] // documentation missing in model
         656  +
    pub fn range_integer_list_header(
         657  +
        &self,
         658  +
    ) -> ::std::option::Option<&[crate::model::RangeInteger]> {
         659  +
        self.range_integer_list_header.as_deref()
         660  +
    }
         661  +
    #[allow(missing_docs)] // documentation missing in model
         662  +
    pub fn range_long_list_header(&self) -> ::std::option::Option<&[crate::model::RangeLong]> {
         663  +
        self.range_long_list_header.as_deref()
         664  +
    }
         665  +
    #[allow(missing_docs)] // documentation missing in model
         666  +
    pub fn length_string_query(&self) -> ::std::option::Option<&crate::model::LengthString> {
         667  +
        self.length_string_query.as_ref()
         668  +
    }
         669  +
    #[allow(missing_docs)] // documentation missing in model
         670  +
    pub fn range_byte_query(&self) -> &crate::model::RangeByte {
         671  +
        &self.range_byte_query
         672  +
    }
         673  +
    #[allow(missing_docs)] // documentation missing in model
         674  +
    pub fn range_short_query(&self) -> &crate::model::RangeShort {
         675  +
        &self.range_short_query
         676  +
    }
         677  +
    #[allow(missing_docs)] // documentation missing in model
         678  +
    pub fn range_integer_query(&self) -> &crate::model::RangeInteger {
         679  +
        &self.range_integer_query
         680  +
    }
         681  +
    #[allow(missing_docs)] // documentation missing in model
         682  +
    pub fn range_long_query(&self) -> &crate::model::RangeLong {
         683  +
        &self.range_long_query
         684  +
    }
         685  +
    #[allow(missing_docs)] // documentation missing in model
         686  +
    pub fn enum_string_query(&self) -> ::std::option::Option<&crate::model::EnumString> {
         687  +
        self.enum_string_query.as_ref()
         688  +
    }
         689  +
    #[allow(missing_docs)] // documentation missing in model
         690  +
    pub fn length_string_list_query(&self) -> ::std::option::Option<&[crate::model::LengthString]> {
         691  +
        self.length_string_list_query.as_deref()
         692  +
    }
         693  +
    #[allow(missing_docs)] // documentation missing in model
         694  +
    pub fn length_list_pattern_string_query(
         695  +
        &self,
         696  +
    ) -> ::std::option::Option<&crate::model::LengthListOfPatternString> {
         697  +
        self.length_list_pattern_string_query.as_ref()
         698  +
    }
         699  +
    #[allow(missing_docs)] // documentation missing in model
         700  +
    pub fn length_string_set_query(
         701  +
        &self,
         702  +
    ) -> ::std::option::Option<&crate::model::SetOfLengthString> {
         703  +
        self.length_string_set_query.as_ref()
         704  +
    }
         705  +
    #[allow(missing_docs)] // documentation missing in model
         706  +
    pub fn range_byte_list_query(&self) -> ::std::option::Option<&[crate::model::RangeByte]> {
         707  +
        self.range_byte_list_query.as_deref()
         708  +
    }
         709  +
    #[allow(missing_docs)] // documentation missing in model
         710  +
    pub fn range_short_list_query(&self) -> ::std::option::Option<&[crate::model::RangeShort]> {
         711  +
        self.range_short_list_query.as_deref()
         712  +
    }
         713  +
    #[allow(missing_docs)] // documentation missing in model
         714  +
    pub fn range_integer_list_query(&self) -> ::std::option::Option<&[crate::model::RangeInteger]> {
         715  +
        self.range_integer_list_query.as_deref()
         716  +
    }
         717  +
    #[allow(missing_docs)] // documentation missing in model
         718  +
    pub fn range_long_list_query(&self) -> ::std::option::Option<&[crate::model::RangeLong]> {
         719  +
        self.range_long_list_query.as_deref()
         720  +
    }
         721  +
    #[allow(missing_docs)] // documentation missing in model
         722  +
    pub fn range_byte_set_query(&self) -> ::std::option::Option<&crate::model::SetOfRangeByte> {
         723  +
        self.range_byte_set_query.as_ref()
         724  +
    }
         725  +
    #[allow(missing_docs)] // documentation missing in model
         726  +
    pub fn range_short_set_query(&self) -> ::std::option::Option<&crate::model::SetOfRangeShort> {
         727  +
        self.range_short_set_query.as_ref()
         728  +
    }
         729  +
    #[allow(missing_docs)] // documentation missing in model
         730  +
    pub fn range_integer_set_query(
         731  +
        &self,
         732  +
    ) -> ::std::option::Option<&crate::model::SetOfRangeInteger> {
         733  +
        self.range_integer_set_query.as_ref()
         734  +
    }
         735  +
    #[allow(missing_docs)] // documentation missing in model
         736  +
    pub fn range_long_set_query(&self) -> ::std::option::Option<&crate::model::SetOfRangeLong> {
         737  +
        self.range_long_set_query.as_ref()
         738  +
    }
         739  +
    #[allow(missing_docs)] // documentation missing in model
         740  +
    pub fn enum_string_list_query(&self) -> ::std::option::Option<&[crate::model::EnumString]> {
         741  +
        self.enum_string_list_query.as_deref()
         742  +
    }
         743  +
}
         744  +
impl ConstrainedHttpBoundShapesOperationOutput {
         745  +
    /// Creates a new builder-style object to manufacture [`ConstrainedHttpBoundShapesOperationOutput`](crate::output::ConstrainedHttpBoundShapesOperationOutput).
         746  +
    pub fn builder() -> crate::output::constrained_http_bound_shapes_operation_output::Builder {
         747  +
        crate::output::constrained_http_bound_shapes_operation_output::Builder::default()
         748  +
    }
         749  +
}
         750  +
         751  +
#[allow(missing_docs)] // documentation missing in model
         752  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         753  +
pub struct ConstrainedShapesOnlyInOutputOperationOutput {
         754  +
    #[allow(missing_docs)] // documentation missing in model
         755  +
    pub list: ::std::option::Option<crate::model::ConstrainedListInOutput>,
         756  +
    #[allow(missing_docs)] // documentation missing in model
         757  +
    pub map: ::std::option::Option<crate::model::ConstrainedMapInOutput>,
         758  +
    #[allow(missing_docs)] // documentation missing in model
         759  +
    pub union: ::std::option::Option<crate::model::ConstrainedUnionInOutput>,
         760  +
}
         761  +
impl ConstrainedShapesOnlyInOutputOperationOutput {
         762  +
    #[allow(missing_docs)] // documentation missing in model
         763  +
    pub fn list(&self) -> ::std::option::Option<&crate::model::ConstrainedListInOutput> {
         764  +
        self.list.as_ref()
         765  +
    }
         766  +
    #[allow(missing_docs)] // documentation missing in model
         767  +
    pub fn map(&self) -> ::std::option::Option<&crate::model::ConstrainedMapInOutput> {
         768  +
        self.map.as_ref()
         769  +
    }
         770  +
    #[allow(missing_docs)] // documentation missing in model
         771  +
    pub fn union(&self) -> ::std::option::Option<&crate::model::ConstrainedUnionInOutput> {
         772  +
        self.union.as_ref()
         773  +
    }
         774  +
}
         775  +
impl ConstrainedShapesOnlyInOutputOperationOutput {
         776  +
    /// Creates a new builder-style object to manufacture [`ConstrainedShapesOnlyInOutputOperationOutput`](crate::output::ConstrainedShapesOnlyInOutputOperationOutput).
         777  +
    pub fn builder() -> crate::output::constrained_shapes_only_in_output_operation_output::Builder {
         778  +
        crate::output::constrained_shapes_only_in_output_operation_output::Builder::default()
         779  +
    }
         780  +
}
         781  +
         782  +
#[allow(missing_docs)] // documentation missing in model
         783  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         784  +
pub struct ConstrainedShapesOperationOutput {
         785  +
    #[allow(missing_docs)] // documentation missing in model
         786  +
    pub con_a: crate::model::ConA,
         787  +
}
         788  +
impl ConstrainedShapesOperationOutput {
         789  +
    #[allow(missing_docs)] // documentation missing in model
         790  +
    pub fn con_a(&self) -> &crate::model::ConA {
         791  +
        &self.con_a
         792  +
    }
         793  +
}
         794  +
impl ConstrainedShapesOperationOutput {
         795  +
    /// Creates a new builder-style object to manufacture [`ConstrainedShapesOperationOutput`](crate::output::ConstrainedShapesOperationOutput).
         796  +
    pub fn builder() -> crate::output::constrained_shapes_operation_output::Builder {
         797  +
        crate::output::constrained_shapes_operation_output::Builder::default()
         798  +
    }
         799  +
}
         800  +
/// See [`EventStreamsOperationOutput`](crate::output::EventStreamsOperationOutput).
         801  +
pub mod event_streams_operation_output {
         802  +
         803  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
         804  +
    /// Holds one variant for each of the ways the builder can fail.
         805  +
    #[non_exhaustive]
         806  +
    #[allow(clippy::enum_variant_names)]
         807  +
    pub enum ConstraintViolation {
         808  +
        /// `events` was not provided but it is required when building `EventStreamsOperationOutput`.
         809  +
        MissingEvents,
         810  +
    }
         811  +
    impl ::std::fmt::Display for ConstraintViolation {
         812  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         813  +
            match self {
         814  +
                ConstraintViolation::MissingEvents => write!(f, "`events` was not provided but it is required when building `EventStreamsOperationOutput`"),
         815  +
            }
         816  +
        }
         817  +
    }
         818  +
    impl ::std::error::Error for ConstraintViolation {}
         819  +
    impl ::std::convert::TryFrom<Builder> for crate::output::EventStreamsOperationOutput {
         820  +
        type Error = ConstraintViolation;
         821  +
         822  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
         823  +
            builder.build()
         824  +
        }
         825  +
    }
         826  +
    /// A builder for [`EventStreamsOperationOutput`](crate::output::EventStreamsOperationOutput).
         827  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
         828  +
    pub struct Builder {
         829  +
        pub(crate) events: ::std::option::Option<
         830  +
            ::aws_smithy_legacy_http::event_stream::EventStreamSender<
         831  +
                crate::model::Event,
         832  +
                crate::error::EventError,
         833  +
            >,
         834  +
        >,
         835  +
    }
         836  +
    impl Builder {
         837  +
        #[allow(missing_docs)] // documentation missing in model
         838  +
        pub fn events(
         839  +
            mut self,
         840  +
            input: ::aws_smithy_legacy_http::event_stream::EventStreamSender<
         841  +
                crate::model::Event,
         842  +
                crate::error::EventError,
         843  +
            >,
         844  +
        ) -> Self {
         845  +
            self.events = Some(input);
         846  +
            self
         847  +
        }
         848  +
        /// Consumes the builder and constructs a [`EventStreamsOperationOutput`](crate::output::EventStreamsOperationOutput).
         849  +
        ///
         850  +
        /// The builder fails to construct a [`EventStreamsOperationOutput`](crate::output::EventStreamsOperationOutput) if a [`ConstraintViolation`] occurs.
         851  +
        ///
         852  +
        pub fn build(
         853  +
            self,
         854  +
        ) -> Result<crate::output::EventStreamsOperationOutput, ConstraintViolation> {
         855  +
            self.build_enforcing_all_constraints()
         856  +
        }
         857  +
        fn build_enforcing_all_constraints(
         858  +
            self,
         859  +
        ) -> Result<crate::output::EventStreamsOperationOutput, ConstraintViolation> {
         860  +
            Ok(crate::output::EventStreamsOperationOutput {
         861  +
                events: self.events.ok_or(ConstraintViolation::MissingEvents)?,
         862  +
            })
         863  +
        }
         864  +
    }
         865  +
}
         866  +
/// See [`StreamingBlobOperationOutput`](crate::output::StreamingBlobOperationOutput).
         867  +
pub mod streaming_blob_operation_output {
         868  +
         869  +
    impl ::std::convert::From<Builder> for crate::output::StreamingBlobOperationOutput {
         870  +
        fn from(builder: Builder) -> Self {
         871  +
            builder.build()
         872  +
        }
         873  +
    }
         874  +
    /// A builder for [`StreamingBlobOperationOutput`](crate::output::StreamingBlobOperationOutput).
         875  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
         876  +
    pub struct Builder {
         877  +
        pub(crate) streaming_blob:
         878  +
            ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
         879  +
    }
         880  +
    impl Builder {
         881  +
        #[allow(missing_docs)] // documentation missing in model
         882  +
        pub fn streaming_blob(
         883  +
            mut self,
         884  +
            input: ::aws_smithy_types::byte_stream::ByteStream,
         885  +
        ) -> Self {
         886  +
            self.streaming_blob = Some(input);
         887  +
            self
         888  +
        }
         889  +
        /// Consumes the builder and constructs a [`StreamingBlobOperationOutput`](crate::output::StreamingBlobOperationOutput).
         890  +
        pub fn build(self) -> crate::output::StreamingBlobOperationOutput {
         891  +
            self.build_enforcing_all_constraints()
         892  +
        }
         893  +
        fn build_enforcing_all_constraints(self) -> crate::output::StreamingBlobOperationOutput {
         894  +
            crate::output::StreamingBlobOperationOutput {
         895  +
                streaming_blob: self.streaming_blob.unwrap_or_default(),
         896  +
            }
         897  +
        }
         898  +
    }
         899  +
}
         900  +
/// See [`NonStreamingBlobOperationOutput`](crate::output::NonStreamingBlobOperationOutput).
         901  +
pub mod non_streaming_blob_operation_output {
         902  +
         903  +
    impl ::std::convert::From<Builder> for crate::output::NonStreamingBlobOperationOutput {
         904  +
        fn from(builder: Builder) -> Self {
         905  +
            builder.build()
         906  +
        }
         907  +
    }
         908  +
    /// A builder for [`NonStreamingBlobOperationOutput`](crate::output::NonStreamingBlobOperationOutput).
         909  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         910  +
    pub struct Builder {
         911  +
        pub(crate) non_streaming_blob: ::std::option::Option<::aws_smithy_types::Blob>,
         912  +
    }
         913  +
    impl Builder {
         914  +
        #[allow(missing_docs)] // documentation missing in model
         915  +
        pub fn non_streaming_blob(
         916  +
            mut self,
         917  +
            input: ::std::option::Option<::aws_smithy_types::Blob>,
         918  +
        ) -> Self {
         919  +
            self.non_streaming_blob = input;
         920  +
            self
         921  +
        }
         922  +
        /// Consumes the builder and constructs a [`NonStreamingBlobOperationOutput`](crate::output::NonStreamingBlobOperationOutput).
         923  +
        pub fn build(self) -> crate::output::NonStreamingBlobOperationOutput {
         924  +
            self.build_enforcing_all_constraints()
         925  +
        }
         926  +
        fn build_enforcing_all_constraints(self) -> crate::output::NonStreamingBlobOperationOutput {
         927  +
            crate::output::NonStreamingBlobOperationOutput {
         928  +
                non_streaming_blob: self.non_streaming_blob,
         929  +
            }
         930  +
        }
         931  +
    }
         932  +
}
         933  +
/// See [`QueryParamsTargetingMapOfEnumStringOperationOutput`](crate::output::QueryParamsTargetingMapOfEnumStringOperationOutput).
         934  +
pub mod query_params_targeting_map_of_enum_string_operation_output {
         935  +
         936  +
    impl ::std::convert::From<Builder>
         937  +
        for crate::output::QueryParamsTargetingMapOfEnumStringOperationOutput
         938  +
    {
         939  +
        fn from(builder: Builder) -> Self {
         940  +
            builder.build()
         941  +
        }
         942  +
    }
         943  +
    /// A builder for [`QueryParamsTargetingMapOfEnumStringOperationOutput`](crate::output::QueryParamsTargetingMapOfEnumStringOperationOutput).
         944  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         945  +
    pub struct Builder {
         946  +
        pub(crate) map_of_enum_string: ::std::option::Option<
         947  +
            ::std::collections::HashMap<crate::model::EnumString, crate::model::EnumString>,
         948  +
        >,
         949  +
    }
         950  +
    impl Builder {
         951  +
        #[allow(missing_docs)] // documentation missing in model
         952  +
        pub fn map_of_enum_string(
         953  +
            mut self,
         954  +
            input: ::std::option::Option<
         955  +
                ::std::collections::HashMap<crate::model::EnumString, crate::model::EnumString>,
         956  +
            >,
         957  +
        ) -> Self {
         958  +
            self.map_of_enum_string = input;
         959  +
            self
         960  +
        }
         961  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfEnumStringOperationOutput`](crate::output::QueryParamsTargetingMapOfEnumStringOperationOutput).
         962  +
        pub fn build(self) -> crate::output::QueryParamsTargetingMapOfEnumStringOperationOutput {
         963  +
            self.build_enforcing_all_constraints()
         964  +
        }
         965  +
        fn build_enforcing_all_constraints(
         966  +
            self,
         967  +
        ) -> crate::output::QueryParamsTargetingMapOfEnumStringOperationOutput {
         968  +
            crate::output::QueryParamsTargetingMapOfEnumStringOperationOutput {
         969  +
                map_of_enum_string: self.map_of_enum_string,
         970  +
            }
         971  +
        }
         972  +
    }
         973  +
}
         974  +
/// See [`HttpPrefixHeadersTargetingLengthMapOperationOutput`](crate::output::HttpPrefixHeadersTargetingLengthMapOperationOutput).
         975  +
pub mod http_prefix_headers_targeting_length_map_operation_output {
         976  +
         977  +
    impl ::std::convert::From<Builder>
         978  +
        for crate::output::HttpPrefixHeadersTargetingLengthMapOperationOutput
         979  +
    {
         980  +
        fn from(builder: Builder) -> Self {
         981  +
            builder.build()
         982  +
        }
         983  +
    }
         984  +
    /// A builder for [`HttpPrefixHeadersTargetingLengthMapOperationOutput`](crate::output::HttpPrefixHeadersTargetingLengthMapOperationOutput).
         985  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         986  +
    pub struct Builder {
         987  +
        pub(crate) length_map: ::std::option::Option<crate::model::ConBMap>,
         988  +
    }
         989  +
    impl Builder {
         990  +
        #[allow(missing_docs)] // documentation missing in model
         991  +
        pub fn length_map(mut self, input: ::std::option::Option<crate::model::ConBMap>) -> Self {
         992  +
            self.length_map = input;
         993  +
            self
         994  +
        }
         995  +
        /// Consumes the builder and constructs a [`HttpPrefixHeadersTargetingLengthMapOperationOutput`](crate::output::HttpPrefixHeadersTargetingLengthMapOperationOutput).
         996  +
        pub fn build(self) -> crate::output::HttpPrefixHeadersTargetingLengthMapOperationOutput {
         997  +
            self.build_enforcing_all_constraints()
         998  +
        }
         999  +
        fn build_enforcing_all_constraints(
        1000  +
            self,
        1001  +
        ) -> crate::output::HttpPrefixHeadersTargetingLengthMapOperationOutput {
        1002  +
            crate::output::HttpPrefixHeadersTargetingLengthMapOperationOutput {
        1003  +
                length_map: self.length_map,
        1004  +
            }
        1005  +
        }
        1006  +
    }
        1007  +
}
        1008  +
/// See [`QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput).
        1009  +
pub mod query_params_targeting_map_of_list_of_length_pattern_string_operation_output {
        1010  +
        1011  +
    impl ::std::convert::From<Builder>
        1012  +
        for crate::output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput
        1013  +
    {
        1014  +
        fn from(builder: Builder) -> Self {
        1015  +
            builder.build()
        1016  +
        }
        1017  +
    }
        1018  +
    /// A builder for [`QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput).
        1019  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1020  +
    pub struct Builder {
        1021  +
        pub(crate) map_of_length_pattern_string: ::std::option::Option<
        1022  +
            ::std::collections::HashMap<
        1023  +
                crate::model::LengthPatternString,
        1024  +
                ::std::vec::Vec<crate::model::LengthPatternString>,
        1025  +
            >,
        1026  +
        >,
        1027  +
    }
        1028  +
    impl Builder {
        1029  +
        #[allow(missing_docs)] // documentation missing in model
        1030  +
        pub fn map_of_length_pattern_string(
        1031  +
            mut self,
        1032  +
            input: ::std::option::Option<
        1033  +
                ::std::collections::HashMap<
        1034  +
                    crate::model::LengthPatternString,
        1035  +
                    ::std::vec::Vec<crate::model::LengthPatternString>,
        1036  +
                >,
        1037  +
            >,
        1038  +
        ) -> Self {
        1039  +
            self.map_of_length_pattern_string = input;
        1040  +
            self
        1041  +
        }
        1042  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput).
        1043  +
        pub fn build(
        1044  +
            self,
        1045  +
        ) -> crate::output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput
        1046  +
        {
        1047  +
            self.build_enforcing_all_constraints()
        1048  +
        }
        1049  +
        fn build_enforcing_all_constraints(
        1050  +
            self,
        1051  +
        ) -> crate::output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput
        1052  +
        {
        1053  +
            crate::output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput {
        1054  +
                map_of_length_pattern_string: self.map_of_length_pattern_string,
        1055  +
            }
        1056  +
        }
        1057  +
    }
        1058  +
}
        1059  +
/// See [`QueryParamsTargetingMapOfLengthPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput).
        1060  +
pub mod query_params_targeting_map_of_length_pattern_string_operation_output {
        1061  +
        1062  +
    impl ::std::convert::From<Builder>
        1063  +
        for crate::output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput
        1064  +
    {
        1065  +
        fn from(builder: Builder) -> Self {
        1066  +
            builder.build()
        1067  +
        }
        1068  +
    }
        1069  +
    /// A builder for [`QueryParamsTargetingMapOfLengthPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput).
        1070  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1071  +
    pub struct Builder {
        1072  +
        pub(crate) map_of_length_pattern_string: ::std::option::Option<
        1073  +
            ::std::collections::HashMap<
        1074  +
                crate::model::LengthPatternString,
        1075  +
                crate::model::LengthPatternString,
        1076  +
            >,
        1077  +
        >,
        1078  +
    }
        1079  +
    impl Builder {
        1080  +
        #[allow(missing_docs)] // documentation missing in model
        1081  +
        pub fn map_of_length_pattern_string(
        1082  +
            mut self,
        1083  +
            input: ::std::option::Option<
        1084  +
                ::std::collections::HashMap<
        1085  +
                    crate::model::LengthPatternString,
        1086  +
                    crate::model::LengthPatternString,
        1087  +
                >,
        1088  +
            >,
        1089  +
        ) -> Self {
        1090  +
            self.map_of_length_pattern_string = input;
        1091  +
            self
        1092  +
        }
        1093  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfLengthPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput).
        1094  +
        pub fn build(
        1095  +
            self,
        1096  +
        ) -> crate::output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput {
        1097  +
            self.build_enforcing_all_constraints()
        1098  +
        }
        1099  +
        fn build_enforcing_all_constraints(
        1100  +
            self,
        1101  +
        ) -> crate::output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput {
        1102  +
            crate::output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput {
        1103  +
                map_of_length_pattern_string: self.map_of_length_pattern_string,
        1104  +
            }
        1105  +
        }
        1106  +
    }
        1107  +
}
        1108  +
/// See [`QueryParamsTargetingMapOfListOfPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput).
        1109  +
pub mod query_params_targeting_map_of_list_of_pattern_string_operation_output {
        1110  +
        1111  +
    impl ::std::convert::From<Builder>
        1112  +
        for crate::output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput
        1113  +
    {
        1114  +
        fn from(builder: Builder) -> Self {
        1115  +
            builder.build()
        1116  +
        }
        1117  +
    }
        1118  +
    /// A builder for [`QueryParamsTargetingMapOfListOfPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput).
        1119  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1120  +
    pub struct Builder {
        1121  +
        pub(crate) map_of_list_of_pattern_string: ::std::option::Option<
        1122  +
            ::std::collections::HashMap<
        1123  +
                crate::model::PatternString,
        1124  +
                ::std::vec::Vec<crate::model::PatternString>,
        1125  +
            >,
        1126  +
        >,
        1127  +
    }
        1128  +
    impl Builder {
        1129  +
        #[allow(missing_docs)] // documentation missing in model
        1130  +
        pub fn map_of_list_of_pattern_string(
        1131  +
            mut self,
        1132  +
            input: ::std::option::Option<
        1133  +
                ::std::collections::HashMap<
        1134  +
                    crate::model::PatternString,
        1135  +
                    ::std::vec::Vec<crate::model::PatternString>,
        1136  +
                >,
        1137  +
            >,
        1138  +
        ) -> Self {
        1139  +
            self.map_of_list_of_pattern_string = input;
        1140  +
            self
        1141  +
        }
        1142  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfListOfPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput).
        1143  +
        pub fn build(
        1144  +
            self,
        1145  +
        ) -> crate::output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput {
        1146  +
            self.build_enforcing_all_constraints()
        1147  +
        }
        1148  +
        fn build_enforcing_all_constraints(
        1149  +
            self,
        1150  +
        ) -> crate::output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput {
        1151  +
            crate::output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput {
        1152  +
                map_of_list_of_pattern_string: self.map_of_list_of_pattern_string,
        1153  +
            }
        1154  +
        }
        1155  +
    }
        1156  +
}
        1157  +
/// See [`QueryParamsTargetingMapOfPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfPatternStringOperationOutput).
        1158  +
pub mod query_params_targeting_map_of_pattern_string_operation_output {
        1159  +
        1160  +
    impl ::std::convert::From<Builder>
        1161  +
        for crate::output::QueryParamsTargetingMapOfPatternStringOperationOutput
        1162  +
    {
        1163  +
        fn from(builder: Builder) -> Self {
        1164  +
            builder.build()
        1165  +
        }
        1166  +
    }
        1167  +
    /// A builder for [`QueryParamsTargetingMapOfPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfPatternStringOperationOutput).
        1168  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1169  +
    pub struct Builder {
        1170  +
        pub(crate) map_of_pattern_string: ::std::option::Option<
        1171  +
            ::std::collections::HashMap<crate::model::PatternString, crate::model::PatternString>,
        1172  +
        >,
        1173  +
    }
        1174  +
    impl Builder {
        1175  +
        #[allow(missing_docs)] // documentation missing in model
        1176  +
        pub fn map_of_pattern_string(
        1177  +
            mut self,
        1178  +
            input: ::std::option::Option<
        1179  +
                ::std::collections::HashMap<
        1180  +
                    crate::model::PatternString,
        1181  +
                    crate::model::PatternString,
        1182  +
                >,
        1183  +
            >,
        1184  +
        ) -> Self {
        1185  +
            self.map_of_pattern_string = input;
        1186  +
            self
        1187  +
        }
        1188  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfPatternStringOperationOutput).
        1189  +
        pub fn build(self) -> crate::output::QueryParamsTargetingMapOfPatternStringOperationOutput {
        1190  +
            self.build_enforcing_all_constraints()
        1191  +
        }
        1192  +
        fn build_enforcing_all_constraints(
        1193  +
            self,
        1194  +
        ) -> crate::output::QueryParamsTargetingMapOfPatternStringOperationOutput {
        1195  +
            crate::output::QueryParamsTargetingMapOfPatternStringOperationOutput {
        1196  +
                map_of_pattern_string: self.map_of_pattern_string,
        1197  +
            }
        1198  +
        }
        1199  +
    }
        1200  +
}
        1201  +
/// See [`QueryParamsTargetingMapOfListOfEnumStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput).
        1202  +
pub mod query_params_targeting_map_of_list_of_enum_string_operation_output {
        1203  +
        1204  +
    impl ::std::convert::From<Builder>
        1205  +
        for crate::output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput
        1206  +
    {
        1207  +
        fn from(builder: Builder) -> Self {
        1208  +
            builder.build()
        1209  +
        }
        1210  +
    }
        1211  +
    /// A builder for [`QueryParamsTargetingMapOfListOfEnumStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput).
        1212  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1213  +
    pub struct Builder {
        1214  +
        pub(crate) map_of_list_of_enum_string: ::std::option::Option<
        1215  +
            ::std::collections::HashMap<
        1216  +
                crate::model::EnumString,
        1217  +
                ::std::vec::Vec<crate::model::EnumString>,
        1218  +
            >,
        1219  +
        >,
        1220  +
    }
        1221  +
    impl Builder {
        1222  +
        #[allow(missing_docs)] // documentation missing in model
        1223  +
        pub fn map_of_list_of_enum_string(
        1224  +
            mut self,
        1225  +
            input: ::std::option::Option<
        1226  +
                ::std::collections::HashMap<
        1227  +
                    crate::model::EnumString,
        1228  +
                    ::std::vec::Vec<crate::model::EnumString>,
        1229  +
                >,
        1230  +
            >,
        1231  +
        ) -> Self {
        1232  +
            self.map_of_list_of_enum_string = input;
        1233  +
            self
        1234  +
        }
        1235  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfListOfEnumStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput).
        1236  +
        pub fn build(
        1237  +
            self,
        1238  +
        ) -> crate::output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput {
        1239  +
            self.build_enforcing_all_constraints()
        1240  +
        }
        1241  +
        fn build_enforcing_all_constraints(
        1242  +
            self,
        1243  +
        ) -> crate::output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput {
        1244  +
            crate::output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput {
        1245  +
                map_of_list_of_enum_string: self.map_of_list_of_enum_string,
        1246  +
            }
        1247  +
        }
        1248  +
    }
        1249  +
}
        1250  +
/// See [`QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput).
        1251  +
pub mod query_params_targeting_map_of_length_list_of_pattern_string_operation_output {
        1252  +
        1253  +
    impl ::std::convert::From<Builder>
        1254  +
        for crate::output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput
        1255  +
    {
        1256  +
        fn from(builder: Builder) -> Self {
        1257  +
            builder.build()
        1258  +
        }
        1259  +
    }
        1260  +
    /// A builder for [`QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput).
        1261  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1262  +
    pub struct Builder {
        1263  +
        pub(crate) map_of_length_list_of_pattern_string: ::std::option::Option<
        1264  +
            ::std::collections::HashMap<
        1265  +
                crate::model::PatternString,
        1266  +
                crate::model::LengthListOfPatternString,
        1267  +
            >,
        1268  +
        >,
        1269  +
    }
        1270  +
    impl Builder {
        1271  +
        #[allow(missing_docs)] // documentation missing in model
        1272  +
        pub fn map_of_length_list_of_pattern_string(
        1273  +
            mut self,
        1274  +
            input: ::std::option::Option<
        1275  +
                ::std::collections::HashMap<
        1276  +
                    crate::model::PatternString,
        1277  +
                    crate::model::LengthListOfPatternString,
        1278  +
                >,
        1279  +
            >,
        1280  +
        ) -> Self {
        1281  +
            self.map_of_length_list_of_pattern_string = input;
        1282  +
            self
        1283  +
        }
        1284  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput`](crate::output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput).
        1285  +
        pub fn build(
        1286  +
            self,
        1287  +
        ) -> crate::output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput
        1288  +
        {
        1289  +
            self.build_enforcing_all_constraints()
        1290  +
        }
        1291  +
        fn build_enforcing_all_constraints(
        1292  +
            self,
        1293  +
        ) -> crate::output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput
        1294  +
        {
        1295  +
            crate::output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput {
        1296  +
                map_of_length_list_of_pattern_string: self.map_of_length_list_of_pattern_string,
        1297  +
            }
        1298  +
        }
        1299  +
    }
        1300  +
}
        1301  +
/// See [`QueryParamsTargetingMapOfSetOfLengthStringOperationOutput`](crate::output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput).
        1302  +
pub mod query_params_targeting_map_of_set_of_length_string_operation_output {
        1303  +
        1304  +
    impl ::std::convert::From<Builder>
        1305  +
        for crate::output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput
        1306  +
    {
        1307  +
        fn from(builder: Builder) -> Self {
        1308  +
            builder.build()
        1309  +
        }
        1310  +
    }
        1311  +
    /// A builder for [`QueryParamsTargetingMapOfSetOfLengthStringOperationOutput`](crate::output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput).
        1312  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1313  +
    pub struct Builder {
        1314  +
        pub(crate) map_of_set_of_length_string: ::std::option::Option<
        1315  +
            ::std::collections::HashMap<
        1316  +
                crate::model::LengthString,
        1317  +
                crate::model::SetOfLengthString,
        1318  +
            >,
        1319  +
        >,
        1320  +
    }
        1321  +
    impl Builder {
        1322  +
        #[allow(missing_docs)] // documentation missing in model
        1323  +
        pub fn map_of_set_of_length_string(
        1324  +
            mut self,
        1325  +
            input: ::std::option::Option<
        1326  +
                ::std::collections::HashMap<
        1327  +
                    crate::model::LengthString,
        1328  +
                    crate::model::SetOfLengthString,
        1329  +
                >,
        1330  +
            >,
        1331  +
        ) -> Self {
        1332  +
            self.map_of_set_of_length_string = input;
        1333  +
            self
        1334  +
        }
        1335  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfSetOfLengthStringOperationOutput`](crate::output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput).
        1336  +
        pub fn build(
        1337  +
            self,
        1338  +
        ) -> crate::output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput {
        1339  +
            self.build_enforcing_all_constraints()
        1340  +
        }
        1341  +
        fn build_enforcing_all_constraints(
        1342  +
            self,
        1343  +
        ) -> crate::output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput {
        1344  +
            crate::output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput {
        1345  +
                map_of_set_of_length_string: self.map_of_set_of_length_string,
        1346  +
            }
        1347  +
        }
        1348  +
    }
        1349  +
}
        1350  +
/// See [`QueryParamsTargetingMapOfListOfLengthStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput).
        1351  +
pub mod query_params_targeting_map_of_list_of_length_string_operation_output {
        1352  +
        1353  +
    impl ::std::convert::From<Builder>
        1354  +
        for crate::output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput
        1355  +
    {
        1356  +
        fn from(builder: Builder) -> Self {
        1357  +
            builder.build()
        1358  +
        }
        1359  +
    }
        1360  +
    /// A builder for [`QueryParamsTargetingMapOfListOfLengthStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput).
        1361  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1362  +
    pub struct Builder {
        1363  +
        pub(crate) map_of_list_of_length_string: ::std::option::Option<
        1364  +
            ::std::collections::HashMap<
        1365  +
                crate::model::LengthString,
        1366  +
                ::std::vec::Vec<crate::model::LengthString>,
        1367  +
            >,
        1368  +
        >,
        1369  +
    }
        1370  +
    impl Builder {
        1371  +
        #[allow(missing_docs)] // documentation missing in model
        1372  +
        pub fn map_of_list_of_length_string(
        1373  +
            mut self,
        1374  +
            input: ::std::option::Option<
        1375  +
                ::std::collections::HashMap<
        1376  +
                    crate::model::LengthString,
        1377  +
                    ::std::vec::Vec<crate::model::LengthString>,
        1378  +
                >,
        1379  +
            >,
        1380  +
        ) -> Self {
        1381  +
            self.map_of_list_of_length_string = input;
        1382  +
            self
        1383  +
        }
        1384  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfListOfLengthStringOperationOutput`](crate::output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput).
        1385  +
        pub fn build(
        1386  +
            self,
        1387  +
        ) -> crate::output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput {
        1388  +
            self.build_enforcing_all_constraints()
        1389  +
        }
        1390  +
        fn build_enforcing_all_constraints(
        1391  +
            self,
        1392  +
        ) -> crate::output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput {
        1393  +
            crate::output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput {
        1394  +
                map_of_list_of_length_string: self.map_of_list_of_length_string,
        1395  +
            }
        1396  +
        }
        1397  +
    }
        1398  +
}
        1399  +
/// See [`QueryParamsTargetingMapOfLengthStringOperationOutput`](crate::output::QueryParamsTargetingMapOfLengthStringOperationOutput).
        1400  +
pub mod query_params_targeting_map_of_length_string_operation_output {
        1401  +
        1402  +
    impl ::std::convert::From<Builder>
        1403  +
        for crate::output::QueryParamsTargetingMapOfLengthStringOperationOutput
        1404  +
    {
        1405  +
        fn from(builder: Builder) -> Self {
        1406  +
            builder.build()
        1407  +
        }
        1408  +
    }
        1409  +
    /// A builder for [`QueryParamsTargetingMapOfLengthStringOperationOutput`](crate::output::QueryParamsTargetingMapOfLengthStringOperationOutput).
        1410  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1411  +
    pub struct Builder {
        1412  +
        pub(crate) map_of_length_string: ::std::option::Option<
        1413  +
            ::std::collections::HashMap<crate::model::LengthString, crate::model::LengthString>,
        1414  +
        >,
        1415  +
    }
        1416  +
    impl Builder {
        1417  +
        #[allow(missing_docs)] // documentation missing in model
        1418  +
        pub fn map_of_length_string(
        1419  +
            mut self,
        1420  +
            input: ::std::option::Option<
        1421  +
                ::std::collections::HashMap<crate::model::LengthString, crate::model::LengthString>,
        1422  +
            >,
        1423  +
        ) -> Self {
        1424  +
            self.map_of_length_string = input;
        1425  +
            self
        1426  +
        }
        1427  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfLengthStringOperationOutput`](crate::output::QueryParamsTargetingMapOfLengthStringOperationOutput).
        1428  +
        pub fn build(self) -> crate::output::QueryParamsTargetingMapOfLengthStringOperationOutput {
        1429  +
            self.build_enforcing_all_constraints()
        1430  +
        }
        1431  +
        fn build_enforcing_all_constraints(
        1432  +
            self,
        1433  +
        ) -> crate::output::QueryParamsTargetingMapOfLengthStringOperationOutput {
        1434  +
            crate::output::QueryParamsTargetingMapOfLengthStringOperationOutput {
        1435  +
                map_of_length_string: self.map_of_length_string,
        1436  +
            }
        1437  +
        }
        1438  +
    }
        1439  +
}
        1440  +
/// See [`QueryParamsTargetingLengthMapOperationOutput`](crate::output::QueryParamsTargetingLengthMapOperationOutput).
        1441  +
pub mod query_params_targeting_length_map_operation_output {
        1442  +
        1443  +
    impl ::std::convert::From<Builder> for crate::output::QueryParamsTargetingLengthMapOperationOutput {
        1444  +
        fn from(builder: Builder) -> Self {
        1445  +
            builder.build()
        1446  +
        }
        1447  +
    }
        1448  +
    /// A builder for [`QueryParamsTargetingLengthMapOperationOutput`](crate::output::QueryParamsTargetingLengthMapOperationOutput).
        1449  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1450  +
    pub struct Builder {
        1451  +
        pub(crate) length_map: ::std::option::Option<crate::model::ConBMap>,
        1452  +
    }
        1453  +
    impl Builder {
        1454  +
        #[allow(missing_docs)] // documentation missing in model
        1455  +
        pub fn length_map(mut self, input: ::std::option::Option<crate::model::ConBMap>) -> Self {
        1456  +
            self.length_map = input;
        1457  +
            self
        1458  +
        }
        1459  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingLengthMapOperationOutput`](crate::output::QueryParamsTargetingLengthMapOperationOutput).
        1460  +
        pub fn build(self) -> crate::output::QueryParamsTargetingLengthMapOperationOutput {
        1461  +
            self.build_enforcing_all_constraints()
        1462  +
        }
        1463  +
        fn build_enforcing_all_constraints(
        1464  +
            self,
        1465  +
        ) -> crate::output::QueryParamsTargetingLengthMapOperationOutput {
        1466  +
            crate::output::QueryParamsTargetingLengthMapOperationOutput {
        1467  +
                length_map: self.length_map,
        1468  +
            }
        1469  +
        }
        1470  +
    }
        1471  +
}
        1472  +
/// See [`ConstrainedRecursiveShapesOperationOutput`](crate::output::ConstrainedRecursiveShapesOperationOutput).
        1473  +
pub mod constrained_recursive_shapes_operation_output {
        1474  +
        1475  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1476  +
    /// Holds one variant for each of the ways the builder can fail.
        1477  +
    #[non_exhaustive]
        1478  +
    #[allow(clippy::enum_variant_names)]
        1479  +
    pub enum ConstraintViolation {
        1480  +
        /// `recursive_list` was not provided but it is required when building `ConstrainedRecursiveShapesOperationOutput`.
        1481  +
        MissingRecursiveList,
        1482  +
    }
        1483  +
    impl ::std::fmt::Display for ConstraintViolation {
        1484  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1485  +
            match self {
        1486  +
                ConstraintViolation::MissingRecursiveList => write!(f, "`recursive_list` was not provided but it is required when building `ConstrainedRecursiveShapesOperationOutput`"),
        1487  +
            }
        1488  +
        }
        1489  +
    }
        1490  +
    impl ::std::error::Error for ConstraintViolation {}
        1491  +
    impl ::std::convert::TryFrom<Builder> for crate::output::ConstrainedRecursiveShapesOperationOutput {
        1492  +
        type Error = ConstraintViolation;
        1493  +
        1494  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        1495  +
            builder.build()
        1496  +
        }
        1497  +
    }
        1498  +
    /// A builder for [`ConstrainedRecursiveShapesOperationOutput`](crate::output::ConstrainedRecursiveShapesOperationOutput).
        1499  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1500  +
    pub struct Builder {
        1501  +
        pub(crate) nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
        1502  +
        pub(crate) recursive_list:
        1503  +
            ::std::option::Option<::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>>,
        1504  +
    }
        1505  +
    impl Builder {
        1506  +
        #[allow(missing_docs)] // documentation missing in model
        1507  +
        pub fn nested(
        1508  +
            mut self,
        1509  +
            input: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
        1510  +
        ) -> Self {
        1511  +
            self.nested = input;
        1512  +
            self
        1513  +
        }
        1514  +
        #[allow(missing_docs)] // documentation missing in model
        1515  +
        pub fn recursive_list(
        1516  +
            mut self,
        1517  +
            input: ::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>,
        1518  +
        ) -> Self {
        1519  +
            self.recursive_list = Some(input);
        1520  +
            self
        1521  +
        }
        1522  +
        /// Consumes the builder and constructs a [`ConstrainedRecursiveShapesOperationOutput`](crate::output::ConstrainedRecursiveShapesOperationOutput).
        1523  +
        ///
        1524  +
        /// The builder fails to construct a [`ConstrainedRecursiveShapesOperationOutput`](crate::output::ConstrainedRecursiveShapesOperationOutput) if a [`ConstraintViolation`] occurs.
        1525  +
        ///
        1526  +
        pub fn build(
        1527  +
            self,
        1528  +
        ) -> Result<crate::output::ConstrainedRecursiveShapesOperationOutput, ConstraintViolation>
        1529  +
        {
        1530  +
            self.build_enforcing_all_constraints()
        1531  +
        }
        1532  +
        fn build_enforcing_all_constraints(
        1533  +
            self,
        1534  +
        ) -> Result<crate::output::ConstrainedRecursiveShapesOperationOutput, ConstraintViolation>
        1535  +
        {
        1536  +
            Ok(crate::output::ConstrainedRecursiveShapesOperationOutput {
        1537  +
                nested: self.nested,
        1538  +
                recursive_list: self
        1539  +
                    .recursive_list
        1540  +
                    .ok_or(ConstraintViolation::MissingRecursiveList)?,
        1541  +
            })
        1542  +
        }
        1543  +
    }
        1544  +
}
        1545  +
/// See [`ConstrainedHttpPayloadBoundShapeOperationOutput`](crate::output::ConstrainedHttpPayloadBoundShapeOperationOutput).
        1546  +
pub mod constrained_http_payload_bound_shape_operation_output {
        1547  +
        1548  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1549  +
    /// Holds one variant for each of the ways the builder can fail.
        1550  +
    #[non_exhaustive]
        1551  +
    #[allow(clippy::enum_variant_names)]
        1552  +
    pub enum ConstraintViolation {
        1553  +
        /// `http_payload_bound_constrained_shape` was not provided but it is required when building `ConstrainedHttpPayloadBoundShapeOperationOutput`.
        1554  +
        MissingHttpPayloadBoundConstrainedShape,
        1555  +
    }
        1556  +
    impl ::std::fmt::Display for ConstraintViolation {
        1557  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1558  +
            match self {
        1559  +
                ConstraintViolation::MissingHttpPayloadBoundConstrainedShape => write!(f, "`http_payload_bound_constrained_shape` was not provided but it is required when building `ConstrainedHttpPayloadBoundShapeOperationOutput`"),
        1560  +
            }
        1561  +
        }
        1562  +
    }
        1563  +
    impl ::std::error::Error for ConstraintViolation {}
        1564  +
    impl ::std::convert::TryFrom<Builder>
        1565  +
        for crate::output::ConstrainedHttpPayloadBoundShapeOperationOutput
        1566  +
    {
        1567  +
        type Error = ConstraintViolation;
        1568  +
        1569  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        1570  +
            builder.build()
        1571  +
        }
        1572  +
    }
        1573  +
    /// A builder for [`ConstrainedHttpPayloadBoundShapeOperationOutput`](crate::output::ConstrainedHttpPayloadBoundShapeOperationOutput).
        1574  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1575  +
    pub struct Builder {
        1576  +
        pub(crate) http_payload_bound_constrained_shape: ::std::option::Option<crate::model::ConA>,
        1577  +
    }
        1578  +
    impl Builder {
        1579  +
        #[allow(missing_docs)] // documentation missing in model
        1580  +
        pub fn http_payload_bound_constrained_shape(mut self, input: crate::model::ConA) -> Self {
        1581  +
            self.http_payload_bound_constrained_shape = Some(input);
        1582  +
            self
        1583  +
        }
        1584  +
        /// Consumes the builder and constructs a [`ConstrainedHttpPayloadBoundShapeOperationOutput`](crate::output::ConstrainedHttpPayloadBoundShapeOperationOutput).
        1585  +
        ///
        1586  +
        /// The builder fails to construct a [`ConstrainedHttpPayloadBoundShapeOperationOutput`](crate::output::ConstrainedHttpPayloadBoundShapeOperationOutput) if a [`ConstraintViolation`] occurs.
        1587  +
        ///
        1588  +
        pub fn build(
        1589  +
            self,
        1590  +
        ) -> Result<
        1591  +
            crate::output::ConstrainedHttpPayloadBoundShapeOperationOutput,
        1592  +
            ConstraintViolation,
        1593  +
        > {
        1594  +
            self.build_enforcing_all_constraints()
        1595  +
        }
        1596  +
        fn build_enforcing_all_constraints(
        1597  +
            self,
        1598  +
        ) -> Result<
        1599  +
            crate::output::ConstrainedHttpPayloadBoundShapeOperationOutput,
        1600  +
            ConstraintViolation,
        1601  +
        > {
        1602  +
            Ok(
        1603  +
                crate::output::ConstrainedHttpPayloadBoundShapeOperationOutput {
        1604  +
                    http_payload_bound_constrained_shape: self
        1605  +
                        .http_payload_bound_constrained_shape
        1606  +
                        .ok_or(ConstraintViolation::MissingHttpPayloadBoundConstrainedShape)?,
        1607  +
                },
        1608  +
            )
        1609  +
        }
        1610  +
    }
        1611  +
}
        1612  +
/// See [`ConstrainedHttpBoundShapesOperationOutput`](crate::output::ConstrainedHttpBoundShapesOperationOutput).
        1613  +
pub mod constrained_http_bound_shapes_operation_output {
        1614  +
        1615  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1616  +
    /// Holds one variant for each of the ways the builder can fail.
        1617  +
    #[non_exhaustive]
        1618  +
    #[allow(clippy::enum_variant_names)]
        1619  +
    pub enum ConstraintViolation {
        1620  +
        /// `length_string_label` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationOutput`.
        1621  +
        MissingLengthStringLabel,
        1622  +
        /// `enum_string_label` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationOutput`.
        1623  +
        MissingEnumStringLabel,
        1624  +
        /// `length_string_header_map` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationOutput`.
        1625  +
        MissingLengthStringHeaderMap,
        1626  +
    }
        1627  +
    impl ::std::fmt::Display for ConstraintViolation {
        1628  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1629  +
            match self {
        1630  +
                ConstraintViolation::MissingLengthStringLabel => write!(f, "`length_string_label` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationOutput`"),
        1631  +
                ConstraintViolation::MissingEnumStringLabel => write!(f, "`enum_string_label` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationOutput`"),
        1632  +
                ConstraintViolation::MissingLengthStringHeaderMap => write!(f, "`length_string_header_map` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationOutput`"),
        1633  +
            }
        1634  +
        }
        1635  +
    }
        1636  +
    impl ::std::error::Error for ConstraintViolation {}
        1637  +
    impl ::std::convert::TryFrom<Builder> for crate::output::ConstrainedHttpBoundShapesOperationOutput {
        1638  +
        type Error = ConstraintViolation;
        1639  +
        1640  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        1641  +
            builder.build()
        1642  +
        }
        1643  +
    }
        1644  +
    /// A builder for [`ConstrainedHttpBoundShapesOperationOutput`](crate::output::ConstrainedHttpBoundShapesOperationOutput).
        1645  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1646  +
    pub struct Builder {
        1647  +
        pub(crate) length_string_label: ::std::option::Option<crate::model::LengthString>,
        1648  +
        pub(crate) range_integer_label: ::std::option::Option<crate::model::RangeInteger>,
        1649  +
        pub(crate) range_short_label: ::std::option::Option<crate::model::RangeShort>,
        1650  +
        pub(crate) range_long_label: ::std::option::Option<crate::model::RangeLong>,
        1651  +
        pub(crate) range_byte_label: ::std::option::Option<crate::model::RangeByte>,
        1652  +
        pub(crate) enum_string_label: ::std::option::Option<crate::model::EnumString>,
        1653  +
        pub(crate) length_string_header_map: ::std::option::Option<
        1654  +
            ::std::collections::HashMap<crate::model::LengthString, crate::model::LengthString>,
        1655  +
        >,
        1656  +
        pub(crate) length_string_header: ::std::option::Option<crate::model::LengthString>,
        1657  +
        pub(crate) range_integer_header: ::std::option::Option<crate::model::RangeInteger>,
        1658  +
        pub(crate) range_short_header: ::std::option::Option<crate::model::RangeShort>,
        1659  +
        pub(crate) range_long_header: ::std::option::Option<crate::model::RangeLong>,
        1660  +
        pub(crate) range_byte_header: ::std::option::Option<crate::model::RangeByte>,
        1661  +
        pub(crate) length_string_set_header: ::std::option::Option<crate::model::SetOfLengthString>,
        1662  +
        pub(crate) list_length_string_header:
        1663  +
            ::std::option::Option<::std::vec::Vec<crate::model::LengthString>>,
        1664  +
        pub(crate) length_list_pattern_string_header:
        1665  +
            ::std::option::Option<crate::model::LengthListOfPatternString>,
        1666  +
        pub(crate) length_set_pattern_string_header:
        1667  +
            ::std::option::Option<crate::model::LengthSetOfPatternString>,
        1668  +
        pub(crate) range_byte_set_header: ::std::option::Option<crate::model::SetOfRangeByte>,
        1669  +
        pub(crate) range_short_set_header: ::std::option::Option<crate::model::SetOfRangeShort>,
        1670  +
        pub(crate) range_integer_set_header: ::std::option::Option<crate::model::SetOfRangeInteger>,
        1671  +
        pub(crate) range_long_set_header: ::std::option::Option<crate::model::SetOfRangeLong>,
        1672  +
        pub(crate) range_byte_list_header:
        1673  +
            ::std::option::Option<::std::vec::Vec<crate::model::RangeByte>>,
        1674  +
        pub(crate) range_short_list_header:
        1675  +
            ::std::option::Option<::std::vec::Vec<crate::model::RangeShort>>,
        1676  +
        pub(crate) range_integer_list_header:
        1677  +
            ::std::option::Option<::std::vec::Vec<crate::model::RangeInteger>>,
        1678  +
        pub(crate) range_long_list_header:
        1679  +
            ::std::option::Option<::std::vec::Vec<crate::model::RangeLong>>,
        1680  +
        pub(crate) length_string_query: ::std::option::Option<crate::model::LengthString>,
        1681  +
        pub(crate) range_byte_query: ::std::option::Option<crate::model::RangeByte>,
        1682  +
        pub(crate) range_short_query: ::std::option::Option<crate::model::RangeShort>,
        1683  +
        pub(crate) range_integer_query: ::std::option::Option<crate::model::RangeInteger>,
        1684  +
        pub(crate) range_long_query: ::std::option::Option<crate::model::RangeLong>,
        1685  +
        pub(crate) enum_string_query: ::std::option::Option<crate::model::EnumString>,
        1686  +
        pub(crate) length_string_list_query:
        1687  +
            ::std::option::Option<::std::vec::Vec<crate::model::LengthString>>,
        1688  +
        pub(crate) length_list_pattern_string_query:
        1689  +
            ::std::option::Option<crate::model::LengthListOfPatternString>,
        1690  +
        pub(crate) length_string_set_query: ::std::option::Option<crate::model::SetOfLengthString>,
        1691  +
        pub(crate) range_byte_list_query:
        1692  +
            ::std::option::Option<::std::vec::Vec<crate::model::RangeByte>>,
        1693  +
        pub(crate) range_short_list_query:
        1694  +
            ::std::option::Option<::std::vec::Vec<crate::model::RangeShort>>,
        1695  +
        pub(crate) range_integer_list_query:
        1696  +
            ::std::option::Option<::std::vec::Vec<crate::model::RangeInteger>>,
        1697  +
        pub(crate) range_long_list_query:
        1698  +
            ::std::option::Option<::std::vec::Vec<crate::model::RangeLong>>,
        1699  +
        pub(crate) range_byte_set_query: ::std::option::Option<crate::model::SetOfRangeByte>,
        1700  +
        pub(crate) range_short_set_query: ::std::option::Option<crate::model::SetOfRangeShort>,
        1701  +
        pub(crate) range_integer_set_query: ::std::option::Option<crate::model::SetOfRangeInteger>,
        1702  +
        pub(crate) range_long_set_query: ::std::option::Option<crate::model::SetOfRangeLong>,
        1703  +
        pub(crate) enum_string_list_query:
        1704  +
            ::std::option::Option<::std::vec::Vec<crate::model::EnumString>>,
        1705  +
    }
        1706  +
    impl Builder {
        1707  +
        #[allow(missing_docs)] // documentation missing in model
        1708  +
        pub fn length_string_label(mut self, input: crate::model::LengthString) -> Self {
        1709  +
            self.length_string_label = Some(input);
        1710  +
            self
        1711  +
        }
        1712  +
        #[allow(missing_docs)] // documentation missing in model
        1713  +
        pub fn range_integer_label(mut self, input: crate::model::RangeInteger) -> Self {
        1714  +
            self.range_integer_label = Some(input);
        1715  +
            self
        1716  +
        }
        1717  +
        #[allow(missing_docs)] // documentation missing in model
        1718  +
        pub fn range_short_label(mut self, input: crate::model::RangeShort) -> Self {
        1719  +
            self.range_short_label = Some(input);
        1720  +
            self
        1721  +
        }
        1722  +
        #[allow(missing_docs)] // documentation missing in model
        1723  +
        pub fn range_long_label(mut self, input: crate::model::RangeLong) -> Self {
        1724  +
            self.range_long_label = Some(input);
        1725  +
            self
        1726  +
        }
        1727  +
        #[allow(missing_docs)] // documentation missing in model
        1728  +
        pub fn range_byte_label(mut self, input: crate::model::RangeByte) -> Self {
        1729  +
            self.range_byte_label = Some(input);
        1730  +
            self
        1731  +
        }
        1732  +
        #[allow(missing_docs)] // documentation missing in model
        1733  +
        pub fn enum_string_label(mut self, input: crate::model::EnumString) -> Self {
        1734  +
            self.enum_string_label = Some(input);
        1735  +
            self
        1736  +
        }
        1737  +
        #[allow(missing_docs)] // documentation missing in model
        1738  +
        pub fn length_string_header_map(
        1739  +
            mut self,
        1740  +
            input: ::std::collections::HashMap<
        1741  +
                crate::model::LengthString,
        1742  +
                crate::model::LengthString,
        1743  +
            >,
        1744  +
        ) -> Self {
        1745  +
            self.length_string_header_map = Some(input);
        1746  +
            self
        1747  +
        }
        1748  +
        #[allow(missing_docs)] // documentation missing in model
        1749  +
        pub fn length_string_header(
        1750  +
            mut self,
        1751  +
            input: ::std::option::Option<crate::model::LengthString>,
        1752  +
        ) -> Self {
        1753  +
            self.length_string_header = input;
        1754  +
            self
        1755  +
        }
        1756  +
        #[allow(missing_docs)] // documentation missing in model
        1757  +
        pub fn range_integer_header(mut self, input: crate::model::RangeInteger) -> Self {
        1758  +
            self.range_integer_header = Some(input);
        1759  +
            self
        1760  +
        }
        1761  +
        #[allow(missing_docs)] // documentation missing in model
        1762  +
        pub fn range_short_header(mut self, input: crate::model::RangeShort) -> Self {
        1763  +
            self.range_short_header = Some(input);
        1764  +
            self
        1765  +
        }
        1766  +
        #[allow(missing_docs)] // documentation missing in model
        1767  +
        pub fn range_long_header(mut self, input: crate::model::RangeLong) -> Self {
        1768  +
            self.range_long_header = Some(input);
        1769  +
            self
        1770  +
        }
        1771  +
        #[allow(missing_docs)] // documentation missing in model
        1772  +
        pub fn range_byte_header(mut self, input: crate::model::RangeByte) -> Self {
        1773  +
            self.range_byte_header = Some(input);
        1774  +
            self
        1775  +
        }
        1776  +
        #[allow(missing_docs)] // documentation missing in model
        1777  +
        pub fn length_string_set_header(
        1778  +
            mut self,
        1779  +
            input: ::std::option::Option<crate::model::SetOfLengthString>,
        1780  +
        ) -> Self {
        1781  +
            self.length_string_set_header = input;
        1782  +
            self
        1783  +
        }
        1784  +
        #[allow(missing_docs)] // documentation missing in model
        1785  +
        pub fn list_length_string_header(
        1786  +
            mut self,
        1787  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::LengthString>>,
        1788  +
        ) -> Self {
        1789  +
            self.list_length_string_header = input;
        1790  +
            self
        1791  +
        }
        1792  +
        #[allow(missing_docs)] // documentation missing in model
        1793  +
        pub fn length_list_pattern_string_header(
        1794  +
            mut self,
        1795  +
            input: ::std::option::Option<crate::model::LengthListOfPatternString>,
        1796  +
        ) -> Self {
        1797  +
            self.length_list_pattern_string_header = input;
        1798  +
            self
        1799  +
        }
        1800  +
        #[allow(missing_docs)] // documentation missing in model
        1801  +
        pub fn length_set_pattern_string_header(
        1802  +
            mut self,
        1803  +
            input: ::std::option::Option<crate::model::LengthSetOfPatternString>,
        1804  +
        ) -> Self {
        1805  +
            self.length_set_pattern_string_header = input;
        1806  +
            self
        1807  +
        }
        1808  +
        #[allow(missing_docs)] // documentation missing in model
        1809  +
        pub fn range_byte_set_header(
        1810  +
            mut self,
        1811  +
            input: ::std::option::Option<crate::model::SetOfRangeByte>,
        1812  +
        ) -> Self {
        1813  +
            self.range_byte_set_header = input;
        1814  +
            self
        1815  +
        }
        1816  +
        #[allow(missing_docs)] // documentation missing in model
        1817  +
        pub fn range_short_set_header(
        1818  +
            mut self,
        1819  +
            input: ::std::option::Option<crate::model::SetOfRangeShort>,
        1820  +
        ) -> Self {
        1821  +
            self.range_short_set_header = input;
        1822  +
            self
        1823  +
        }
        1824  +
        #[allow(missing_docs)] // documentation missing in model
        1825  +
        pub fn range_integer_set_header(
        1826  +
            mut self,
        1827  +
            input: ::std::option::Option<crate::model::SetOfRangeInteger>,
        1828  +
        ) -> Self {
        1829  +
            self.range_integer_set_header = input;
        1830  +
            self
        1831  +
        }
        1832  +
        #[allow(missing_docs)] // documentation missing in model
        1833  +
        pub fn range_long_set_header(
        1834  +
            mut self,
        1835  +
            input: ::std::option::Option<crate::model::SetOfRangeLong>,
        1836  +
        ) -> Self {
        1837  +
            self.range_long_set_header = input;
        1838  +
            self
        1839  +
        }
        1840  +
        #[allow(missing_docs)] // documentation missing in model
        1841  +
        pub fn range_byte_list_header(
        1842  +
            mut self,
        1843  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::RangeByte>>,
        1844  +
        ) -> Self {
        1845  +
            self.range_byte_list_header = input;
        1846  +
            self
        1847  +
        }
        1848  +
        #[allow(missing_docs)] // documentation missing in model
        1849  +
        pub fn range_short_list_header(
        1850  +
            mut self,
        1851  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::RangeShort>>,
        1852  +
        ) -> Self {
        1853  +
            self.range_short_list_header = input;
        1854  +
            self
        1855  +
        }
        1856  +
        #[allow(missing_docs)] // documentation missing in model
        1857  +
        pub fn range_integer_list_header(
        1858  +
            mut self,
        1859  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::RangeInteger>>,
        1860  +
        ) -> Self {
        1861  +
            self.range_integer_list_header = input;
        1862  +
            self
        1863  +
        }
        1864  +
        #[allow(missing_docs)] // documentation missing in model
        1865  +
        pub fn range_long_list_header(
        1866  +
            mut self,
        1867  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::RangeLong>>,
        1868  +
        ) -> Self {
        1869  +
            self.range_long_list_header = input;
        1870  +
            self
        1871  +
        }
        1872  +
        #[allow(missing_docs)] // documentation missing in model
        1873  +
        pub fn length_string_query(
        1874  +
            mut self,
        1875  +
            input: ::std::option::Option<crate::model::LengthString>,
        1876  +
        ) -> Self {
        1877  +
            self.length_string_query = input;
        1878  +
            self
        1879  +
        }
        1880  +
        #[allow(missing_docs)] // documentation missing in model
        1881  +
        pub fn range_byte_query(mut self, input: crate::model::RangeByte) -> Self {
        1882  +
            self.range_byte_query = Some(input);
        1883  +
            self
        1884  +
        }
        1885  +
        #[allow(missing_docs)] // documentation missing in model
        1886  +
        pub fn range_short_query(mut self, input: crate::model::RangeShort) -> Self {
        1887  +
            self.range_short_query = Some(input);
        1888  +
            self
        1889  +
        }
        1890  +
        #[allow(missing_docs)] // documentation missing in model
        1891  +
        pub fn range_integer_query(mut self, input: crate::model::RangeInteger) -> Self {
        1892  +
            self.range_integer_query = Some(input);
        1893  +
            self
        1894  +
        }
        1895  +
        #[allow(missing_docs)] // documentation missing in model
        1896  +
        pub fn range_long_query(mut self, input: crate::model::RangeLong) -> Self {
        1897  +
            self.range_long_query = Some(input);
        1898  +
            self
        1899  +
        }
        1900  +
        #[allow(missing_docs)] // documentation missing in model
        1901  +
        pub fn enum_string_query(
        1902  +
            mut self,
        1903  +
            input: ::std::option::Option<crate::model::EnumString>,
        1904  +
        ) -> Self {
        1905  +
            self.enum_string_query = input;
        1906  +
            self
        1907  +
        }
        1908  +
        #[allow(missing_docs)] // documentation missing in model
        1909  +
        pub fn length_string_list_query(
        1910  +
            mut self,
        1911  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::LengthString>>,
        1912  +
        ) -> Self {
        1913  +
            self.length_string_list_query = input;
        1914  +
            self
        1915  +
        }
        1916  +
        #[allow(missing_docs)] // documentation missing in model
        1917  +
        pub fn length_list_pattern_string_query(
        1918  +
            mut self,
        1919  +
            input: ::std::option::Option<crate::model::LengthListOfPatternString>,
        1920  +
        ) -> Self {
        1921  +
            self.length_list_pattern_string_query = input;
        1922  +
            self
        1923  +
        }
        1924  +
        #[allow(missing_docs)] // documentation missing in model
        1925  +
        pub fn length_string_set_query(
        1926  +
            mut self,
        1927  +
            input: ::std::option::Option<crate::model::SetOfLengthString>,
        1928  +
        ) -> Self {
        1929  +
            self.length_string_set_query = input;
        1930  +
            self
        1931  +
        }
        1932  +
        #[allow(missing_docs)] // documentation missing in model
        1933  +
        pub fn range_byte_list_query(
        1934  +
            mut self,
        1935  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::RangeByte>>,
        1936  +
        ) -> Self {
        1937  +
            self.range_byte_list_query = input;
        1938  +
            self
        1939  +
        }
        1940  +
        #[allow(missing_docs)] // documentation missing in model
        1941  +
        pub fn range_short_list_query(
        1942  +
            mut self,
        1943  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::RangeShort>>,
        1944  +
        ) -> Self {
        1945  +
            self.range_short_list_query = input;
        1946  +
            self
        1947  +
        }
        1948  +
        #[allow(missing_docs)] // documentation missing in model
        1949  +
        pub fn range_integer_list_query(
        1950  +
            mut self,
        1951  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::RangeInteger>>,
        1952  +
        ) -> Self {
        1953  +
            self.range_integer_list_query = input;
        1954  +
            self
        1955  +
        }
        1956  +
        #[allow(missing_docs)] // documentation missing in model
        1957  +
        pub fn range_long_list_query(
        1958  +
            mut self,
        1959  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::RangeLong>>,
        1960  +
        ) -> Self {
        1961  +
            self.range_long_list_query = input;
        1962  +
            self
        1963  +
        }
        1964  +
        #[allow(missing_docs)] // documentation missing in model
        1965  +
        pub fn range_byte_set_query(
        1966  +
            mut self,
        1967  +
            input: ::std::option::Option<crate::model::SetOfRangeByte>,
        1968  +
        ) -> Self {
        1969  +
            self.range_byte_set_query = input;
        1970  +
            self
        1971  +
        }
        1972  +
        #[allow(missing_docs)] // documentation missing in model
        1973  +
        pub fn range_short_set_query(
        1974  +
            mut self,
        1975  +
            input: ::std::option::Option<crate::model::SetOfRangeShort>,
        1976  +
        ) -> Self {
        1977  +
            self.range_short_set_query = input;
        1978  +
            self
        1979  +
        }
        1980  +
        #[allow(missing_docs)] // documentation missing in model
        1981  +
        pub fn range_integer_set_query(
        1982  +
            mut self,
        1983  +
            input: ::std::option::Option<crate::model::SetOfRangeInteger>,
        1984  +
        ) -> Self {
        1985  +
            self.range_integer_set_query = input;
        1986  +
            self
        1987  +
        }
        1988  +
        #[allow(missing_docs)] // documentation missing in model
        1989  +
        pub fn range_long_set_query(
        1990  +
            mut self,
        1991  +
            input: ::std::option::Option<crate::model::SetOfRangeLong>,
        1992  +
        ) -> Self {
        1993  +
            self.range_long_set_query = input;
        1994  +
            self
        1995  +
        }
        1996  +
        #[allow(missing_docs)] // documentation missing in model
        1997  +
        pub fn enum_string_list_query(
        1998  +
            mut self,
        1999  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::EnumString>>,
        2000  +
        ) -> Self {
        2001  +
            self.enum_string_list_query = input;
        2002  +
            self
        2003  +
        }
        2004  +
        /// Consumes the builder and constructs a [`ConstrainedHttpBoundShapesOperationOutput`](crate::output::ConstrainedHttpBoundShapesOperationOutput).
        2005  +
        ///
        2006  +
        /// The builder fails to construct a [`ConstrainedHttpBoundShapesOperationOutput`](crate::output::ConstrainedHttpBoundShapesOperationOutput) if a [`ConstraintViolation`] occurs.
        2007  +
        ///
        2008  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        2009  +
        pub fn build(
        2010  +
            self,
        2011  +
        ) -> Result<crate::output::ConstrainedHttpBoundShapesOperationOutput, ConstraintViolation>
        2012  +
        {
        2013  +
            self.build_enforcing_all_constraints()
        2014  +
        }
        2015  +
        fn build_enforcing_all_constraints(
        2016  +
            self,
        2017  +
        ) -> Result<crate::output::ConstrainedHttpBoundShapesOperationOutput, ConstraintViolation>
        2018  +
        {
        2019  +
            Ok(
        2020  +
                crate::output::ConstrainedHttpBoundShapesOperationOutput {
        2021  +
                    length_string_label: self.length_string_label
        2022  +
                        .ok_or(ConstraintViolation::MissingLengthStringLabel)?
        2023  +
                    ,
        2024  +
                    range_integer_label: self.range_integer_label
        2025  +
                        .unwrap_or_else(||
        2026  +
                                            0i32
        2027  +
                                                .try_into()
        2028  +
                                                .expect("this check should have failed at generation time; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2029  +
                                        )
        2030  +
                    ,
        2031  +
                    range_short_label: self.range_short_label
        2032  +
                        .unwrap_or_else(||
        2033  +
                                            0i16
        2034  +
                                                .try_into()
        2035  +
                                                .expect("this check should have failed at generation time; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2036  +
                                        )
        2037  +
                    ,
        2038  +
                    range_long_label: self.range_long_label
        2039  +
                        .unwrap_or_else(||
        2040  +
                                            0i64
        2041  +
                                                .try_into()
        2042  +
                                                .expect("this check should have failed at generation time; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2043  +
                                        )
        2044  +
                    ,
        2045  +
                    range_byte_label: self.range_byte_label
        2046  +
                        .unwrap_or_else(||
        2047  +
                                            0i8
        2048  +
                                                .try_into()
        2049  +
                                                .expect("this check should have failed at generation time; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2050  +
                                        )
        2051  +
                    ,
        2052  +
                    enum_string_label: self.enum_string_label
        2053  +
                        .ok_or(ConstraintViolation::MissingEnumStringLabel)?
        2054  +
                    ,
        2055  +
                    length_string_header_map: self.length_string_header_map
        2056  +
                        .ok_or(ConstraintViolation::MissingLengthStringHeaderMap)?
        2057  +
                    ,
        2058  +
                    length_string_header: self.length_string_header
        2059  +
                    ,
        2060  +
                    range_integer_header: self.range_integer_header
        2061  +
                        .unwrap_or_else(||
        2062  +
                                            0i32
        2063  +
                                                .try_into()
        2064  +
                                                .expect("this check should have failed at generation time; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2065  +
                                        )
        2066  +
                    ,
        2067  +
                    range_short_header: self.range_short_header
        2068  +
                        .unwrap_or_else(||
        2069  +
                                            0i16
        2070  +
                                                .try_into()
        2071  +
                                                .expect("this check should have failed at generation time; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2072  +
                                        )
        2073  +
                    ,
        2074  +
                    range_long_header: self.range_long_header
        2075  +
                        .unwrap_or_else(||
        2076  +
                                            0i64
        2077  +
                                                .try_into()
        2078  +
                                                .expect("this check should have failed at generation time; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2079  +
                                        )
        2080  +
                    ,
        2081  +
                    range_byte_header: self.range_byte_header
        2082  +
                        .unwrap_or_else(||
        2083  +
                                            0i8
        2084  +
                                                .try_into()
        2085  +
                                                .expect("this check should have failed at generation time; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2086  +
                                        )
        2087  +
                    ,
        2088  +
                    length_string_set_header: self.length_string_set_header
        2089  +
                    ,
        2090  +
                    list_length_string_header: self.list_length_string_header
        2091  +
                    ,
        2092  +
                    length_list_pattern_string_header: self.length_list_pattern_string_header
        2093  +
                    ,
        2094  +
                    length_set_pattern_string_header: self.length_set_pattern_string_header
        2095  +
                    ,
        2096  +
                    range_byte_set_header: self.range_byte_set_header
        2097  +
                    ,
        2098  +
                    range_short_set_header: self.range_short_set_header
        2099  +
                    ,
        2100  +
                    range_integer_set_header: self.range_integer_set_header
        2101  +
                    ,
        2102  +
                    range_long_set_header: self.range_long_set_header
        2103  +
                    ,
        2104  +
                    range_byte_list_header: self.range_byte_list_header
        2105  +
                    ,
        2106  +
                    range_short_list_header: self.range_short_list_header
        2107  +
                    ,
        2108  +
                    range_integer_list_header: self.range_integer_list_header
        2109  +
                    ,
        2110  +
                    range_long_list_header: self.range_long_list_header
        2111  +
                    ,
        2112  +
                    length_string_query: self.length_string_query
        2113  +
                    ,
        2114  +
                    range_byte_query: self.range_byte_query
        2115  +
                        .unwrap_or_else(||
        2116  +
                                            0i8
        2117  +
                                                .try_into()
        2118  +
                                                .expect("this check should have failed at generation time; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2119  +
                                        )
        2120  +
                    ,
        2121  +
                    range_short_query: self.range_short_query
        2122  +
                        .unwrap_or_else(||
        2123  +
                                            0i16
        2124  +
                                                .try_into()
        2125  +
                                                .expect("this check should have failed at generation time; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2126  +
                                        )
        2127  +
                    ,
        2128  +
                    range_integer_query: self.range_integer_query
        2129  +
                        .unwrap_or_else(||
        2130  +
                                            0i32
        2131  +
                                                .try_into()
        2132  +
                                                .expect("this check should have failed at generation time; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2133  +
                                        )
        2134  +
                    ,
        2135  +
                    range_long_query: self.range_long_query
        2136  +
                        .unwrap_or_else(||
        2137  +
                                            0i64
        2138  +
                                                .try_into()
        2139  +
                                                .expect("this check should have failed at generation time; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2140  +
                                        )
        2141  +
                    ,
        2142  +
                    enum_string_query: self.enum_string_query
        2143  +
                    ,
        2144  +
                    length_string_list_query: self.length_string_list_query
        2145  +
                    ,
        2146  +
                    length_list_pattern_string_query: self.length_list_pattern_string_query
        2147  +
                    ,
        2148  +
                    length_string_set_query: self.length_string_set_query
        2149  +
                    ,
        2150  +
                    range_byte_list_query: self.range_byte_list_query
        2151  +
                    ,
        2152  +
                    range_short_list_query: self.range_short_list_query
        2153  +
                    ,
        2154  +
                    range_integer_list_query: self.range_integer_list_query
        2155  +
                    ,
        2156  +
                    range_long_list_query: self.range_long_list_query
        2157  +
                    ,
        2158  +
                    range_byte_set_query: self.range_byte_set_query
        2159  +
                    ,
        2160  +
                    range_short_set_query: self.range_short_set_query
        2161  +
                    ,
        2162  +
                    range_integer_set_query: self.range_integer_set_query
        2163  +
                    ,
        2164  +
                    range_long_set_query: self.range_long_set_query
        2165  +
                    ,
        2166  +
                    enum_string_list_query: self.enum_string_list_query
        2167  +
                    ,
        2168  +
                }
        2169  +
            )
        2170  +
        }
        2171  +
    }
        2172  +
}
        2173  +
/// See [`ConstrainedShapesOnlyInOutputOperationOutput`](crate::output::ConstrainedShapesOnlyInOutputOperationOutput).
        2174  +
pub mod constrained_shapes_only_in_output_operation_output {
        2175  +
        2176  +
    impl ::std::convert::From<Builder> for crate::output::ConstrainedShapesOnlyInOutputOperationOutput {
        2177  +
        fn from(builder: Builder) -> Self {
        2178  +
            builder.build()
        2179  +
        }
        2180  +
    }
        2181  +
    /// A builder for [`ConstrainedShapesOnlyInOutputOperationOutput`](crate::output::ConstrainedShapesOnlyInOutputOperationOutput).
        2182  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2183  +
    pub struct Builder {
        2184  +
        pub(crate) list: ::std::option::Option<crate::model::ConstrainedListInOutput>,
        2185  +
        pub(crate) map: ::std::option::Option<crate::model::ConstrainedMapInOutput>,
        2186  +
        pub(crate) union: ::std::option::Option<crate::model::ConstrainedUnionInOutput>,
        2187  +
    }
        2188  +
    impl Builder {
        2189  +
        #[allow(missing_docs)] // documentation missing in model
        2190  +
        pub fn list(
        2191  +
            mut self,
        2192  +
            input: ::std::option::Option<crate::model::ConstrainedListInOutput>,
        2193  +
        ) -> Self {
        2194  +
            self.list = input;
        2195  +
            self
        2196  +
        }
        2197  +
        #[allow(missing_docs)] // documentation missing in model
        2198  +
        pub fn map(
        2199  +
            mut self,
        2200  +
            input: ::std::option::Option<crate::model::ConstrainedMapInOutput>,
        2201  +
        ) -> Self {
        2202  +
            self.map = input;
        2203  +
            self
        2204  +
        }
        2205  +
        #[allow(missing_docs)] // documentation missing in model
        2206  +
        pub fn union(
        2207  +
            mut self,
        2208  +
            input: ::std::option::Option<crate::model::ConstrainedUnionInOutput>,
        2209  +
        ) -> Self {
        2210  +
            self.union = input;
        2211  +
            self
        2212  +
        }
        2213  +
        /// Consumes the builder and constructs a [`ConstrainedShapesOnlyInOutputOperationOutput`](crate::output::ConstrainedShapesOnlyInOutputOperationOutput).
        2214  +
        pub fn build(self) -> crate::output::ConstrainedShapesOnlyInOutputOperationOutput {
        2215  +
            self.build_enforcing_all_constraints()
        2216  +
        }
        2217  +
        fn build_enforcing_all_constraints(
        2218  +
            self,
        2219  +
        ) -> crate::output::ConstrainedShapesOnlyInOutputOperationOutput {
        2220  +
            crate::output::ConstrainedShapesOnlyInOutputOperationOutput {
        2221  +
                list: self.list,
        2222  +
                map: self.map,
        2223  +
                union: self.union,
        2224  +
            }
        2225  +
        }
        2226  +
    }
        2227  +
}
        2228  +
/// See [`ConstrainedShapesOperationOutput`](crate::output::ConstrainedShapesOperationOutput).
        2229  +
pub mod constrained_shapes_operation_output {
        2230  +
        2231  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        2232  +
    /// Holds one variant for each of the ways the builder can fail.
        2233  +
    #[non_exhaustive]
        2234  +
    #[allow(clippy::enum_variant_names)]
        2235  +
    pub enum ConstraintViolation {
        2236  +
        /// `con_a` was not provided but it is required when building `ConstrainedShapesOperationOutput`.
        2237  +
        MissingConA,
        2238  +
    }
        2239  +
    impl ::std::fmt::Display for ConstraintViolation {
        2240  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        2241  +
            match self {
        2242  +
                ConstraintViolation::MissingConA => write!(f, "`con_a` was not provided but it is required when building `ConstrainedShapesOperationOutput`"),
        2243  +
            }
        2244  +
        }
        2245  +
    }
        2246  +
    impl ::std::error::Error for ConstraintViolation {}
        2247  +
    impl ::std::convert::TryFrom<Builder> for crate::output::ConstrainedShapesOperationOutput {
        2248  +
        type Error = ConstraintViolation;
        2249  +
        2250  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        2251  +
            builder.build()
        2252  +
        }
        2253  +
    }
        2254  +
    /// A builder for [`ConstrainedShapesOperationOutput`](crate::output::ConstrainedShapesOperationOutput).
        2255  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2256  +
    pub struct Builder {
        2257  +
        pub(crate) con_a: ::std::option::Option<crate::model::ConA>,
        2258  +
    }
        2259  +
    impl Builder {
        2260  +
        #[allow(missing_docs)] // documentation missing in model
        2261  +
        pub fn con_a(mut self, input: crate::model::ConA) -> Self {
        2262  +
            self.con_a = Some(input);
        2263  +
            self
        2264  +
        }
        2265  +
        /// Consumes the builder and constructs a [`ConstrainedShapesOperationOutput`](crate::output::ConstrainedShapesOperationOutput).
        2266  +
        ///
        2267  +
        /// The builder fails to construct a [`ConstrainedShapesOperationOutput`](crate::output::ConstrainedShapesOperationOutput) if a [`ConstraintViolation`] occurs.
        2268  +
        ///
        2269  +
        pub fn build(
        2270  +
            self,
        2271  +
        ) -> Result<crate::output::ConstrainedShapesOperationOutput, ConstraintViolation> {
        2272  +
            self.build_enforcing_all_constraints()
        2273  +
        }
        2274  +
        fn build_enforcing_all_constraints(
        2275  +
            self,
        2276  +
        ) -> Result<crate::output::ConstrainedShapesOperationOutput, ConstraintViolation> {
        2277  +
            Ok(crate::output::ConstrainedShapesOperationOutput {
        2278  +
                con_a: self.con_a.ok_or(ConstraintViolation::MissingConA)?,
        2279  +
            })
        2280  +
        }
        2281  +
    }
        2282  +
}