aws_sdk_appstream/client/create_image_builder.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`CreateImageBuilder`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`name(impl Into<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::set_name):<br>required: **true**<br><p>A unique name for the image builder.</p><br>
7 /// - [`image_name(impl Into<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::image_name) / [`set_image_name(Option<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::set_image_name):<br>required: **false**<br><p>The name of the image used to create the image builder.</p><br>
8 /// - [`image_arn(impl Into<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::image_arn) / [`set_image_arn(Option<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::set_image_arn):<br>required: **false**<br><p>The ARN of the public, private, or shared image to use.</p><br>
9 /// - [`instance_type(impl Into<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::instance_type) / [`set_instance_type(Option<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::set_instance_type):<br>required: **true**<br><p>The instance type to use when launching the image builder. The following instance types are available:</p> <ul> <li> <p>stream.standard.small</p></li> <li> <p>stream.standard.medium</p></li> <li> <p>stream.standard.large</p></li> <li> <p>stream.compute.large</p></li> <li> <p>stream.compute.xlarge</p></li> <li> <p>stream.compute.2xlarge</p></li> <li> <p>stream.compute.4xlarge</p></li> <li> <p>stream.compute.8xlarge</p></li> <li> <p>stream.memory.large</p></li> <li> <p>stream.memory.xlarge</p></li> <li> <p>stream.memory.2xlarge</p></li> <li> <p>stream.memory.4xlarge</p></li> <li> <p>stream.memory.8xlarge</p></li> <li> <p>stream.memory.z1d.large</p></li> <li> <p>stream.memory.z1d.xlarge</p></li> <li> <p>stream.memory.z1d.2xlarge</p></li> <li> <p>stream.memory.z1d.3xlarge</p></li> <li> <p>stream.memory.z1d.6xlarge</p></li> <li> <p>stream.memory.z1d.12xlarge</p></li> <li> <p>stream.graphics-design.large</p></li> <li> <p>stream.graphics-design.xlarge</p></li> <li> <p>stream.graphics-design.2xlarge</p></li> <li> <p>stream.graphics-design.4xlarge</p></li> <li> <p>stream.graphics-desktop.2xlarge</p></li> <li> <p>stream.graphics.g4dn.xlarge</p></li> <li> <p>stream.graphics.g4dn.2xlarge</p></li> <li> <p>stream.graphics.g4dn.4xlarge</p></li> <li> <p>stream.graphics.g4dn.8xlarge</p></li> <li> <p>stream.graphics.g4dn.12xlarge</p></li> <li> <p>stream.graphics.g4dn.16xlarge</p></li> <li> <p>stream.graphics-pro.4xlarge</p></li> <li> <p>stream.graphics-pro.8xlarge</p></li> <li> <p>stream.graphics-pro.16xlarge</p></li> </ul><br>
10 /// - [`description(impl Into<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::set_description):<br>required: **false**<br><p>The description to display.</p><br>
11 /// - [`display_name(impl Into<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::display_name) / [`set_display_name(Option<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::set_display_name):<br>required: **false**<br><p>The image builder name to display.</p><br>
12 /// - [`vpc_config(VpcConfig)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::vpc_config) / [`set_vpc_config(Option<VpcConfig>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::set_vpc_config):<br>required: **false**<br><p>The VPC configuration for the image builder. You can specify only one subnet.</p><br>
13 /// - [`iam_role_arn(impl Into<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::iam_role_arn) / [`set_iam_role_arn(Option<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::set_iam_role_arn):<br>required: **false**<br><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> <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><br>
14 /// - [`enable_default_internet_access(bool)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::enable_default_internet_access) / [`set_enable_default_internet_access(Option<bool>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::set_enable_default_internet_access):<br>required: **false**<br><p>Enables or disables default internet access for the image builder.</p><br>
15 /// - [`domain_join_info(DomainJoinInfo)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::domain_join_info) / [`set_domain_join_info(Option<DomainJoinInfo>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::set_domain_join_info):<br>required: **false**<br><p>The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.</p><br>
16 /// - [`appstream_agent_version(impl Into<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::appstream_agent_version) / [`set_appstream_agent_version(Option<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::set_appstream_agent_version):<br>required: **false**<br><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><br>
17 /// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::set_tags):<br>required: **false**<br><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> <p>Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:</p> <p>_ . : / = + \ - @</p> <p>If you do not specify a value, the value is set to an empty string.</p> <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><br>
18 /// - [`access_endpoints(AccessEndpoint)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::access_endpoints) / [`set_access_endpoints(Option<Vec::<AccessEndpoint>>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::set_access_endpoints):<br>required: **false**<br><p>The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.</p><br>
19 /// - On success, responds with [`CreateImageBuilderOutput`](crate::operation::create_image_builder::CreateImageBuilderOutput) with field(s):
20 /// - [`image_builder(Option<ImageBuilder>)`](crate::operation::create_image_builder::CreateImageBuilderOutput::image_builder): <p>Information about the image builder.</p>
21 /// - On failure, responds with [`SdkError<CreateImageBuilderError>`](crate::operation::create_image_builder::CreateImageBuilderError)
22 pub fn create_image_builder(&self) -> crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder {
23 crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::new(self.handle.clone())
24 }
25}