pub struct Builder { /* private fields */ }
Expand description

A builder for GrpcRetryPolicy.

Implementations§

The timeout for each retry attempt.

The timeout for each retry attempt.

Examples found in repository?
src/json_deser.rs (lines 5733-5737)
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
pub(crate) fn deser_structure_crate_model_grpc_retry_policy<'a, I>(
    tokens: &mut std::iter::Peekable<I>,
) -> Result<
    Option<crate::model::GrpcRetryPolicy>,
    aws_smithy_json::deserialize::error::DeserializeError,
>
where
    I: Iterator<
        Item = Result<
            aws_smithy_json::deserialize::Token<'a>,
            aws_smithy_json::deserialize::error::DeserializeError,
        >,
    >,
{
    match tokens.next().transpose()? {
        Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
        Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
            #[allow(unused_mut)]
            let mut builder = crate::model::grpc_retry_policy::Builder::default();
            loop {
                match tokens.next().transpose()? {
                    Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
                    Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
                        match key.to_unescaped()?.as_ref() {
                            "perRetryTimeout" => {
                                builder = builder.set_per_retry_timeout(
                                    crate::json_deser::deser_structure_crate_model_duration(
                                        tokens,
                                    )?,
                                );
                            }
                            "maxRetries" => {
                                builder = builder.set_max_retries(
                                    aws_smithy_json::deserialize::token::expect_number_or_null(
                                        tokens.next(),
                                    )?
                                    .map(i64::try_from)
                                    .transpose()?,
                                );
                            }
                            "httpRetryEvents" => {
                                builder = builder.set_http_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_http_retry_policy_events(tokens)?
                                );
                            }
                            "tcpRetryEvents" => {
                                builder = builder.set_tcp_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_tcp_retry_policy_events(tokens)?
                                );
                            }
                            "grpcRetryEvents" => {
                                builder = builder.set_grpc_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_grpc_retry_policy_events(tokens)?
                                );
                            }
                            _ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
                        }
                    }
                    other => {
                        return Err(
                            aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
                                "expected object key or end object, found: {:?}",
                                other
                            )),
                        )
                    }
                }
            }
            Ok(Some(builder.build()))
        }
        _ => Err(
            aws_smithy_json::deserialize::error::DeserializeError::custom(
                "expected start object or null",
            ),
        ),
    }
}

The maximum number of retry attempts.

The maximum number of retry attempts.

Examples found in repository?
src/json_deser.rs (lines 5740-5746)
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
pub(crate) fn deser_structure_crate_model_grpc_retry_policy<'a, I>(
    tokens: &mut std::iter::Peekable<I>,
) -> Result<
    Option<crate::model::GrpcRetryPolicy>,
    aws_smithy_json::deserialize::error::DeserializeError,
>
where
    I: Iterator<
        Item = Result<
            aws_smithy_json::deserialize::Token<'a>,
            aws_smithy_json::deserialize::error::DeserializeError,
        >,
    >,
{
    match tokens.next().transpose()? {
        Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
        Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
            #[allow(unused_mut)]
            let mut builder = crate::model::grpc_retry_policy::Builder::default();
            loop {
                match tokens.next().transpose()? {
                    Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
                    Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
                        match key.to_unescaped()?.as_ref() {
                            "perRetryTimeout" => {
                                builder = builder.set_per_retry_timeout(
                                    crate::json_deser::deser_structure_crate_model_duration(
                                        tokens,
                                    )?,
                                );
                            }
                            "maxRetries" => {
                                builder = builder.set_max_retries(
                                    aws_smithy_json::deserialize::token::expect_number_or_null(
                                        tokens.next(),
                                    )?
                                    .map(i64::try_from)
                                    .transpose()?,
                                );
                            }
                            "httpRetryEvents" => {
                                builder = builder.set_http_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_http_retry_policy_events(tokens)?
                                );
                            }
                            "tcpRetryEvents" => {
                                builder = builder.set_tcp_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_tcp_retry_policy_events(tokens)?
                                );
                            }
                            "grpcRetryEvents" => {
                                builder = builder.set_grpc_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_grpc_retry_policy_events(tokens)?
                                );
                            }
                            _ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
                        }
                    }
                    other => {
                        return Err(
                            aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
                                "expected object key or end object, found: {:?}",
                                other
                            )),
                        )
                    }
                }
            }
            Ok(Some(builder.build()))
        }
        _ => Err(
            aws_smithy_json::deserialize::error::DeserializeError::custom(
                "expected start object or null",
            ),
        ),
    }
}

Appends an item to http_retry_events.

To override the contents of this collection use set_http_retry_events.

Specify at least one of the following values.

  • server-error – HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511

  • gateway-error – HTTP status codes 502, 503, and 504

  • client-error – HTTP status code 409

  • stream-error – Retry on refused stream

