aws_sdk_imagebuilder/client/
create_image_recipe.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 [`CreateImageRecipe`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`name(impl Into<String>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::set_name):<br>required: **true**<br><p>The name of the image recipe.</p><br>
7    ///   - [`description(impl Into<String>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::set_description):<br>required: **false**<br><p>The description of the image recipe.</p><br>
8    ///   - [`semantic_version(impl Into<String>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::semantic_version) / [`set_semantic_version(Option<String>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::set_semantic_version):<br>required: **true**<br><p>The semantic version of the image recipe. This version follows the semantic version syntax.</p><note>  <p>The semantic version has four nodes: <major>    .    <minor>     .     <patch>      /      <build>       . You can assign values for the first three, and can filter on all of them.      </build>     </patch>    </minor>   </major></p>  <p><b>Assignment:</b> For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.</p>  <p><b>Patterns:</b> You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.</p> </note><br>
9    ///   - [`components(ComponentConfiguration)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::components) / [`set_components(Option<Vec::<ComponentConfiguration>>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::set_components):<br>required: **true**<br><p>The components included in the image recipe.</p><br>
10    ///   - [`parent_image(impl Into<String>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::parent_image) / [`set_parent_image(Option<String>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::set_parent_image):<br>required: **true**<br><p>The base image for customizations specified in the image recipe. You can specify the parent image using one of the following options:</p> <ul>  <li>   <p>AMI ID</p></li>  <li>   <p>Image Builder image Amazon Resource Name (ARN)</p></li>  <li>   <p>Amazon Web Services Systems Manager (SSM) Parameter Store Parameter, prefixed by <code>ssm:</code>, followed by the parameter name or ARN.</p></li>  <li>   <p>Amazon Web Services Marketplace product ID</p></li> </ul> <p>If you enter an AMI ID or an SSM parameter that contains the AMI ID, you must have access to the AMI, and the AMI must be in the source Region.</p><br>
11    ///   - [`block_device_mappings(InstanceBlockDeviceMapping)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::block_device_mappings) / [`set_block_device_mappings(Option<Vec::<InstanceBlockDeviceMapping>>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::set_block_device_mappings):<br>required: **false**<br><p>The block device mappings of the image recipe.</p><br>
12    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::set_tags):<br>required: **false**<br><p>The tags of the image recipe.</p><br>
13    ///   - [`working_directory(impl Into<String>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::working_directory) / [`set_working_directory(Option<String>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::set_working_directory):<br>required: **false**<br><p>The working directory used during build and test workflows.</p><br>
14    ///   - [`additional_instance_configuration(AdditionalInstanceConfiguration)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::additional_instance_configuration) / [`set_additional_instance_configuration(Option<AdditionalInstanceConfiguration>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::set_additional_instance_configuration):<br>required: **false**<br><p>Specify additional settings and launch scripts for your build instances.</p><br>
15    ///   - [`client_token(impl Into<String>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::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>
16    /// - On success, responds with [`CreateImageRecipeOutput`](crate::operation::create_image_recipe::CreateImageRecipeOutput) with field(s):
17    ///   - [`request_id(Option<String>)`](crate::operation::create_image_recipe::CreateImageRecipeOutput::request_id): <p>The request ID that uniquely identifies this request.</p>
18    ///   - [`client_token(Option<String>)`](crate::operation::create_image_recipe::CreateImageRecipeOutput::client_token): <p>The client token that uniquely identifies the request.</p>
19    ///   - [`image_recipe_arn(Option<String>)`](crate::operation::create_image_recipe::CreateImageRecipeOutput::image_recipe_arn): <p>The Amazon Resource Name (ARN) of the image recipe that was created by this request.</p>
20    /// - On failure, responds with [`SdkError<CreateImageRecipeError>`](crate::operation::create_image_recipe::CreateImageRecipeError)
21    pub fn create_image_recipe(&self) -> crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder {
22        crate::operation::create_image_recipe::builders::CreateImageRecipeFluentBuilder::new(self.handle.clone())
23    }
24}