Class ImagePipeline

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

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

Defines the automation configuration for building, testing, and distributing images. A pipeline references the resources that its builds use, such as the recipe and infrastructure configuration. It also holds the settings that control its builds, such as the schedule and custom workflows.

See Also:
  • Method Details

    • arn

      public final String arn()

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

      Returns:
      The Amazon Resource Name (ARN) of the image pipeline.
    • name

      public final String name()

      The name of the image pipeline.

      Returns:
      The name of the image pipeline.
    • description

      public final String description()

      The description of the image pipeline.

      Returns:
      The description of the image pipeline.
    • platform

      public final Platform platform()

      The platform of the image pipeline, inherited from the recipe that the pipeline uses.

      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 pipeline, inherited from the recipe that the pipeline uses.
      See Also:
    • platformAsString

      public final String platformAsString()

      The platform of the image pipeline, inherited from the recipe that the pipeline uses.

      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 pipeline, inherited from the recipe that the pipeline uses.
      See Also:
    • enhancedImageMetadataEnabled

      public final Boolean enhancedImageMetadataEnabled()

      Specifies whether to collect additional information about the image being created, including the operating system (OS) version and package list. Defaults to true.

      Returns:
      Specifies whether to collect additional information about the image being created, including the operating system (OS) version and package list. Defaults to true.
    • imageRecipeArn

      public final String imageRecipeArn()

      The Amazon Resource Name (ARN) of the image recipe associated with this image pipeline.

      Returns:
      The Amazon Resource Name (ARN) of the image recipe associated with this image pipeline.
    • containerRecipeArn

      public final String containerRecipeArn()

      The Amazon Resource Name (ARN) of the container recipe that is used for this pipeline.

      Returns:
      The Amazon Resource Name (ARN) of the container recipe that is used for this pipeline.
    • infrastructureConfigurationArn

      public final String infrastructureConfigurationArn()

      The Amazon Resource Name (ARN) of the infrastructure configuration associated with this image pipeline.

      Returns:
      The Amazon Resource Name (ARN) of the infrastructure configuration associated with this image pipeline.
    • distributionConfigurationArn

      public final String distributionConfigurationArn()

      The Amazon Resource Name (ARN) of the distribution configuration associated with this image pipeline.

      Returns:
      The Amazon Resource Name (ARN) of the distribution configuration associated with this image pipeline.
    • imageTestsConfiguration

      public final ImageTestsConfiguration imageTestsConfiguration()

      The image tests configuration of the image pipeline.

      Returns:
      The image tests configuration of the image pipeline.
    • schedule

      public final Schedule schedule()

      The schedule of the image pipeline.

      Returns:
      The schedule of the image pipeline.
    • status

      public final PipelineStatus status()

      The status of the image pipeline. A disabled pipeline doesn't run on its schedule, but you can still start builds manually. Image Builder can also disable a pipeline automatically when consecutive scheduled builds fail.

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

      Returns:
      The status of the image pipeline. A disabled pipeline doesn't run on its schedule, but you can still start builds manually. Image Builder can also disable a pipeline automatically when consecutive scheduled builds fail.
      See Also:
    • statusAsString

      public final String statusAsString()

      The status of the image pipeline. A disabled pipeline doesn't run on its schedule, but you can still start builds manually. Image Builder can also disable a pipeline automatically when consecutive scheduled builds fail.

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

      Returns:
      The status of the image pipeline. A disabled pipeline doesn't run on its schedule, but you can still start builds manually. Image Builder can also disable a pipeline automatically when consecutive scheduled builds fail.
      See Also:
    • dateCreated

      public final String dateCreated()

      The date on which this image pipeline was created.

      Returns:
      The date on which this image pipeline was created.
    • dateUpdated

      public final String dateUpdated()

      The date on which this image pipeline was last updated.

      Returns:
      The date on which this image pipeline was last updated.
    • dateLastRun

      public final String dateLastRun()

      The date on which this image pipeline was last run.

      Returns:
      The date on which this image pipeline was last run.
    • lastRunStatus

      public final ImageStatus lastRunStatus()

      The status of the last image that this pipeline built, such as BUILDING, TESTING, FAILED, or AVAILABLE.

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

      Returns:
      The status of the last image that this pipeline built, such as BUILDING, TESTING, FAILED, or AVAILABLE.
      See Also:
    • lastRunStatusAsString

      public final String lastRunStatusAsString()

      The status of the last image that this pipeline built, such as BUILDING, TESTING, FAILED, or AVAILABLE.

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

      Returns:
      The status of the last image that this pipeline built, such as BUILDING, TESTING, FAILED, or AVAILABLE.
      See Also:
    • dateNextRun

      public final String dateNextRun()

      The next date when the pipeline is scheduled to run.

      Returns:
      The next date when the pipeline is scheduled to run.
    • 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 this image pipeline.

      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 this image pipeline.
    • imageScanningConfiguration

      public final ImageScanningConfiguration imageScanningConfiguration()

      Contains settings for vulnerability scans that Amazon Inspector runs against the test instance during image creation.

      Returns:
      Contains settings for vulnerability scans that Amazon Inspector runs against the test instance during image creation.
    • hasImageTags

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

      public final Map<String,String> imageTags()

      The tags that Image Builder applies to the Image Builder image resource that this pipeline's scheduled executions create. These tags don't apply to the output AMI. Builds that you start manually use the tags from the StartImagePipelineExecution request instead.

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

      Returns:
      The tags that Image Builder applies to the Image Builder image resource that this pipeline's scheduled executions create. These tags don't apply to the output AMI. Builds that you start manually use the tags from the StartImagePipelineExecution request instead.
    • 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 workflows that run for the image pipeline.

      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 workflows that run for the image pipeline.
    • loggingConfiguration

      public final PipelineLoggingConfiguration loggingConfiguration()

      The CloudWatch Logs configuration for the pipeline: the log group for image build logs and the log group for pipeline execution logs.

      Returns:
      The CloudWatch Logs configuration for the pipeline: the log group for image build logs and the log group for pipeline execution logs.
    • consecutiveFailures

      public final Integer consecutiveFailures()

      Image Builder tracks the number of consecutive failures for scheduled pipeline executions and takes one of the following actions each time it runs on a schedule:

      • If the pipeline execution is successful, the number of consecutive failures resets to zero.

      • If the pipeline execution fails, Image Builder increments the number of consecutive failures. If the failure count reaches the limit defined in the AutoDisablePolicy, Image Builder disables the pipeline.

      The consecutive failure count is also reset to zero under the following conditions:

      • The pipeline runs manually and succeeds.

      • The pipeline configuration is updated.

      If the pipeline runs manually and fails, the count remains the same. The next scheduled run continues to increment where it left off before.

      Returns:
      Image Builder tracks the number of consecutive failures for scheduled pipeline executions and takes one of the following actions each time it runs on a schedule:

      • If the pipeline execution is successful, the number of consecutive failures resets to zero.

      • If the pipeline execution fails, Image Builder increments the number of consecutive failures. If the failure count reaches the limit defined in the AutoDisablePolicy, Image Builder disables the pipeline.

      The consecutive failure count is also reset to zero under the following conditions:

      • The pipeline runs manually and succeeds.

      • The pipeline configuration is updated.

      If the pipeline runs manually and fails, the count remains the same. The next scheduled run continues to increment where it left off before.

    • toBuilder

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

      public static ImagePipeline.Builder builder()
    • serializableBuilderClass

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