AWS SDK

AWS SDK

rev. 5673a7a38b4a4a6973351c005d572863803729fe (ignoring whitespace)

Files changed:

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/protocol_serde/shape_token_usage.rs

@@ -8,8 +56,70 @@
   28     28   
                                    .transpose()?,
   29     29   
                            );
   30     30   
                        }
   31     31   
                        "totalTokens" => {
   32     32   
                            builder = builder.set_total_tokens(
   33     33   
                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
   34     34   
                                    .map(i32::try_from)
   35     35   
                                    .transpose()?,
   36     36   
                            );
   37     37   
                        }
          38  +
                        "cacheReadInputTokens" => {
          39  +
                            builder = builder.set_cache_read_input_tokens(
          40  +
                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
          41  +
                                    .map(i32::try_from)
          42  +
                                    .transpose()?,
          43  +
                            );
          44  +
                        }
          45  +
                        "cacheWriteInputTokens" => {
          46  +
                            builder = builder.set_cache_write_input_tokens(
          47  +
                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
          48  +
                                    .map(i32::try_from)
          49  +
                                    .transpose()?,
          50  +
                            );
          51  +
                        }
   38     52   
                        _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
   39     53   
                    },
   40     54   
                    other => {
   41     55   
                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
   42     56   
                            "expected object key or end object, found: {:?}",
   43     57   
                            other
   44     58   
                        )))
   45     59   
                    }
   46     60   
                }
   47     61   
            }

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/protocol_serde/shape_tool.rs

@@ -1,1 +16,22 @@
    3      3   
    object_3: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    4      4   
    input: &crate::types::Tool,
    5      5   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    6      6   
    match input {
    7      7   
        crate::types::Tool::ToolSpec(inner) => {
    8      8   
            #[allow(unused_mut)]
    9      9   
            let mut object_1 = object_3.key("toolSpec").start_object();
   10     10   
            crate::protocol_serde::shape_tool_specification::ser_tool_specification(&mut object_1, inner)?;
   11     11   
            object_1.finish();
   12     12   
        }
          13  +
        crate::types::Tool::CachePoint(inner) => {
          14  +
            #[allow(unused_mut)]
          15  +
            let mut object_2 = object_3.key("cachePoint").start_object();
          16  +
            crate::protocol_serde::shape_cache_point_block::ser_cache_point_block(&mut object_2, inner)?;
          17  +
            object_2.finish();
          18  +
        }
   13     19   
        crate::types::Tool::Unknown => return Err(::aws_smithy_types::error::operation::SerializationError::unknown_variant("Tool")),
   14     20   
    }
   15     21   
    Ok(())
   16     22   
}

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/protocol_serde/shape_tool_result_content_block.rs

@@ -1,1 +98,119 @@
    9      9   
        }
   10     10   
        crate::types::ToolResultContentBlock::Text(inner) => {
   11     11   
            object_3.key("text").string(inner.as_str());
   12     12   
        }
   13     13   
        crate::types::ToolResultContentBlock::Image(inner) => {
   14     14   
            #[allow(unused_mut)]
   15     15   
            let mut object_1 = object_3.key("image").start_object();
   16     16   
            crate::protocol_serde::shape_image_block::ser_image_block(&mut object_1, inner)?;
   17     17   
            object_1.finish();
   18     18   
        }
          19  +
        crate::types::ToolResultContentBlock::Document(inner) => {
          20  +
            #[allow(unused_mut)]
          21  +
            let mut object_2 = object_3.key("document").start_object();
          22  +
            crate::protocol_serde::shape_document_block::ser_document_block(&mut object_2, inner)?;
          23  +
            object_2.finish();
          24  +
        }
          25  +
        crate::types::ToolResultContentBlock::Video(inner) => {
          26  +
            #[allow(unused_mut)]
          27  +
            let mut object_3 = object_3.key("video").start_object();
          28  +
            crate::protocol_serde::shape_video_block::ser_video_block(&mut object_3, inner)?;
          29  +
            object_3.finish();
          30  +
        }
   19     31   
        crate::types::ToolResultContentBlock::Unknown => {
   20     32   
            return Err(::aws_smithy_types::error::operation::SerializationError::unknown_variant(
   21     33   
                "ToolResultContentBlock",
   22     34   
            ))
   23     35   
        }
   24     36   
    }
   25     37   
    Ok(())
   26     38   
}
   27     39   
   28     40   
pub(crate) fn de_tool_result_content_block<'a, I>(
   29     41   
    tokens: &mut ::std::iter::Peekable<I>,
   30     42   
) -> ::std::result::Result<Option<crate::types::ToolResultContentBlock>, ::aws_smithy_json::deserialize::error::DeserializeError>
   31     43   
where
   32     44   
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
   33     45   
{
   34     46   
    let mut variant = None;
   35     47   
    match tokens.next().transpose()? {
   36     48   
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => return Ok(None),
   37     49   
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => loop {
   38     50   
            match tokens.next().transpose()? {
   39     51   
                Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   40     52   
                Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
   41     53   
                    if let ::std::option::Option::Some(::std::result::Result::Ok(::aws_smithy_json::deserialize::Token::ValueNull { .. })) =
   42     54   
                        tokens.peek()
   43     55   
                    {
   44     56   
                        let _ = tokens.next().expect("peek returned a token")?;
   45     57   
                        continue;
   46     58   
                    }
   47     59   
                    let key = key.to_unescaped()?;
   48     60   
                    if key == "__type" {
   49     61   
                        ::aws_smithy_json::deserialize::token::skip_value(tokens)?;
   50     62   
                        continue;
   51     63   
                    }
   52     64   
                    if variant.is_some() {
   53     65   
                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   54     66   
                            "encountered mixed variants in union",
   55     67   
                        ));
   56     68   
                    }
   57     69   
                    variant = match key.as_ref() {
   58     70   
                        "json" => Some(crate::types::ToolResultContentBlock::Json(
   59     71   
                            Some(::aws_smithy_json::deserialize::token::expect_document(tokens)?)
   60     72   
                                .ok_or_else(|| ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'json' cannot be null"))?,
   61     73   
                        )),
   62     74   
                        "text" => Some(crate::types::ToolResultContentBlock::Text(
   63     75   
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   64     76   
                                .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   65     77   
                                .transpose()?
   66     78   
                                .ok_or_else(|| ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'text' cannot be null"))?,
   67     79   
                        )),
   68     80   
                        "image" => Some(crate::types::ToolResultContentBlock::Image(
   69     81   
                            crate::protocol_serde::shape_image_block::de_image_block(tokens)?
   70     82   
                                .ok_or_else(|| ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'image' cannot be null"))?,
   71     83   
                        )),
          84  +
                        "document" => Some(crate::types::ToolResultContentBlock::Document(
          85  +
                            crate::protocol_serde::shape_document_block::de_document_block(tokens)?.ok_or_else(|| {
          86  +
                                ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'document' cannot be null")
          87  +
                            })?,
          88  +
                        )),
          89  +
                        "video" => Some(crate::types::ToolResultContentBlock::Video(
          90  +
                            crate::protocol_serde::shape_video_block::de_video_block(tokens)?
          91  +
                                .ok_or_else(|| ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'video' cannot be null"))?,
          92  +
                        )),
   72     93   
                        _ => {
   73     94   
                            ::aws_smithy_json::deserialize::token::skip_value(tokens)?;
   74     95   
                            Some(crate::types::ToolResultContentBlock::Unknown)
   75     96   
                        }
   76     97   
                    };
   77     98   
                }
   78     99   
                other => {
   79    100   
                    return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
   80    101   
                        "expected object key or end object, found: {:?}",
   81    102   
                        other

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/protocol_serde/shape_video_block.rs

@@ -0,1 +0,61 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
pub fn ser_video_block(
           3  +
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
           4  +
    input: &crate::types::VideoBlock,
           5  +
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           6  +
    {
           7  +
        object.key("format").string(input.format.as_str());
           8  +
    }
           9  +
    if let Some(var_1) = &input.source {
          10  +
        #[allow(unused_mut)]
          11  +
        let mut object_2 = object.key("source").start_object();
          12  +
        crate::protocol_serde::shape_video_source::ser_video_source(&mut object_2, var_1)?;
          13  +
        object_2.finish();
          14  +
    }
          15  +
    Ok(())
          16  +
}
          17  +
          18  +
pub(crate) fn de_video_block<'a, I>(
          19  +
    tokens: &mut ::std::iter::Peekable<I>,
          20  +
) -> ::std::result::Result<Option<crate::types::VideoBlock>, ::aws_smithy_json::deserialize::error::DeserializeError>
          21  +
where
          22  +
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
          23  +
{
          24  +
    match tokens.next().transpose()? {
          25  +
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
          26  +
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
          27  +
            #[allow(unused_mut)]
          28  +
            let mut builder = crate::types::builders::VideoBlockBuilder::default();
          29  +
            loop {
          30  +
                match tokens.next().transpose()? {
          31  +
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
          32  +
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
          33  +
                        "format" => {
          34  +
                            builder = builder.set_format(
          35  +
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
          36  +
                                    .map(|s| s.to_unescaped().map(|u| crate::types::VideoFormat::from(u.as_ref())))
          37  +
                                    .transpose()?,
          38  +
                            );
          39  +
                        }
          40  +
                        "source" => {
          41  +
                            builder = builder.set_source(crate::protocol_serde::shape_video_source::de_video_source(tokens)?);
          42  +
                        }
          43  +
                        _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
          44  +
                    },
          45  +
                    other => {
          46  +
                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
          47  +
                            "expected object key or end object, found: {:?}",
          48  +
                            other
          49  +
                        )))
          50  +
                    }
          51  +
                }
          52  +
            }
          53  +
            Ok(Some(crate::serde_util::video_block_correct_errors(builder).build().map_err(|err| {
          54  +
                ::aws_smithy_json::deserialize::error::DeserializeError::custom_source("Response was invalid", err)
          55  +
            })?))
          56  +
        }
          57  +
        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
          58  +
            "expected start object or null",
          59  +
        )),
          60  +
    }
          61  +
}

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/protocol_serde/shape_video_source.rs

