aws_sdk_datasync/operation/update_location_azure_blob/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_location_azure_blob::_update_location_azure_blob_output::UpdateLocationAzureBlobOutputBuilder;
3
4pub use crate::operation::update_location_azure_blob::_update_location_azure_blob_input::UpdateLocationAzureBlobInputBuilder;
5
6impl crate::operation::update_location_azure_blob::builders::UpdateLocationAzureBlobInputBuilder {
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::update_location_azure_blob::UpdateLocationAzureBlobOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::update_location_azure_blob::UpdateLocationAzureBlobError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.update_location_azure_blob();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `UpdateLocationAzureBlob`.
24///
25/// <p>Modifies the following configurations of the Microsoft Azure Blob Storage transfer location that you're using with DataSync.</p>
26/// <p>For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html">Configuring DataSync transfers with Azure Blob Storage</a>.</p>
27#[derive(::std::clone::Clone, ::std::fmt::Debug)]
28pub struct UpdateLocationAzureBlobFluentBuilder {
29    handle: ::std::sync::Arc<crate::client::Handle>,
30    inner: crate::operation::update_location_azure_blob::builders::UpdateLocationAzureBlobInputBuilder,
31    config_override: ::std::option::Option<crate::config::Builder>,
32}
33impl
34    crate::client::customize::internal::CustomizableSend<
35        crate::operation::update_location_azure_blob::UpdateLocationAzureBlobOutput,
36        crate::operation::update_location_azure_blob::UpdateLocationAzureBlobError,
37    > for UpdateLocationAzureBlobFluentBuilder
38{
39    fn send(
40        self,
41        config_override: crate::config::Builder,
42    ) -> crate::client::customize::internal::BoxFuture<
43        crate::client::customize::internal::SendResult<
44            crate::operation::update_location_azure_blob::UpdateLocationAzureBlobOutput,
45            crate::operation::update_location_azure_blob::UpdateLocationAzureBlobError,
46        >,
47    > {
48        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
49    }
50}
51impl UpdateLocationAzureBlobFluentBuilder {
52    /// Creates a new `UpdateLocationAzureBlobFluentBuilder`.
53    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
54        Self {
55            handle,
56            inner: ::std::default::Default::default(),
57            config_override: ::std::option::Option::None,
58        }
59    }
60    /// Access the UpdateLocationAzureBlob as a reference.
61    pub fn as_input(&self) -> &crate::operation::update_location_azure_blob::builders::UpdateLocationAzureBlobInputBuilder {
62        &self.inner
63    }
64    /// Sends the request and returns the response.
65    ///
66    /// If an error occurs, an `SdkError` will be returned with additional details that
67    /// can be matched against.
68    ///
69    /// By default, any retryable failures will be retried twice. Retry behavior
70    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
71    /// set when configuring the client.
72    pub async fn send(
73        self,
74    ) -> ::std::result::Result<
75        crate::operation::update_location_azure_blob::UpdateLocationAzureBlobOutput,
76        ::aws_smithy_runtime_api::client::result::SdkError<
77            crate::operation::update_location_azure_blob::UpdateLocationAzureBlobError,
78            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
79        >,
80    > {
81        let input = self
82            .inner
83            .build()
84            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
85        let runtime_plugins = crate::operation::update_location_azure_blob::UpdateLocationAzureBlob::operation_runtime_plugins(
86            self.handle.runtime_plugins.clone(),
87            &self.handle.conf,
88            self.config_override,
89        );
90        crate::operation::update_location_azure_blob::UpdateLocationAzureBlob::orchestrate(&runtime_plugins, input).await
91    }
92
93    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
94    pub fn customize(
95        self,
96    ) -> crate::client::customize::CustomizableOperation<
97        crate::operation::update_location_azure_blob::UpdateLocationAzureBlobOutput,
98        crate::operation::update_location_azure_blob::UpdateLocationAzureBlobError,
99        Self,
100    > {
101        crate::client::customize::CustomizableOperation::new(self)
102    }
103    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
104        self.set_config_override(::std::option::Option::Some(config_override.into()));
105        self
106    }
107
108    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
109        self.config_override = config_override;
110        self
111    }
112    /// <p>Specifies the ARN of the Azure Blob Storage transfer location that you're updating.</p>
113    pub fn location_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
114        self.inner = self.inner.location_arn(input.into());
115        self
116    }
117    /// <p>Specifies the ARN of the Azure Blob Storage transfer location that you're updating.</p>
118    pub fn set_location_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
119        self.inner = self.inner.set_location_arn(input);
120        self
121    }
122    /// <p>Specifies the ARN of the Azure Blob Storage transfer location that you're updating.</p>
123    pub fn get_location_arn(&self) -> &::std::option::Option<::std::string::String> {
124        self.inner.get_location_arn()
125    }
126    /// <p>Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, <code>/my/images</code>).</p>
127    pub fn subdirectory(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
128        self.inner = self.inner.subdirectory(input.into());
129        self
130    }
131    /// <p>Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, <code>/my/images</code>).</p>
132    pub fn set_subdirectory(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
133        self.inner = self.inner.set_subdirectory(input);
134        self
135    }
136    /// <p>Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, <code>/my/images</code>).</p>
137    pub fn get_subdirectory(&self) -> &::std::option::Option<::std::string::String> {
138        self.inner.get_subdirectory()
139    }
140    /// <p>Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS).</p>
141    pub fn authentication_type(mut self, input: crate::types::AzureBlobAuthenticationType) -> Self {
142        self.inner = self.inner.authentication_type(input);
143        self
144    }
145    /// <p>Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS).</p>
146    pub fn set_authentication_type(mut self, input: ::std::option::Option<crate::types::AzureBlobAuthenticationType>) -> Self {
147        self.inner = self.inner.set_authentication_type(input);
148        self
149    }
150    /// <p>Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS).</p>
151    pub fn get_authentication_type(&self) -> &::std::option::Option<crate::types::AzureBlobAuthenticationType> {
152        self.inner.get_authentication_type()
153    }
154    /// <p>Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.</p>
155    pub fn sas_configuration(mut self, input: crate::types::AzureBlobSasConfiguration) -> Self {
156        self.inner = self.inner.sas_configuration(input);
157        self
158    }
159    /// <p>Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.</p>
160    pub fn set_sas_configuration(mut self, input: ::std::option::Option<crate::types::AzureBlobSasConfiguration>) -> Self {
161        self.inner = self.inner.set_sas_configuration(input);
162        self
163    }
164    /// <p>Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.</p>
165    pub fn get_sas_configuration(&self) -> &::std::option::Option<crate::types::AzureBlobSasConfiguration> {
166        self.inner.get_sas_configuration()
167    }
168    /// <p>Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the <a href="https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs">Azure Blob Storage documentation</a>.</p>
169    pub fn blob_type(mut self, input: crate::types::AzureBlobType) -> Self {
170        self.inner = self.inner.blob_type(input);
171        self
172    }
173    /// <p>Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the <a href="https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs">Azure Blob Storage documentation</a>.</p>
174    pub fn set_blob_type(mut self, input: ::std::option::Option<crate::types::AzureBlobType>) -> Self {
175        self.inner = self.inner.set_blob_type(input);
176        self
177    }
178    /// <p>Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the <a href="https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs">Azure Blob Storage documentation</a>.</p>
179    pub fn get_blob_type(&self) -> &::std::option::Option<crate::types::AzureBlobType> {
180        self.inner.get_blob_type()
181    }
182    /// <p>Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers">Access tiers</a>.</p>
183    pub fn access_tier(mut self, input: crate::types::AzureAccessTier) -> Self {
184        self.inner = self.inner.access_tier(input);
185        self
186    }
187    /// <p>Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers">Access tiers</a>.</p>
188    pub fn set_access_tier(mut self, input: ::std::option::Option<crate::types::AzureAccessTier>) -> Self {
189        self.inner = self.inner.set_access_tier(input);
190        self
191    }
192    /// <p>Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers">Access tiers</a>.</p>
193    pub fn get_access_tier(&self) -> &::std::option::Option<crate::types::AzureAccessTier> {
194        self.inner.get_access_tier()
195    }
196    ///
197    /// Appends an item to `AgentArns`.
198    ///
199    /// To override the contents of this collection use [`set_agent_arns`](Self::set_agent_arns).
200    ///
201    /// <p>(Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.</p>
202    /// <p>You can specify more than one agent. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html">Using multiple agents for your transfer</a>.</p><note>
203    /// <p>You cannot add or remove agents from a storage location after you initially create it.</p>
204    /// </note>
205    pub fn agent_arns(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
206        self.inner = self.inner.agent_arns(input.into());
207        self
208    }
209    /// <p>(Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.</p>
210    /// <p>You can specify more than one agent. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html">Using multiple agents for your transfer</a>.</p><note>
211    /// <p>You cannot add or remove agents from a storage location after you initially create it.</p>
212    /// </note>
213    pub fn set_agent_arns(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
214        self.inner = self.inner.set_agent_arns(input);
215        self
216    }
217    /// <p>(Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.</p>
218    /// <p>You can specify more than one agent. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html">Using multiple agents for your transfer</a>.</p><note>
219    /// <p>You cannot add or remove agents from a storage location after you initially create it.</p>
220    /// </note>
221    pub fn get_agent_arns(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
222        self.inner.get_agent_arns()
223    }
224    /// <p>Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed KMS key.</p>
225    pub fn cmk_secret_config(mut self, input: crate::types::CmkSecretConfig) -> Self {
226        self.inner = self.inner.cmk_secret_config(input);
227        self
228    }
229    /// <p>Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed KMS key.</p>
230    pub fn set_cmk_secret_config(mut self, input: ::std::option::Option<crate::types::CmkSecretConfig>) -> Self {
231        self.inner = self.inner.set_cmk_secret_config(input);
232        self
233    }
234    /// <p>Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed KMS key.</p>
235    pub fn get_cmk_secret_config(&self) -> &::std::option::Option<crate::types::CmkSecretConfig> {
236        self.inner.get_cmk_secret_config()
237    }
238    /// <p>Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed KMS key.</p>
239    pub fn custom_secret_config(mut self, input: crate::types::CustomSecretConfig) -> Self {
240        self.inner = self.inner.custom_secret_config(input);
241        self
242    }
243    /// <p>Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed KMS key.</p>
244    pub fn set_custom_secret_config(mut self, input: ::std::option::Option<crate::types::CustomSecretConfig>) -> Self {
245        self.inner = self.inner.set_custom_secret_config(input);
246        self
247    }
248    /// <p>Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed KMS key.</p>
249    pub fn get_custom_secret_config(&self) -> &::std::option::Option<crate::types::CustomSecretConfig> {
250        self.inner.get_custom_secret_config()
251    }
252}