Class DockerContainer

All Implemented Interfaces:
org.ivoa.vodml.jpa.JPAManipulations, org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>

@Entity @VoDml(id="execbroker:DockerContainer", role=objectType) public class DockerContainer extends AbstractExecutable implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
Details for a Docker or OCI container executable. See https://opencontainers.org/. objectType: DockerContainer
  • Field Details

    • image

      @VoDml(id="execbroker:DockerContainer.image", role=composition, type="execbroker:DockerImageSpec", typeRole=objectType) protected DockerImageSpec image
      Details of the container image. composition image : ( Multiplicity : 1 )
    • privileged

      @VoDml(id="execbroker:DockerContainer.privileged", role=attribute, type="ivoa:boolean", typeRole=primitiveType) protected Boolean privileged
      Set the privileged flag on execution. The default is `false`. See https://docs.docker.com/reference/cli/docker/container/run/#privileged. : Attribute privileged : multiplicity 1
    • entrypoint

      @VoDml(id="execbroker:DockerContainer.entrypoint", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String entrypoint
      Overwrite the default ENTRYPOINT of the image. : Attribute entrypoint : multiplicity 1
    • environment

      @VoDml(id="execbroker:DockerContainer.environment", role=attribute, type="execbroker:NameValueMap", typeRole=dataType) protected NameValueMap environment
      A name => value map of environment variables to pass to the container. : Attribute environment : multiplicity 1
    • network

      @VoDml(id="execbroker:DockerContainer.network", role=composition, type="execbroker:DockerNetworkSpec", typeRole=objectType) protected DockerNetworkSpec network
      Details of the network access available to the container. composition network : ( Multiplicity : 1 )
  • Constructor Details

    • DockerContainer

      public DockerContainer()
      Creates a new DockerContainer
    • DockerContainer

      public DockerContainer(DockerImageSpec image, Boolean privileged, String entrypoint, NameValueMap environment, DockerNetworkSpec network, LifecycleComponent lifecycle, String kind, ComponentMetadata meta)
      full parameter constructor.
      Parameters:
      image - Details of the container image.
      privileged - Set the privileged flag on execution. The default is `false`. See https://docs.docker.com/reference/cli/docker/container/run/#privileged.
      entrypoint - Overwrite the default ENTRYPOINT of the image.
      environment - A name => value map of environment variables to pass to the container.
      network - Details of the network access available to the container.
      lifecycle - .
      kind - The component type identifier.
      meta - The component metadata.
    • DockerContainer

      public DockerContainer(DockerContainer other)
      Copy Constructor. Note that references will remain as is rather than be copied.
      Parameters:
      other - the object to be copied.
    • DockerContainer

      public DockerContainer(AbstractExecutable superinstance, DockerImageSpec image, Boolean privileged, String entrypoint, NameValueMap environment, DockerNetworkSpec network)
      Constructor from supertype instance.
      Parameters:
      superinstance - The supertype.
      image - Details of the container image.
      privileged - Set the privileged flag on execution. The default is `false`. See https://docs.docker.com/reference/cli/docker/container/run/#privileged.
      entrypoint - Overwrite the default ENTRYPOINT of the image.
      environment - A name => value map of environment variables to pass to the container.
      network - Details of the network access available to the container.
  • Method Details

    • copyMe

      public AbstractComponent copyMe()
      make a clone of the object taking into account current polymorhic type.
      Overrides:
      copyMe in class AbstractExecutable
      Returns:
      the cloned object.
    • updateUsing

      public void updateUsing(DockerContainer other)
      Update this object with the content of the given object. Note that references will remain as is rather than be copied.
      Parameters:
      other - the object to be copied.
    • getImage

      public DockerImageSpec getImage()
      Returns image Attribute.
      Returns:
      image Attribute
    • setImage

      public void setImage(DockerImageSpec pImage)
      Set image Attribute.
      Parameters:
      pImage - value to set
    • withImage

      public DockerContainer withImage(DockerImageSpec pImage)
      fluent setter for image Attribute.
      Parameters:
      pImage - value to set
      Returns:
      DockerContainer
    • getPrivileged

      public Boolean getPrivileged()
      Returns privileged Attribute.
      Returns:
      privileged Attribute
    • setPrivileged

      public void setPrivileged(Boolean pPrivileged)
      Set privileged Attribute.
      Parameters:
      pPrivileged - value to set
    • withPrivileged

      public DockerContainer withPrivileged(Boolean pPrivileged)
      fluent setter for privileged Attribute.
      Parameters:
      pPrivileged - value to set
      Returns:
      DockerContainer
    • getEntrypoint

      public String getEntrypoint()
      Returns entrypoint Attribute.
      Returns:
      entrypoint Attribute
    • setEntrypoint

      public void setEntrypoint(String pEntrypoint)
      Set entrypoint Attribute.
      Parameters:
      pEntrypoint - value to set
    • withEntrypoint

      public DockerContainer withEntrypoint(String pEntrypoint)
      fluent setter for entrypoint Attribute.
      Parameters:
      pEntrypoint - value to set
      Returns:
      DockerContainer
    • getEnvironment

      public NameValueMap getEnvironment()
      Returns environment Attribute.
      Returns:
      environment Attribute
    • setEnvironment

      public void setEnvironment(NameValueMap pEnvironment)
      Set environment Attribute.
      Parameters:
      pEnvironment - value to set
    • withEnvironment

      public DockerContainer withEnvironment(NameValueMap pEnvironment)
      fluent setter for environment Attribute.
      Parameters:
      pEnvironment - value to set
      Returns:
      DockerContainer
    • getNetwork

      public DockerNetworkSpec getNetwork()
      Returns network Attribute.
      Returns:
      network Attribute
    • setNetwork

      public void setNetwork(DockerNetworkSpec pNetwork)
      Set network Attribute.
      Parameters:
      pNetwork - value to set
    • withNetwork

      public DockerContainer withNetwork(DockerNetworkSpec pNetwork)
      fluent setter for network Attribute.
      Parameters:
      pNetwork - value to set
      Returns:
      DockerContainer
    • createDockerContainer

      public static DockerContainer createDockerContainer(Consumer<DockerContainer.DockerContainerBuilder> f)
      create a DockerContainer in functional builder style.
      Parameters:
      f - the functional builder.
      Returns:
      an object initialized from the builder.
    • forceLoad

      public void forceLoad()
      Specified by:
      forceLoad in interface org.ivoa.vodml.jpa.JPAManipulations
      Overrides:
      forceLoad in class AbstractExecutable
    • delete

      public void delete(jakarta.persistence.EntityManager em)
      Specified by:
      delete in interface org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
      Overrides:
      delete in class AbstractExecutable