@@ -0,1 +0,86 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
pub fn ser_video_source(
           3  +
    object_2: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
           4  +
    input: &crate::types::VideoSource,
           5  +
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           6  +
    match input {
           7  +
        crate::types::VideoSource::Bytes(inner) => {
           8  +
            object_2.key("bytes").string_unchecked(&::aws_smithy_types::base64::encode(inner));
           9  +
        }
          10  +
        crate::types::VideoSource::S3Location(inner) => {
          11  +
            #[allow(unused_mut)]
          12  +
            let mut object_1 = object_2.key("s3Location").start_object();
          13  +
            crate::protocol_serde::shape_s3_location::ser_s3_location(&mut object_1, inner)?;
          14  +
            object_1.finish();
          15  +
        }
          16  +
        crate::types::VideoSource::Unknown => return Err(::aws_smithy_types::error::operation::SerializationError::unknown_variant("VideoSource")),
          17  +
    }
          18  +
    Ok(())
          19  +
}
          20  +
          21  +
pub(crate) fn de_video_source<'a, I>(
          22  +
    tokens: &mut ::std::iter::Peekable<I>,
          23  +
) -> ::std::result::Result<Option<crate::types::VideoSource>, ::aws_smithy_json::deserialize::error::DeserializeError>
          24  +
where
          25  +
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
          26  +
{
          27  +
    let mut variant = None;
          28  +
    match tokens.next().transpose()? {
          29  +
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => return Ok(None),
          30  +
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => loop {
          31  +
            match tokens.next().transpose()? {
          32  +
                Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
          33  +
                Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
          34  +
                    if let ::std::option::Option::Some(::std::result::Result::Ok(::aws_smithy_json::deserialize::Token::ValueNull { .. })) =
          35  +
                        tokens.peek()
          36  +
                    {
          37  +
                        let _ = tokens.next().expect("peek returned a token")?;
          38  +
                        continue;
          39  +
                    }
          40  +
                    let key = key.to_unescaped()?;
          41  +
                    if key == "__type" {
          42  +
                        ::aws_smithy_json::deserialize::token::skip_value(tokens)?;
          43  +
                        continue;
          44  +
                    }
          45  +
                    if variant.is_some() {
          46  +
                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
          47  +
                            "encountered mixed variants in union",
          48  +
                        ));
          49  +
                    }
          50  +
                    variant = match key.as_ref() {
          51  +
                        "bytes" => Some(crate::types::VideoSource::Bytes(
          52  +
                            ::aws_smithy_json::deserialize::token::expect_blob_or_null(tokens.next())?
          53  +
                                .ok_or_else(|| ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'bytes' cannot be null"))?,
          54  +
                        )),
          55  +
                        "s3Location" => Some(crate::types::VideoSource::S3Location(
          56  +
                            crate::protocol_serde::shape_s3_location::de_s3_location(tokens)?.ok_or_else(|| {
          57  +
                                ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 's3Location' cannot be null")
          58  +
                            })?,
          59  +
                        )),
          60  +
                        _ => {
          61  +
                            ::aws_smithy_json::deserialize::token::skip_value(tokens)?;
          62  +
                            Some(crate::types::VideoSource::Unknown)
          63  +
                        }
          64  +
                    };
          65  +
                }
          66  +
                other => {
          67  +
                    return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
          68  +
                        "expected object key or end object, found: {:?}",
          69  +
                        other
          70  +
                    )))
          71  +
                }
          72  +
            }
          73  +
        },
          74  +
        _ => {
          75  +
            return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
          76  +
                "expected start object or null",
          77  +
            ))
          78  +
        }
          79  +
    }
          80  +
    if variant.is_none() {
          81  +
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
          82  +
            "Union did not contain a valid variant.",
          83  +
        ));
          84  +
    }
          85  +
    Ok(variant)
          86  +
}

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/serde_util.rs

@@ -1,1 +98,200 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
pub(crate) fn apply_guardrail_output_output_correct_errors(
           3  +
    mut builder: crate::operation::apply_guardrail::builders::ApplyGuardrailOutputBuilder,
           4  +
) -> crate::operation::apply_guardrail::builders::ApplyGuardrailOutputBuilder {
           5  +
    if builder.usage.is_none() {
           6  +
        builder.usage = {
           7  +
            let builder = crate::types::builders::GuardrailUsageBuilder::default();
           8  +
            crate::serde_util::guardrail_usage_correct_errors(builder).build().ok()
           9  +
        }
          10  +
    }
          11  +
    if builder.action.is_none() {
          12  +
        builder.action = "no value was set".parse::<crate::types::GuardrailAction>().ok()
          13  +
    }
          14  +
    if builder.outputs.is_none() {
          15  +
        builder.outputs = Some(Default::default())
          16  +
    }
          17  +
    if builder.assessments.is_none() {
          18  +
        builder.assessments = Some(Default::default())
          19  +
    }
          20  +
    builder
          21  +
}
          22  +
    2     23   
pub(crate) fn converse_output_output_correct_errors(
    3     24   
    mut builder: crate::operation::converse::builders::ConverseOutputBuilder,
    4     25   
) -> crate::operation::converse::builders::ConverseOutputBuilder {
    5     26   
    if builder.output.is_none() {
    6     27   
        builder.output = Some(crate::types::ConverseOutput::Unknown)
    7     28   
    }
    8     29   
    if builder.stop_reason.is_none() {
    9     30   
        builder.stop_reason = "no value was set".parse::<crate::types::StopReason>().ok()
   10     31   
    }
   11     32   
    if builder.usage.is_none() {
   12     33   
        builder.usage = {
   13     34   
            let builder = crate::types::builders::TokenUsageBuilder::default();
   14     35   
            crate::serde_util::token_usage_correct_errors(builder).build().ok()
   15     36   
        }
   16     37   
    }
   17     38   
    if builder.metrics.is_none() {
   18     39   
        builder.metrics = {
   19     40   
            let builder = crate::types::builders::ConverseMetricsBuilder::default();
   20     41   
            crate::serde_util::converse_metrics_correct_errors(builder).build().ok()
   21     42   
        }
   22     43   
    }
   23     44   
    builder
   24     45   
}
   25     46   
          47  +
pub(crate) fn get_async_invoke_output_output_correct_errors(
          48  +
    mut builder: crate::operation::get_async_invoke::builders::GetAsyncInvokeOutputBuilder,
          49  +
) -> crate::operation::get_async_invoke::builders::GetAsyncInvokeOutputBuilder {
          50  +
    if builder.invocation_arn.is_none() {
          51  +
        builder.invocation_arn = Some(Default::default())
          52  +
    }
          53  +
    if builder.model_arn.is_none() {
          54  +
        builder.model_arn = Some(Default::default())
          55  +
    }
          56  +
    if builder.status.is_none() {
          57  +
        builder.status = "no value was set".parse::<crate::types::AsyncInvokeStatus>().ok()
          58  +
    }
          59  +
    if builder.submit_time.is_none() {
          60  +
        builder.submit_time = Some(::aws_smithy_types::DateTime::from_fractional_secs(0, 0_f64))
          61  +
    }
          62  +
    if builder.output_data_config.is_none() {
          63  +
        builder.output_data_config = Some(crate::types::AsyncInvokeOutputDataConfig::Unknown)
          64  +
    }
          65  +
    builder
          66  +
}
          67  +
   26     68   