Specify at least one of the following values.

  • server-error – HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511

  • gateway-error – HTTP status codes 502, 503, and 504

  • client-error – HTTP status code 409

  • stream-error – Retry on refused stream

Examples found in repository?
src/json_deser.rs (lines 5749-5751)
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
pub(crate) fn deser_structure_crate_model_grpc_retry_policy<'a, I>(
    tokens: &mut std::iter::Peekable<I>,
) -> Result<
    Option<crate::model::GrpcRetryPolicy>,
    aws_smithy_json::deserialize::error::DeserializeError,
>
where
    I: Iterator<
        Item = Result<
            aws_smithy_json::deserialize::Token<'a>,
            aws_smithy_json::deserialize::error::DeserializeError,
        >,
    >,
{
    match tokens.next().transpose()? {
        Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
        Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
            #[allow(unused_mut)]
            let mut builder = crate::model::grpc_retry_policy::Builder::default();
            loop {
                match tokens.next().transpose()? {
                    Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
                    Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
                        match key.to_unescaped()?.as_ref() {
                            "perRetryTimeout" => {
                                builder = builder.set_per_retry_timeout(
                                    crate::json_deser::deser_structure_crate_model_duration(
                                        tokens,
                                    )?,
                                );
                            }
                            "maxRetries" => {
                                builder = builder.set_max_retries(
                                    aws_smithy_json::deserialize::token::expect_number_or_null(
                                        tokens.next(),
                                    )?
                                    .map(i64::try_from)
                                    .transpose()?,
                                );
                            }
                            "httpRetryEvents" => {
                                builder = builder.set_http_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_http_retry_policy_events(tokens)?
                                );
                            }
                            "tcpRetryEvents" => {
                                builder = builder.set_tcp_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_tcp_retry_policy_events(tokens)?
                                );
                            }
                            "grpcRetryEvents" => {
                                builder = builder.set_grpc_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_grpc_retry_policy_events(tokens)?
                                );
                            }
                            _ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
                        }
                    }
                    other => {
                        return Err(
                            aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
                                "expected object key or end object, found: {:?}",
                                other
                            )),
                        )
                    }
                }
            }
            Ok(Some(builder.build()))
        }
        _ => Err(
            aws_smithy_json::deserialize::error::DeserializeError::custom(
                "expected start object or null",
            ),
        ),
    }
}

Appends an item to tcp_retry_events.

To override the contents of this collection use set_tcp_retry_events.

Specify a valid value. The event occurs before any processing of a request has started and is encountered when the upstream is temporarily or permanently unavailable.

Specify a valid value. The event occurs before any processing of a request has started and is encountered when the upstream is temporarily or permanently unavailable.

Examples found in repository?
src/json_deser.rs (lines 5754-5756)
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
pub(crate) fn deser_structure_crate_model_grpc_retry_policy<'a, I>(
    tokens: &mut std::iter::Peekable<I>,
) -> Result<
    Option<crate::model::GrpcRetryPolicy>,
    aws_smithy_json::deserialize::error::DeserializeError,
>
where
    I: Iterator<
        Item = Result<
            aws_smithy_json::deserialize::Token<'a>,
            aws_smithy_json::deserialize::error::DeserializeError,
        >,
    >,
{
    match tokens.next().transpose()? {
        Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
        Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
            #[allow(unused_mut)]
            let mut builder = crate::model::grpc_retry_policy::Builder::default();
            loop {
                match tokens.next().transpose()? {
                    Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
                    Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
                        match key.to_unescaped()?.as_ref() {
                            "perRetryTimeout" => {
                                builder = builder.set_per_retry_timeout(
                                    crate::json_deser::deser_structure_crate_model_duration(
                                        tokens,
                                    )?,
                                );
                            }
                            "maxRetries" => {
                                builder = builder.set_max_retries(
                                    aws_smithy_json::deserialize::token::expect_number_or_null(
                                        tokens.next(),
                                    )?
                                    .map(i64::try_from)
                                    .transpose()?,
                                );
                            }
                            "httpRetryEvents" => {
                                builder = builder.set_http_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_http_retry_policy_events(tokens)?
                                );
                            }
                            "tcpRetryEvents" => {
                                builder = builder.set_tcp_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_tcp_retry_policy_events(tokens)?
                                );
                            }
                            "grpcRetryEvents" => {
                                builder = builder.set_grpc_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_grpc_retry_policy_events(tokens)?
                                );
                            }
                            _ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
                        }
                    }
                    other => {
                        return Err(
                            aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
                                "expected object key or end object, found: {:?}",
                                other
                            )),
                        )
                    }
                }
            }
            Ok(Some(builder.build()))
        }
        _ => Err(
            aws_smithy_json::deserialize::error::DeserializeError::custom(
                "expected start object or null",
            ),
        ),
    }
}

