{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/oracle/main/json-schema/oracle-create-container-image-signature-details-schema.json",
  "title": "CreateContainerImageSignatureDetails",
  "description": "Upload container image signature request details.",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/oracle-artifacts-api-openapi.yml#/components/schemas/CreateContainerImageSignatureDetails",
  "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"
    },
    "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"
    },
    "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"
    },
    "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"
    },
    "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"
    }
  },
  "required": [
    "compartmentId",
    "imageId",
    "kmsKeyId",
    "kmsKeyVersionId",
    "message",
    "signature",
    "signingAlgorithm"
  ]
}