pub(crate) fn invoke_model_output_output_correct_errors(
   27     69   
    mut builder: crate::operation::invoke_model::builders::InvokeModelOutputBuilder,
   28     70   
) -> crate::operation::invoke_model::builders::InvokeModelOutputBuilder {
   29     71   
    if builder.body.is_none() {
   30     72   
        builder.body = Some(::aws_smithy_types::Blob::new(""))
   31     73   
    }
   32     74   
    if builder.content_type.is_none() {
   33     75   
        builder.content_type = Some(Default::default())
   34     76   
    }
   35     77   
    builder
   36     78   
}
   37     79   
   38     80   
pub(crate) fn invoke_model_with_response_stream_output_output_correct_errors(
   39     81   
    mut builder: crate::operation::invoke_model_with_response_stream::builders::InvokeModelWithResponseStreamOutputBuilder,
   40     82   
) -> crate::operation::invoke_model_with_response_stream::builders::InvokeModelWithResponseStreamOutputBuilder {
   41     83   
    if builder.content_type.is_none() {
   42     84   
        builder.content_type = Some(Default::default())
   43     85   
    }
   44     86   
    builder
   45     87   
}
   46     88   
          89  +
pub(crate) fn start_async_invoke_output_output_correct_errors(
          90  +
    mut builder: crate::operation::start_async_invoke::builders::StartAsyncInvokeOutputBuilder,
          91  +
) -> crate::operation::start_async_invoke::builders::StartAsyncInvokeOutputBuilder {
          92  +
    if builder.invocation_arn.is_none() {
          93  +
        builder.invocation_arn = Some(Default::default())
          94  +
    }
          95  +
    builder
          96  +
}
          97  +
          98  +
pub(crate) fn guardrail_usage_correct_errors(
          99  +
    mut builder: crate::types::builders::GuardrailUsageBuilder,
         100  +
) -> crate::types::builders::GuardrailUsageBuilder {
         101  +
    if builder.topic_policy_units.is_none() {
         102  +
        builder.topic_policy_units = Some(Default::default())
         103  +
    }
         104  +
    if builder.content_policy_units.is_none() {
         105  +
        builder.content_policy_units = Some(Default::default())
         106  +
    }
         107  +
    if builder.word_policy_units.is_none() {
         108  +
        builder.word_policy_units = Some(Default::default())
         109  +
    }
         110  +
    if builder.sensitive_information_policy_units.is_none() {
         111  +
        builder.sensitive_information_policy_units = Some(Default::default())
         112  +
    }
         113  +
    if builder.sensitive_information_policy_free_units.is_none() {
         114  +
        builder.sensitive_information_policy_free_units = Some(Default::default())
         115  +
    }
         116  +
    if builder.contextual_grounding_policy_units.is_none() {
         117  +
        builder.contextual_grounding_policy_units = Some(Default::default())
         118  +
    }
         119  +
    builder
         120  +
}
         121  +
   47    122   
pub(crate) fn token_usage_correct_errors(mut builder: crate::types::builders::TokenUsageBuilder) -> crate::types::builders::TokenUsageBuilder {
   48    123   
    if builder.input_tokens.is_none() {
   49    124   
        builder.input_tokens = Some(Default::default())
   50    125   
    }
   51    126   
    if builder.output_tokens.is_none() {
   52    127   
        builder.output_tokens = Some(Default::default())
   53    128   
    }
   54    129   
    if builder.total_tokens.is_none() {
   55    130   
        builder.total_tokens = Some(Default::default())
   56    131   
    }
   57    132   
    builder
   58    133   
}
   59    134   
   60    135   
pub(crate) fn converse_metrics_correct_errors(
   61    136   
    mut builder: crate::types::builders::ConverseMetricsBuilder,
   62    137   
) -> crate::types::builders::ConverseMetricsBuilder {
   63    138   
    if builder.latency_ms.is_none() {
   64    139   
        builder.latency_ms = Some(Default::default())
   65    140   
    }
   66    141   
    builder
   67    142   
}
   68    143   
         144  +
pub(crate) fn async_invoke_s3_output_data_config_correct_errors(
         145  +
    mut builder: crate::types::builders::AsyncInvokeS3OutputDataConfigBuilder,
         146  +
) -> crate::types::builders::AsyncInvokeS3OutputDataConfigBuilder {
         147  +
    if builder.s3_uri.is_none() {
         148  +
        builder.s3_uri = Some(Default::default())
         149  +
    }
         150  +
    builder
         151  +
}
         152  +
         153  +
pub(crate) fn async_invoke_summary_correct_errors(
         154  +
    mut builder: crate::types::builders::AsyncInvokeSummaryBuilder,
         155  +
) -> crate::types::builders::AsyncInvokeSummaryBuilder {
         156  +
    if builder.invocation_arn.is_none() {
         157  +
        builder.invocation_arn = Some(Default::default())
         158  +
    }
         159  +
    if builder.model_arn.is_none() {
         160  +
        builder.model_arn = Some(Default::default())
         161  +
    }
         162  +
    if builder.submit_time.is_none() {
         163  +
        builder.submit_time = Some(::aws_smithy_types::DateTime::from_fractional_secs(0, 0_f64))
         164  +
    }
         165  +
    if builder.output_data_config.is_none() {
         166  +
        builder.output_data_config = Some(crate::types::AsyncInvokeOutputDataConfig::Unknown)
         167  +
    }
         168  +
    builder
         169  +
}
         170  +
   69    171   
pub(crate) fn message_correct_errors(mut builder: crate::types::builders::MessageBuilder) -> crate::types::builders::MessageBuilder {
   70    172   
    if builder.role.is_none() {
   71    173   
        builder.role = "no value was set".parse::<crate::types::ConversationRole>().ok()
   72    174   
    }
   73    175   
    if builder.content.is_none() {
   74    176   
        builder.content = Some(Default::default())
   75    177   
    }
   76    178   
    builder
   77    179   
}
   78    180   
@@ -100,202 +0,531 @@
  120    222   
    }
  121    223   
    if builder.metrics.is_none() {
  122    224   
        builder.metrics = {
  123    225   
            let builder = crate::types::builders::ConverseStreamMetricsBuilder::default();
  124    226   
            crate::serde_util::converse_stream_metrics_correct_errors(builder).build().ok()
  125    227   
        }
  126    228   
    }
  127    229   
    builder
  128    230   
}
  129    231   
         232  +
pub(crate) fn guardrail_content_policy_assessment_correct_errors(
         233  +
    mut builder: crate::types::builders::GuardrailContentPolicyAssessmentBuilder,
         234  +
) -> crate::types::builders::GuardrailContentPolicyAssessmentBuilder {
         235  +
    if builder.filters.is_none() {
         236  +
        builder.filters = Some(Default::default())
         237  +
    }
         238  +
    builder
         239  +
}
         240  +
         241  +
pub(crate) fn guardrail_sensitive_information_policy_assessment_correct_errors(
         242  +
    mut builder: crate::types::builders::GuardrailSensitiveInformationPolicyAssessmentBuilder,
         243  +
) -> crate::types::builders::GuardrailSensitiveInformationPolicyAssessmentBuilder {
         244  +
    if builder.pii_entities.is_none() {
         245  +
        builder.pii_entities = Some(Default::default())
         246  +
    }
         247  +
    if builder.regexes.is_none() {
         248  +
        builder.regexes = Some(Default::default())
         249  +
    }
         250  +
    builder
         251  +
}
         252  +
         253  +
pub(crate) fn guardrail_topic_policy_assessment_correct_errors(
         254  +
    mut builder: crate::types::builders::GuardrailTopicPolicyAssessmentBuilder,
         255  +
) -> crate::types::builders::GuardrailTopicPolicyAssessmentBuilder {
         256  +
    if builder.topics.is_none() {
         257  +
        builder.topics = Some(Default::default())
         258  +
    }
         259  +
    builder
         260  +
}
         261  +
         262  +
pub(crate) fn guardrail_word_policy_assessment_correct_errors(
         263  +
    mut builder: crate::types::builders::GuardrailWordPolicyAssessmentBuilder,
         264  +
) -> crate::types::builders::GuardrailWordPolicyAssessmentBuilder {
         265  +
    if builder.custom_words.is_none() {
         266  +
        builder.custom_words = Some(Default::default())
         267  +
    }
         268  +
    if builder.managed_word_lists.is_none() {
         269  +
        builder.managed_word_lists = Some(Default::default())
         270  +
    }
         271  +
    builder
         272  +
}
         273  +
  130    274   
