// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateExportImageTask`](crate::operation::create_export_image_task::builders::CreateExportImageTaskFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`image_name(impl Into<String>)`](crate::operation::create_export_image_task::builders::CreateExportImageTaskFluentBuilder::image_name) / [`set_image_name(Option<String>)`](crate::operation::create_export_image_task::builders::CreateExportImageTaskFluentBuilder::set_image_name):<br>required: **true**<br><p>The name of the WorkSpaces Applications image to export. The image must be in an available state and owned by your account.</p><br>
/// - [`ami_name(impl Into<String>)`](crate::operation::create_export_image_task::builders::CreateExportImageTaskFluentBuilder::ami_name) / [`set_ami_name(Option<String>)`](crate::operation::create_export_image_task::builders::CreateExportImageTaskFluentBuilder::set_ami_name):<br>required: **true**<br><p>The name for the exported EC2 AMI. This is a required field that must be unique within your account and region.</p><br>
/// - [`iam_role_arn(impl Into<String>)`](crate::operation::create_export_image_task::builders::CreateExportImageTaskFluentBuilder::iam_role_arn) / [`set_iam_role_arn(Option<String>)`](crate::operation::create_export_image_task::builders::CreateExportImageTaskFluentBuilder::set_iam_role_arn):<br>required: **true**<br><p>The ARN of the IAM role that allows WorkSpaces Applications to create the AMI. The role must have permissions to copy images, describe images, and create tags, with a trust relationship allowing appstream.amazonaws.com to assume the role.</p><br>
/// - [`tag_specifications(impl Into<String>, impl Into<String>)`](crate::operation::create_export_image_task::builders::CreateExportImageTaskFluentBuilder::tag_specifications) / [`set_tag_specifications(Option<HashMap::<String, String>>)`](crate::operation::create_export_image_task::builders::CreateExportImageTaskFluentBuilder::set_tag_specifications):<br>required: **false**<br><p>The tags to apply to the exported AMI. These tags help you organize and manage your EC2 AMIs.</p><br>
/// - [`ami_description(impl Into<String>)`](crate::operation::create_export_image_task::builders::CreateExportImageTaskFluentBuilder::ami_description) / [`set_ami_description(Option<String>)`](crate::operation::create_export_image_task::builders::CreateExportImageTaskFluentBuilder::set_ami_description):<br>required: **false**<br><p>An optional description for the exported AMI. This description will be applied to the resulting EC2 AMI.</p><br>
/// - On success, responds with [`CreateExportImageTaskOutput`](crate::operation::create_export_image_task::CreateExportImageTaskOutput) with field(s):
/// - [`export_image_task(Option<ExportImageTask>)`](crate::operation::create_export_image_task::CreateExportImageTaskOutput::export_image_task): <p>Information about the export image task that was created, including the task ID and initial state.</p>
/// - On failure, responds with [`SdkError<CreateExportImageTaskError>`](crate::operation::create_export_image_task::CreateExportImageTaskError)
pub fn create_export_image_task(&self) -> crate::operation::create_export_image_task::builders::CreateExportImageTaskFluentBuilder {
crate::operation::create_export_image_task::builders::CreateExportImageTaskFluentBuilder::new(self.handle.clone())
}
}