{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-cloudfront-distribution.json",
  "title": "AWSCloudFrontDistributionProperties",
  "description": "Resource Type definition for AWS::CloudFront::Distribution. 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-distribution.json",
    "sourceSha256": "455b9133ec48b86d6608f9261f6215761682bb22058498703946ffa848b68db5"
  },
  "type": "object",
  "properties": {
    "DistributionConfig": {
      "$ref": "#/$defs/DistributionConfig"
    },
    "Tags": {
      "items": {
        "$ref": "#/$defs/Tag"
      },
      "type": "array",
      "uniqueItems": false
    }
  },
  "$defs": {
    "CacheBehavior": {
      "title": "AWSCloudFrontDistributionCacheBehaviorDefinition",
      "properties": {
        "AllowedMethods": {
          "default": [
            "GET",
            "HEAD"
          ],
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        },
        "CachePolicyId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "CachedMethods": {
          "default": [
            "GET",
            "HEAD"
          ],
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        },
        "Compress": {
          "default": false,
          "type": "boolean"
        },
        "DefaultTTL": {
          "default": 86400,
          "type": "number"
        },
        "FieldLevelEncryptionId": {
          "oneOf": [
            {
              "default": "",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "ForwardedValues": {
          "$ref": "#/$defs/ForwardedValues"
        },
        "FunctionAssociations": {
          "items": {
            "$ref": "#/$defs/FunctionAssociation"
          },
          "type": "array",
          "uniqueItems": false
        },
        "LambdaFunctionAssociations": {
          "items": {
            "$ref": "#/$defs/LambdaFunctionAssociation"
          },
          "type": "array",
          "uniqueItems": false
        },
        "MaxTTL": {
          "default": 31536000,
          "type": "number"
        },
        "MinTTL": {
          "default": 0,
          "type": "number"
        },
        "OriginRequestPolicyId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "PathPattern": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "RealtimeLogConfigArn": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "ResponseHeadersPolicyId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "SmoothStreaming": {
          "default": false,
          "type": "boolean"
        },
        "TargetOriginId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "TrustedKeyGroups": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        },
        "TrustedSigners": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        },
        "ViewerProtocolPolicy": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "PathPattern",
        "TargetOriginId",
        "ViewerProtocolPolicy"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "Cookies": {
      "title": "AWSCloudFrontDistributionCookiesDefinition",
      "properties": {
        "Forward": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "WhitelistedNames": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        }
      },
      "required": [
        "Forward"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "CustomErrorResponse": {
      "title": "AWSCloudFrontDistributionCustomErrorResponseDefinition",
      "properties": {
        "ErrorCachingMinTTL": {
          "default": 300,
          "type": "number"
        },
        "ErrorCode": {
          "type": "integer"
        },
        "ResponseCode": {
          "type": "integer"
        },
        "ResponsePagePath": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "ErrorCode"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "CustomOriginConfig": {
      "title": "AWSCloudFrontDistributionCustomOriginConfigDefinition",
      "properties": {
        "HTTPPort": {
          "default": 80,
          "type": "integer"
        },
        "HTTPSPort": {
          "default": 443,
          "type": "integer"
        },
        "OriginKeepaliveTimeout": {
          "default": 5,
          "type": "integer"
        },
        "OriginProtocolPolicy": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "OriginReadTimeout": {
          "default": 30,
          "type": "integer"
        },
        "OriginSSLProtocols": {
          "default": [
            "TLSv1",
            "SSLv3"
          ],
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        }
      },
      "required": [
        "OriginProtocolPolicy"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "DefaultCacheBehavior": {
      "title": "AWSCloudFrontDistributionDefaultCacheBehaviorDefinition",
      "properties": {
        "AllowedMethods": {
          "default": [
            "GET",
            "HEAD"
          ],
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        },
        "CachePolicyId": {
          "oneOf": [
            {
              "default": "",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "CachedMethods": {
          "default": [
            "GET",
            "HEAD"
          ],
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        },
        "Compress": {
          "default": false,
          "type": "boolean"
        },
        "DefaultTTL": {
          "default": 86400,
          "type": "number"
        },
        "FieldLevelEncryptionId": {
          "oneOf": [
            {
              "default": "",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "ForwardedValues": {
          "$ref": "#/$defs/ForwardedValues"
        },
        "FunctionAssociations": {
          "items": {
            "$ref": "#/$defs/FunctionAssociation"
          },
          "type": "array",
          "uniqueItems": false
        },
        "LambdaFunctionAssociations": {
          "items": {
            "$ref": "#/$defs/LambdaFunctionAssociation"
          },
          "type": "array",
          "uniqueItems": false
        },
        "MaxTTL": {
          "default": 31536000,
          "type": "number"
        },
        "MinTTL": {
          "default": 0,
          "type": "number"
        },
        "OriginRequestPolicyId": {
          "oneOf": [
            {
              "default": "",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "RealtimeLogConfigArn": {
          "oneOf": [
            {
              "default": "",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "ResponseHeadersPolicyId": {
          "oneOf": [
            {
              "default": "",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "SmoothStreaming": {
          "default": false,
          "type": "boolean"
        },
        "TargetOriginId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "TrustedKeyGroups": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        },
        "TrustedSigners": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        },
        "ViewerProtocolPolicy": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "TargetOriginId",
        "ViewerProtocolPolicy"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "DistributionConfig": {
      "title": "AWSCloudFrontDistributionDistributionConfigDefinition",
      "properties": {
        "Aliases": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        },
        "CNAMEs": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        },
        "CacheBehaviors": {
          "items": {
            "$ref": "#/$defs/CacheBehavior"
          },
          "type": "array",
          "uniqueItems": false
        },
        "Comment": {
          "oneOf": [
            {
              "default": "",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "ContinuousDeploymentPolicyId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "CustomErrorResponses": {
          "items": {
            "$ref": "#/$defs/CustomErrorResponse"
          },
          "type": "array",
          "uniqueItems": false
        },
        "CustomOrigin": {
          "$ref": "#/$defs/LegacyCustomOrigin"
        },
        "DefaultCacheBehavior": {
          "$ref": "#/$defs/DefaultCacheBehavior"
        },
        "DefaultRootObject": {
          "oneOf": [
            {
              "default": "",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Enabled": {
          "type": "boolean"
        },
        "HttpVersion": {
          "oneOf": [
            {
              "default": "http1.1",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "IPV6Enabled": {
          "type": "boolean"
        },
        "Logging": {
          "$ref": "#/$defs/Logging"
        },
        "OriginGroups": {
          "$ref": "#/$defs/OriginGroups"
        },
        "Origins": {
          "items": {
            "$ref": "#/$defs/Origin"
          },
          "type": "array",
          "uniqueItems": false
        },
        "PriceClass": {
          "oneOf": [
            {
              "default": "PriceClass_All",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Restrictions": {
          "$ref": "#/$defs/Restrictions",
          "default": {
            "GeoRestriction": {
              "RestrictionType": "none"
            }
          }
        },
        "S3Origin": {
          "$ref": "#/$defs/LegacyS3Origin"
        },
        "Staging": {
          "type": "boolean"
        },
        "ViewerCertificate": {
          "$ref": "#/$defs/ViewerCertificate",
          "default": {
            "CloudFrontDefaultCertificate": true
          }
        },
        "WebACLId": {
          "oneOf": [
            {
              "default": "",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "Enabled",
        "DefaultCacheBehavior"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "ForwardedValues": {
      "title": "AWSCloudFrontDistributionForwardedValuesDefinition",
      "properties": {
        "Cookies": {
          "$ref": "#/$defs/Cookies",
          "default": {
            "Forward": "none"
          }
        },
        "Headers": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        },
        "QueryString": {
          "type": "boolean"
        },
        "QueryStringCacheKeys": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        }
      },
      "required": [
        "QueryString"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "FunctionAssociation": {
      "title": "AWSCloudFrontDistributionFunctionAssociationDefinition",
      "properties": {
        "EventType": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "FunctionARN": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "GeoRestriction": {
      "title": "AWSCloudFrontDistributionGeoRestrictionDefinition",
      "properties": {
        "Locations": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        },
        "RestrictionType": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "RestrictionType"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "LambdaFunctionAssociation": {
      "title": "AWSCloudFrontDistributionLambdaFunctionAssociationDefinition",
      "properties": {
        "EventType": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "IncludeBody": {
          "type": "boolean"
        },
        "LambdaFunctionARN": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "LegacyCustomOrigin": {
      "title": "AWSCloudFrontDistributionLegacyCustomOriginDefinition",
      "properties": {
        "DNSName": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "HTTPPort": {
          "default": 80,
          "type": "integer"
        },
        "HTTPSPort": {
          "default": 443,
          "type": "integer"
        },
        "OriginProtocolPolicy": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "OriginSSLProtocols": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        }
      },
      "required": [
        "DNSName",
        "OriginProtocolPolicy",
        "OriginSSLProtocols"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "LegacyS3Origin": {
      "title": "AWSCloudFrontDistributionLegacyS3OriginDefinition",
      "properties": {
        "DNSName": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "OriginAccessIdentity": {
          "oneOf": [
            {
              "default": "",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "DNSName"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "Logging": {
      "title": "AWSCloudFrontDistributionLoggingDefinition",
      "properties": {
        "Bucket": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "IncludeCookies": {
          "default": false,
          "type": "boolean"
        },
        "Prefix": {
          "oneOf": [
            {
              "default": "",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "Bucket"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "Origin": {
      "title": "AWSCloudFrontDistributionOriginDefinition",
      "properties": {
        "ConnectionAttempts": {
          "type": "integer"
        },
        "ConnectionTimeout": {
          "type": "integer"
        },
        "CustomOriginConfig": {
          "$ref": "#/$defs/CustomOriginConfig"
        },
        "DomainName": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Id": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "OriginAccessControlId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "OriginCustomHeaders": {
          "items": {
            "$ref": "#/$defs/OriginCustomHeader"
          },
          "type": "array",
          "uniqueItems": false
        },
        "OriginPath": {
          "oneOf": [
            {
              "default": "",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "OriginShield": {
          "$ref": "#/$defs/OriginShield"
        },
        "S3OriginConfig": {
          "$ref": "#/$defs/S3OriginConfig"
        }
      },
      "required": [
        "DomainName",
        "Id"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "OriginCustomHeader": {
      "title": "AWSCloudFrontDistributionOriginCustomHeaderDefinition",
      "properties": {
        "HeaderName": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "HeaderValue": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "HeaderValue",
        "HeaderName"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "OriginGroup": {
      "title": "AWSCloudFrontDistributionOriginGroupDefinition",
      "properties": {
        "FailoverCriteria": {
          "$ref": "#/$defs/OriginGroupFailoverCriteria"
        },
        "Id": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Members": {
          "$ref": "#/$defs/OriginGroupMembers"
        }
      },
      "required": [
        "Id",
        "FailoverCriteria",
        "Members"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "OriginGroupFailoverCriteria": {
      "title": "AWSCloudFrontDistributionOriginGroupFailoverCriteriaDefinition",
      "properties": {
        "StatusCodes": {
          "$ref": "#/$defs/StatusCodes"
        }
      },
      "required": [
        "StatusCodes"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "OriginGroupMember": {
      "title": "AWSCloudFrontDistributionOriginGroupMemberDefinition",
      "properties": {
        "OriginId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "OriginId"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "OriginGroupMembers": {
      "title": "AWSCloudFrontDistributionOriginGroupMembersDefinition",
      "properties": {
        "Items": {
          "items": {
            "$ref": "#/$defs/OriginGroupMember"
          },
          "type": "array",
          "uniqueItems": false
        },
        "Quantity": {
          "type": "integer"
        }
      },
      "required": [
        "Quantity",
        "Items"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "OriginGroups": {
      "title": "AWSCloudFrontDistributionOriginGroupsDefinition",
      "properties": {
        "Items": {
          "items": {
            "$ref": "#/$defs/OriginGroup"
          },
          "type": "array",
          "uniqueItems": false
        },
        "Quantity": {
          "type": "integer"
        }
      },
      "required": [
        "Quantity"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "OriginShield": {
      "title": "AWSCloudFrontDistributionOriginShieldDefinition",
      "properties": {
        "Enabled": {
          "type": "boolean"
        },
        "OriginShieldRegion": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "Restrictions": {
      "title": "AWSCloudFrontDistributionRestrictionsDefinition",
      "properties": {
        "GeoRestriction": {
          "$ref": "#/$defs/GeoRestriction"
        }
      },
      "required": [
        "GeoRestriction"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "S3OriginConfig": {
      "title": "AWSCloudFrontDistributionS3OriginConfigDefinition",
      "properties": {
        "OriginAccessIdentity": {
          "oneOf": [
            {
              "default": "",
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "StatusCodes": {
      "title": "AWSCloudFrontDistributionStatusCodesDefinition",
      "properties": {
        "Items": {
          "items": {
            "type": "integer"
          },
          "type": "array",
          "uniqueItems": false
        },
        "Quantity": {
          "type": "integer"
        }
      },
      "required": [
        "Quantity",
        "Items"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "Tag": {
      "title": "AWSCloudFrontDistributionTagDefinition",
      "properties": {
        "Key": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Value": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "Value",
        "Key"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "ViewerCertificate": {
      "title": "AWSCloudFrontDistributionViewerCertificateDefinition",
      "properties": {
        "AcmCertificateArn": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "CloudFrontDefaultCertificate": {
          "type": "boolean"
        },
        "IamCertificateId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "MinimumProtocolVersion": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "SslSupportMethod": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "additionalProperties": false,
  "typeName": "AWS::CloudFront::Distribution",
  "primaryIdentifier": [
    "/properties/Id"
  ],
  "required": [
    "DistributionConfig"
  ],
  "readOnlyProperties": [
    "/properties/Id",
    "/properties/DomainName"
  ]
}
