java.lang.Object
software.amazon.awssdk.services.imagebuilder.model.Image
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<Image.Builder,Image>

@Generated("software.amazon.awssdk:codegen") public final class Image extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Image.Builder,Image>

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.

See Also:
  • Method Details

    • arn

      public final String arn()

      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: <major>.<minor>.<patch>

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

      Returns:
      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: <major>.<minor>.<patch>

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

    • type

      public final ImageType type()

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

      If the service returns an enum value that is not available in the current SDK version, type will return ImageType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from typeAsString().

      Returns:
      Specifies whether this image produces an AMI or a container image.
      See Also:
    • typeAsString

      public final String typeAsString()

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

      If the service returns an enum value that is not available in the current SDK version, type will return ImageType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from typeAsString().

      Returns:
      Specifies whether this image produces an AMI or a container image.
      See Also:
    • name

      public final String name()

      The name of the image.

      Returns:
      The name of the image.
    • version

      public final String version()

      The semantic version of the image.

      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.

      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.

      Returns:
      The semantic version of the image.

      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.

      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

      public final Platform platform()

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

      If the service returns an enum value that is not available in the current SDK version, platform will return Platform.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from platformAsString().

      Returns:
      The image operating system platform, such as Linux or Windows.
      See Also:
    • platformAsString

      public final String platformAsString()

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

      If the service returns an enum value that is not available in the current SDK version, platform will return Platform.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from platformAsString().

      Returns:
      The image operating system platform, such as Linux or Windows.
      See Also:
    • enhancedImageMetadataEnabled

      public final Boolean enhancedImageMetadataEnabled()

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

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

      public final String osVersion()

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

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

      public final ImageState state()

      The state of the image.

      Returns:
      The state of the image.
    • imageRecipe

      public final ImageRecipe 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.

      Returns:
      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.
    • containerRecipe

      public final ContainerRecipe 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.

      Returns:
      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.
    • sourcePipelineName

      public final String sourcePipelineName()

      The name of the image pipeline that created this image.

      Returns:
      The name of the image pipeline that created this image.
    • sourcePipelineArn

      public final String sourcePipelineArn()

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

      Returns:
      The Amazon Resource Name (ARN) of the image pipeline that created this image.
    • infrastructureConfiguration

      public final InfrastructureConfiguration infrastructureConfiguration()

      The infrastructure that Image Builder used to create this image.

      Returns:
      The infrastructure that Image Builder used to create this image.
    • distributionConfiguration

      public final DistributionConfiguration distributionConfiguration()

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

      Returns:
      The distribution configuration that Image Builder used to create this image.
    • imageTestsConfiguration

      public final ImageTestsConfiguration imageTestsConfiguration()

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

      Returns:
      The image tests that ran when that Image Builder created this image.
    • dateCreated

      public final String dateCreated()

      The date on which Image Builder created this image.

      Returns:
      The date on which Image Builder created this image.
    • outputResources

      public final OutputResources outputResources()

      The output resources that Image Builder produces for this image.

      Returns:
      The output resources that Image Builder produces for this image.
    • hasTags

      public final boolean hasTags()
      For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • tags

      public final Map<String,String> tags()

      The tags that apply to this image.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTags() method.

      Returns:
      The tags that apply to this image.
    • buildType

      public final BuildType 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.

      If the service returns an enum value that is not available in the current SDK version, buildType will return BuildType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from buildTypeAsString().

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

      See Also:
    • buildTypeAsString

      public final String buildTypeAsString()

      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.

      If the service returns an enum value that is not available in the current SDK version, buildType will return BuildType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from buildTypeAsString().

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

      See Also:
    • imageSource

      public final ImageSource imageSource()

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

      If the service returns an enum value that is not available in the current SDK version, imageSource will return ImageSource.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from imageSourceAsString().

      Returns:
      The origin of the base image that Image Builder used to build this image.
      See Also:
    • imageSourceAsString

      public final String imageSourceAsString()

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

      If the service returns an enum value that is not available in the current SDK version, imageSource will return ImageSource.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from imageSourceAsString().

      Returns:
      The origin of the base image that Image Builder used to build this image.
      See Also:
    • scanState

      public final ImageScanState scanState()

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

      Returns:
      Contains information about the current state of scans for this image.
    • imageScanningConfiguration

      public final ImageScanningConfiguration imageScanningConfiguration()

      Contains settings for vulnerability scans.

      Returns:
      Contains settings for vulnerability scans.
    • deprecationTime

      public final Instant deprecationTime()

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

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

      public final String lifecycleExecutionId()

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

      Returns:
      Identifies the last runtime instance of the lifecycle policy to take action on the image.
    • executionRole

      public final String executionRole()

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

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

      public final boolean hasWorkflows()
      For responses, this returns true if the service returned a value for the Workflows property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • workflows

      public final List<WorkflowConfiguration> workflows()

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

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasWorkflows() method.

      Returns:
      Contains the build and test workflows that are associated with the image.
    • toBuilder

      public Image.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<Image.Builder,Image>
      Returns:
      a builder for type T
    • builder

      public static Image.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Image.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.