aws-sdk-bedrockagentcore 1.44.0

AWS SDK for Amazon Bedrock AgentCore
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::delete_payment_instrument::_delete_payment_instrument_input::DeletePaymentInstrumentInputBuilder;

pub use crate::operation::delete_payment_instrument::_delete_payment_instrument_output::DeletePaymentInstrumentOutputBuilder;

impl crate::operation::delete_payment_instrument::builders::DeletePaymentInstrumentInputBuilder {
    /// Sends a request with this input using the given client.
    pub async fn send_with(
        self,
        client: &crate::Client,
    ) -> ::std::result::Result<
        crate::operation::delete_payment_instrument::DeletePaymentInstrumentOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::delete_payment_instrument::DeletePaymentInstrumentError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let mut fluent_builder = client.delete_payment_instrument();
        fluent_builder.inner = self;
        fluent_builder.send().await
    }
}
/// Fluent builder constructing a request to `DeletePaymentInstrument`.
///
/// Delete a payment instrument Marks a payment instrument as deleted by updating its status to DELETED. This is a soft delete operation that preserves the record in the database for audit and compliance purposes. The record remains queryable for audit purposes but is excluded from normal list and get operations. Deleting an already-deleted or non-existent instrument returns ResourceNotFoundException (404). Authorization: The caller must own the instrument (accountId, userId, and paymentManagerId must match). If authorization fails, a 403 Forbidden error is returned. Timestamp Management: The updatedAt timestamp is set to the current time, while createdAt is preserved. The version field is incremented for optimistic locking. Errors: - ResourceNotFoundException: The instrument does not exist or is already deleted - AccessDeniedException: The caller is not authorized to delete this instrument - ValidationException: Required fields are missing or invalid - InternalServerException: An unexpected server error occurred
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct DeletePaymentInstrumentFluentBuilder {
    handle: ::std::sync::Arc<crate::client::Handle>,
    inner: crate::operation::delete_payment_instrument::builders::DeletePaymentInstrumentInputBuilder,
    config_override: ::std::option::Option<crate::config::Builder>,
}
impl
    crate::client::customize::internal::CustomizableSend<
        crate::operation::delete_payment_instrument::DeletePaymentInstrumentOutput,
        crate::operation::delete_payment_instrument::DeletePaymentInstrumentError,
    > for DeletePaymentInstrumentFluentBuilder
{
    fn send(
        self,
        config_override: crate::config::Builder,
    ) -> crate::client::customize::internal::BoxFuture<
        crate::client::customize::internal::SendResult<
            crate::operation::delete_payment_instrument::DeletePaymentInstrumentOutput,
            crate::operation::delete_payment_instrument::DeletePaymentInstrumentError,
        >,
    > {
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
    }
}
impl DeletePaymentInstrumentFluentBuilder {
    /// Creates a new `DeletePaymentInstrumentFluentBuilder`.
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
        Self {
            handle,
            inner: ::std::default::Default::default(),
            config_override: ::std::option::Option::None,
        }
    }
    /// Access the DeletePaymentInstrument as a reference.
    pub fn as_input(&self) -> &crate::operation::delete_payment_instrument::builders::DeletePaymentInstrumentInputBuilder {
        &self.inner
    }
    /// 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::delete_payment_instrument::DeletePaymentInstrumentOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::delete_payment_instrument::DeletePaymentInstrumentError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let input = self
            .inner
            .build()
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
        let runtime_plugins = crate::operation::delete_payment_instrument::DeletePaymentInstrument::operation_runtime_plugins(
            self.handle.runtime_plugins.clone(),
            &self.handle.conf,
            self.config_override,
        );
        crate::operation::delete_payment_instrument::DeletePaymentInstrument::orchestrate(&runtime_plugins, input).await
    }

    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
    pub fn customize(
        self,
    ) -> crate::client::customize::CustomizableOperation<
        crate::operation::delete_payment_instrument::DeletePaymentInstrumentOutput,
        crate::operation::delete_payment_instrument::DeletePaymentInstrumentError,
        Self,
    > {
        crate::client::customize::CustomizableOperation::new(self)
    }
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
        self.set_config_override(::std::option::Option::Some(config_override.into()));
        self
    }

    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
        self.config_override = config_override;
        self
    }
    /// The user ID making the delete request. Must match the instrument's userId.
    pub fn user_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.user_id(input.into());
        self
    }
    /// The user ID making the delete request. Must match the instrument's userId.
    pub fn set_user_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_user_id(input);
        self
    }
    /// The user ID making the delete request. Must match the instrument's userId.
    pub fn get_user_id(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_user_id()
    }
    /// The payment manager ARN. Must match the instrument's paymentManagerArn.
    pub fn payment_manager_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.payment_manager_arn(input.into());
        self
    }
    /// The payment manager ARN. Must match the instrument's paymentManagerArn.
    pub fn set_payment_manager_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_payment_manager_arn(input);
        self
    }
    /// The payment manager ARN. Must match the instrument's paymentManagerArn.
    pub fn get_payment_manager_arn(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_payment_manager_arn()
    }
    /// The payment connector ID. Must match the instrument's paymentConnectorId.
    pub fn payment_connector_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.payment_connector_id(input.into());
        self
    }
    /// The payment connector ID. Must match the instrument's paymentConnectorId.
    pub fn set_payment_connector_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_payment_connector_id(input);
        self
    }
    /// The payment connector ID. Must match the instrument's paymentConnectorId.
    pub fn get_payment_connector_id(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_payment_connector_id()
    }
    /// The payment instrument ID to delete.
    pub fn payment_instrument_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.payment_instrument_id(input.into());
        self
    }
    /// The payment instrument ID to delete.
    pub fn set_payment_instrument_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_payment_instrument_id(input);
        self
    }
    /// The payment instrument ID to delete.
    pub fn get_payment_instrument_id(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_payment_instrument_id()
    }
}