{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-ecr-publicrepository.json",
  "title": "AWSECRPublicRepositoryProperties",
  "description": "The AWS::ECR::PublicRepository resource specifies an Amazon Elastic Container Public Registry (Amazon Public ECR) repository, where users can push and pull Docker images. For more information, see <https://docs.aws.amazon.com/AmazonECR>. Source:- <https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecr.git>",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/aws-ecr-publicrepository.json",
    "sourceSha256": "c70ecdfef15e2c52b40544eda19e8a4f94ee56a9fd6ea99f29566566db9de85d"
  },
  "type": "object",
  "properties": {
    "RepositoryName": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 2,
          "maxLength": 256,
          "pattern": "^(?=.{2,256}$)((?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)$"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The name to use for the repository. The repository name may be specified on its own (such as nginx-web-app) or it can be prepended with a namespace to group the repository into a category (such as project-a/nginx-web-app). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the repository name. For more information, see <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html>."
    },
    "RepositoryPolicyText": {
      "type": [
        "object",
        "string"
      ],
      "description": "The JSON repository policy text to apply to the repository. For more information, see <https://docs.aws.amazon.com/AmazonECR/latest/userguide/RepositoryPolicyExamples.html> in the Amazon Elastic Container Registry User Guide. "
    },
    "RepositoryCatalogData": {
      "type": "object",
      "description": "The CatalogData property type specifies Catalog data for ECR Public Repository. For information about Catalog Data, see <link>",
      "properties": {
        "RepositoryDescription": {
          "$ref": "#/$defs/RepositoryDescription"
        },
        "Architectures": {
          "$ref": "#/$defs/ArchitectureList"
        },
        "OperatingSystems": {
          "$ref": "#/$defs/OperatingSystemList"
        },
        "AboutText": {
          "$ref": "#/$defs/AboutText"
        },
        "UsageText": {
          "$ref": "#/$defs/UsageText"
        }
      },
      "additionalProperties": false
    },
    "Tags": {
      "type": "array",
      "maxItems": 50,
      "uniqueItems": true,
      "insertionOrder": false,
      "description": "An array of key-value pairs to apply to this resource.",
      "items": {
        "$ref": "#/$defs/Tag"
      }
    }
  },
  "typeName": "AWS::ECR::PublicRepository",
  "$defs": {
    "RegistryId": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 12,
          "maxLength": 12,
          "pattern": "^[0-9]{12}$"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed. ",
      "title": "AWSECRPublicRepositoryRegistryIdDefinition"
    },
    "RepositoryDescription": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 1024
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The description of the public repository.",
      "title": "AWSECRPublicRepositoryRepositoryDescriptionDefinition"
    },
    "OperatingSystemList": {
      "type": "array",
      "maxItems": 50,
      "uniqueItems": true,
      "insertionOrder": false,
      "description": "Select the operating systems that the images in your repository are compatible with.",
      "items": {
        "$ref": "#/$defs/OperatingSystem"
      },
      "title": "AWSECRPublicRepositoryOperatingSystemListDefinition"
    },
    "OperatingSystem": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 50,
          "minLength": 1
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The name of the operating system.",
      "title": "AWSECRPublicRepositoryOperatingSystemDefinition"
    },
    "ArchitectureList": {
      "type": "array",
      "maxItems": 50,
      "uniqueItems": true,
      "insertionOrder": false,
      "description": "Select the system architectures that the images in your repository are compatible with.",
      "items": {
        "$ref": "#/$defs/Architecture"
      },
      "title": "AWSECRPublicRepositoryArchitectureListDefinition"
    },
    "Architecture": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 50,
          "minLength": 1
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The name of the architecture.",
      "title": "AWSECRPublicRepositoryArchitectureDefinition"
    },
    "UsageText": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 10240
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Provide detailed information about how to use the images in the repository. This provides context, support information, and additional usage details for users of the repository.",
      "title": "AWSECRPublicRepositoryUsageTextDefinition"
    },
    "AboutText": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 10240
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Provide a detailed description of the repository. Identify what is included in the repository, any licensing details, or other relevant information.",
      "title": "AWSECRPublicRepositoryAboutTextDefinition"
    },
    "Tag": {
      "description": "A key-value pair to associate with a resource.",
      "type": "object",
      "properties": {
        "Key": {
          "oneOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 127
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "The key name of the tag. You can specify a value that is 1 to 127 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. "
        },
        "Value": {
          "oneOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. "
        }
      },
      "required": [
        "Value",
        "Key"
      ],
      "title": "AWSECRPublicRepositoryTagDefinition",
      "additionalProperties": false
    }
  },
  "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecr.git",
  "additionalProperties": false,
  "primaryIdentifier": [
    "/properties/RepositoryName"
  ],
  "createOnlyProperties": [
    "/properties/RepositoryName"
  ],
  "readOnlyProperties": [
    "/properties/Arn"
  ]
}
