Amazon ECR · Schema

Amazon ECR Repository

Schema representing an Amazon Elastic Container Registry repository, which stores Docker container images and OCI artifacts.

Amazon Web ServicesContainer ImagesContainer RegistryContainersDockerECROCI

Properties

Name Type Description
repositoryArn string The Amazon Resource Name (ARN) that identifies the repository.
registryId string The AWS account ID associated with the registry that contains the repository.
repositoryName string The name of the repository.
repositoryUri string The URI for the repository, used for docker pull and push operations.
createdAt string The date and time, in JavaScript date format, when the repository was created.
imageTagMutability string The tag mutability setting for the repository. When set to IMMUTABLE, all image tags within the repository are prevented from being overwritten.
imageScanningConfiguration object The image scanning configuration for the repository.
encryptionConfiguration object The encryption configuration for the repository.
imageCount integer The number of images in the repository.
repositoryPolicy string The JSON repository policy text associated with the repository.
lifecyclePolicy object The lifecycle policy for the repository.
tags array The metadata tags applied to the repository.
View JSON Schema on GitHub

JSON Schema

amazon-ecr-repository-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.apis.io/schemas/amazon-ecr-repository.json",
  "title": "Amazon ECR Repository",
  "description": "Schema representing an Amazon Elastic Container Registry repository, which stores Docker container images and OCI artifacts.",
  "type": "object",
  "required": [
    "repositoryName"
  ],
  "properties": {
    "repositoryArn": {
      "type": "string",
      "description": "The Amazon Resource Name (ARN) that identifies the repository.",
      "pattern": "^arn:aws[a-zA-Z-]*:ecr:[a-z0-9-]+:[0-9]{12}:repository/.+$"
    },
    "registryId": {
      "type": "string",
      "description": "The AWS account ID associated with the registry that contains the repository.",
      "pattern": "^[0-9]{12}$"
    },
    "repositoryName": {
      "type": "string",
      "description": "The name of the repository.",
      "minLength": 2,
      "maxLength": 256,
      "pattern": "^(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*$"
    },
    "repositoryUri": {
      "type": "string",
      "description": "The URI for the repository, used for docker pull and push operations.",
      "format": "uri"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time, in JavaScript date format, when the repository was created."
    },
    "imageTagMutability": {
      "type": "string",
      "description": "The tag mutability setting for the repository. When set to IMMUTABLE, all image tags within the repository are prevented from being overwritten.",
      "enum": [
        "MUTABLE",
        "IMMUTABLE"
      ],
      "default": "MUTABLE"
    },
    "imageScanningConfiguration": {
      "type": "object",
      "description": "The image scanning configuration for the repository.",
      "properties": {
        "scanOnPush": {
          "type": "boolean",
          "description": "The setting that determines whether images are scanned after being pushed to a repository.",
          "default": false
        }
      }
    },
    "encryptionConfiguration": {
      "type": "object",
      "description": "The encryption configuration for the repository.",
      "required": [
        "encryptionType"
      ],
      "properties": {
        "encryptionType": {
          "type": "string",
          "description": "The encryption type to use.",
          "enum": [
            "AES256",
            "KMS"
          ]
        },
        "kmsKey": {
          "type": "string",
          "description": "If you use the KMS encryption type, specify the KMS key to use for encryption."
        }
      }
    },
    "imageCount": {
      "type": "integer",
      "description": "The number of images in the repository.",
      "minimum": 0
    },
    "repositoryPolicy": {
      "type": "string",
      "description": "The JSON repository policy text associated with the repository."
    },
    "lifecyclePolicy": {
      "type": "object",
      "description": "The lifecycle policy for the repository.",
      "properties": {
        "lifecyclePolicyText": {
          "type": "string",
          "description": "The JSON lifecycle policy text."
        },
        "registryId": {
          "type": "string",
          "description": "The registry ID associated with the lifecycle policy."
        },
        "repositoryName": {
          "type": "string",
          "description": "The repository name associated with the lifecycle policy."
        },
        "lastEvaluatedAt": {
          "type": "string",
          "format": "date-time",
          "description": "The time stamp of the last time the lifecycle policy was run."
        }
      }
    },
    "tags": {
      "type": "array",
      "description": "The metadata tags applied to the repository.",
      "items": {
        "type": "object",
        "required": [
          "Key",
          "Value"
        ],
        "properties": {
          "Key": {
            "type": "string",
            "description": "The key of the tag.",
            "minLength": 1,
            "maxLength": 128
          },
          "Value": {
            "type": "string",
            "description": "The value of the tag.",
            "minLength": 0,
            "maxLength": 256
          }
        }
      }
    }
  }
}