pub(crate) fn message_start_event_correct_errors(
  131    275   
    mut builder: crate::types::builders::MessageStartEventBuilder,
  132    276   
) -> crate::types::builders::MessageStartEventBuilder {
  133    277   
    if builder.role.is_none() {
  134    278   
        builder.role = "no value was set".parse::<crate::types::ConversationRole>().ok()
  135    279   
    }
  136    280   
    builder
  137    281   
}
  138    282   
  139    283   
pub(crate) fn message_stop_event_correct_errors(
  140    284   
    mut builder: crate::types::builders::MessageStopEventBuilder,
  141    285   
) -> crate::types::builders::MessageStopEventBuilder {
  142    286   
    if builder.stop_reason.is_none() {
  143    287   
        builder.stop_reason = "no value was set".parse::<crate::types::StopReason>().ok()
  144    288   
    }
  145    289   
    builder
  146    290   
}
  147    291   
  148    292   
pub(crate) fn converse_stream_metrics_correct_errors(
  149    293   
    mut builder: crate::types::builders::ConverseStreamMetricsBuilder,
  150    294   
) -> crate::types::builders::ConverseStreamMetricsBuilder {
  151    295   
    if builder.latency_ms.is_none() {
  152    296   
        builder.latency_ms = Some(Default::default())
  153    297   
    }
  154    298   
    builder
  155    299   
}
  156    300   
         301  +
pub(crate) fn cache_point_block_correct_errors(
         302  +
    mut builder: crate::types::builders::CachePointBlockBuilder,
         303  +
) -> crate::types::builders::CachePointBlockBuilder {
         304  +
    if builder.r#type.is_none() {
         305  +
        builder.r#type = "no value was set".parse::<crate::types::CachePointType>().ok()
         306  +
    }
         307  +
    builder
         308  +
}
         309  +
         310  +
pub(crate) fn document_block_correct_errors(
         311  +
    mut builder: crate::types::builders::DocumentBlockBuilder,
         312  +
) -> crate::types::builders::DocumentBlockBuilder {
         313  +
    if builder.name.is_none() {
         314  +
        builder.name = Some(Default::default())
         315  +
    }
         316  +
    if builder.source.is_none() {
         317  +
        builder.source = Some(crate::types::DocumentSource::Unknown)
         318  +
    }
         319  +
    builder
         320  +
}
         321  +
         322  +
pub(crate) fn guardrail_content_filter_correct_errors(
         323  +
    mut builder: crate::types::builders::GuardrailContentFilterBuilder,
         324  +
) -> crate::types::builders::GuardrailContentFilterBuilder {
         325  +
    if builder.r#type.is_none() {
         326  +
        builder.r#type = "no value was set".parse::<crate::types::GuardrailContentFilterType>().ok()
         327  +
    }
         328  +
    if builder.confidence.is_none() {
         329  +
        builder.confidence = "no value was set".parse::<crate::types::GuardrailContentFilterConfidence>().ok()
         330  +
    }
         331  +
    if builder.action.is_none() {
         332  +
        builder.action = "no value was set".parse::<crate::types::GuardrailContentPolicyAction>().ok()
         333  +
    }
         334  +
    builder
         335  +
}
         336  +
         337  +
pub(crate) fn guardrail_contextual_grounding_filter_correct_errors(
         338  +
    mut builder: crate::types::builders::GuardrailContextualGroundingFilterBuilder,
         339  +
) -> crate::types::builders::GuardrailContextualGroundingFilterBuilder {
         340  +
    if builder.r#type.is_none() {
         341  +
        builder.r#type = "no value was set".parse::<crate::types::GuardrailContextualGroundingFilterType>().ok()
         342  +
    }
         343  +
    if builder.threshold.is_none() {
         344  +
        builder.threshold = Some(Default::default())
         345  +
    }
         346  +
    if builder.score.is_none() {
         347  +
        builder.score = Some(Default::default())
         348  +
    }
         349  +
    if builder.action.is_none() {
         350  +
        builder.action = "no value was set".parse::<crate::types::GuardrailContextualGroundingPolicyAction>().ok()
         351  +
    }
         352  +
    builder
         353  +
}
         354  +
         355  +
pub(crate) fn guardrail_custom_word_correct_errors(
         356  +
    mut builder: crate::types::builders::GuardrailCustomWordBuilder,
         357  +
) -> crate::types::builders::GuardrailCustomWordBuilder {
         358  +
    if builder.r#match.is_none() {
         359  +
        builder.r#match = Some(Default::default())
         360  +
    }
         361  +
    if builder.action.is_none() {
         362  +
        builder.action = "no value was set".parse::<crate::types::GuardrailWordPolicyAction>().ok()
         363  +
    }
         364  +
    builder
         365  +
}
         366  +
         367  +
pub(crate) fn guardrail_managed_word_correct_errors(
         368  +
    mut builder: crate::types::builders::GuardrailManagedWordBuilder,
         369  +
) -> crate::types::builders::GuardrailManagedWordBuilder {
         370  +
    if builder.r#match.is_none() {
         371  +
        builder.r#match = Some(Default::default())
         372  +
    }
         373  +
    if builder.r#type.is_none() {
         374  +
        builder.r#type = "no value was set".parse::<crate::types::GuardrailManagedWordType>().ok()
         375  +
    }
         376  +
    if builder.action.is_none() {
         377  +
        builder.action = "no value was set".parse::<crate::types::GuardrailWordPolicyAction>().ok()
         378  +
    }
         379  +
    builder
         380  +
}
         381  +
         382  +
pub(crate) fn guardrail_pii_entity_filter_correct_errors(
         383  +
    mut builder: crate::types::builders::GuardrailPiiEntityFilterBuilder,
         384  +
) -> crate::types::builders::GuardrailPiiEntityFilterBuilder {
         385  +
    if builder.r#match.is_none() {
         386  +
        builder.r#match = Some(Default::default())
         387  +
    }
         388  +
    if builder.r#type.is_none() {
         389  +
        builder.r#type = "no value was set".parse::<crate::types::GuardrailPiiEntityType>().ok()
         390  +
    }
         391  +
    if builder.action.is_none() {
         392  +
        builder.action = "no value was set".parse::<crate::types::GuardrailSensitiveInformationPolicyAction>().ok()
         393  +
    }
         394  +
    builder
         395  +
}
         396  +
         397  +
pub(crate) fn guardrail_regex_filter_correct_errors(
         398  +
    mut builder: crate::types::builders::GuardrailRegexFilterBuilder,
         399  +
) -> crate::types::builders::GuardrailRegexFilterBuilder {
         400  +
    if builder.action.is_none() {
         401  +
        builder.action = "no value was set".parse::<crate::types::GuardrailSensitiveInformationPolicyAction>().ok()
         402  +
    }
         403  +
    builder
         404  +
}
         405  +
         406  +
pub(crate) fn guardrail_topic_correct_errors(
         407  +
    mut builder: crate::types::builders::GuardrailTopicBuilder,
         408  +
) -> crate::types::builders::GuardrailTopicBuilder {
         409  +
    if builder.name.is_none() {
         410  +
        builder.name = Some(Default::default())
         411  +
    }
         412  +
    if builder.r#type.is_none() {
         413  +
        builder.r#type = "no value was set".parse::<crate::types::GuardrailTopicType>().ok()
         414  +
    }
         415  +
    if builder.action.is_none() {
         416  +
        builder.action = "no value was set".parse::<crate::types::GuardrailTopicPolicyAction>().ok()
         417  +
    }
         418  +
    builder
         419  +
}
         420  +
  157    421   
pub(crate) fn image_block_correct_errors(mut builder: crate::types::builders::ImageBlockBuilder) -> crate::types::builders::ImageBlockBuilder {
  158    422   
    if builder.format.is_none() {
  159    423   
        builder.format = "no value was set".parse::<crate::types::ImageFormat>().ok()
  160    424   
    }
  161    425   
    if builder.source.is_none() {
  162    426   
        builder.source = Some(crate::types::ImageSource::Unknown)
  163    427   
    }
  164    428   
    builder
  165    429   
}
  166    430   
  167    431   
pub(crate) fn tool_result_block_correct_errors(
  168    432   
    mut builder: crate::types::builders::ToolResultBlockBuilder,
  169    433   
) -> crate::types::builders::ToolResultBlockBuilder {
  170    434   
    if builder.tool_use_id.is_none() {
  171    435   
        builder.tool_use_id = Some(Default::default())
  172    436   
    }
  173    437   
    if builder.content.is_none() {
  174    438   
        builder.content = Some(Default::default())
  175    439   
    }
  176    440   
    builder
  177    441   
}
  178    442   
  179    443   
