{
 "additionalProperties": false,
 "createOnlyProperties": [
  "/properties/InstanceArn"
 ],
 "definitions": {
  "FontFamily": {
   "additionalProperties": false,
   "properties": {
    "Default": {
     "$ref": "#/definitions/WorkspaceFontFamily"
    }
   },
   "type": "object"
  },
  "MediaItem": {
   "additionalProperties": false,
   "properties": {
    "Source": {
     "maxLength": 533333,
     "minLength": 1,
     "pattern": ".*\\S.*",
     "type": "string"
    },
    "Type": {
     "$ref": "#/definitions/MediaType"
    }
   },
   "required": [
    "Type"
   ],
   "type": "object"
  },
  "MediaType": {
   "enum": [
    "IMAGE_LOGO_LIGHT_FAVICON",
    "IMAGE_LOGO_DARK_FAVICON",
    "IMAGE_LOGO_LIGHT_HORIZONTAL",
    "IMAGE_LOGO_DARK_HORIZONTAL"
   ],
   "type": "string"
  },
  "PaletteCanvas": {
   "additionalProperties": false,
   "properties": {
    "ActiveBackground": {
     "$ref": "#/definitions/ThemeString"
    },
    "ContainerBackground": {
     "$ref": "#/definitions/ThemeString"
    },
    "PageBackground": {
     "$ref": "#/definitions/ThemeString"
    }
   },
   "type": "object"
  },
  "PaletteHeader": {
   "additionalProperties": false,
   "properties": {
    "Background": {
     "$ref": "#/definitions/ThemeString"
    },
    "InvertActionsColors": {
     "type": "boolean"
    },
    "Text": {
     "$ref": "#/definitions/ThemeString"
    },
    "TextHover": {
     "$ref": "#/definitions/ThemeString"
    }
   },
   "type": "object"
  },
  "PaletteNavigation": {
   "additionalProperties": false,
   "properties": {
    "Background": {
     "$ref": "#/definitions/ThemeString"
    },
    "InvertActionsColors": {
     "type": "boolean"
    },
    "Text": {
     "$ref": "#/definitions/ThemeString"
    },
    "TextActive": {
     "$ref": "#/definitions/ThemeString"
    },
    "TextBackgroundActive": {
     "$ref": "#/definitions/ThemeString"
    },
    "TextBackgroundHover": {
     "$ref": "#/definitions/ThemeString"
    },
    "TextHover": {
     "$ref": "#/definitions/ThemeString"
    }
   },
   "type": "object"
  },
  "PalettePrimary": {
   "additionalProperties": false,
   "properties": {
    "Active": {
     "$ref": "#/definitions/ThemeString"
    },
    "ContrastText": {
     "$ref": "#/definitions/ThemeString"
    },
    "Default": {
     "$ref": "#/definitions/ThemeString"
    }
   },
   "type": "object"
  },
  "Tag": {
   "additionalProperties": false,
   "properties": {
    "Key": {
     "maxLength": 128,
     "minLength": 1,
     "type": "string"
    },
    "Value": {
     "maxLength": 256,
     "minLength": 0,
     "type": "string"
    }
   },
   "required": [
    "Key",
    "Value"
   ],
   "type": "object"
  },
  "ThemeImageLink": {
   "maxLength": 254,
   "minLength": 1,
   "pattern": ".*\\S.*",
   "type": "string"
  },
  "ThemeString": {
   "maxLength": 127,
   "minLength": 1,
   "pattern": ".*\\S.*",
   "type": "string"
  },
  "Visibility": {
   "enum": [
    "ALL",
    "ASSIGNED",
    "NONE"
   ],
   "type": "string"
  },
  "WorkspaceFontFamily": {
   "enum": [
    "ARIAL",
    "COURIER_NEW",
    "GEORGIA",
    "TIMES_NEW_ROMAN",
    "TREBUCHET",
    "VERDANA"
   ],
   "type": "string"
  },
  "WorkspacePage": {
   "additionalProperties": false,
   "properties": {
    "InputData": {
     "maxLength": 4096,
     "minLength": 0,
     "type": "string"
    },
    "Page": {
     "maxLength": 25,
     "minLength": 1,
     "pattern": "^(?!\\.$)(?!\\.\\.$)[\\p{L}\\p{Z}\\p{N}\\-_.:=@'|]+$",
     "type": "string"
    },
    "ResourceArn": {
     "maxLength": 2048,
     "type": "string"
    },
    "Slug": {
     "maxLength": 63,
     "minLength": 0,
     "pattern": "^$|^[\\p{L}\\p{Z}\\p{N}\\-_.:=@'|]{3,}$",
     "type": "string"
    }
   },
   "required": [
    "ResourceArn",
    "Page"
   ],
   "type": "object"
  },
  "WorkspaceTheme": {
   "additionalProperties": false,
   "properties": {
    "Dark": {
     "$ref": "#/definitions/WorkspaceThemeConfig"
    },
    "Light": {
     "$ref": "#/definitions/WorkspaceThemeConfig"
    }
   },
   "type": "object"
  },
  "WorkspaceThemeConfig": {
   "additionalProperties": false,
   "properties": {
    "Palette": {
     "$ref": "#/definitions/WorkspaceThemePalette"
    },
    "Typography": {
     "$ref": "#/definitions/WorkspaceThemeTypography"
    }
   },
   "type": "object"
  },
  "WorkspaceThemePalette": {
   "additionalProperties": false,
   "properties": {
    "Canvas": {
     "$ref": "#/definitions/PaletteCanvas"
    },
    "Header": {
     "$ref": "#/definitions/PaletteHeader"
    },
    "Navigation": {
     "$ref": "#/definitions/PaletteNavigation"
    },
    "Primary": {
     "$ref": "#/definitions/PalettePrimary"
    }
   },
   "type": "object"
  },
  "WorkspaceThemeTypography": {
   "additionalProperties": false,
   "properties": {
    "FontFamily": {
     "$ref": "#/definitions/FontFamily"
    }
   },
   "type": "object"
  }
 },
 "primaryIdentifier": [
  "/properties/Arn"
 ],
 "properties": {
  "Arn": {
   "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/workspace/[-a-zA-Z0-9]*$",
   "type": "string"
  },
  "Associations": {
   "items": {
    "maxLength": 2048,
    "type": "string"
   },
   "type": "array",
   "uniqueItems": true
  },
  "Description": {
   "maxLength": 500,
   "minLength": 0,
   "pattern": "^[\\P{C}\r\n\t]*$",
   "type": "string"
  },
  "Id": {
   "pattern": "^.{0,256}$",
   "type": "string"
  },
  "InstanceArn": {
   "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$",
   "type": "string"
  },
  "Media": {
   "items": {
    "$ref": "#/definitions/MediaItem"
   },
   "maxItems": 4,
   "type": "array",
   "uniqueItems": true
  },
  "Name": {
   "maxLength": 127,
   "minLength": 1,
   "pattern": ".*\\S.*",
   "type": "string"
  },
  "Pages": {
   "items": {
    "$ref": "#/definitions/WorkspacePage"
   },
   "type": "array",
   "uniqueItems": true
  },
  "Tags": {
   "insertionOrder": false,
   "items": {
    "$ref": "#/definitions/Tag"
   },
   "maxItems": 50,
   "type": "array",
   "uniqueItems": true
  },
  "Theme": {
   "$ref": "#/definitions/WorkspaceTheme"
  },
  "Title": {
   "maxLength": 127,
   "minLength": 0,
   "pattern": "^[\\P{C}]*$",
   "type": "string"
  },
  "Visibility": {
   "$ref": "#/definitions/Visibility"
  }
 },
 "readOnlyProperties": [
  "/properties/Arn",
  "/properties/Id"
 ],
 "required": [
  "Name",
  "InstanceArn"
 ],
 "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
 "tagging": {
  "cloudFormationSystemTags": true,
  "tagOnCreate": true,
  "tagProperty": "/properties/Tags",
  "tagUpdatable": true,
  "taggable": true
 },
 "typeName": "AWS::Connect::Workspace",
 "writeOnlyProperties": [
  "/properties/Media/*/Source"
 ]
}
