Class AdditionalInstanceConfiguration

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

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

In addition to your infrastructure configuration, these settings provide an extra layer of control over your build instances. You can also specify commands to run on launch for all of your build instances.

Image Builder does not automatically install the Systems Manager agent on Windows instances. If your base image includes the Systems Manager agent, then the AMI that you create will also include the agent. For Linux instances, if the base image does not already include the Systems Manager agent, Image Builder installs it. For Linux instances where Image Builder installs the Systems Manager agent, you can choose whether to keep it for the AMI that you create.

See Also:
  • Method Details

    • systemsManagerAgent

      public final SystemsManagerAgent systemsManagerAgent()

      Contains settings for the Systems Manager agent on your build instance.

      Returns:
      Contains settings for the Systems Manager agent on your build instance.
    • userDataOverride

      public final String userDataOverride()

      Use this property to provide commands or a command script to run when you launch your build instance.

      The userDataOverride property replaces any commands that Image Builder might have added to ensure that Systems Manager is installed on your Linux build instance. If you override the user data, make sure that you add commands to install Systems Manager, if it is not pre-installed on your base image.

      The user data is always base 64 encoded. For example, the following commands are encoded as IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhci$:

      #!/bin/bash

      mkdir -p /var/bb/

      touch /var

      Returns:
      Use this property to provide commands or a command script to run when you launch your build instance.

      The userDataOverride property replaces any commands that Image Builder might have added to ensure that Systems Manager is installed on your Linux build instance. If you override the user data, make sure that you add commands to install Systems Manager, if it is not pre-installed on your base image.

      The user data is always base 64 encoded. For example, the following commands are encoded as IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhci$:

      #!/bin/bash

      mkdir -p /var/bb/

      touch /var

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

      public static AdditionalInstanceConfiguration.Builder builder()
    • serializableBuilderClass

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