pub(crate) fn tool_use_block_correct_errors(mut builder: crate::types::builders::ToolUseBlockBuilder) -> crate::types::builders::ToolUseBlockBuilder {
  180    444   
    if builder.tool_use_id.is_none() {
  181    445   
        builder.tool_use_id = Some(Default::default())
  182    446   
    }
  183    447   
    if builder.name.is_none() {
  184    448   
        builder.name = Some(Default::default())
  185    449   
    }
  186    450   
    if builder.input.is_none() {
  187    451   
        builder.input = Some(Default::default())
  188    452   
    }
  189    453   
    builder
  190    454   
}
  191    455   
  192    456   
pub(crate) fn tool_use_block_delta_correct_errors(
  193    457   
    mut builder: crate::types::builders::ToolUseBlockDeltaBuilder,
  194    458   
) -> crate::types::builders::ToolUseBlockDeltaBuilder {
  195    459   
    if builder.input.is_none() {
  196    460   
        builder.input = Some(Default::default())
  197    461   
    }
  198    462   
    builder
  199    463   
}
  200    464   
  201    465   
pub(crate) fn tool_use_block_start_correct_errors(
  202    466   
    mut builder: crate::types::builders::ToolUseBlockStartBuilder,
  203    467   
) -> crate::types::builders::ToolUseBlockStartBuilder {
  204    468   
    if builder.tool_use_id.is_none() {
  205    469   
        builder.tool_use_id = Some(Default::default())
  206    470   
    }
  207    471   
    if builder.name.is_none() {
  208    472   
        builder.name = Some(Default::default())
  209    473   
    }
  210    474   
    builder
  211    475   
}
         476  +
         477  +
pub(crate) fn video_block_correct_errors(mut builder: crate::types::builders::VideoBlockBuilder) -> crate::types::builders::VideoBlockBuilder {
         478  +
    if builder.format.is_none() {
         479  +
        builder.format = "no value was set".parse::<crate::types::VideoFormat>().ok()
         480  +
    }
         481  +
    if builder.source.is_none() {
         482  +
        builder.source = Some(crate::types::VideoSource::Unknown)
         483  +
    }
         484  +
    builder
         485  +
}
         486  +
         487  +
pub(crate) fn citations_config_correct_errors(
         488  +
    mut builder: crate::types::builders::CitationsConfigBuilder,
         489  +
) -> crate::types::builders::CitationsConfigBuilder {
         490  +
    if builder.enabled.is_none() {
         491  +
        builder.enabled = Some(Default::default())
         492  +
    }
         493  +
    builder
         494  +
}
         495  +
         496  +
pub(crate) fn guardrail_converse_image_block_correct_errors(
         497  +
    mut builder: crate::types::builders::GuardrailConverseImageBlockBuilder,
         498  +
) -> crate::types::builders::GuardrailConverseImageBlockBuilder {
         499  +
    if builder.format.is_none() {
         500  +
        builder.format = "no value was set".parse::<crate::types::GuardrailConverseImageFormat>().ok()
         501  +
    }
         502  +
    if builder.source.is_none() {
         503  +
        builder.source = Some(crate::types::GuardrailConverseImageSource::Unknown)
         504  +
    }
         505  +
    builder
         506  +
}
         507  +
         508  +
pub(crate) fn guardrail_converse_text_block_correct_errors(
         509  +
    mut builder: crate::types::builders::GuardrailConverseTextBlockBuilder,
         510  +
) -> crate::types::builders::GuardrailConverseTextBlockBuilder {
         511  +
    if builder.text.is_none() {
         512  +
        builder.text = Some(Default::default())
         513  +
    }
         514  +
    builder
         515  +
}
         516  +
         517  +
pub(crate) fn reasoning_text_block_correct_errors(
         518  +
    mut builder: crate::types::builders::ReasoningTextBlockBuilder,
         519  +
) -> crate::types::builders::ReasoningTextBlockBuilder {
         520  +
    if builder.text.is_none() {
         521  +
        builder.text = Some(Default::default())
         522  +
    }
         523  +
    builder
         524  +
}
         525  +
         526  +
pub(crate) fn s3_location_correct_errors(mut builder: crate::types::builders::S3LocationBuilder) -> crate::types::builders::S3LocationBuilder {
         527  +
    if builder.uri.is_none() {
         528  +
        builder.uri = Some(Default::default())
         529  +
    }
         530  +
    builder
         531  +
}

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/types.rs

@@ -1,1 +162,530 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
pub use crate::types::_performance_config_latency::PerformanceConfigLatency;
           3  +
    2      4   
pub use crate::types::_response_stream::ResponseStream;
    3      5   
    4      6   
pub use crate::types::_payload_part::PayloadPart;
    5      7   
    6      8   
pub use crate::types::_trace::Trace;
    7      9   
          10  +
pub use crate::types::_invoke_model_with_bidirectional_stream_output::InvokeModelWithBidirectionalStreamOutput;
          11  +
          12  +
pub use crate::types::_bidirectional_output_payload_part::BidirectionalOutputPayloadPart;
          13  +
          14  +
pub use crate::types::_invoke_model_with_bidirectional_stream_input::InvokeModelWithBidirectionalStreamInput;
          15  +
          16  +
pub use crate::types::_bidirectional_input_payload_part::BidirectionalInputPayloadPart;
          17  +
    8     18   
pub use crate::types::_converse_stream_output::ConverseStreamOutput;
    9     19   
   10     20   
pub use crate::types::_converse_stream_metadata_event::ConverseStreamMetadataEvent;
   11     21   
          22  +
pub use crate::types::_performance_configuration::PerformanceConfiguration;
          23  +
          24  +
pub use crate::types::_converse_stream_trace::ConverseStreamTrace;
          25  +
          26  +
pub use crate::types::_prompt_router_trace::PromptRouterTrace;
          27  +
          28  +
pub use crate::types::_guardrail_trace_assessment::GuardrailTraceAssessment;
          29  +
          30  +
pub use crate::types::_guardrail_assessment::GuardrailAssessment;
          31  +
          32  +
pub use crate::types::_guardrail_invocation_metrics::GuardrailInvocationMetrics;
          33  +
          34  +
pub use crate::types::_guardrail_coverage::GuardrailCoverage;
          35  +
          36  +
pub use crate::types::_guardrail_image_coverage::GuardrailImageCoverage;
          37  +
          38  +
pub use crate::types::_guardrail_text_characters_coverage::GuardrailTextCharactersCoverage;
          39  +
          40  +
pub use crate::types::_guardrail_usage::GuardrailUsage;
          41  +
          42  +
pub use crate::types::_guardrail_contextual_grounding_policy_assessment::GuardrailContextualGroundingPolicyAssessment;
          43  +
          44  +
pub use crate::types::_guardrail_contextual_grounding_filter::GuardrailContextualGroundingFilter;
          45  +
          46  +
pub use crate::types::_guardrail_contextual_grounding_policy_action::GuardrailContextualGroundingPolicyAction;
          47  +
          48  +
pub use crate::types::_guardrail_contextual_grounding_filter_type::GuardrailContextualGroundingFilterType;
          49  +
          50  +
pub use crate::types::_guardrail_sensitive_information_policy_assessment::GuardrailSensitiveInformationPolicyAssessment;
          51  +
          52  +
pub use crate::types::_guardrail_regex_filter::GuardrailRegexFilter;
          53  +
          54  +
pub use crate::types::_guardrail_sensitive_information_policy_action::GuardrailSensitiveInformationPolicyAction;
          55  +
          56  +
pub use crate::types::_guardrail_pii_entity_filter::GuardrailPiiEntityFilter;
          57  +
          58  +
pub use crate::types::_guardrail_pii_entity_type::GuardrailPiiEntityType;
          59  +
          60  +
pub use crate::types::_guardrail_word_policy_assessment::GuardrailWordPolicyAssessment;
          61  +
          62  +
pub use crate::types::_guardrail_managed_word::GuardrailManagedWord;
          63  +
          64  +
pub use crate::types::_guardrail_word_policy_action::GuardrailWordPolicyAction;
          65  +
          66  +
pub use crate::types::_guardrail_managed_word_type::GuardrailManagedWordType;
          67  +
          68  +
pub use crate::types::_guardrail_custom_word::GuardrailCustomWord;
          69  +
          70  +
pub use crate::types::_guardrail_content_policy_assessment::GuardrailContentPolicyAssessment;
          71  +
          72  +
pub use crate::types::_guardrail_content_filter::GuardrailContentFilter;
          73  +
          74  +
pub use crate::types::_guardrail_content_policy_action::GuardrailContentPolicyAction;
          75  +
          76  +
