{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-lookoutequipment-inferencescheduler.json",
  "title": "AWSLookoutEquipmentInferenceSchedulerProperties",
  "description": "Resource schema for LookoutEquipment InferenceScheduler.. Source:- <https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git>",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/aws-lookoutequipment-inferencescheduler.json",
    "sourceSha256": "9bf68b3edde9791e238f187fd54d7abcfbbb7cf2d72957146b3c3878f2e9d739"
  },
  "type": "object",
  "properties": {
    "DataDelayOffsetInMinutes": {
      "description": "A period of time (in minutes) by which inference on the data is delayed after the data starts.",
      "type": "integer",
      "minimum": 0,
      "maximum": 60
    },
    "DataInputConfiguration": {
      "description": "Specifies configuration information for the input data for the inference scheduler, including delimiter, format, and dataset location.",
      "type": "object",
      "properties": {
        "InputTimeZoneOffset": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "^(\\+|\\-)[0-9]{2}\\:[0-9]{2}$"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Indicates the difference between your time zone and Greenwich Mean Time (GMT)."
        },
        "InferenceInputNameConfiguration": {
          "$ref": "#/$defs/InputNameConfiguration"
        },
        "S3InputConfiguration": {
          "$ref": "#/$defs/S3InputConfiguration"
        }
      },
      "required": [
        "S3InputConfiguration"
      ],
      "additionalProperties": false
    },
    "DataOutputConfiguration": {
      "description": "Specifies configuration information for the output results for the inference scheduler, including the S3 location for the output.",
      "type": "object",
      "properties": {
        "KmsKeyId": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,2048}$",
              "minLength": 1,
              "maxLength": 2048
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "The ID number for the AWS KMS key used to encrypt the inference output."
        },
        "S3OutputConfiguration": {
          "$ref": "#/$defs/S3OutputConfiguration"
        }
      },
      "required": [
        "S3OutputConfiguration"
      ],
      "additionalProperties": false
    },
    "DataUploadFrequency": {
      "oneOf": [
        {
          "type": "string",
          "enum": [
            "PT5M",
            "PT10M",
            "PT15M",
            "PT30M",
            "PT1H"
          ]
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "How often data is uploaded to the source S3 bucket for the input data."
    },
    "InferenceSchedulerName": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^[0-9a-zA-Z_-]{1,200}$",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The name of the inference scheduler being created."
    },
    "ModelName": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^[0-9a-zA-Z_-]{1,200}$",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The name of the previously trained ML model being used to create the inference scheduler."
    },
    "RoleArn": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+",
          "minLength": 20,
          "maxLength": 2048
        },
        {
          "$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 a role with permission to access the data source being used for the inference."
    },
    "ServerSideKmsKeyId": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,2048}$",
          "minLength": 1,
          "maxLength": 2048
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt inference scheduler data by Amazon Lookout for Equipment."
    },
    "Tags": {
      "description": "Any tags associated with the inference scheduler.",
      "type": "array",
      "uniqueItems": true,
      "insertionOrder": false,
      "maxItems": 200,
      "items": {
        "$ref": "#/$defs/Tag"
      }
    }
  },
  "typeName": "AWS::LookoutEquipment::InferenceScheduler",
  "taggable": true,
  "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
  "additionalProperties": false,
  "primaryIdentifier": [
    "/properties/InferenceSchedulerName"
  ],
  "$defs": {
    "Bucket": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$",
          "minLength": 3,
          "maxLength": 63
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "title": "AWSLookoutEquipmentInferenceSchedulerBucketDefinition"
    },
    "Prefix": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 0,
          "maxLength": 1024
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "title": "AWSLookoutEquipmentInferenceSchedulerPrefixDefinition"
    },
    "S3InputConfiguration": {
      "description": "Specifies configuration information for the input data for the inference, including input data S3 location.",
      "type": "object",
      "properties": {
        "Bucket": {
          "$ref": "#/$defs/Bucket"
        },
        "Prefix": {
          "$ref": "#/$defs/Prefix"
        }
      },
      "required": [
        "Bucket"
      ],
      "title": "AWSLookoutEquipmentInferenceSchedulerS3InputConfigurationDefinition",
      "additionalProperties": false
    },
    "S3OutputConfiguration": {
      "description": "Specifies configuration information for the output results from the inference, including output S3 location.",
      "type": "object",
      "properties": {
        "Bucket": {
          "$ref": "#/$defs/Bucket"
        },
        "Prefix": {
          "$ref": "#/$defs/Prefix"
        }
      },
      "required": [
        "Bucket"
      ],
      "title": "AWSLookoutEquipmentInferenceSchedulerS3OutputConfigurationDefinition",
      "additionalProperties": false
    },
    "InputNameConfiguration": {
      "description": "Specifies configuration information for the input data for the inference, including timestamp format and delimiter.",
      "type": "object",
      "properties": {
        "ComponentTimestampDelimiter": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "^(\\-|\\_|\\s)?$",
              "minLength": 0,
              "maxLength": 1
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Indicates the delimiter character used between items in the data."
        },
        "TimestampFormat": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "^EPOCH|yyyy-MM-dd-HH-mm-ss|yyyyMMddHHmmss$"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "The format of the timestamp, whether Epoch time, or standard, with or without hyphens (-)."
        }
      },
      "title": "AWSLookoutEquipmentInferenceSchedulerInputNameConfigurationDefinition",
      "additionalProperties": false
    },
    "Tag": {
      "description": "A tag is a key-value pair that can be added to a resource as metadata.",
      "type": "object",
      "properties": {
        "Key": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$",
              "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 for the specified tag."
        },
        "Value": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[\\s\\w+-=\\.:/@]*",
              "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 specified tag."
        }
      },
      "required": [
        "Key",
        "Value"
      ],
      "title": "AWSLookoutEquipmentInferenceSchedulerTagDefinition",
      "additionalProperties": false
    }
  },
  "required": [
    "DataInputConfiguration",
    "DataOutputConfiguration",
    "DataUploadFrequency",
    "ModelName",
    "RoleArn"
  ],
  "readOnlyProperties": [
    "/properties/InferenceSchedulerArn"
  ],
  "createOnlyProperties": [
    "/properties/InferenceSchedulerName",
    "/properties/ModelName",
    "/properties/ServerSideKmsKeyId"
  ]
}
