{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/oracle/main/json-schema/oracle-container-image-schema.json", "title": "ContainerImage", "description": "Container image 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/ContainerImage", "properties": { "compartmentId": { "description": "The compartment OCID to which the container image belongs. Inferred from the container repository.", "maxLength": 100, "minLength": 1, "type": "string" }, "createdBy": { "description": "The [OCID](/Content/General/Concepts/identifiers.htm) 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" }, "digest": { "description": "The container image digest.", "maxLength": 128, "minLength": 1, "type": "string" }, "displayName": { "description": "The repository name and the most recent version associated with the image.\nIf there are no versions associated with the image, then last known version and digest are used instead.\nIf the last known version is unavailable, then 'unknown' is used instead of the version.\n\nExample: `ubuntu:latest` or `ubuntu:latest@sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2`\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.\n\nExample: `ocid1.containerimage.oc1..exampleuniqueID`\n", "maxLength": 255, "minLength": 1, "type": "string" }, "layers": { "description": "Layers of which the image is composed, ordered by the layer digest.", "items": { "$ref": "#/$defs/ContainerImageLayer" }, "type": "array" }, "layersSizeInBytes": { "description": "The total size of the container image layers in bytes.", "format": "int64", "type": "integer" }, "lifecycleState": { "description": "The current state of the container image.", "enum": [ "AVAILABLE", "DELETED", "DELETING" ], "type": "string" }, "manifestSizeInBytes": { "description": "The size of the container image manifest in bytes.", "format": "int32", "type": "integer" }, "pullCount": { "description": "Total number of pulls.", "format": "int64", "type": "integer" }, "repositoryId": { "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the container repository.", "maxLength": 255, "minLength": 1, "type": "string" }, "repositoryName": { "description": "The container repository name.", "maxLength": 255, "minLength": 1, "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" }, "timeLastPulled": { "description": "An RFC 3339 timestamp indicating when the image was last pulled.", "format": "date-time", "type": "string" }, "version": { "description": "The most recent version associated with this image.", "maxLength": 128, "minLength": 1, "type": "string" }, "versions": { "description": "The versions associated with this image.", "items": { "$ref": "#/$defs/ContainerVersion" }, "type": "array" } }, "required": [ "compartmentId", "createdBy", "digest", "displayName", "id", "layers", "layersSizeInBytes", "lifecycleState", "manifestSizeInBytes", "pullCount", "repositoryId", "repositoryName", "timeCreated", "versions", "freeformTags", "definedTags", "systemTags" ], "$defs": { "ContainerImageLayer": { "description": "The container image layer metadata.", "properties": { "digest": { "description": "The sha256 digest of the image layer.", "maxLength": 128, "minLength": 1, "type": "string" }, "sizeInBytes": { "description": "The size of the layer in bytes.", "format": "int64", "type": "integer" }, "timeCreated": { "description": "An RFC 3339 timestamp indicating when the layer was created.", "format": "date-time", "type": "string" } }, "required": [ "digest", "sizeInBytes", "timeCreated" ] }, "ContainerVersion": { "description": "Container version metadata.", "properties": { "createdBy": { "description": "The OCID of the user or principal that pushed the version.", "maxLength": 100, "minLength": 1, "type": "string" }, "timeCreated": { "description": "The creation time of the version.", "format": "date-time", "type": "string" }, "version": { "description": "The version name.", "maxLength": 128, "minLength": 1, "type": "string" } }, "required": [ "createdBy", "timeCreated", "version" ] } } }