aws_sdk_imagebuilder/client/
create_container_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 [`CreateContainerRecipe`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`container_type(ContainerType)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::container_type) / [`set_container_type(Option<ContainerType>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_container_type):<br>required: **true**<br><p>The type of container to create.</p><br>
7    ///   - [`name(impl Into<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_name):<br>required: **true**<br><p>The name of the container recipe.</p><br>
8    ///   - [`description(impl Into<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_description):<br>required: **false**<br><p>The description of the container recipe.</p><br>
9    ///   - [`semantic_version(impl Into<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::semantic_version) / [`set_semantic_version(Option<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_semantic_version):<br>required: **true**<br><p>The semantic version of the container 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>
10    ///   - [`components(ComponentConfiguration)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::components) / [`set_components(Option<Vec::<ComponentConfiguration>>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_components):<br>required: **true**<br><p>Components for build and test that are included in the container recipe. Recipes require a minimum of one build component, and can have a maximum of 20 build and test components in any combination.</p><br>
11    ///   - [`instance_configuration(InstanceConfiguration)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::instance_configuration) / [`set_instance_configuration(Option<InstanceConfiguration>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_instance_configuration):<br>required: **false**<br><p>A group of options that can be used to configure an instance for building and testing container images.</p><br>
12    ///   - [`dockerfile_template_data(impl Into<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::dockerfile_template_data) / [`set_dockerfile_template_data(Option<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_dockerfile_template_data):<br>required: **false**<br><p>The Dockerfile template used to build your image as an inline data blob.</p><br>
13    ///   - [`dockerfile_template_uri(impl Into<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::dockerfile_template_uri) / [`set_dockerfile_template_uri(Option<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_dockerfile_template_uri):<br>required: **false**<br><p>The Amazon S3 URI for the Dockerfile that will be used to build your container image.</p><br>
14    ///   - [`platform_override(Platform)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::platform_override) / [`set_platform_override(Option<Platform>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_platform_override):<br>required: **false**<br><p>Specifies the operating system platform when you use a custom base image.</p><br>
15    ///   - [`image_os_version_override(impl Into<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::image_os_version_override) / [`set_image_os_version_override(Option<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_image_os_version_override):<br>required: **false**<br><p>Specifies the operating system version for the base image.</p><br>
16    ///   - [`parent_image(impl Into<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::parent_image) / [`set_parent_image(Option<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_parent_image):<br>required: **true**<br><p>The base image for the container recipe.</p><br>
17    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_tags):<br>required: **false**<br><p>Tags that are attached to the container recipe.</p><br>
18    ///   - [`working_directory(impl Into<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::working_directory) / [`set_working_directory(Option<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_working_directory):<br>required: **false**<br><p>The working directory for use during build and test workflows.</p><br>
19    ///   - [`target_repository(TargetContainerRepository)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::target_repository) / [`set_target_repository(Option<TargetContainerRepository>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_target_repository):<br>required: **true**<br><p>The destination repository for the container image.</p><br>
20    ///   - [`kms_key_id(impl Into<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::kms_key_id) / [`set_kms_key_id(Option<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::set_kms_key_id):<br>required: **false**<br><p>Identifies which KMS key is used to encrypt the Dockerfile template.</p><br>
21    ///   - [`client_token(impl Into<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::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>
22    /// - On success, responds with [`CreateContainerRecipeOutput`](crate::operation::create_container_recipe::CreateContainerRecipeOutput) with field(s):
23    ///   - [`request_id(Option<String>)`](crate::operation::create_container_recipe::CreateContainerRecipeOutput::request_id): <p>The request ID that uniquely identifies this request.</p>
24    ///   - [`client_token(Option<String>)`](crate::operation::create_container_recipe::CreateContainerRecipeOutput::client_token): <p>The client token that uniquely identifies the request.</p>
25    ///   - [`container_recipe_arn(Option<String>)`](crate::operation::create_container_recipe::CreateContainerRecipeOutput::container_recipe_arn): <p>Returns the Amazon Resource Name (ARN) of the container recipe that the request created.</p>
26    /// - On failure, responds with [`SdkError<CreateContainerRecipeError>`](crate::operation::create_container_recipe::CreateContainerRecipeError)
27    pub fn create_container_recipe(&self) -> crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder {
28        crate::operation::create_container_recipe::builders::CreateContainerRecipeFluentBuilder::new(self.handle.clone())
29    }
30}