Class ContainerRecipe

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

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

A container recipe.

See Also:
  • Method Details

    • arn

      public final String arn()

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

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

    • containerType

      public final ContainerType containerType()

      Specifies the type of container, such as Docker.

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

      Returns:
      Specifies the type of container, such as Docker.
      See Also:
    • containerTypeAsString

      public final String containerTypeAsString()

      Specifies the type of container, such as Docker.

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

      Returns:
      Specifies the type of container, such as Docker.
      See Also:
    • name

      public final String name()

      The name of the container recipe.

      Returns:
      The name of the container recipe.
    • description

      public final String description()

      The description of the container recipe.

      Returns:
      The description of the container recipe.
    • platform

      public final Platform platform()

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

      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 system platform for the container, such as Windows or Linux.
      See Also:
    • platformAsString

      public final String platformAsString()

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

      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 system platform for the container, such as Windows or Linux.
      See Also:
    • owner

      public final String owner()

      The owner of the container recipe.

      Returns:
      The owner of the container recipe.
    • version

      public final String version()

      The semantic version of the container recipe.

      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 container recipe.

      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.

    • hasComponents

      public final boolean hasComponents()
      For responses, this returns true if the service returned a value for the Components 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.
    • components

      public final List<ComponentConfiguration> components()

      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.

      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 hasComponents() method.

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

      public final InstanceConfiguration instanceConfiguration()

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

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

      public final String dockerfileTemplateData()

      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.

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

      public final String kmsKeyId()

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

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

      public final Boolean encrypted()

      A flag that indicates if the target container is encrypted.

      Returns:
      A flag that indicates if the target container is encrypted.
    • parentImage

      public final String parentImage()

      The base image for customizations specified in the container recipe. This can contain an Image Builder image resource ARN or a container image URI, for example amazonlinux:latest.

      Returns:
      The base image for customizations specified in the container recipe. This can contain an Image Builder image resource ARN or a container image URI, for example amazonlinux:latest.
    • dateCreated

      public final String dateCreated()

      The date when this container recipe was created.

      Returns:
      The date when this container recipe was created.
    • 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()

      Tags that are attached to the container recipe.

      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:
      Tags that are attached to the container recipe.
    • workingDirectory

      public final String workingDirectory()

      The working directory for use during build and test workflows.

      Returns:
      The working directory for use during build and test workflows.
    • targetRepository

      public final TargetContainerRepository targetRepository()

      The destination repository for the container image.

      Returns:
      The destination repository for the container image.
    • toBuilder

      public ContainerRecipe.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<ContainerRecipe.Builder,ContainerRecipe>
      Returns:
      a builder for type T
    • builder

      public static ContainerRecipe.Builder builder()
    • serializableBuilderClass

      public static Class<? extends ContainerRecipe.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.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.