{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-ecr-pullthroughcacherule.json",
  "title": "AWSECRPullThroughCacheRuleProperties",
  "description": "The AWS::ECR::PullThroughCacheRule resource configures the upstream registry configuration details for an Amazon Elastic Container Registry (Amazon Private ECR) pull-through cache.. 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-pullthroughcacherule.json",
    "sourceSha256": "53e76ef37c0bdb5e31dae0ea44b483be7bd1d99f45784784b79bb428eef0598f"
  },
  "type": "object",
  "properties": {
    "EcrRepositoryPrefix": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 2,
          "maxLength": 20,
          "pattern": "^([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 ECRRepositoryPrefix is a custom alias for upstream registry url."
    },
    "UpstreamRegistryUrl": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The upstreamRegistryUrl is the endpoint of upstream registry url of the public repository to be cached"
    }
  },
  "typeName": "AWS::ECR::PullThroughCacheRule",
  "$defs": {
    "PullThroughCacheRule": {
      "minItems": 0,
      "maxItems": 25,
      "type": "object",
      "properties": {
        "RegistryId": {
          "$ref": "#/$defs/RegistryId"
        },
        "EcrRepositoryPrefix": {
          "$ref": "#/$defs/EcrRepositoryPrefix"
        },
        "UpstreamRegistryUrl": {
          "$ref": "#/$defs/UpstreamRegistryUrl"
        }
      },
      "required": [
        "EcrRepositoryPrefix",
        "UpstreamRegistryUrl"
      ],
      "title": "AWSECRPullThroughCacheRulePullThroughCacheRuleDefinition",
      "additionalProperties": false
    },
    "RegistryId": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^[0-9]{12}$"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The account ID of the registry pull-through cache repository will be created in.",
      "title": "AWSECRPullThroughCacheRuleRegistryIdDefinition"
    },
    "EcrRepositoryPrefix": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 2,
          "maxLength": 20,
          "pattern": "^([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 ECRRepositoryPrefix is a custom alias for upstream registry url.",
      "title": "AWSECRPullThroughCacheRuleEcrRepositoryPrefixDefinition"
    },
    "UpstreamRegistryUrl": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The upstreamRegistryUrl is the endpoint of upstream registry url of the public repository to be cached",
      "title": "AWSECRPullThroughCacheRuleUpstreamRegistryUrlDefinition"
    }
  },
  "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecr.git",
  "additionalProperties": false,
  "createOnlyProperties": [
    "/properties/EcrRepositoryPrefix",
    "/properties/UpstreamRegistryUrl"
  ],
  "taggable": false,
  "primaryIdentifier": [
    "/properties/EcrRepositoryPrefix"
  ]
}