pub use crate::types::_guardrail_content_filter_strength::GuardrailContentFilterStrength;
          77  +
          78  +
pub use crate::types::_guardrail_content_filter_confidence::GuardrailContentFilterConfidence;
          79  +
          80  +
pub use crate::types::_guardrail_content_filter_type::GuardrailContentFilterType;
          81  +
          82  +
pub use crate::types::_guardrail_topic_policy_assessment::GuardrailTopicPolicyAssessment;
          83  +
          84  +
pub use crate::types::_guardrail_topic::GuardrailTopic;
          85  +
          86  +
pub use crate::types::_guardrail_topic_policy_action::GuardrailTopicPolicyAction;
          87  +
          88  +
pub use crate::types::_guardrail_topic_type::GuardrailTopicType;
          89  +
   12     90   
pub use crate::types::_converse_stream_metrics::ConverseStreamMetrics;
   13     91   
   14     92   
pub use crate::types::_token_usage::TokenUsage;
   15     93   
   16     94   
pub use crate::types::_message_stop_event::MessageStopEvent;
   17     95   
   18     96   
pub use crate::types::_stop_reason::StopReason;
   19     97   
   20     98   
pub use crate::types::_content_block_stop_event::ContentBlockStopEvent;
   21     99   
   22    100   
pub use crate::types::_content_block_delta_event::ContentBlockDeltaEvent;
   23    101   
   24    102   
pub use crate::types::_content_block_delta::ContentBlockDelta;
   25    103   
         104  +
pub use crate::types::_citations_delta::CitationsDelta;
         105  +
         106  +
pub use crate::types::_citation_location::CitationLocation;
         107  +
         108  +
pub use crate::types::_document_chunk_location::DocumentChunkLocation;
         109  +
         110  +
pub use crate::types::_document_page_location::DocumentPageLocation;
         111  +
         112  +
pub use crate::types::_document_char_location::DocumentCharLocation;
         113  +
         114  +
pub use crate::types::_citation_source_content_delta::CitationSourceContentDelta;
         115  +
         116  +
pub use crate::types::_reasoning_content_block_delta::ReasoningContentBlockDelta;
         117  +
   26    118   
pub use crate::types::_tool_use_block_delta::ToolUseBlockDelta;
   27    119   
   28    120   
pub use crate::types::_content_block_start_event::ContentBlockStartEvent;
   29    121   
   30    122   
pub use crate::types::_content_block_start::ContentBlockStart;
   31    123   
   32    124   
pub use crate::types::_tool_use_block_start::ToolUseBlockStart;
   33    125   
   34    126   
pub use crate::types::_message_start_event::MessageStartEvent;
   35    127   
   36    128   
pub use crate::types::_conversation_role::ConversationRole;
   37    129   
         130  +
pub use crate::types::_prompt_variable_values::PromptVariableValues;
         131  +
         132  +
pub use crate::types::_guardrail_stream_configuration::GuardrailStreamConfiguration;
         133  +
         134  +
pub use crate::types::_guardrail_stream_processing_mode::GuardrailStreamProcessingMode;
         135  +
         136  +
pub use crate::types::_guardrail_trace::GuardrailTrace;
         137  +
   38    138   
pub use crate::types::_tool_configuration::ToolConfiguration;
   39    139   
   40    140   
pub use crate::types::_tool_choice::ToolChoice;
   41    141   
   42    142   
pub use crate::types::_specific_tool_choice::SpecificToolChoice;
   43    143   
   44    144   
pub use crate::types::_any_tool_choice::AnyToolChoice;
   45    145   
   46    146   
pub use crate::types::_auto_tool_choice::AutoToolChoice;
   47    147   
   48    148   
pub use crate::types::_tool::Tool;
   49    149   
         150  +
pub use crate::types::_cache_point_block::CachePointBlock;
         151  +
         152  +
pub use crate::types::_cache_point_type::CachePointType;
         153  +
   50    154   
pub use crate::types::_tool_specification::ToolSpecification;
   51    155   
   52    156   
pub use crate::types::_tool_input_schema::ToolInputSchema;
   53    157   
   54    158   
pub use crate::types::_inference_configuration::InferenceConfiguration;
   55    159   
   56    160   
pub use crate::types::_system_content_block::SystemContentBlock;
   57    161   
         162  +
pub use crate::types::_guardrail_converse_content_block::GuardrailConverseContentBlock;
         163  +
         164  +
pub use crate::types::_guardrail_converse_image_block::GuardrailConverseImageBlock;
         165  +
         166  +
pub use crate::types::_guardrail_converse_image_source::GuardrailConverseImageSource;
         167  +
         168  +
pub use crate::types::_guardrail_converse_image_format::GuardrailConverseImageFormat;
         169  +
         170  +
pub use crate::types::_guardrail_converse_text_block::GuardrailConverseTextBlock;
         171  +
         172  +
pub use crate::types::_guardrail_converse_content_qualifier::GuardrailConverseContentQualifier;
         173  +
   58    174   
pub use crate::types::_message::Message;
   59    175   
   60    176   
pub use crate::types::_content_block::ContentBlock;
   61    177   
         178  +
pub use crate::types::_citations_content_block::CitationsContentBlock;
         179  +
         180  +
pub use crate::types::_citation::Citation;
         181  +
         182  +
pub use crate::types::_citation_source_content::CitationSourceContent;
         183  +
         184  +
pub use crate::types::_citation_generated_content::CitationGeneratedContent;
         185  +
         186  +
pub use crate::types::_reasoning_content_block::ReasoningContentBlock;
         187  +
         188  +
pub use crate::types::_reasoning_text_block::ReasoningTextBlock;
         189  +
   62    190   
pub use crate::types::_tool_result_block::ToolResultBlock;
   63    191   
   64    192   
pub use crate::types::_tool_result_status::ToolResultStatus;
   65    193   
   66    194   
pub use crate::types::_tool_result_content_block::ToolResultContentBlock;
   67    195   
         196  +
pub use crate::types::_video_block::VideoBlock;
         197  +
         198  +
pub use crate::types::_video_source::VideoSource;
         199  +
         200  +
pub use crate::types::_s3_location::S3Location;
         201  +
         202  +
pub use crate::types::_video_format::VideoFormat;
         203  +
         204  +
pub use crate::types::_document_block::DocumentBlock;
         205  +
         206  +
pub use crate::types::_citations_config::CitationsConfig;
         207  +
         208  +
pub use crate::types::_document_source::DocumentSource;
         209  +
         210  +
pub use crate::types::_document_content_block::DocumentContentBlock;
         211  +
         212  +
pub use crate::types::_document_format::DocumentFormat;
         213  +
   68    214   
pub use crate::types::_image_block::ImageBlock;
   69    215   
   70    216   
pub use crate::types::_image_source::ImageSource;
   71    217   
   72    218   
pub use crate::types::_image_format::ImageFormat;
   73    219   
   74    220   
pub use crate::types::_tool_use_block::ToolUseBlock;
   75    221   
         222  +
pub use crate::types::_converse_trace::ConverseTrace;
         223  +
   76    224   
pub use crate::types::_converse_metrics::ConverseMetrics;
   77    225   
   78    226   
pub use crate::types::_converse_output::ConverseOutput;
   79    227   
         228  +
pub use crate::types::_guardrail_configuration::GuardrailConfiguration;
         229  +
         230  +
pub use crate::types::_guardrail_output_content::GuardrailOutputContent;
         231  +
         232  +
pub use crate::types::_guardrail_action::GuardrailAction;
         233  +
         234  +
pub use crate::types::_guardrail_output_scope::GuardrailOutputScope;
         235  +
         236  +
pub use crate::types::_guardrail_content_block::GuardrailContentBlock;
         237  +
         238  +
pub use crate::types::_guardrail_image_block::GuardrailImageBlock;
         239  +
         240  +
pub use crate::types::_guardrail_image_source::GuardrailImageSource;
         241  +
         242  +
pub use crate::types::_guardrail_image_format::GuardrailImageFormat;
         243  +
         244  +
pub use crate::types::_guardrail_text_block::GuardrailTextBlock;
         245  +
         246  +
pub use crate::types::_guardrail_content_qualifier::GuardrailContentQualifier;
         247  +
         248  +
pub use crate::types::_guardrail_content_source::GuardrailContentSource;
         249  +
         250  +
pub use crate::types::_tag::Tag;
         251  +
         252  +
pub use crate::types::_async_invoke_output_data_config::AsyncInvokeOutputDataConfig;
         253  +
         254  +
pub use crate::types::_async_invoke_s3_output_data_config::AsyncInvokeS3OutputDataConfig;
         255  +
         256  +
