{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-route53-hostedzone.json",
  "title": "AWSRoute53HostedZoneProperties",
  "description": "Resource schema for AWS::Route53::HostedZone.. Source:- <https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53.git>",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/aws-route53-hostedzone.json",
    "sourceSha256": "f47680583b768ed70cf5e4a8a73b9d949f1f4f514a91a20913b9e283b718ba13"
  },
  "type": "object",
  "properties": {
    "HostedZoneConfig": {
      "$ref": "#/$defs/HostedZoneConfig"
    },
    "HostedZoneTags": {
      "description": "Adds, edits, or deletes tags for a health check or a hosted zone.\n\nFor information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.",
      "type": "array",
      "uniqueItems": true,
      "insertionOrder": false,
      "items": {
        "$ref": "#/$defs/HostedZoneTag"
      }
    },
    "Name": {
      "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 name of the domain. Specify a fully qualified domain name, for example, www.example.com. The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.\n\nIf you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route 53, change the name servers for your domain to the set of NameServers that are returned by the Fn::GetAtt intrinsic function."
    },
    "QueryLoggingConfig": {
      "$ref": "#/$defs/QueryLoggingConfig"
    },
    "VPCs": {
      "description": "A complex type that contains information about the VPCs that are associated with the specified hosted zone.",
      "type": "array",
      "uniqueItems": true,
      "insertionOrder": false,
      "items": {
        "$ref": "#/$defs/VPC"
      }
    }
  },
  "typeName": "AWS::Route53::HostedZone",
  "primaryIdentifier": [
    "/properties/Id"
  ],
  "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53.git",
  "additionalProperties": false,
  "readOnlyProperties": [
    "/properties/Id",
    "/properties/NameServers"
  ],
  "$defs": {
    "HostedZoneConfig": {
      "description": "A complex type that contains an optional comment.\n\nIf you don't want to specify a comment, omit the HostedZoneConfig and Comment elements.",
      "type": "object",
      "title": "AWSRoute53HostedZoneHostedZoneConfigDefinition",
      "properties": {
        "Comment": {
          "oneOf": [
            {
              "type": "string",
              "maxLength": 256
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Any comments that you want to include about the hosted zone."
        }
      },
      "additionalProperties": false
    },
    "HostedZoneTag": {
      "description": "A complex type that contains information about a tag that you want to add or edit for the specified health check or hosted zone.",
      "type": "object",
      "title": "AWSRoute53HostedZoneHostedZoneTagDefinition",
      "properties": {
        "Key": {
          "oneOf": [
            {
              "type": "string",
              "maxLength": 128
            },
            {
              "$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."
        },
        "Value": {
          "oneOf": [
            {
              "type": "string",
              "maxLength": 256
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "The value for the tag."
        }
      },
      "required": [
        "Value",
        "Key"
      ],
      "additionalProperties": false
    },
    "QueryLoggingConfig": {
      "description": "A complex type that contains information about a configuration for DNS query logging.",
      "type": "object",
      "title": "AWSRoute53HostedZoneQueryLoggingConfigDefinition",
      "properties": {
        "CloudWatchLogsLogGroupArn": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to."
        }
      },
      "required": [
        "CloudWatchLogsLogGroupArn"
      ],
      "additionalProperties": false
    },
    "VPC": {
      "description": "A complex type that contains information about an Amazon VPC. Route 53 Resolver uses the records in the private hosted zone to route traffic in that VPC.",
      "type": "object",
      "title": "AWSRoute53HostedZoneVPCDefinition",
      "properties": {
        "VPCId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "The ID of an Amazon VPC."
        },
        "VPCRegion": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "The region that an Amazon VPC was created in. See <https://docs.aws.amazon.com/general/latest/gr/rande.html> for a list of up to date regions."
        }
      },
      "required": [
        "VPCId",
        "VPCRegion"
      ],
      "additionalProperties": false
    }
  },
  "createOnlyProperties": [
    "/properties/Name"
  ]
}