Appends an item to grpc_retry_events.

To override the contents of this collection use set_grpc_retry_events.

Specify at least one of the valid values.

Specify at least one of the valid values.

Examples found in repository?
src/json_deser.rs (lines 5759-5761)
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
pub(crate) fn deser_structure_crate_model_grpc_retry_policy<'a, I>(
    tokens: &mut std::iter::Peekable<I>,
) -> Result<
    Option<crate::model::GrpcRetryPolicy>,
    aws_smithy_json::deserialize::error::DeserializeError,
>
where
    I: Iterator<
        Item = Result<
            aws_smithy_json::deserialize::Token<'a>,
            aws_smithy_json::deserialize::error::DeserializeError,
        >,
    >,
{
    match tokens.next().transpose()? {
        Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
        Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
            #[allow(unused_mut)]
            let mut builder = crate::model::grpc_retry_policy::Builder::default();
            loop {
                match tokens.next().transpose()? {
                    Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
                    Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
                        match key.to_unescaped()?.as_ref() {
                            "perRetryTimeout" => {
                                builder = builder.set_per_retry_timeout(
                                    crate::json_deser::deser_structure_crate_model_duration(
                                        tokens,
                                    )?,
                                );
                            }
                            "maxRetries" => {
                                builder = builder.set_max_retries(
                                    aws_smithy_json::deserialize::token::expect_number_or_null(
                                        tokens.next(),
                                    )?
                                    .map(i64::try_from)
                                    .transpose()?,
                                );
                            }
                            "httpRetryEvents" => {
                                builder = builder.set_http_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_http_retry_policy_events(tokens)?
                                );
                            }
                            "tcpRetryEvents" => {
                                builder = builder.set_tcp_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_tcp_retry_policy_events(tokens)?
                                );
                            }
                            "grpcRetryEvents" => {
                                builder = builder.set_grpc_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_grpc_retry_policy_events(tokens)?
                                );
                            }
                            _ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
                        }
                    }
                    other => {
                        return Err(
                            aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
                                "expected object key or end object, found: {:?}",
                                other
                            )),
                        )
                    }
                }
            }
            Ok(Some(builder.build()))
        }
        _ => Err(
            aws_smithy_json::deserialize::error::DeserializeError::custom(
                "expected start object or null",
            ),
        ),
    }
}

Consumes the builder and constructs a GrpcRetryPolicy.

Examples found in repository?
src/json_deser.rs (line 5776)
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
pub(crate) fn deser_structure_crate_model_grpc_retry_policy<'a, I>(
    tokens: &mut std::iter::Peekable<I>,
) -> Result<
    Option<crate::model::GrpcRetryPolicy>,
    aws_smithy_json::deserialize::error::DeserializeError,
>
where
    I: Iterator<
        Item = Result<
            aws_smithy_json::deserialize::Token<'a>,
            aws_smithy_json::deserialize::error::DeserializeError,
        >,
    >,
{
    match tokens.next().transpose()? {
        Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
        Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
            #[allow(unused_mut)]
            let mut builder = crate::model::grpc_retry_policy::Builder::default();
            loop {
                match tokens.next().transpose()? {
                    Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
                    Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
                        match key.to_unescaped()?.as_ref() {
                            "perRetryTimeout" => {
                                builder = builder.set_per_retry_timeout(
                                    crate::json_deser::deser_structure_crate_model_duration(
                                        tokens,
                                    )?,
                                );
                            }
                            "maxRetries" => {
                                builder = builder.set_max_retries(
                                    aws_smithy_json::deserialize::token::expect_number_or_null(
                                        tokens.next(),
                                    )?
                                    .map(i64::try_from)
                                    .transpose()?,
                                );
                            }
                            "httpRetryEvents" => {
                                builder = builder.set_http_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_http_retry_policy_events(tokens)?
                                );
                            }
                            "tcpRetryEvents" => {
                                builder = builder.set_tcp_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_tcp_retry_policy_events(tokens)?
                                );
                            }
                            "grpcRetryEvents" => {
                                builder = builder.set_grpc_retry_events(
                                    crate::json_deser::deser_list_com_amazonaws_appmesh_grpc_retry_policy_events(tokens)?
                                );
                            }
                            _ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
                        }
                    }
                    other => {
                        return Err(
                            aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
                                "expected object key or end object, found: {:?}",
                                other
                            )),
                        )
                    }
                }
            }
            Ok(Some(builder.build()))
        }
        _ => Err(
            aws_smithy_json::deserialize::error::DeserializeError::custom(
                "expected start object or null",
            ),
        ),
    }
}

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more