Struct aws_sdk_imagebuilder::types::ContainerRecipe

source ·
#[non_exhaustive]
pub struct ContainerRecipe {
Show 17 fields pub arn: Option<String>, pub container_type: Option<ContainerType>, pub name: Option<String>, pub description: Option<String>, pub platform: Option<Platform>, pub owner: Option<String>, pub version: Option<String>, pub components: Option<Vec<ComponentConfiguration>>, pub instance_configuration: Option<InstanceConfiguration>, pub dockerfile_template_data: Option<String>, pub kms_key_id: Option<String>, pub encrypted: Option<bool>, pub parent_image: Option<String>, pub date_created: Option<String>, pub tags: Option<HashMap<String, String>>, pub working_directory: Option<String>, pub target_repository: Option<TargetContainerRepository>,
}
Expand description

A container recipe.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§arn: Option<String>

The Amazon Resource Name (ARN) of the container recipe.

Semantic versioning is included in each object's Amazon Resource Name (ARN), at the level that applies to that object as follows:

  1. Versionless ARNs and Name ARNs do not include specific values in any of the nodes. The nodes are either left off entirely, or they are specified as wildcards, for example: x.x.x.

  2. Version ARNs have only the first three nodes: . .

  3. Build version ARNs have all four nodes, and point to a specific build for a specific version of an object.

§container_type: Option<ContainerType>

Specifies the type of container, such as Docker.

§name: Option<String>

The name of the container recipe.

§description: Option<String>

The description of the container recipe.

§platform: Option<Platform>

The system platform for the container, such as Windows or Linux.

§owner: Option<String>

The owner of the container recipe.

§version: Option<String>

The semantic version of the container recipe.

The semantic version has four nodes: . . / . You can assign values for the first three, and can filter on all of them.

Assignment: 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.

Patterns: 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.

Filtering: With semantic versioning, you have the flexibility to use wildcards (x) to specify the most recent versions or nodes when selecting the base image or components for your recipe. When you use a wildcard in any node, all nodes to the right of the first wildcard must also be wildcards.

§components: Option<Vec<ComponentConfiguration>>

Build and test components 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.

§instance_configuration: Option<InstanceConfiguration>

A group of options that can be used to configure an instance for building and testing container images.

§dockerfile_template_data: Option<String>

Dockerfiles are text documents that are used to build Docker containers, and ensure that they contain all of the elements required by the application running inside. The template data consists of contextual variables where Image Builder places build information or scripts, based on your container image recipe.

§kms_key_id: Option<String>

Identifies which KMS key is used to encrypt the container image for distribution to the target Region.

§encrypted: Option<bool>

A flag that indicates if the target container is encrypted.

§parent_image: Option<String>

The base image for the container recipe.

§date_created: Option<String>

The date when this container recipe was created.

§tags: Option<HashMap<String, String>>

Tags that are attached to the container recipe.

§working_directory: Option<String>

The working directory for use during build and test workflows.

§target_repository: Option<TargetContainerRepository>

The destination repository for the container image.

Implementations§

source§

impl ContainerRecipe

source

pub fn arn(&self) -> Option<&str>

The Amazon Resource Name (ARN) of the container recipe.

Semantic versioning is included in each object's Amazon Resource Name (ARN), at the level that applies to that object as follows:

  1. Versionless ARNs and Name ARNs do not include specific values in any of the nodes. The nodes are either left off entirely, or they are specified as wildcards, for example: x.x.x.

  2. Version ARNs have only the first three nodes: . .

  3. Build version ARNs have all four nodes, and point to a specific build for a specific version of an object.

source

pub fn container_type(&self) -> Option<&ContainerType>

Specifies the type of container, such as Docker.

source

pub fn name(&self) -> Option<&str>

The name of the container recipe.

source

pub fn description(&self) -> Option<&str>

The description of the container recipe.

source

pub fn platform(&self) -> Option<&Platform>

The system platform for the container, such as Windows or Linux.

source

pub fn owner(&self) -> Option<&str>

The owner of the container recipe.

source

pub fn version(&self) -> Option<&str>

The semantic version of the container recipe.

The semantic version has four nodes: . . / . You can assign values for the first three, and can filter on all of them.

Assignment: 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.

Patterns: 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.

Filtering: With semantic versioning, you have the flexibility to use wildcards (x) to specify the most recent versions or nodes when selecting the base image or components for your recipe. When you use a wildcard in any node, all nodes to the right of the first wildcard must also be wildcards.

source

pub fn components(&self) -> &[ComponentConfiguration]

Build and test components 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.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .components.is_none().

source

pub fn instance_configuration(&self) -> Option<&InstanceConfiguration>

A group of options that can be used to configure an instance for building and testing container images.

source

pub fn dockerfile_template_data(&self) -> Option<&str>

Dockerfiles are text documents that are used to build Docker containers, and ensure that they contain all of the elements required by the application running inside. The template data consists of contextual variables where Image Builder places build information or scripts, based on your container image recipe.

source

pub fn kms_key_id(&self) -> Option<&str>

Identifies which KMS key is used to encrypt the container image for distribution to the target Region.

source

pub fn encrypted(&self) -> Option<bool>

A flag that indicates if the target container is encrypted.

source

pub fn parent_image(&self) -> Option<&str>

The base image for the container recipe.

source

pub fn date_created(&self) -> Option<&str>

The date when this container recipe was created.

source

pub fn tags(&self) -> Option<&HashMap<String, String>>

Tags that are attached to the container recipe.

source

pub fn working_directory(&self) -> Option<&str>

The working directory for use during build and test workflows.

source

pub fn target_repository(&self) -> Option<&TargetContainerRepository>

The destination repository for the container image.

source§

impl ContainerRecipe

source

pub fn builder() -> ContainerRecipeBuilder

Creates a new builder-style object to manufacture ContainerRecipe.

Trait Implementations§

source§

impl Clone for ContainerRecipe

source§

fn clone(&self) -> ContainerRecipe

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ContainerRecipe

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for ContainerRecipe

source§

fn eq(&self, other: &ContainerRecipe) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for ContainerRecipe

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more