package json

Type Members

  1. class BadContainerConfigurationFormatException extends Exception

    Exception thrown when trying to parse a bad image configuration format.

  2. trait BuildableManifestTemplate extends ManifestTemplate

    Parent class for image manifest JSON templates that can be built.

    Parent class for image manifest JSON templates that can be built.

    See also

    V22ManifestTemplate for Docker V2.2 format

    OCIManifestTemplate for OCI format

  3. class ContainerConfigurationTemplate extends JsonTemplate

    JSON Template for Docker Container Configuration referenced in Docker Manifest Schema V2.2

    JSON Template for Docker Container Configuration referenced in Docker Manifest Schema V2.2

    Example container config JSON:

    
    {
      "created": "1970-01-01T00:00:00Z",
      "architecture": "amd64",
      "os": "linux",
      "config": {
        "Env": ["/usr/bin/java"],
        "Entrypoint": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],
        "Cmd": ["arg1", "arg2"]
        "ExposedPorts": { "6000/tcp":{, "8000/tcp":{}, "9000/tcp":{} }
      },
      "rootfs": {
        "diff_ids": [
          "sha256:2aebd096e0e237b447781353379722157e6c2d434b9ec5a0d63f2a6f07cf90c2",
          "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
        ],
        "type": "layers"
      }
    }
    }
    

    See also

    Image Manifest Version 2, Schema 2

  4. class DescriptorDigestDeserializer extends JsonDeserializer[DescriptorDigest]

    Deserializes a JSON element into a DescriptorDigest object.

  5. class DescriptorDigestSerializer extends JsonSerializer[DescriptorDigest]

    Serializes a DescriptorDigest into JSON element.

  6. class ImageToJsonTranslator extends AnyRef

    Translates an Image into a manifest or container configuration JSON BLOB.

    Translates an Image into a manifest or container configuration JSON BLOB.

    Example usage:

    
    ImageToJsonTranslator translator = new ImageToJsonTranslator(image);
    Blob containerConfigurationBlob = translator.getContainerConfigurationBlob();
    BlobDescriptor containerConfigurationBlobDescriptor = blob.writeTo(outputStream);
    Blob manifestBlob = translator.getManifestBlob(containerConfigurationBlobDescriptor);
    
    

  7. class JsonToImageTranslator extends AnyRef

    Translates V21ManifestTemplate and V22ManifestTemplate into Image.

  8. trait ManifestTemplate extends JsonTemplate

    Parent class for image manifest JSON templates.

  9. class OCIManifestTemplate extends BuildableManifestTemplate

    JSON Template for OCI Manifest Schema

    JSON Template for OCI Manifest Schema

    Example manifest JSON:

    
    {
      "schemaVersion": 2,
      "mediaType": "application/vnd.oci.image.manifest.v1+json",
      "config": {
        "mediaType": "application/vnd.oci.image.config.v1+json",
        "size": 631,
        "digest": "sha256:26b84ca5b9050d32e68f66ad0f3e2bbcd247198a6e6e09a7effddf126eb8d873"
      ,
      "layers": [
        {
          "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
          "size": 1991435,
          "digest": "sha256:b56ae66c29370df48e7377c8f9baa744a3958058a766793f821dadcb144a4647"
        },
        {
          "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
          "size": 32,
          "digest": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
        }
      ]
    }
    }
    

    See also

    OCI Image Manifest Specification

  10. class UnknownManifestFormatException extends RegistryException

    Exception thrown when trying to parse an unknown image manifest format.

  11. class V21ManifestTemplate extends ManifestTemplate

    JSON template for Docker Manifest Schema V2.1

    JSON template for Docker Manifest Schema V2.1

    This is only for parsing manifests in the older V2.1 schema. Generated manifests should be in the V2.2 schema using the V22ManifestTemplate.

    Example manifest JSON (only the fsLayers and history fields are relevant for parsing):

    
    {
      ...
      "fsLayers": {
        {
          "blobSum": "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
        ,
        {
          "blobSum": "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
        }
      },
      "history": [
        {
          "v1Compatibility": ""
        }
      ]
      ...
    }
    }
    

    See also

    Image Manifest Version 2, Schema 1

  12. class V22ManifestTemplate extends BuildableManifestTemplate

    JSON Template for Docker Manifest Schema V2.2

    JSON Template for Docker Manifest Schema V2.2

    Example manifest JSON:

    
    {
      "schemaVersion": 2,
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "config": {
        "mediaType": "application/vnd.docker.container.image.v1+json",
        "size": 631,
        "digest": "sha256:26b84ca5b9050d32e68f66ad0f3e2bbcd247198a6e6e09a7effddf126eb8d873"
      ,
      "layers": [
        {
          "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
          "size": 1991435,
          "digest": "sha256:b56ae66c29370df48e7377c8f9baa744a3958058a766793f821dadcb144a4647"
        },
        {
          "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
          "size": 32,
          "digest": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
        }
      ]
    }
    }
    

    See also

    Image Manifest Version 2, Schema 2

Ungrouped