aws_sdk_appstream/operation/create_image_builder/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_image_builder::_create_image_builder_output::CreateImageBuilderOutputBuilder;
3
4pub use crate::operation::create_image_builder::_create_image_builder_input::CreateImageBuilderInputBuilder;
5
6impl crate::operation::create_image_builder::builders::CreateImageBuilderInputBuilder {
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_image_builder::CreateImageBuilderOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::create_image_builder::CreateImageBuilderError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.create_image_builder();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CreateImageBuilder`.
24///
25/// <p>Creates an image builder. An image builder is a virtual machine that is used to create an image.</p>
26/// <p>The initial state of the builder is <code>PENDING</code>. When it is ready, the state is <code>RUNNING</code>.</p>
27#[derive(::std::clone::Clone, ::std::fmt::Debug)]
28pub struct CreateImageBuilderFluentBuilder {
29 handle: ::std::sync::Arc<crate::client::Handle>,
30 inner: crate::operation::create_image_builder::builders::CreateImageBuilderInputBuilder,
31 config_override: ::std::option::Option<crate::config::Builder>,
32}
33impl
34 crate::client::customize::internal::CustomizableSend<
35 crate::operation::create_image_builder::CreateImageBuilderOutput,
36 crate::operation::create_image_builder::CreateImageBuilderError,
37 > for CreateImageBuilderFluentBuilder
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_image_builder::CreateImageBuilderOutput,
45 crate::operation::create_image_builder::CreateImageBuilderError,
46 >,
47 > {
48 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
49 }
50}
51impl CreateImageBuilderFluentBuilder {
52 /// Creates a new `CreateImageBuilderFluentBuilder`.
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 CreateImageBuilder as a reference.
61 pub fn as_input(&self) -> &crate::operation::create_image_builder::builders::CreateImageBuilderInputBuilder {
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_image_builder::CreateImageBuilderOutput,
76 ::aws_smithy_runtime_api::client::result::SdkError<
77 crate::operation::create_image_builder::CreateImageBuilderError,
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_image_builder::CreateImageBuilder::operation_runtime_plugins(
86 self.handle.runtime_plugins.clone(),
87 &self.handle.conf,
88 self.config_override,
89 );
90 crate::operation::create_image_builder::CreateImageBuilder::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_image_builder::CreateImageBuilderOutput,
98 crate::operation::create_image_builder::CreateImageBuilderError,
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>A unique name for the image builder.</p>
113 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
114 self.inner = self.inner.name(input.into());
115 self
116 }
117 /// <p>A unique name for the image builder.</p>
118 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
119 self.inner = self.inner.set_name(input);
120 self
121 }
122 /// <p>A unique name for the image builder.</p>
123 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
124 self.inner.get_name()
125 }
126 /// <p>The name of the image used to create the image builder.</p>
127 pub fn image_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
128 self.inner = self.inner.image_name(input.into());
129 self
130 }
131 /// <p>The name of the image used to create the image builder.</p>
132 pub fn set_image_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
133 self.inner = self.inner.set_image_name(input);
134 self
135 }
136 /// <p>The name of the image used to create the image builder.</p>
137 pub fn get_image_name(&self) -> &::std::option::Option<::std::string::String> {
138 self.inner.get_image_name()
139 }
140 /// <p>The ARN of the public, private, or shared image to use.</p>
141 pub fn image_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
142 self.inner = self.inner.image_arn(input.into());
143 self
144 }
145 /// <p>The ARN of the public, private, or shared image to use.</p>
146 pub fn set_image_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
147 self.inner = self.inner.set_image_arn(input);
148 self
149 }
150 /// <p>The ARN of the public, private, or shared image to use.</p>
151 pub fn get_image_arn(&self) -> &::std::option::Option<::std::string::String> {
152 self.inner.get_image_arn()
153 }
154 /// <p>The instance type to use when launching the image builder. The following instance types are available:</p>
155 /// <ul>
156 /// <li>
157 /// <p>stream.standard.small</p></li>
158 /// <li>
159 /// <p>stream.standard.medium</p></li>
160 /// <li>
161 /// <p>stream.standard.large</p></li>
162 /// <li>
163 /// <p>stream.compute.large</p></li>
164 /// <li>
165 /// <p>stream.compute.xlarge</p></li>
166 /// <li>
167 /// <p>stream.compute.2xlarge</p></li>
168 /// <li>
169 /// <p>stream.compute.4xlarge</p></li>
170 /// <li>
171 /// <p>stream.compute.8xlarge</p></li>
172 /// <li>
173 /// <p>stream.memory.large</p></li>
174 /// <li>
175 /// <p>stream.memory.xlarge</p></li>
176 /// <li>
177 /// <p>stream.memory.2xlarge</p></li>
178 /// <li>
179 /// <p>stream.memory.4xlarge</p></li>
180 /// <li>
181 /// <p>stream.memory.8xlarge</p></li>
182 /// <li>
183 /// <p>stream.memory.z1d.large</p></li>
184 /// <li>
185 /// <p>stream.memory.z1d.xlarge</p></li>
186 /// <li>
187 /// <p>stream.memory.z1d.2xlarge</p></li>
188 /// <li>
189 /// <p>stream.memory.z1d.3xlarge</p></li>
190 /// <li>
191 /// <p>stream.memory.z1d.6xlarge</p></li>
192 /// <li>
193 /// <p>stream.memory.z1d.12xlarge</p></li>
194 /// <li>
195 /// <p>stream.graphics-design.large</p></li>
196 /// <li>
197 /// <p>stream.graphics-design.xlarge</p></li>
198 /// <li>
199 /// <p>stream.graphics-design.2xlarge</p></li>
200 /// <li>
201 /// <p>stream.graphics-design.4xlarge</p></li>
202 /// <li>
203 /// <p>stream.graphics-desktop.2xlarge</p></li>
204 /// <li>
205 /// <p>stream.graphics.g4dn.xlarge</p></li>
206 /// <li>
207 /// <p>stream.graphics.g4dn.2xlarge</p></li>
208 /// <li>
209 /// <p>stream.graphics.g4dn.4xlarge</p></li>
210 /// <li>
211 /// <p>stream.graphics.g4dn.8xlarge</p></li>
212 /// <li>
213 /// <p>stream.graphics.g4dn.12xlarge</p></li>
214 /// <li>
215 /// <p>stream.graphics.g4dn.16xlarge</p></li>
216 /// <li>
217 /// <p>stream.graphics-pro.4xlarge</p></li>
218 /// <li>
219 /// <p>stream.graphics-pro.8xlarge</p></li>
220 /// <li>
221 /// <p>stream.graphics-pro.16xlarge</p></li>
222 /// </ul>
223 pub fn instance_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
224 self.inner = self.inner.instance_type(input.into());
225 self
226 }
227 /// <p>The instance type to use when launching the image builder. The following instance types are available:</p>
228 /// <ul>
229 /// <li>
230 /// <p>stream.standard.small</p></li>
231 /// <li>
232 /// <p>stream.standard.medium</p></li>
233 /// <li>
234 /// <p>stream.standard.large</p></li>
235 /// <li>
236 /// <p>stream.compute.large</p></li>
237 /// <li>
238 /// <p>stream.compute.xlarge</p></li>
239 /// <li>
240 /// <p>stream.compute.2xlarge</p></li>
241 /// <li>
242 /// <p>stream.compute.4xlarge</p></li>
243 /// <li>
244 /// <p>stream.compute.8xlarge</p></li>
245 /// <li>
246 /// <p>stream.memory.large</p></li>
247 /// <li>
248 /// <p>stream.memory.xlarge</p></li>
249 /// <li>
250 /// <p>stream.memory.2xlarge</p></li>
251 /// <li>
252 /// <p>stream.memory.4xlarge</p></li>
253 /// <li>
254 /// <p>stream.memory.8xlarge</p></li>
255 /// <li>
256 /// <p>stream.memory.z1d.large</p></li>
257 /// <li>
258 /// <p>stream.memory.z1d.xlarge</p></li>
259 /// <li>
260 /// <p>stream.memory.z1d.2xlarge</p></li>
261 /// <li>
262 /// <p>stream.memory.z1d.3xlarge</p></li>
263 /// <li>
264 /// <p>stream.memory.z1d.6xlarge</p></li>
265 /// <li>
266 /// <p>stream.memory.z1d.12xlarge</p></li>
267 /// <li>
268 /// <p>stream.graphics-design.large</p></li>
269 /// <li>
270 /// <p>stream.graphics-design.xlarge</p></li>
271 /// <li>
272 /// <p>stream.graphics-design.2xlarge</p></li>
273 /// <li>
274 /// <p>stream.graphics-design.4xlarge</p></li>
275 /// <li>
276 /// <p>stream.graphics-desktop.2xlarge</p></li>
277 /// <li>
278 /// <p>stream.graphics.g4dn.xlarge</p></li>
279 /// <li>
280 /// <p>stream.graphics.g4dn.2xlarge</p></li>
281 /// <li>
282 /// <p>stream.graphics.g4dn.4xlarge</p></li>
283 /// <li>
284 /// <p>stream.graphics.g4dn.8xlarge</p></li>
285 /// <li>
286 /// <p>stream.graphics.g4dn.12xlarge</p></li>
287 /// <li>
288 /// <p>stream.graphics.g4dn.16xlarge</p></li>
289 /// <li>
290 /// <p>stream.graphics-pro.4xlarge</p></li>
291 /// <li>
292 /// <p>stream.graphics-pro.8xlarge</p></li>
293 /// <li>
294 /// <p>stream.graphics-pro.16xlarge</p></li>
295 /// </ul>
296 pub fn set_instance_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
297 self.inner = self.inner.set_instance_type(input);
298 self
299 }
300 /// <p>The instance type to use when launching the image builder. The following instance types are available:</p>
301 /// <ul>
302 /// <li>
303 /// <p>stream.standard.small</p></li>
304 /// <li>
305 /// <p>stream.standard.medium</p></li>
306 /// <li>
307 /// <p>stream.standard.large</p></li>
308 /// <li>
309 /// <p>stream.compute.large</p></li>
310 /// <li>
311 /// <p>stream.compute.xlarge</p></li>
312 /// <li>
313 /// <p>stream.compute.2xlarge</p></li>
314 /// <li>
315 /// <p>stream.compute.4xlarge</p></li>
316 /// <li>
317 /// <p>stream.compute.8xlarge</p></li>
318 /// <li>
319 /// <p>stream.memory.large</p></li>
320 /// <li>
321 /// <p>stream.memory.xlarge</p></li>
322 /// <li>
323 /// <p>stream.memory.2xlarge</p></li>
324 /// <li>
325 /// <p>stream.memory.4xlarge</p></li>
326 /// <li>
327 /// <p>stream.memory.8xlarge</p></li>
328 /// <li>
329 /// <p>stream.memory.z1d.large</p></li>
330 /// <li>
331 /// <p>stream.memory.z1d.xlarge</p></li>
332 /// <li>
333 /// <p>stream.memory.z1d.2xlarge</p></li>
334 /// <li>
335 /// <p>stream.memory.z1d.3xlarge</p></li>
336 /// <li>
337 /// <p>stream.memory.z1d.6xlarge</p></li>
338 /// <li>
339 /// <p>stream.memory.z1d.12xlarge</p></li>
340 /// <li>
341 /// <p>stream.graphics-design.large</p></li>
342 /// <li>
343 /// <p>stream.graphics-design.xlarge</p></li>
344 /// <li>
345 /// <p>stream.graphics-design.2xlarge</p></li>
346 /// <li>
347 /// <p>stream.graphics-design.4xlarge</p></li>
348 /// <li>
349 /// <p>stream.graphics-desktop.2xlarge</p></li>
350 /// <li>
351 /// <p>stream.graphics.g4dn.xlarge</p></li>
352 /// <li>
353 /// <p>stream.graphics.g4dn.2xlarge</p></li>
354 /// <li>
355 /// <p>stream.graphics.g4dn.4xlarge</p></li>
356 /// <li>
357 /// <p>stream.graphics.g4dn.8xlarge</p></li>
358 /// <li>
359 /// <p>stream.graphics.g4dn.12xlarge</p></li>
360 /// <li>
361 /// <p>stream.graphics.g4dn.16xlarge</p></li>
362 /// <li>
363 /// <p>stream.graphics-pro.4xlarge</p></li>
364 /// <li>
365 /// <p>stream.graphics-pro.8xlarge</p></li>
366 /// <li>
367 /// <p>stream.graphics-pro.16xlarge</p></li>
368 /// </ul>
369 pub fn get_instance_type(&self) -> &::std::option::Option<::std::string::String> {
370 self.inner.get_instance_type()
371 }
372 /// <p>The description to display.</p>
373 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
374 self.inner = self.inner.description(input.into());
375 self
376 }
377 /// <p>The description to display.</p>
378 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
379 self.inner = self.inner.set_description(input);
380 self
381 }
382 /// <p>The description to display.</p>
383 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
384 self.inner.get_description()
385 }
386 /// <p>The image builder name to display.</p>
387 pub fn display_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
388 self.inner = self.inner.display_name(input.into());
389 self
390 }
391 /// <p>The image builder name to display.</p>
392 pub fn set_display_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
393 self.inner = self.inner.set_display_name(input);
394 self
395 }
396 /// <p>The image builder name to display.</p>
397 pub fn get_display_name(&self) -> &::std::option::Option<::std::string::String> {
398 self.inner.get_display_name()
399 }
400 /// <p>The VPC configuration for the image builder. You can specify only one subnet.</p>
401 pub fn vpc_config(mut self, input: crate::types::VpcConfig) -> Self {
402 self.inner = self.inner.vpc_config(input);
403 self
404 }
405 /// <p>The VPC configuration for the image builder. You can specify only one subnet.</p>
406 pub fn set_vpc_config(mut self, input: ::std::option::Option<crate::types::VpcConfig>) -> Self {
407 self.inner = self.inner.set_vpc_config(input);
408 self
409 }
410 /// <p>The VPC configuration for the image builder. You can specify only one subnet.</p>
411 pub fn get_vpc_config(&self) -> &::std::option::Option<crate::types::VpcConfig> {
412 self.inner.get_vpc_config()
413 }
414 /// <p>The Amazon Resource Name (ARN) of the IAM role to apply to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) <code>AssumeRole</code> API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the <b>appstream_machine_role</b> credential profile on the instance.</p>
415 /// <p>For more information, see <a href="https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html">Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances</a> in the <i>Amazon AppStream 2.0 Administration Guide</i>.</p>
416 pub fn iam_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
417 self.inner = self.inner.iam_role_arn(input.into());
418 self
419 }
420 /// <p>The Amazon Resource Name (ARN) of the IAM role to apply to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) <code>AssumeRole</code> API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the <b>appstream_machine_role</b> credential profile on the instance.</p>
421 /// <p>For more information, see <a href="https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html">Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances</a> in the <i>Amazon AppStream 2.0 Administration Guide</i>.</p>
422 pub fn set_iam_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
423 self.inner = self.inner.set_iam_role_arn(input);
424 self
425 }
426 /// <p>The Amazon Resource Name (ARN) of the IAM role to apply to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) <code>AssumeRole</code> API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the <b>appstream_machine_role</b> credential profile on the instance.</p>
427 /// <p>For more information, see <a href="https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html">Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances</a> in the <i>Amazon AppStream 2.0 Administration Guide</i>.</p>
428 pub fn get_iam_role_arn(&self) -> &::std::option::Option<::std::string::String> {
429 self.inner.get_iam_role_arn()
430 }
431 /// <p>Enables or disables default internet access for the image builder.</p>
432 pub fn enable_default_internet_access(mut self, input: bool) -> Self {
433 self.inner = self.inner.enable_default_internet_access(input);
434 self
435 }
436 /// <p>Enables or disables default internet access for the image builder.</p>
437 pub fn set_enable_default_internet_access(mut self, input: ::std::option::Option<bool>) -> Self {
438 self.inner = self.inner.set_enable_default_internet_access(input);
439 self
440 }
441 /// <p>Enables or disables default internet access for the image builder.</p>
442 pub fn get_enable_default_internet_access(&self) -> &::std::option::Option<bool> {
443 self.inner.get_enable_default_internet_access()
444 }
445 /// <p>The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.</p>
446 pub fn domain_join_info(mut self, input: crate::types::DomainJoinInfo) -> Self {
447 self.inner = self.inner.domain_join_info(input);
448 self
449 }
450 /// <p>The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.</p>
451 pub fn set_domain_join_info(mut self, input: ::std::option::Option<crate::types::DomainJoinInfo>) -> Self {
452 self.inner = self.inner.set_domain_join_info(input);
453 self
454 }
455 /// <p>The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.</p>
456 pub fn get_domain_join_info(&self) -> &::std::option::Option<crate::types::DomainJoinInfo> {
457 self.inner.get_domain_join_info()
458 }
459 /// <p>The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify \[LATEST\].</p>
460 pub fn appstream_agent_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
461 self.inner = self.inner.appstream_agent_version(input.into());
462 self
463 }
464 /// <p>The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify \[LATEST\].</p>
465 pub fn set_appstream_agent_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
466 self.inner = self.inner.set_appstream_agent_version(input);
467 self
468 }
469 /// <p>The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify \[LATEST\].</p>
470 pub fn get_appstream_agent_version(&self) -> &::std::option::Option<::std::string::String> {
471 self.inner.get_appstream_agent_version()
472 }
473 ///
474 /// Adds a key-value pair to `Tags`.
475 ///
476 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
477 ///
478 /// <p>The tags to associate with the image builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.</p>
479 /// <p>Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:</p>
480 /// <p>_ . : / = + \ - @</p>
481 /// <p>If you do not specify a value, the value is set to an empty string.</p>
482 /// <p>For more information about tags, see <a href="https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html">Tagging Your Resources</a> in the <i>Amazon AppStream 2.0 Administration Guide</i>.</p>
483 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
484 self.inner = self.inner.tags(k.into(), v.into());
485 self
486 }
487 /// <p>The tags to associate with the image builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.</p>
488 /// <p>Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:</p>
489 /// <p>_ . : / = + \ - @</p>
490 /// <p>If you do not specify a value, the value is set to an empty string.</p>
491 /// <p>For more information about tags, see <a href="https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html">Tagging Your Resources</a> in the <i>Amazon AppStream 2.0 Administration Guide</i>.</p>
492 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
493 self.inner = self.inner.set_tags(input);
494 self
495 }
496 /// <p>The tags to associate with the image builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.</p>
497 /// <p>Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:</p>
498 /// <p>_ . : / = + \ - @</p>
499 /// <p>If you do not specify a value, the value is set to an empty string.</p>
500 /// <p>For more information about tags, see <a href="https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html">Tagging Your Resources</a> in the <i>Amazon AppStream 2.0 Administration Guide</i>.</p>
501 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
502 self.inner.get_tags()
503 }
504 ///
505 /// Appends an item to `AccessEndpoints`.
506 ///
507 /// To override the contents of this collection use [`set_access_endpoints`](Self::set_access_endpoints).
508 ///
509 /// <p>The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.</p>
510 pub fn access_endpoints(mut self, input: crate::types::AccessEndpoint) -> Self {
511 self.inner = self.inner.access_endpoints(input);
512 self
513 }
514 /// <p>The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.</p>
515 pub fn set_access_endpoints(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AccessEndpoint>>) -> Self {
516 self.inner = self.inner.set_access_endpoints(input);
517 self
518 }
519 /// <p>The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.</p>
520 pub fn get_access_endpoints(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AccessEndpoint>> {
521 self.inner.get_access_endpoints()
522 }
523}