aws_sdk_cloudhsmv2/operation/delete_hsm/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::delete_hsm::_delete_hsm_output::DeleteHsmOutputBuilder;
3
4pub use crate::operation::delete_hsm::_delete_hsm_input::DeleteHsmInputBuilder;
5
6impl crate::operation::delete_hsm::builders::DeleteHsmInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::delete_hsm::DeleteHsmOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::delete_hsm::DeleteHsmError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.delete_hsm();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `DeleteHsm`.
24///
25/// <p>Deletes the specified HSM. To specify an HSM, you can use its identifier (ID), the IP address of the HSM's elastic network interface (ENI), or the ID of the HSM's ENI. You need to specify only one of these values. To find these values, use <code>DescribeClusters</code>.</p>
26/// <p><b>Cross-account use:</b> No. You cannot perform this operation on an CloudHSM hsm in a different Amazon Web Services account.</p>
27#[derive(::std::clone::Clone, ::std::fmt::Debug)]
28pub struct DeleteHsmFluentBuilder {
29    handle: ::std::sync::Arc<crate::client::Handle>,
30    inner: crate::operation::delete_hsm::builders::DeleteHsmInputBuilder,
31    config_override: ::std::option::Option<crate::config::Builder>,
32}
33impl crate::client::customize::internal::CustomizableSend<crate::operation::delete_hsm::DeleteHsmOutput, crate::operation::delete_hsm::DeleteHsmError>
34    for DeleteHsmFluentBuilder
35{
36    fn send(
37        self,
38        config_override: crate::config::Builder,
39    ) -> crate::client::customize::internal::BoxFuture<
40        crate::client::customize::internal::SendResult<crate::operation::delete_hsm::DeleteHsmOutput, crate::operation::delete_hsm::DeleteHsmError>,
41    > {
42        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
43    }
44}
45impl DeleteHsmFluentBuilder {
46    /// Creates a new `DeleteHsmFluentBuilder`.
47    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
48        Self {
49            handle,
50            inner: ::std::default::Default::default(),
51            config_override: ::std::option::Option::None,
52        }
53    }
54    /// Access the DeleteHsm as a reference.
55    pub fn as_input(&self) -> &crate::operation::delete_hsm::builders::DeleteHsmInputBuilder {
56        &self.inner
57    }
58    /// Sends the request and returns the response.
59    ///
60    /// If an error occurs, an `SdkError` will be returned with additional details that
61    /// can be matched against.
62    ///
63    /// By default, any retryable failures will be retried twice. Retry behavior
64    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
65    /// set when configuring the client.
66    pub async fn send(
67        self,
68    ) -> ::std::result::Result<
69        crate::operation::delete_hsm::DeleteHsmOutput,
70        ::aws_smithy_runtime_api::client::result::SdkError<
71            crate::operation::delete_hsm::DeleteHsmError,
72            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
73        >,
74    > {
75        let input = self
76            .inner
77            .build()
78            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
79        let runtime_plugins = crate::operation::delete_hsm::DeleteHsm::operation_runtime_plugins(
80            self.handle.runtime_plugins.clone(),
81            &self.handle.conf,
82            self.config_override,
83        );
84        crate::operation::delete_hsm::DeleteHsm::orchestrate(&runtime_plugins, input).await
85    }
86
87    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
88    pub fn customize(
89        self,
90    ) -> crate::client::customize::CustomizableOperation<
91        crate::operation::delete_hsm::DeleteHsmOutput,
92        crate::operation::delete_hsm::DeleteHsmError,
93        Self,
94    > {
95        crate::client::customize::CustomizableOperation::new(self)
96    }
97    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
98        self.set_config_override(::std::option::Option::Some(config_override.into()));
99        self
100    }
101
102    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
103        self.config_override = config_override;
104        self
105    }
106    /// <p>The identifier (ID) of the cluster that contains the HSM that you are deleting.</p>
107    pub fn cluster_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
108        self.inner = self.inner.cluster_id(input.into());
109        self
110    }
111    /// <p>The identifier (ID) of the cluster that contains the HSM that you are deleting.</p>
112    pub fn set_cluster_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
113        self.inner = self.inner.set_cluster_id(input);
114        self
115    }
116    /// <p>The identifier (ID) of the cluster that contains the HSM that you are deleting.</p>
117    pub fn get_cluster_id(&self) -> &::std::option::Option<::std::string::String> {
118        self.inner.get_cluster_id()
119    }
120    /// <p>The identifier (ID) of the HSM that you are deleting.</p>
121    pub fn hsm_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
122        self.inner = self.inner.hsm_id(input.into());
123        self
124    }
125    /// <p>The identifier (ID) of the HSM that you are deleting.</p>
126    pub fn set_hsm_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
127        self.inner = self.inner.set_hsm_id(input);
128        self
129    }
130    /// <p>The identifier (ID) of the HSM that you are deleting.</p>
131    pub fn get_hsm_id(&self) -> &::std::option::Option<::std::string::String> {
132        self.inner.get_hsm_id()
133    }
134    /// <p>The identifier (ID) of the elastic network interface (ENI) of the HSM that you are deleting.</p>
135    pub fn eni_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
136        self.inner = self.inner.eni_id(input.into());
137        self
138    }
139    /// <p>The identifier (ID) of the elastic network interface (ENI) of the HSM that you are deleting.</p>
140    pub fn set_eni_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
141        self.inner = self.inner.set_eni_id(input);
142        self
143    }
144    /// <p>The identifier (ID) of the elastic network interface (ENI) of the HSM that you are deleting.</p>
145    pub fn get_eni_id(&self) -> &::std::option::Option<::std::string::String> {
146        self.inner.get_eni_id()
147    }
148    /// <p>The IP address of the elastic network interface (ENI) of the HSM that you are deleting.</p>
149    pub fn eni_ip(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
150        self.inner = self.inner.eni_ip(input.into());
151        self
152    }
153    /// <p>The IP address of the elastic network interface (ENI) of the HSM that you are deleting.</p>
154    pub fn set_eni_ip(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
155        self.inner = self.inner.set_eni_ip(input);
156        self
157    }
158    /// <p>The IP address of the elastic network interface (ENI) of the HSM that you are deleting.</p>
159    pub fn get_eni_ip(&self) -> &::std::option::Option<::std::string::String> {
160        self.inner.get_eni_ip()
161    }
162}