aws_sdk_imagebuilder/client/distribute_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 [`DistributeImage`](crate::operation::distribute_image::builders::DistributeImageFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`source_image(impl Into<String>)`](crate::operation::distribute_image::builders::DistributeImageFluentBuilder::source_image) / [`set_source_image(Option<String>)`](crate::operation::distribute_image::builders::DistributeImageFluentBuilder::set_source_image):<br>required: **true**<br><p>The source image to distribute. Specify an AMI identifier, SSM parameter path, or Image Builder image Amazon Resource Name (ARN). When you specify an Image Builder image Amazon Resource Name (ARN), the image must be in the <code>AVAILABLE</code> state.</p><br>
7 /// - [`distribution_configuration_arn(impl Into<String>)`](crate::operation::distribute_image::builders::DistributeImageFluentBuilder::distribution_configuration_arn) / [`set_distribution_configuration_arn(Option<String>)`](crate::operation::distribute_image::builders::DistributeImageFluentBuilder::set_distribution_configuration_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the distribution configuration. The configuration defines target Regions, accounts, and AMI settings. The distribution configuration must be in the same Region as this operation.</p><br>
8 /// - [`execution_role(impl Into<String>)`](crate::operation::distribute_image::builders::DistributeImageFluentBuilder::execution_role) / [`set_execution_role(Option<String>)`](crate::operation::distribute_image::builders::DistributeImageFluentBuilder::set_execution_role):<br>required: **true**<br><p>The name or Amazon Resource Name (ARN) of the IAM role that Image Builder assumes to distribute the image.</p><br>
9 /// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::distribute_image::builders::DistributeImageFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::distribute_image::builders::DistributeImageFluentBuilder::set_tags):<br>required: **false**<br><p>The tags to apply to the distributed image.</p><br>
10 /// - [`client_token(impl Into<String>)`](crate::operation::distribute_image::builders::DistributeImageFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::distribute_image::builders::DistributeImageFluentBuilder::set_client_token):<br>required: **true**<br><p>Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a> in the <i>Amazon EC2 API Reference</i>.</p><br>
11 /// - [`logging_configuration(ImageLoggingConfiguration)`](crate::operation::distribute_image::builders::DistributeImageFluentBuilder::logging_configuration) / [`set_logging_configuration(Option<ImageLoggingConfiguration>)`](crate::operation::distribute_image::builders::DistributeImageFluentBuilder::set_logging_configuration):<br>required: **false**<br><p>The logging configuration for the distribution.</p><br>
12 /// - On success, responds with [`DistributeImageOutput`](crate::operation::distribute_image::DistributeImageOutput) with field(s):
13 /// - [`client_token(Option<String>)`](crate::operation::distribute_image::DistributeImageOutput::client_token): <p>The client token that uniquely identifies the request.</p>
14 /// - [`image_build_version_arn(Option<String>)`](crate::operation::distribute_image::DistributeImageOutput::image_build_version_arn): <p>The Amazon Resource Name (ARN) of the image to be distributed.</p>
15 /// - On failure, responds with [`SdkError<DistributeImageError>`](crate::operation::distribute_image::DistributeImageError)
16 pub fn distribute_image(&self) -> crate::operation::distribute_image::builders::DistributeImageFluentBuilder {
17 crate::operation::distribute_image::builders::DistributeImageFluentBuilder::new(self.handle.clone())
18 }
19}