Struct aws_sdk_lambda::operation::put_function_recursion_config::builders::PutFunctionRecursionConfigFluentBuilder
source · pub struct PutFunctionRecursionConfigFluentBuilder { /* private fields */ }
Expand description
Fluent builder constructing a request to PutFunctionRecursionConfig
.
Sets your function's recursive loop detection configuration.
When you configure a Lambda function to output to the same service or resource that invokes the function, it's possible to create an infinite recursive loop. For example, a Lambda function might write a message to an Amazon Simple Queue Service (Amazon SQS) queue, which then invokes the same function. This invocation causes the function to write another message to the queue, which in turn invokes the function again.
Lambda can detect certain types of recursive loops shortly after they occur. When Lambda detects a recursive loop and your function's recursive loop detection configuration is set to Terminate
, it stops your function being invoked and notifies you.
Implementations§
source§impl PutFunctionRecursionConfigFluentBuilder
impl PutFunctionRecursionConfigFluentBuilder
sourcepub fn as_input(&self) -> &PutFunctionRecursionConfigInputBuilder
pub fn as_input(&self) -> &PutFunctionRecursionConfigInputBuilder
Access the PutFunctionRecursionConfig as a reference.
sourcepub async fn send(
self,
) -> Result<PutFunctionRecursionConfigOutput, SdkError<PutFunctionRecursionConfigError, HttpResponse>>
pub async fn send( self, ) -> Result<PutFunctionRecursionConfigOutput, SdkError<PutFunctionRecursionConfigError, HttpResponse>>
Sends the request and returns the response.
If an error occurs, an SdkError
will be returned with additional details that
can be matched against.
By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.
sourcepub fn customize(
self,
) -> CustomizableOperation<PutFunctionRecursionConfigOutput, PutFunctionRecursionConfigError, Self>
pub fn customize( self, ) -> CustomizableOperation<PutFunctionRecursionConfigOutput, PutFunctionRecursionConfigError, Self>
Consumes this builder, creating a customizable operation that can be modified before being sent.
sourcepub fn function_name(self, input: impl Into<String>) -> Self
pub fn function_name(self, input: impl Into<String>) -> Self
The name or ARN of the Lambda function.
Name formats
-
Function name –
my-function
. -
Function ARN –
arn:aws:lambda:us-west-2:123456789012:function:my-function
. -
Partial ARN –
123456789012:function:my-function
.
The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
sourcepub fn set_function_name(self, input: Option<String>) -> Self
pub fn set_function_name(self, input: Option<String>) -> Self
The name or ARN of the Lambda function.
Name formats
-
Function name –
my-function
. -
Function ARN –
arn:aws:lambda:us-west-2:123456789012:function:my-function
. -
Partial ARN –
123456789012:function:my-function
.
The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
sourcepub fn get_function_name(&self) -> &Option<String>
pub fn get_function_name(&self) -> &Option<String>
The name or ARN of the Lambda function.
Name formats
-
Function name –
my-function
. -
Function ARN –
arn:aws:lambda:us-west-2:123456789012:function:my-function
. -
Partial ARN –
123456789012:function:my-function
.
The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
sourcepub fn recursive_loop(self, input: RecursiveLoop) -> Self
pub fn recursive_loop(self, input: RecursiveLoop) -> Self
If you set your function's recursive loop detection configuration to Allow
, Lambda doesn't take any action when it detects your function being invoked as part of a recursive loop. We recommend that you only use this setting if your design intentionally uses a Lambda function to write data back to the same Amazon Web Services resource that invokes it.
If you set your function's recursive loop detection configuration to Terminate
, Lambda stops your function being invoked and notifies you when it detects your function being invoked as part of a recursive loop.
By default, Lambda sets your function's configuration to Terminate
.
If your design intentionally uses a Lambda function to write data back to the same Amazon Web Services resource that invokes the function, then use caution and implement suitable guard rails to prevent unexpected charges being billed to your Amazon Web Services account. To learn more about best practices for using recursive invocation patterns, see Recursive patterns that cause run-away Lambda functions in Serverless Land.
sourcepub fn set_recursive_loop(self, input: Option<RecursiveLoop>) -> Self
pub fn set_recursive_loop(self, input: Option<RecursiveLoop>) -> Self
If you set your function's recursive loop detection configuration to Allow
, Lambda doesn't take any action when it detects your function being invoked as part of a recursive loop. We recommend that you only use this setting if your design intentionally uses a Lambda function to write data back to the same Amazon Web Services resource that invokes it.
If you set your function's recursive loop detection configuration to Terminate
, Lambda stops your function being invoked and notifies you when it detects your function being invoked as part of a recursive loop.
By default, Lambda sets your function's configuration to Terminate
.
If your design intentionally uses a Lambda function to write data back to the same Amazon Web Services resource that invokes the function, then use caution and implement suitable guard rails to prevent unexpected charges being billed to your Amazon Web Services account. To learn more about best practices for using recursive invocation patterns, see Recursive patterns that cause run-away Lambda functions in Serverless Land.
sourcepub fn get_recursive_loop(&self) -> &Option<RecursiveLoop>
pub fn get_recursive_loop(&self) -> &Option<RecursiveLoop>
If you set your function's recursive loop detection configuration to Allow
, Lambda doesn't take any action when it detects your function being invoked as part of a recursive loop. We recommend that you only use this setting if your design intentionally uses a Lambda function to write data back to the same Amazon Web Services resource that invokes it.
If you set your function's recursive loop detection configuration to Terminate
, Lambda stops your function being invoked and notifies you when it detects your function being invoked as part of a recursive loop.
By default, Lambda sets your function's configuration to Terminate
.
If your design intentionally uses a Lambda function to write data back to the same Amazon Web Services resource that invokes the function, then use caution and implement suitable guard rails to prevent unexpected charges being billed to your Amazon Web Services account. To learn more about best practices for using recursive invocation patterns, see Recursive patterns that cause run-away Lambda functions in Serverless Land.
Trait Implementations§
source§impl Clone for PutFunctionRecursionConfigFluentBuilder
impl Clone for PutFunctionRecursionConfigFluentBuilder
source§fn clone(&self) -> PutFunctionRecursionConfigFluentBuilder
fn clone(&self) -> PutFunctionRecursionConfigFluentBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for PutFunctionRecursionConfigFluentBuilder
impl !RefUnwindSafe for PutFunctionRecursionConfigFluentBuilder
impl Send for PutFunctionRecursionConfigFluentBuilder
impl Sync for PutFunctionRecursionConfigFluentBuilder
impl Unpin for PutFunctionRecursionConfigFluentBuilder
impl !UnwindSafe for PutFunctionRecursionConfigFluentBuilder
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more