aws_sdk_appstream/client/
create_imported_image.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 [`CreateImportedImage`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`name(impl Into<String>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::set_name):<br>required: **true**<br><p>A unique name for the imported image. The name must be between 1 and 100 characters and can contain letters, numbers, underscores, periods, and hyphens.</p><br>
7    ///   - [`source_ami_id(impl Into<String>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::source_ami_id) / [`set_source_ami_id(Option<String>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::set_source_ami_id):<br>required: **true**<br><p>The ID of the EC2 AMI to import. The AMI must meet specific requirements including Windows Server 2022 Full Base, UEFI boot mode, TPM 2.0 support, and proper drivers.</p><br>
8    ///   - [`iam_role_arn(impl Into<String>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::iam_role_arn) / [`set_iam_role_arn(Option<String>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::set_iam_role_arn):<br>required: **true**<br><p>The ARN of the IAM role that allows WorkSpaces Applications to access your AMI. The role must have permissions to modify image attributes and describe images, with a trust relationship allowing appstream.amazonaws.com to assume the role.</p><br>
9    ///   - [`description(impl Into<String>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::set_description):<br>required: **false**<br><p>An optional description for the imported image. The description must match approved regex patterns and can be up to 256 characters.</p><br>
10    ///   - [`display_name(impl Into<String>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::display_name) / [`set_display_name(Option<String>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::set_display_name):<br>required: **false**<br><p>An optional display name for the imported image. The display name must match approved regex patterns and can be up to 100 characters.</p><br>
11    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::set_tags):<br>required: **false**<br><p>The tags to apply to the imported image. Tags help you organize and manage your WorkSpaces Applications resources.</p><br>
12    ///   - [`runtime_validation_config(RuntimeValidationConfig)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::runtime_validation_config) / [`set_runtime_validation_config(Option<RuntimeValidationConfig>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::set_runtime_validation_config):<br>required: **false**<br><p>Configuration for runtime validation of the imported image. When specified, WorkSpaces Applications provisions an instance to test streaming functionality, which helps ensure the image is suitable for use.</p><br>
13    ///   - [`agent_software_version(AgentSoftwareVersion)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::agent_software_version) / [`set_agent_software_version(Option<AgentSoftwareVersion>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::set_agent_software_version):<br>required: **false**<br><p>The version of the WorkSpaces Applications agent to use for the imported image. Choose CURRENT_LATEST to use the agent version available at the time of import, or ALWAYS_LATEST to automatically update to the latest agent version when new versions are released.</p><br>
14    ///   - [`app_catalog_config(ApplicationConfig)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::app_catalog_config) / [`set_app_catalog_config(Option<Vec::<ApplicationConfig>>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::set_app_catalog_config):<br>required: **false**<br><p>Configuration for the application catalog of the imported image. This allows you to specify applications available for streaming, including their paths, icons, and launch parameters. This field contains sensitive data.</p><br>
15    ///   - [`dry_run(bool)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::set_dry_run):<br>required: **false**<br><p>When set to true, performs validation checks without actually creating the imported image. Use this to verify your configuration before executing the actual import operation.</p><br>
16    /// - On success, responds with [`CreateImportedImageOutput`](crate::operation::create_imported_image::CreateImportedImageOutput) with field(s):
17    ///   - [`image(Option<Image>)`](crate::operation::create_imported_image::CreateImportedImageOutput::image): <p>Describes an image.</p>
18    /// - On failure, responds with [`SdkError<CreateImportedImageError>`](crate::operation::create_imported_image::CreateImportedImageError)
19    pub fn create_imported_image(&self) -> crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder {
20        crate::operation::create_imported_image::builders::CreateImportedImageFluentBuilder::new(self.handle.clone())
21    }
22}