{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-cloudfront-cachepolicy.json",
  "title": "AWSCloudFrontCachePolicyProperties",
  "description": "Resource Type definition for AWS::CloudFront::CachePolicy. Source:- No source definition found, add manually please",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/aws-cloudfront-cachepolicy.json",
    "sourceSha256": "38a3237739cce9aa3c0410544da09359286cd52890ee8a0ed6a07ca01b7d4418"
  },
  "type": "object",
  "properties": {
    "CachePolicyConfig": {
      "$ref": "#/$defs/CachePolicyConfig"
    }
  },
  "$defs": {
    "CachePolicyConfig": {
      "title": "AWSCloudFrontCachePolicyCachePolicyConfigDefinition",
      "properties": {
        "Comment": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "DefaultTTL": {
          "minimum": 0,
          "multipleOf": 1,
          "type": "number"
        },
        "MaxTTL": {
          "minimum": 0,
          "multipleOf": 1,
          "type": "number"
        },
        "MinTTL": {
          "minimum": 0,
          "multipleOf": 1,
          "type": "number"
        },
        "Name": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "ParametersInCacheKeyAndForwardedToOrigin": {
          "$ref": "#/$defs/ParametersInCacheKeyAndForwardedToOrigin"
        }
      },
      "required": [
        "Name",
        "MinTTL",
        "MaxTTL",
        "DefaultTTL",
        "ParametersInCacheKeyAndForwardedToOrigin"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "CookiesConfig": {
      "title": "AWSCloudFrontCachePolicyCookiesConfigDefinition",
      "properties": {
        "CookieBehavior": {
          "oneOf": [
            {
              "pattern": "^(none|whitelist|allExcept|all)$",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Cookies": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        }
      },
      "required": [
        "CookieBehavior"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "HeadersConfig": {
      "title": "AWSCloudFrontCachePolicyHeadersConfigDefinition",
      "properties": {
        "HeaderBehavior": {
          "oneOf": [
            {
              "pattern": "^(none|whitelist)$",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Headers": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        }
      },
      "required": [
        "HeaderBehavior"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "ParametersInCacheKeyAndForwardedToOrigin": {
      "title": "AWSCloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginDefinition",
      "properties": {
        "CookiesConfig": {
          "$ref": "#/$defs/CookiesConfig"
        },
        "EnableAcceptEncodingBrotli": {
          "type": "boolean"
        },
        "EnableAcceptEncodingGzip": {
          "type": "boolean"
        },
        "HeadersConfig": {
          "$ref": "#/$defs/HeadersConfig"
        },
        "QueryStringsConfig": {
          "$ref": "#/$defs/QueryStringsConfig"
        }
      },
      "required": [
        "EnableAcceptEncodingGzip",
        "HeadersConfig",
        "CookiesConfig",
        "QueryStringsConfig"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "QueryStringsConfig": {
      "title": "AWSCloudFrontCachePolicyQueryStringsConfigDefinition",
      "properties": {
        "QueryStringBehavior": {
          "oneOf": [
            {
              "pattern": "^(none|whitelist|allExcept|all)$",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "QueryStrings": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        }
      },
      "required": [
        "QueryStringBehavior"
      ],
      "type": "object",
      "additionalProperties": false
    }
  },
  "additionalProperties": false,
  "typeName": "AWS::CloudFront::CachePolicy",
  "primaryIdentifier": [
    "/properties/Id"
  ],
  "required": [
    "CachePolicyConfig"
  ],
  "readOnlyProperties": [
    "/properties/Id",
    "/properties/LastModifiedTime"
  ]
}
