1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::remove_permission::_remove_permission_output::RemovePermissionOutputBuilder;
pub use crate::operation::remove_permission::_remove_permission_input::RemovePermissionInputBuilder;
/// Fluent builder constructing a request to `RemovePermission`.
///
/// <p>Revokes function-use permission from an Amazon Web Service or another Amazon Web Services account. You can get the ID of the statement from the output of <code>GetPolicy</code>.</p>
#[derive(std::clone::Clone, std::fmt::Debug)]
pub struct RemovePermissionFluentBuilder {
handle: std::sync::Arc<crate::client::Handle>,
inner: crate::operation::remove_permission::builders::RemovePermissionInputBuilder,
}
impl RemovePermissionFluentBuilder {
/// Creates a new `RemovePermission`.
pub(crate) fn new(handle: std::sync::Arc<crate::client::Handle>) -> Self {
Self {
handle,
inner: Default::default(),
}
}
/// Consume this builder, creating a customizable operation that can be modified before being
/// sent. The operation's inner [http::Request] can be modified as well.
pub async fn customize(
self,
) -> std::result::Result<
crate::client::customize::CustomizableOperation<
crate::operation::remove_permission::RemovePermission,
aws_http::retry::AwsResponseRetryClassifier,
>,
aws_smithy_http::result::SdkError<
crate::operation::remove_permission::RemovePermissionError,
>,
> {
let handle = self.handle.clone();
let operation = self
.inner
.build()
.map_err(aws_smithy_http::result::SdkError::construction_failure)?
.make_operation(&handle.conf)
.await
.map_err(aws_smithy_http::result::SdkError::construction_failure)?;
Ok(crate::client::customize::CustomizableOperation { handle, operation })
}
/// 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](aws_smithy_types::retry::RetryConfig), which can be
/// set when configuring the client.
pub async fn send(
self,
) -> std::result::Result<
crate::operation::remove_permission::RemovePermissionOutput,
aws_smithy_http::result::SdkError<
crate::operation::remove_permission::RemovePermissionError,
>,
> {
let op = self
.inner
.build()
.map_err(aws_smithy_http::result::SdkError::construction_failure)?
.make_operation(&self.handle.conf)
.await
.map_err(aws_smithy_http::result::SdkError::construction_failure)?;
self.handle.client.call(op).await
}
/// <p>The name of the Lambda function, version, or alias.</p>
/// <p class="title"> <b>Name formats</b> </p>
/// <ul>
/// <li> <p> <b>Function name</b> – <code>my-function</code> (name-only), <code>my-function:v1</code> (with alias).</p> </li>
/// <li> <p> <b>Function ARN</b> – <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p> </li>
/// <li> <p> <b>Partial ARN</b> – <code>123456789012:function:my-function</code>.</p> </li>
/// </ul>
/// <p>You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.</p>
pub fn function_name(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.function_name(input.into());
self
}
/// <p>The name of the Lambda function, version, or alias.</p>
/// <p class="title"> <b>Name formats</b> </p>
/// <ul>
/// <li> <p> <b>Function name</b> – <code>my-function</code> (name-only), <code>my-function:v1</code> (with alias).</p> </li>
/// <li> <p> <b>Function ARN</b> – <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p> </li>
/// <li> <p> <b>Partial ARN</b> – <code>123456789012:function:my-function</code>.</p> </li>
/// </ul>
/// <p>You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.</p>
pub fn set_function_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_function_name(input);
self
}
/// <p>Statement ID of the permission to remove.</p>
pub fn statement_id(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.statement_id(input.into());
self
}
/// <p>Statement ID of the permission to remove.</p>
pub fn set_statement_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_statement_id(input);
self
}
/// <p>Specify a version or alias to remove permissions from a published version of the function.</p>
pub fn qualifier(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.qualifier(input.into());
self
}
/// <p>Specify a version or alias to remove permissions from a published version of the function.</p>
pub fn set_qualifier(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_qualifier(input);
self
}
/// <p>Update the policy only if the revision ID matches the ID that's specified. Use this option to avoid modifying a policy that has changed since you last read it.</p>
pub fn revision_id(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.revision_id(input.into());
self
}
/// <p>Update the policy only if the revision ID matches the ID that's specified. Use this option to avoid modifying a policy that has changed since you last read it.</p>
pub fn set_revision_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_revision_id(input);
self
}
}