Struct aws_sdk_imagebuilder::types::Image

source ·
#[non_exhaustive]
pub struct Image {
Show 26 fields pub arn: Option<String>, pub type: Option<ImageType>, pub name: Option<String>, pub version: Option<String>, pub platform: Option<Platform>, pub enhanced_image_metadata_enabled: Option<bool>, pub os_version: Option<String>, pub state: Option<ImageState>, pub image_recipe: Option<ImageRecipe>, pub container_recipe: Option<ContainerRecipe>, pub source_pipeline_name: Option<String>, pub source_pipeline_arn: Option<String>, pub infrastructure_configuration: Option<InfrastructureConfiguration>, pub distribution_configuration: Option<DistributionConfiguration>, pub image_tests_configuration: Option<ImageTestsConfiguration>, pub date_created: Option<String>, pub output_resources: Option<OutputResources>, pub tags: Option<HashMap<String, String>>, pub build_type: Option<BuildType>, pub image_source: Option<ImageSource>, pub scan_state: Option<ImageScanState>, pub image_scanning_configuration: Option<ImageScanningConfiguration>, pub deprecation_time: Option<DateTime>, pub lifecycle_execution_id: Option<String>, pub execution_role: Option<String>, pub workflows: Option<Vec<WorkflowConfiguration>>,
}
Expand description

An Image Builder image. You must specify exactly one recipe for the image – either a container recipe (containerRecipe), which creates a container image, or an image recipe (imageRecipe), which creates an AMI.

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 image.

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.

§type: Option<ImageType>

Specifies whether this image produces an AMI or a container image.

§name: Option<String>

The name of the image.

§version: Option<String>

The semantic version of the image.

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.

§platform: Option<Platform>

The image operating system platform, such as Linux or Windows.

§enhanced_image_metadata_enabled: Option<bool>

Indicates whether Image Builder collects additional information about the image, such as the operating system (OS) version and package list.

§os_version: Option<String>

The operating system version for instances that launch from this image. For example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.

§state: Option<ImageState>

The state of the image.

§image_recipe: Option<ImageRecipe>

For images that distribute an AMI, this is the image recipe that Image Builder used to create the image. For container images, this is empty.

§container_recipe: Option<ContainerRecipe>

For container images, this is the container recipe that Image Builder used to create the image. For images that distribute an AMI, this is empty.

§source_pipeline_name: Option<String>

The name of the image pipeline that created this image.

§source_pipeline_arn: Option<String>

The Amazon Resource Name (ARN) of the image pipeline that created this image.

§infrastructure_configuration: Option<InfrastructureConfiguration>

The infrastructure that Image Builder used to create this image.

§distribution_configuration: Option<DistributionConfiguration>

The distribution configuration that Image Builder used to create this image.

§image_tests_configuration: Option<ImageTestsConfiguration>

The image tests that ran when that Image Builder created this image.

§date_created: Option<String>

The date on which Image Builder created this image.

§output_resources: Option<OutputResources>

The output resources that Image Builder produces for this image.

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

The tags that apply to this image.

§build_type: Option<BuildType>

Indicates the type of build that created this image. The build can be initiated in the following ways:

  • USER_INITIATED – A manual pipeline build request.

  • SCHEDULED – A pipeline build initiated by a cron expression in the Image Builder pipeline, or from EventBridge.

  • IMPORT – A VM import created the image to use as the base image for the recipe.

§image_source: Option<ImageSource>

The origin of the base image that Image Builder used to build this image.

§scan_state: Option<ImageScanState>

Contains information about the current state of scans for this image.

§image_scanning_configuration: Option<ImageScanningConfiguration>

Contains settings for vulnerability scans.

§deprecation_time: Option<DateTime>

The time when deprecation occurs for an image resource. This can be a past or future date.

§lifecycle_execution_id: Option<String>

Identifies the last runtime instance of the lifecycle policy to take action on the image.

§execution_role: Option<String>

The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.

§workflows: Option<Vec<WorkflowConfiguration>>

Contains the build and test workflows that are associated with the image.

Implementations§

source§

impl Image

source

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

The Amazon Resource Name (ARN) of the image.

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 type(&self) -> Option<&ImageType>

Specifies whether this image produces an AMI or a container image.

source

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

The name of the image.

source

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

The semantic version of the image.

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 platform(&self) -> Option<&Platform>

The image operating system platform, such as Linux or Windows.

source

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

Indicates whether Image Builder collects additional information about the image, such as the operating system (OS) version and package list.

source

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

The operating system version for instances that launch from this image. For example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.

source

pub fn state(&self) -> Option<&ImageState>

The state of the image.

source

pub fn image_recipe(&self) -> Option<&ImageRecipe>

For images that distribute an AMI, this is the image recipe that Image Builder used to create the image. For container images, this is empty.

source

pub fn container_recipe(&self) -> Option<&ContainerRecipe>

For container images, this is the container recipe that Image Builder used to create the image. For images that distribute an AMI, this is empty.

source

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

The name of the image pipeline that created this image.

source

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

The Amazon Resource Name (ARN) of the image pipeline that created this image.

source

pub fn infrastructure_configuration( &self ) -> Option<&InfrastructureConfiguration>

The infrastructure that Image Builder used to create this image.

source

pub fn distribution_configuration(&self) -> Option<&DistributionConfiguration>

The distribution configuration that Image Builder used to create this image.

source

pub fn image_tests_configuration(&self) -> Option<&ImageTestsConfiguration>

The image tests that ran when that Image Builder created this image.

source

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

The date on which Image Builder created this image.

source

pub fn output_resources(&self) -> Option<&OutputResources>

The output resources that Image Builder produces for this image.

source

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

The tags that apply to this image.

source

pub fn build_type(&self) -> Option<&BuildType>

Indicates the type of build that created this image. The build can be initiated in the following ways:

  • USER_INITIATED – A manual pipeline build request.

  • SCHEDULED – A pipeline build initiated by a cron expression in the Image Builder pipeline, or from EventBridge.

  • IMPORT – A VM import created the image to use as the base image for the recipe.

source

pub fn image_source(&self) -> Option<&ImageSource>

The origin of the base image that Image Builder used to build this image.

source

pub fn scan_state(&self) -> Option<&ImageScanState>

Contains information about the current state of scans for this image.

source

pub fn image_scanning_configuration( &self ) -> Option<&ImageScanningConfiguration>

Contains settings for vulnerability scans.

source

pub fn deprecation_time(&self) -> Option<&DateTime>

The time when deprecation occurs for an image resource. This can be a past or future date.

source

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

Identifies the last runtime instance of the lifecycle policy to take action on the image.

source

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

The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.

source

pub fn workflows(&self) -> &[WorkflowConfiguration]

Contains the build and test workflows that are associated with the image.

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

source§

impl Image

source

pub fn builder() -> ImageBuilder

Creates a new builder-style object to manufacture Image.

Trait Implementations§

source§

impl Clone for Image

source§

fn clone(&self) -> Image

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 Image

source§

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

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

impl PartialEq for Image

source§

fn eq(&self, other: &Image) -> 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 Image

Auto Trait Implementations§

§

impl Freeze for Image

§

impl RefUnwindSafe for Image

§

impl Send for Image

§

impl Sync for Image

§

impl Unpin for Image

§

impl UnwindSafe for Image

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