pub use crate::types::_async_invoke_summary::AsyncInvokeSummary;
         257  +
         258  +
pub use crate::types::_async_invoke_status::AsyncInvokeStatus;
         259  +
         260  +
pub use crate::types::_sort_order::SortOrder;
         261  +
         262  +
pub use crate::types::_sort_async_invocation_by::SortAsyncInvocationBy;
         263  +
   80    264   
mod _any_tool_choice;
   81    265   
         266  +
mod _async_invoke_output_data_config;
         267  +
         268  +
mod _async_invoke_s3_output_data_config;
         269  +
         270  +
mod _async_invoke_status;
         271  +
         272  +
mod _async_invoke_summary;
         273  +
   82    274   
mod _auto_tool_choice;
   83    275   
         276  +
mod _bidirectional_input_payload_part;
         277  +
         278  +
mod _bidirectional_output_payload_part;
         279  +
         280  +
mod _cache_point_block;
         281  +
         282  +
mod _cache_point_type;
         283  +
         284  +
mod _citation;
         285  +
         286  +
mod _citation_generated_content;
         287  +
         288  +
mod _citation_location;
         289  +
         290  +
mod _citation_source_content;
         291  +
         292  +
mod _citation_source_content_delta;
         293  +
         294  +
mod _citations_config;
         295  +
         296  +
mod _citations_content_block;
         297  +
         298  +
mod _citations_delta;
         299  +
   84    300   
mod _content_block;
   85    301   
   86    302   
mod _content_block_delta;
   87    303   
   88    304   
mod _content_block_delta_event;
   89    305   
   90    306   
mod _content_block_start;
   91    307   
   92    308   
mod _content_block_start_event;
   93    309   
   94    310   
mod _content_block_stop_event;
   95    311   
   96    312   
mod _conversation_role;
   97    313   
   98    314   
mod _converse_metrics;
   99    315   
  100    316   
mod _converse_output;
  101    317   
  102    318   
mod _converse_stream_metadata_event;
  103    319   
  104    320   
mod _converse_stream_metrics;
  105    321   
  106    322   
mod _converse_stream_output;
  107    323   
         324  +
mod _converse_stream_trace;
         325  +
         326  +
mod _converse_trace;
         327  +
         328  +
mod _document_block;
         329  +
         330  +
mod _document_char_location;
         331  +
         332  +
mod _document_chunk_location;
         333  +
         334  +
mod _document_content_block;
         335  +
         336  +
mod _document_format;
         337  +
         338  +
mod _document_page_location;
         339  +
         340  +
mod _document_source;
         341  +
         342  +
mod _guardrail_action;
         343  +
         344  +
mod _guardrail_assessment;
         345  +
         346  +
mod _guardrail_configuration;
         347  +
         348  +
mod _guardrail_content_block;
         349  +
         350  +
mod _guardrail_content_filter;
         351  +
         352  +
mod _guardrail_content_filter_confidence;
         353  +
         354  +
mod _guardrail_content_filter_strength;
         355  +
         356  +
mod _guardrail_content_filter_type;
         357  +
         358  +
mod _guardrail_content_policy_action;
         359  +
         360  +
mod _guardrail_content_policy_assessment;
         361  +
         362  +
mod _guardrail_content_qualifier;
         363  +
         364  +
mod _guardrail_content_source;
         365  +
         366  +
mod _guardrail_contextual_grounding_filter;
         367  +
         368  +
mod _guardrail_contextual_grounding_filter_type;
         369  +
         370  +
mod _guardrail_contextual_grounding_policy_action;
         371  +
         372  +
mod _guardrail_contextual_grounding_policy_assessment;
         373  +
         374  +
mod _guardrail_converse_content_block;
         375  +
         376  +
mod _guardrail_converse_content_qualifier;
         377  +
         378  +
mod _guardrail_converse_image_block;
         379  +
         380  +
mod _guardrail_converse_image_format;
         381  +
         382  +
mod _guardrail_converse_image_source;
         383  +
         384  +
mod _guardrail_converse_text_block;
         385  +
         386  +
mod _guardrail_coverage;
         387  +
         388  +
mod _guardrail_custom_word;
         389  +
         390  +
mod _guardrail_image_block;
         391  +
         392  +
mod _guardrail_image_coverage;
         393  +
         394  +
mod _guardrail_image_format;
         395  +
         396  +
mod _guardrail_image_source;
         397  +
         398  +
mod _guardrail_invocation_metrics;
         399  +
         400  +
mod _guardrail_managed_word;
         401  +
         402  +
mod _guardrail_managed_word_type;
         403  +
         404  +
mod _guardrail_output_content;
         405  +
         406  +
mod _guardrail_output_scope;
         407  +
         408  +
mod _guardrail_pii_entity_filter;
         409  +
         410  +
mod _guardrail_pii_entity_type;
         411  +
         412  +
mod _guardrail_regex_filter;
         413  +
         414  +
mod _guardrail_sensitive_information_policy_action;
         415  +
         416  +
mod _guardrail_sensitive_information_policy_assessment;
         417  +
         418  +
mod _guardrail_stream_configuration;
         419  +
         420  +
mod _guardrail_stream_processing_mode;
         421  +
         422  +
mod _guardrail_text_block;
         423  +
         424  +
mod _guardrail_text_characters_coverage;
         425  +
         426  +
mod _guardrail_topic;
         427  +
         428  +
mod _guardrail_topic_policy_action;
         429  +
         430  +
mod _guardrail_topic_policy_assessment;
         431  +
         432  +
mod _guardrail_topic_type;
         433  +
         434  +
mod _guardrail_trace;
         435  +
         436  +
mod _guardrail_trace_assessment;
         437  +
         438  +
mod _guardrail_usage;
         439  +
         440  +
mod _guardrail_word_policy_action;
         441  +
         442  +
mod _guardrail_word_policy_assessment;
         443  +
  108    444   
mod _image_block;
  109    445   
  110    446   
mod _image_format;
  111    447   
  112    448   
mod _image_source;
  113    449   
  114    450   
mod _inference_configuration;
  115    451   
         452  +
mod _invoke_model_with_bidirectional_stream_input;
         453  +
         454  +
mod _invoke_model_with_bidirectional_stream_output;
         455  +
  116    456   
mod _message;
  117    457   
  118    458   
mod _message_start_event;
  119    459   
  120    460   
mod _message_stop_event;
  121    461   
  122    462   
mod _payload_part;
  123    463   
         464  +
mod _performance_config_latency;
         465  +
         466  +
mod _performance_configuration;
         467  +
         468  +
mod _prompt_router_trace;
         469  +
         470  +
mod _prompt_variable_values;
         471  +
         472  +
mod _reasoning_content_block;
         473  +
         474  +
mod _reasoning_content_block_delta;
         475  +
         476  +
mod _reasoning_text_block;
         477  +
  124    478   
mod _response_stream;
  125    479   
         480  +
mod _s3_location;
         481  +
         482  +
mod _sort_async_invocation_by;
         483  +
         484  +
mod _sort_order;
         485  +
  126    486   
mod _specific_tool_choice;
  127    487   
  128    488   
mod _stop_reason;
  129    489   
  130    490   
mod _system_content_block;
  131    491   
         492  +
mod _tag;
         493  +
  132    494   
mod _token_usage;
  133    495   
  134    496   
mod _tool;
  135    497   
  136    498   
mod _tool_choice;
  137    499   
  138    500   
mod _tool_configuration;
  139    501   
  140    502   
mod _tool_input_schema;
  141    503   
  142    504   
mod _tool_result_block;
  143    505   
  144    506   
mod _tool_result_content_block;
  145    507   
  146    508   
mod _tool_result_status;
  147    509   
  148    510   
mod _tool_specification;
  149    511   
  150    512   
mod _tool_use_block;
  151    513   
  152    514   
mod _tool_use_block_delta;
  153    515   
  154    516   
mod _tool_use_block_start;
  155    517   
  156    518   
mod _trace;
  157    519   
         520  +
mod _video_block;
         521  +
         522  +
mod _video_format;
         523  +
         524  +
mod _video_source;
         525  +
  158    526   
/// Builders
  159    527   
pub mod builders;
  160    528   
  161    529   
/// Error types that Amazon Bedrock Runtime can respond with.
  162    530   
pub mod error;

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/types/_any_tool_choice.rs

@@ -1,1 +23,23 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
    3         -
/// <p>The model must request at least one tool (no text is generated).</p>
           3  +
/// <p>The model must request at least one tool (no text is generated). For example, <code>{"any" : {}}</code>.</p>
    4      4   
#[non_exhaustive]
    5      5   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6      6   
pub struct AnyToolChoice {}
    7      7   
