{
 "additionalProperties": false,
 "createOnlyProperties": [
  "/properties/MonitorType",
  "/properties/MonitorDimension",
  "/properties/MonitorSpecification",
  "/properties/ResourceTags"
 ],
 "definitions": {
  "Arn": {
   "pattern": "^arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+$",
   "type": "string"
  },
  "ResourceTag": {
   "additionalProperties": false,
   "properties": {
    "Key": {
     "maxLength": 128,
     "minLength": 1,
     "pattern": "^(?!aws:).*$",
     "type": "string"
    },
    "Value": {
     "maxLength": 256,
     "minLength": 0,
     "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
     "type": "string"
    }
   },
   "required": [
    "Key",
    "Value"
   ],
   "type": "object"
  }
 },
 "primaryIdentifier": [
  "/properties/MonitorArn"
 ],
 "properties": {
  "CreationDate": {
   "maxLength": 40,
   "minLength": 0,
   "pattern": "(\\d{4}-\\d{2}-\\d{2})(T\\d{2}:\\d{2}:\\d{2}Z)?",
   "type": "string"
  },
  "DimensionalValueCount": {
   "minimum": 0,
   "type": "integer"
  },
  "LastEvaluatedDate": {
   "maxLength": 40,
   "minLength": 0,
   "pattern": "(\\d{4}-\\d{2}-\\d{2})(T\\d{2}:\\d{2}:\\d{2}Z)?|(NOT_EVALUATED_YET)",
   "type": "string"
  },
  "LastUpdatedDate": {
   "maxLength": 40,
   "minLength": 0,
   "pattern": "(\\d{4}-\\d{2}-\\d{2})(T\\d{2}:\\d{2}:\\d{2}Z)?",
   "type": "string"
  },
  "MonitorArn": {
   "$ref": "#/definitions/Arn"
  },
  "MonitorDimension": {
   "enum": [
    "SERVICE"
   ],
   "type": "string"
  },
  "MonitorName": {
   "maxLength": 1024,
   "minLength": 0,
   "pattern": "[\\S\\s]*",
   "type": "string"
  },
  "MonitorSpecification": {
   "type": "string"
  },
  "MonitorType": {
   "enum": [
    "DIMENSIONAL",
    "CUSTOM"
   ],
   "type": "string"
  },
  "ResourceTags": {
   "insertionOrder": false,
   "items": {
    "$ref": "#/definitions/ResourceTag"
   },
   "maxItems": 200,
   "minItems": 0,
   "type": "array"
  }
 },
 "readOnlyProperties": [
  "/properties/MonitorArn",
  "/properties/CreationDate",
  "/properties/LastEvaluatedDate",
  "/properties/LastUpdatedDate",
  "/properties/DimensionalValueCount"
 ],
 "required": [
  "MonitorName",
  "MonitorType"
 ],
 "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
 "tagging": {
  "cloudFormationSystemTags": true,
  "tagOnCreate": true,
  "tagProperty": "/properties/ResourceTags",
  "tagUpdatable": false,
  "taggable": true
 },
 "typeName": "AWS::CE::AnomalyMonitor"
}
