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}