impl AnyToolChoice {
    8      8   
    /// Creates a new builder-style object to manufacture [`AnyToolChoice`](crate::types::AnyToolChoice).
    9      9   
    pub fn builder() -> crate::types::builders::AnyToolChoiceBuilder {
   10     10   
        crate::types::builders::AnyToolChoiceBuilder::default()
   11     11   
    }
   12     12   
}
   13     13   

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/types/_async_invoke_output_data_config.rs

@@ -0,1 +0,38 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// <p>Asynchronous invocation output data settings.</p>
           4  +
#[non_exhaustive]
           5  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           6  +
pub enum AsyncInvokeOutputDataConfig {
           7  +
    /// <p>A storage location for the output data in an S3 bucket</p>
           8  +
    S3OutputDataConfig(crate::types::AsyncInvokeS3OutputDataConfig),
           9  +
    /// The `Unknown` variant represents cases where new union variant was received. Consider upgrading the SDK to the latest available version.
          10  +
    /// An unknown enum variant
          11  +
    ///
          12  +
    /// _Note: If you encounter this error, consider upgrading your SDK to the latest version._
          13  +
    /// The `Unknown` variant represents cases where the server sent a value that wasn't recognized
          14  +
    /// by the client. This can happen when the server adds new functionality, but the client has not been updated.
          15  +
    /// To investigate this, consider turning on debug logging to print the raw HTTP response.
          16  +
    #[non_exhaustive]
          17  +
    Unknown,
          18  +
}
          19  +
impl AsyncInvokeOutputDataConfig {
          20  +
    #[allow(irrefutable_let_patterns)]
          21  +
    /// Tries to convert the enum instance into [`S3OutputDataConfig`](crate::types::AsyncInvokeOutputDataConfig::S3OutputDataConfig), extracting the inner [`AsyncInvokeS3OutputDataConfig`](crate::types::AsyncInvokeS3OutputDataConfig).
          22  +
    /// Returns `Err(&Self)` if it can't be converted.
          23  +
    pub fn as_s3_output_data_config(&self) -> ::std::result::Result<&crate::types::AsyncInvokeS3OutputDataConfig, &Self> {
          24  +
        if let AsyncInvokeOutputDataConfig::S3OutputDataConfig(val) = &self {
          25  +
            ::std::result::Result::Ok(val)
          26  +
        } else {
          27  +
            ::std::result::Result::Err(self)
          28  +
        }
          29  +
    }
          30  +
    /// Returns true if this is a [`S3OutputDataConfig`](crate::types::AsyncInvokeOutputDataConfig::S3OutputDataConfig).
          31  +
    pub fn is_s3_output_data_config(&self) -> bool {
          32  +
        self.as_s3_output_data_config().is_ok()
          33  +
    }
          34  +
    /// Returns true if the enum instance is the `Unknown` variant.
          35  +
    pub fn is_unknown(&self) -> bool {
          36  +
        matches!(self, Self::Unknown)
          37  +
    }
          38  +
}

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/types/_async_invoke_s3_output_data_config.rs

@@ -0,1 +0,103 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// <p>Asynchronous invocation output data settings.</p>
           4  +
#[non_exhaustive]
           5  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           6  +
pub struct AsyncInvokeS3OutputDataConfig {
           7  +
    /// <p>An object URI starting with <code>s3://</code>.</p>
           8  +
    pub s3_uri: ::std::string::String,
           9  +
    /// <p>A KMS encryption key ID.</p>
          10  +
    pub kms_key_id: ::std::option::Option<::std::string::String>,
          11  +
    /// <p>If the bucket belongs to another AWS account, specify that account's ID.</p>
          12  +
    pub bucket_owner: ::std::option::Option<::std::string::String>,
          13  +
}
          14  +
impl AsyncInvokeS3OutputDataConfig {
          15  +
    /// <p>An object URI starting with <code>s3://</code>.</p>
          16  +
    pub fn s3_uri(&self) -> &str {
          17  +
        use std::ops::Deref;
          18  +
        self.s3_uri.deref()
          19  +
    }
          20  +
    /// <p>A KMS encryption key ID.</p>
          21  +
    pub fn kms_key_id(&self) -> ::std::option::Option<&str> {
          22  +
        self.kms_key_id.as_deref()
          23  +
    }
          24  +
    /// <p>If the bucket belongs to another AWS account, specify that account's ID.</p>
          25  +
    pub fn bucket_owner(&self) -> ::std::option::Option<&str> {
          26  +
        self.bucket_owner.as_deref()
          27  +
    }
          28  +
}
          29  +
impl AsyncInvokeS3OutputDataConfig {
          30  +
    /// Creates a new builder-style object to manufacture [`AsyncInvokeS3OutputDataConfig`](crate::types::AsyncInvokeS3OutputDataConfig).
          31  +
    pub fn builder() -> crate::types::builders::AsyncInvokeS3OutputDataConfigBuilder {
          32  +
        crate::types::builders::AsyncInvokeS3OutputDataConfigBuilder::default()
          33  +
    }
          34  +
}
          35  +
          36  +
/// A builder for [`AsyncInvokeS3OutputDataConfig`](crate::types::AsyncInvokeS3OutputDataConfig).
          37  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          38  +
#[non_exhaustive]
          39  +
pub struct AsyncInvokeS3OutputDataConfigBuilder {
          40  +
    pub(crate) s3_uri: ::std::option::Option<::std::string::String>,
          41  +
    pub(crate) kms_key_id: ::std::option::Option<::std::string::String>,
          42  +
    pub(crate) bucket_owner: ::std::option::Option<::std::string::String>,
          43  +
}
          44  +
impl AsyncInvokeS3OutputDataConfigBuilder {
          45  +
    /// <p>An object URI starting with <code>s3://</code>.</p>
          46  +
    /// This field is required.
          47  +
    pub fn s3_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          48  +
        self.s3_uri = ::std::option::Option::Some(input.into());
          49  +
        self
          50  +
    }
          51  +
    /// <p>An object URI starting with <code>s3://</code>.</p>
          52  +
    pub fn set_s3_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          53  +
        self.s3_uri = input;
          54  +
        self
          55  +
    }
          56  +
    /// <p>An object URI starting with <code>s3://</code>.</p>
          57  +
    pub fn get_s3_uri(&self) -> &::std::option::Option<::std::string::String> {
          58  +
        &self.s3_uri
          59  +
    }
          60  +
    /// <p>A KMS encryption key ID.</p>
          61  +
    pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          62  +
        self.kms_key_id = ::std::option::Option::Some(input.into());
          63  +
        self
          64  +
    }
          65  +
    /// <p>A KMS encryption key ID.</p>
          66  +
    pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          67  +
        self.kms_key_id = input;
          68  +
        self
          69  +
    }
          70  +
    /// <p>A KMS encryption key ID.</p>
          71  +
    pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
          72  +
        &self.kms_key_id
          73  +
    }
          74  +
    /// <p>If the bucket belongs to another AWS account, specify that account's ID.</p>
          75  +
    pub fn bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          76  +
        self.bucket_owner = ::std::option::Option::Some(input.into());
          77  +
        self
          78  +
    }
          79  +
    /// <p>If the bucket belongs to another AWS account, specify that account's ID.</p>
          80  +
    pub fn set_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          81  +
        self.bucket_owner = input;
          82  +
        self
          83  +
    }
          84  +
    /// <p>If the bucket belongs to another AWS account, specify that account's ID.</p>
          85  +
    pub fn get_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
          86  +
        &self.bucket_owner
          87  +
    }
          88  +
    /// Consumes the builder and constructs a [`AsyncInvokeS3OutputDataConfig`](crate::types::AsyncInvokeS3OutputDataConfig).
          89  +
    /// This method will fail if any of the following fields are not set:
          90  +
    /// - [`s3_uri`](crate::types::builders::AsyncInvokeS3OutputDataConfigBuilder::s3_uri)
          91  +
    pub fn build(self) -> ::std::result::Result<crate::types::AsyncInvokeS3OutputDataConfig, ::aws_smithy_types::error::operation::BuildError> {
          92  +
        ::std::result::Result::Ok(crate::types::AsyncInvokeS3OutputDataConfig {
          93  +
            s3_uri: self.s3_uri.ok_or_else(|| {
          94  +
                ::aws_smithy_types::error::operation::BuildError::missing_field(
          95  +
                    "s3_uri",
          96  +
                    "s3_uri was not specified but it is required when building AsyncInvokeS3OutputDataConfig",
          97  +
                )
          98  +
            })?,
          99  +
            kms_key_id: self.kms_key_id,
         100  +
            bucket_owner: self.bucket_owner,
         101  +
        })
         102  +
    }
         103  +
}