1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateImageBuilder`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`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): <p>A unique name for the image builder.</p>
    ///   - [`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): <p>The name of the image used to create the image builder.</p>
    ///   - [`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): <p>The ARN of the public, private, or shared image to use.</p>
    ///   - [`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): <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>
    ///   - [`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): <p>The description to display.</p>
    ///   - [`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): <p>The image builder name to display.</p>
    ///   - [`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): <p>The VPC configuration for the image builder. You can specify only one subnet.</p>
    ///   - [`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): <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>
    ///   - [`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): <p>Enables or disables default internet access for the image builder.</p>
    ///   - [`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): <p>The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain. </p>
    ///   - [`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): <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>
    ///   - [`tags(HashMap<String, String>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::tags) / [`set_tags(Option<HashMap<String, String>>)`](crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::set_tags): <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>
    ///   - [`access_endpoints(Vec<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): <p>The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.</p>
    /// - On success, responds with [`CreateImageBuilderOutput`](crate::operation::create_image_builder::CreateImageBuilderOutput) with field(s):
    ///   - [`image_builder(Option<ImageBuilder>)`](crate::operation::create_image_builder::CreateImageBuilderOutput::image_builder): <p>Information about the image builder.</p>
    /// - On failure, responds with [`SdkError<CreateImageBuilderError>`](crate::operation::create_image_builder::CreateImageBuilderError)
    pub fn create_image_builder(
        &self,
    ) -> crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder {
        crate::operation::create_image_builder::builders::CreateImageBuilderFluentBuilder::new(
            self.handle.clone(),
        )
    }
}