aws_sdk_datasync/operation/create_location_azure_blob/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_location_azure_blob::_create_location_azure_blob_output::CreateLocationAzureBlobOutputBuilder;
3
4pub use crate::operation::create_location_azure_blob::_create_location_azure_blob_input::CreateLocationAzureBlobInputBuilder;
5
6impl crate::operation::create_location_azure_blob::builders::CreateLocationAzureBlobInputBuilder {
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::create_location_azure_blob::CreateLocationAzureBlobOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::create_location_azure_blob::CreateLocationAzureBlobError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.create_location_azure_blob();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CreateLocationAzureBlob`.
24///
25/// <p>Creates a transfer <i>location</i> for a Microsoft Azure Blob Storage container. DataSync can use this location as a transfer source or destination.</p>
26/// <p>Before you begin, make sure you know <a href="https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access">how DataSync accesses Azure Blob Storage</a> and works with <a href="https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers">access tiers</a> and <a href="https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#blob-types">blob types</a>. You also need a <a href="https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-creating-agent">DataSync agent</a> that can connect to your container.</p>
27#[derive(::std::clone::Clone, ::std::fmt::Debug)]
28pub struct CreateLocationAzureBlobFluentBuilder {
29 handle: ::std::sync::Arc<crate::client::Handle>,
30 inner: crate::operation::create_location_azure_blob::builders::CreateLocationAzureBlobInputBuilder,
31 config_override: ::std::option::Option<crate::config::Builder>,
32}
33impl
34 crate::client::customize::internal::CustomizableSend<
35 crate::operation::create_location_azure_blob::CreateLocationAzureBlobOutput,
36 crate::operation::create_location_azure_blob::CreateLocationAzureBlobError,
37 > for CreateLocationAzureBlobFluentBuilder
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::create_location_azure_blob::CreateLocationAzureBlobOutput,
45 crate::operation::create_location_azure_blob::CreateLocationAzureBlobError,
46 >,
47 > {
48 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
49 }
50}
51impl CreateLocationAzureBlobFluentBuilder {
52 /// Creates a new `CreateLocationAzureBlobFluentBuilder`.
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 CreateLocationAzureBlob as a reference.
61 pub fn as_input(&self) -> &crate::operation::create_location_azure_blob::builders::CreateLocationAzureBlobInputBuilder {
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::create_location_azure_blob::CreateLocationAzureBlobOutput,
76 ::aws_smithy_runtime_api::client::result::SdkError<
77 crate::operation::create_location_azure_blob::CreateLocationAzureBlobError,
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::create_location_azure_blob::CreateLocationAzureBlob::operation_runtime_plugins(
86 self.handle.runtime_plugins.clone(),
87 &self.handle.conf,
88 self.config_override,
89 );
90 crate::operation::create_location_azure_blob::CreateLocationAzureBlob::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::create_location_azure_blob::CreateLocationAzureBlobOutput,
98 crate::operation::create_location_azure_blob::CreateLocationAzureBlobError,
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 URL of the Azure Blob Storage container involved in your transfer.</p>
113 pub fn container_url(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
114 self.inner = self.inner.container_url(input.into());
115 self
116 }
117 /// <p>Specifies the URL of the Azure Blob Storage container involved in your transfer.</p>
118 pub fn set_container_url(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
119 self.inner = self.inner.set_container_url(input);
120 self
121 }
122 /// <p>Specifies the URL of the Azure Blob Storage container involved in your transfer.</p>
123 pub fn get_container_url(&self) -> &::std::option::Option<::std::string::String> {
124 self.inner.get_container_url()
125 }
126 /// <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>
127 pub fn authentication_type(mut self, input: crate::types::AzureBlobAuthenticationType) -> Self {
128 self.inner = self.inner.authentication_type(input);
129 self
130 }
131 /// <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>
132 pub fn set_authentication_type(mut self, input: ::std::option::Option<crate::types::AzureBlobAuthenticationType>) -> Self {
133 self.inner = self.inner.set_authentication_type(input);
134 self
135 }
136 /// <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>
137 pub fn get_authentication_type(&self) -> &::std::option::Option<crate::types::AzureBlobAuthenticationType> {
138 self.inner.get_authentication_type()
139 }
140 /// <p>Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.</p>
141 pub fn sas_configuration(mut self, input: crate::types::AzureBlobSasConfiguration) -> Self {
142 self.inner = self.inner.sas_configuration(input);
143 self
144 }
145 /// <p>Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.</p>
146 pub fn set_sas_configuration(mut self, input: ::std::option::Option<crate::types::AzureBlobSasConfiguration>) -> Self {
147 self.inner = self.inner.set_sas_configuration(input);
148 self
149 }
150 /// <p>Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.</p>
151 pub fn get_sas_configuration(&self) -> &::std::option::Option<crate::types::AzureBlobSasConfiguration> {
152 self.inner.get_sas_configuration()
153 }
154 /// <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>
155 pub fn blob_type(mut self, input: crate::types::AzureBlobType) -> Self {
156 self.inner = self.inner.blob_type(input);
157 self
158 }
159 /// <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>
160 pub fn set_blob_type(mut self, input: ::std::option::Option<crate::types::AzureBlobType>) -> Self {
161 self.inner = self.inner.set_blob_type(input);
162 self
163 }
164 /// <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>
165 pub fn get_blob_type(&self) -> &::std::option::Option<crate::types::AzureBlobType> {
166 self.inner.get_blob_type()
167 }
168 /// <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>
169 pub fn access_tier(mut self, input: crate::types::AzureAccessTier) -> Self {
170 self.inner = self.inner.access_tier(input);
171 self
172 }
173 /// <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>
174 pub fn set_access_tier(mut self, input: ::std::option::Option<crate::types::AzureAccessTier>) -> Self {
175 self.inner = self.inner.set_access_tier(input);
176 self
177 }
178 /// <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>
179 pub fn get_access_tier(&self) -> &::std::option::Option<crate::types::AzureAccessTier> {
180 self.inner.get_access_tier()
181 }
182 /// <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>
183 pub fn subdirectory(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
184 self.inner = self.inner.subdirectory(input.into());
185 self
186 }
187 /// <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>
188 pub fn set_subdirectory(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
189 self.inner = self.inner.set_subdirectory(input);
190 self
191 }
192 /// <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>
193 pub fn get_subdirectory(&self) -> &::std::option::Option<::std::string::String> {
194 self.inner.get_subdirectory()
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>Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.</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>
203 pub fn agent_arns(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
204 self.inner = self.inner.agent_arns(input.into());
205 self
206 }
207 /// <p>Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.</p>
208 /// <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>
209 pub fn set_agent_arns(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
210 self.inner = self.inner.set_agent_arns(input);
211 self
212 }
213 /// <p>Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.</p>
214 /// <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>
215 pub fn get_agent_arns(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
216 self.inner.get_agent_arns()
217 }
218 ///
219 /// Appends an item to `Tags`.
220 ///
221 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
222 ///
223 /// <p>Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your transfer location.</p>
224 pub fn tags(mut self, input: crate::types::TagListEntry) -> Self {
225 self.inner = self.inner.tags(input);
226 self
227 }
228 /// <p>Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your transfer location.</p>
229 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TagListEntry>>) -> Self {
230 self.inner = self.inner.set_tags(input);
231 self
232 }
233 /// <p>Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your transfer location.</p>
234 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TagListEntry>> {
235 self.inner.get_tags()
236 }
237}