Class ComponentVersion

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

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

The defining characteristics of a specific version of an Amazon Web Services TOE component.

See Also:
  • Method Details

    • arn

      public final String arn()

      The Amazon Resource Name (ARN) of the component.

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

      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.

    • name

      public final String name()

      The name of the component.

      Returns:
      The name of the component.
    • version

      public final String version()

      The semantic version of the component.

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

      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.

    • description

      public final String description()

      The description of the component.

      Returns:
      The description of the component.
    • platform

      public final Platform platform()

      The platform of the component.

      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 component.
      See Also:
    • platformAsString

      public final String platformAsString()

      The platform of the component.

      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 component.
      See Also:
    • hasSupportedOsVersions

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

      public final List<String> supportedOsVersions()

      he operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the base image OS version during image recipe creation.

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

      Returns:
      he operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the base image OS version during image recipe creation.
    • type

      public final ComponentType type()

      The type of the component denotes whether the component is used to build the image or only to test it.

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

      Returns:
      The type of the component denotes whether the component is used to build the image or only to test it.
      See Also:
    • typeAsString

      public final String typeAsString()

      The type of the component denotes whether the component is used to build the image or only to test it.

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

      Returns:
      The type of the component denotes whether the component is used to build the image or only to test it.
      See Also:
    • owner

      public final String owner()

      The owner of the component.

      Returns:
      The owner of the component.
    • dateCreated

      public final String dateCreated()

      The date that the component was created.

      Returns:
      The date that the component was created.
    • toBuilder

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

      public static ComponentVersion.Builder builder()
    • serializableBuilderClass

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