{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-forecast-dataset.json",
  "title": "AWSForecastDatasetProperties",
  "description": "Resource Type Definition for AWS::Forecast::Dataset. Source:- <https://github.com/junlinzw/aws-cloudformation-resource-providers-forecast>",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/aws-forecast-dataset.json",
    "sourceSha256": "2ee33c824d071b6c5103f8520ec4a98c478f7148105a7358dbd94cf8445e4d45"
  },
  "type": "object",
  "properties": {
    "DatasetName": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 63,
          "pattern": "^[a-zA-Z][a-zA-Z0-9_]*"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "A name for the dataset"
    },
    "DatasetType": {
      "oneOf": [
        {
          "type": "string",
          "enum": [
            "TARGET_TIME_SERIES",
            "RELATED_TIME_SERIES",
            "ITEM_METADATA"
          ]
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The dataset type"
    },
    "DataFrequency": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^Y|M|W|D|H|30min|15min|10min|5min|1min$"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Frequency of data collection. This parameter is required for RELATED_TIME_SERIES"
    },
    "Domain": {
      "oneOf": [
        {
          "type": "string",
          "enum": [
            "RETAIL",
            "CUSTOM",
            "INVENTORY_PLANNING",
            "EC2_CAPACITY",
            "WORK_FORCE",
            "WEB_TRAFFIC",
            "METRICS"
          ]
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The domain associated with the dataset"
    },
    "EncryptionConfig": {
      "type": "object",
      "properties": {
        "KmsKeyArn": {
          "$ref": "#/$defs/KmsKeyArn"
        },
        "RoleArn": {
          "$ref": "#/$defs/RoleArn"
        }
      },
      "additionalProperties": false
    },
    "Schema": {
      "type": "object",
      "properties": {
        "Attributes": {
          "$ref": "#/$defs/Attributes"
        }
      },
      "additionalProperties": false
    },
    "Tags": {
      "type": "array",
      "insertionOrder": true,
      "items": {
        "description": "A key-value pair to associate with a resource.",
        "type": "object",
        "properties": {
          "Key": {
            "$ref": "#/$defs/Key"
          },
          "Value": {
            "$ref": "#/$defs/Value"
          }
        },
        "required": [
          "Key",
          "Value"
        ],
        "additionalProperties": false
      },
      "minItems": 0,
      "maxItems": 200
    }
  },
  "typeName": "AWS::Forecast::Dataset",
  "primaryIdentifier": [
    "/properties/Arn"
  ],
  "sourceUrl": "https://github.com/junlinzw/aws-cloudformation-resource-providers-forecast",
  "taggable": false,
  "additionalProperties": false,
  "readOnlyProperties": [
    "/properties/Arn"
  ],
  "$defs": {
    "Attributes": {
      "type": "array",
      "insertionOrder": true,
      "items": {
        "type": "object",
        "properties": {
          "AttributeName": {
            "description": "Name of the dataset field",
            "type": "string",
            "pattern": "^[a-zA-Z][a-zA-Z0-9_]*"
          },
          "AttributeType": {
            "description": "Data type of the field",
            "type": "string",
            "enum": [
              "string",
              "integer",
              "float",
              "timestamp",
              "geolocation"
            ]
          }
        },
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 100,
      "title": "AWSForecastDatasetAttributesDefinition"
    },
    "KmsKeyArn": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 256,
          "pattern": "arn:aws[-a-z]*:kms:.*:key/.*"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "KMS key used to encrypt the Dataset data",
      "title": "AWSForecastDatasetKmsKeyArnDefinition"
    },
    "RoleArn": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 256,
          "pattern": "^[a-zA-Z0-9\\-\\_\\.\\/\\:]+$"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The ARN of the IAM role that Amazon Forecast can assume to access the AWS KMS key.",
      "title": "AWSForecastDatasetRoleArnDefinition"
    },
    "Key": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 1,
          "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. You can specify a value that is 1 to 128 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 -.",
      "title": "AWSForecastDatasetKeyDefinition"
    },
    "Value": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 0,
          "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. You can specify a value that is 0 to 256 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 -.",
      "title": "AWSForecastDatasetValueDefinition"
    }
  },
  "required": [
    "DatasetName",
    "DatasetType",
    "Domain",
    "Schema"
  ],
  "createOnlyProperties": [
    "/properties/DatasetName"
  ]
}
