{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/oracle/main/json-schema/oracle-container-image-signature-schema.json",
  "title": "ContainerImageSignature",
  "description": "Container image signature metadata.",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/oracle-artifacts-api-openapi.yml#/components/schemas/ContainerImageSignature",
  "properties": {
    "compartmentId": {
      "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment in which the container repository exists.",
      "maxLength": 100,
      "minLength": 1,
      "type": "string"
    },
    "createdBy": {
      "description": "The id of the user or principal that created the resource.",
      "maxLength": 100,
      "minLength": 1,
      "type": "string"
    },
    "definedTags": {
      "additionalProperties": {
        "additionalProperties": {
          "description": "The value of the tag. Only the String type is supported.\n",
          "type": "object"
        },
        "description": "Key-value pair representing a defined tag key and value, scoped to a namespace.\n\nExample: `{\"CostCenter\": \"42\"}`\n",
        "type": "object"
      },
      "description": "Defined tags for this resource. Each key is predefined and scoped to a\nnamespace. For more information, see [Resource Tags](/iaas/Content/General/Concepts/resourcetags.htm).\n\nExample: `{\"Operations\": {\"CostCenter\": \"42\"}}`\n",
      "type": "object"
    },
    "displayName": {
      "description": "The last 10 characters of the kmsKeyId, the last 10 characters of the kmsKeyVersionId, the signingAlgorithm, and the last 10 characters of the signatureId.\n\nExample: `wrmz22sixa::qdwyc2ptun::SHA_256_RSA_PKCS_PSS::2vwmobasva`\n",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "freeformTags": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Free-form tags for this resource. Each tag is a simple key-value pair with no\npredefined name, type, or namespace. For more information, see [Resource Tags](/iaas/Content/General/Concepts/resourcetags.htm).\n\nExample: `{\"Department\": \"Finance\"}`\n",
      "type": "object"
    },
    "id": {
      "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the container image signature.\n\nExample: `ocid1.containerimagesignature.oc1..exampleuniqueID`\n",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "imageId": {
      "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the container image.\n\nExample: `ocid1.containerimage.oc1..exampleuniqueID`\n",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "kmsKeyId": {
      "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the kmsKeyId used to sign the container image.\n\nExample: `ocid1.key.oc1..exampleuniqueID`\n",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "kmsKeyVersionId": {
      "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the kmsKeyVersionId used to sign the container image.\n\nExample: `ocid1.keyversion.oc1..exampleuniqueID`\n",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "lifecycleState": {
      "description": "The current state of the container image signature.",
      "enum": [
        "AVAILABLE",
        "DELETING",
        "DELETED"
      ],
      "type": "string"
    },
    "message": {
      "description": "The base64 encoded signature payload that was signed.",
      "maxLength": 1024,
      "minLength": 1,
      "type": "string"
    },
    "signature": {
      "description": "The signature of the message field using the kmsKeyId, the kmsKeyVersionId, and the signingAlgorithm.",
      "maxLength": 684,
      "minLength": 1,
      "type": "string"
    },
    "signingAlgorithm": {
      "description": "The algorithm to be used for signing. These are the only supported signing algorithms for container images.",
      "enum": [
        "SHA_224_RSA_PKCS_PSS",
        "SHA_256_RSA_PKCS_PSS",
        "SHA_384_RSA_PKCS_PSS",
        "SHA_512_RSA_PKCS_PSS"
      ],
      "type": "string"
    },
    "systemTags": {
      "additionalProperties": {
        "additionalProperties": {
          "description": "The value of the tag.\n",
          "type": "object"
        },
        "description": "Key-value pair representing a system tag key and value, scoped to a namespace.\nExample: `{\"free-tier-retained\" : \"true\"}`\n",
        "type": "object"
      },
      "description": "The system tags for this resource. Each key is predefined and scoped to a namespace.\nExample: `{\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}`\n",
      "type": "object"
    },
    "timeCreated": {
      "description": "An RFC 3339 timestamp indicating when the image was created.",
      "format": "date-time",
      "type": "string"
    }
  },
  "required": [
    "compartmentId",
    "createdBy",
    "displayName",
    "id",
    "imageId",
    "kmsKeyId",
    "kmsKeyVersionId",
    "message",
    "signature",
    "signingAlgorithm",
    "timeCreated",
    "lifecycleState",
    "freeformTags",
    "definedTags",
    "systemTags"
  ]
}