Class ImageRecipe

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

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

An image recipe.

See Also:
  • Method Details

    • arn

      public final String arn()

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

      Returns:
      The Amazon Resource Name (ARN) of the image recipe.
    • type

      public final ImageType type()

      The output image type. For an image recipe, this is always AMI. Container images are built from container recipes, a separate resource. This field isn't currently returned in responses.

      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:
      The output image type. For an image recipe, this is always AMI. Container images are built from container recipes, a separate resource. This field isn't currently returned in responses.
      See Also:
    • typeAsString

      public final String typeAsString()

      The output image type. For an image recipe, this is always AMI. Container images are built from container recipes, a separate resource. This field isn't currently returned in responses.

      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:
      The output image type. For an image recipe, this is always AMI. Container images are built from container recipes, a separate resource. This field isn't currently returned in responses.
      See Also:
    • name

      public final String name()

      The name of the image recipe.

      Returns:
      The name of the image recipe.
    • description

      public final String description()

      The description of the image recipe.

      Returns:
      The description of the image recipe.
    • platform

      public final Platform platform()

      The platform of the image recipe.

      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 platform of the image recipe.
      See Also:
    • platformAsString

      public final String platformAsString()

      The platform of the image recipe.

      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 platform of the image recipe.
      See Also:
    • owner

      public final String owner()

      The owner of the image recipe.

      Returns:
      The owner of the image recipe.
    • version

      public final String version()

      The version of the image recipe.

      Returns:
      The version of the image recipe.
    • 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()

      The components that are included in the image recipe. A recipe can contain a maximum of 20 build and test components in any combination, by default. This maximum is an adjustable quota. For more information, see EC2 Image Builder endpoints and quotas in the Amazon Web Services General Reference.

      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:
      The components that are included in the image recipe. A recipe can contain a maximum of 20 build and test components in any combination, by default. This maximum is an adjustable quota. For more information, see EC2 Image Builder endpoints and quotas in the Amazon Web Services General Reference.
    • parentImage

      public final String parentImage()

      The base image for customizations specified in the image recipe. You can specify the parent image using one of the following options:

      • AMI ID

      • Image Builder image Amazon Resource Name (ARN)

      • Amazon Web Services Systems Manager (SSM) Parameter Store Parameter, prefixed by ssm:, followed by the parameter name or ARN.

      • Amazon Web Services Marketplace product ID

      Returns:
      The base image for customizations specified in the image recipe. You can specify the parent image using one of the following options:

      • AMI ID

      • Image Builder image Amazon Resource Name (ARN)

      • Amazon Web Services Systems Manager (SSM) Parameter Store Parameter, prefixed by ssm:, followed by the parameter name or ARN.

      • Amazon Web Services Marketplace product ID

    • hasBlockDeviceMappings

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

      public final List<InstanceBlockDeviceMapping> blockDeviceMappings()

      The block device mappings to apply when creating images from this 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 hasBlockDeviceMappings() method.

      Returns:
      The block device mappings to apply when creating images from this recipe.
    • dateCreated

      public final String dateCreated()

      The date on which this image recipe was created.

      Returns:
      The date on which this image 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()

      The tags of the image 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:
      The tags of the image recipe.
    • workingDirectory

      public final String workingDirectory()

      The working directory used during build and test workflows. If you don't specify a working directory, Image Builder uses /tmp for Linux and macOS build instances, and C:/ for Windows build instances.

      Returns:
      The working directory used during build and test workflows. If you don't specify a working directory, Image Builder uses /tmp for Linux and macOS build instances, and C:/ for Windows build instances.
    • additionalInstanceConfiguration

      public final AdditionalInstanceConfiguration additionalInstanceConfiguration()

      Before you create a new AMI, Image Builder launches temporary Amazon EC2 instances to build and test your image configuration. Instance configuration adds a layer of control over those instances. You can define settings and add scripts to run when Image Builder launches your build instance.

      Returns:
      Before you create a new AMI, Image Builder launches temporary Amazon EC2 instances to build and test your image configuration. Instance configuration adds a layer of control over those instances. You can define settings and add scripts to run when Image Builder launches your build instance.
    • hasAmiTags

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

      public final Map<String,String> amiTags()

      Tags that are applied to the AMI that Image Builder creates during the Build phase prior to image distribution.

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

      Returns:
      Tags that are applied to the AMI that Image Builder creates during the Build phase prior to image distribution.
    • hasAmiWatermarks

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

      public final List<String> amiWatermarks()

      The AMI watermark names attached to the output AMI from this recipe. AMI watermarks are lineage markers that automatically propagate to derivative AMIs when the source AMI is copied or distributed.

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

      Returns:
      The AMI watermark names attached to the output AMI from this recipe. AMI watermarks are lineage markers that automatically propagate to derivative AMIs when the source AMI is copied or distributed.
    • toBuilder

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

      public static ImageRecipe.Builder builder()
    • serializableBuilderClass

      public static Class<? extends ImageRecipe.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.