[
 {
  "op": "test",
  "path": "/properties/KeySchema/oneOf/0/items",
  "value": {
   "$ref": "#/definitions/KeySchema"
  }
 },
 {
  "op": "replace",
  "path": "/properties/KeySchema/oneOf/0",
  "value": {
   "$ref": "#/definitions/KeySchema",
   "maxItems": 2,
   "minItems": 1
  }
 },
 {
  "op": "replace",
  "path": "/definitions/LocalSecondaryIndex/properties/KeySchema",
  "value": {
   "$ref": "#/definitions/KeySchema",
   "maxItems": 2,
   "minItems": 2
  }
 },
 {
  "op": "replace",
  "path": "/definitions/GlobalSecondaryIndex/properties/KeySchema",
  "value": {
   "$ref": "#/definitions/KeySchema",
   "maxItems": 2,
   "minItems": 1
  }
 },
 {
  "op": "replace",
  "path": "/definitions/KeySchema",
  "value": {
   "items": {
    "additionalProperties": false,
    "properties": {
     "AttributeName": {
      "type": "string"
     },
     "KeyType": {
      "type": "string"
     }
    },
    "required": [
     "KeyType",
     "AttributeName"
    ],
    "type": "object"
   },
   "prefixItems": [
    {
     "properties": {
      "KeyType": {
       "const": "HASH",
       "type": "string"
      }
     },
     "required": [
      "KeyType"
     ],
     "type": "object"
    },
    {
     "properties": {
      "KeyType": {
       "const": "RANGE",
       "type": "string"
      }
     },
     "required": [
      "KeyType"
     ],
     "type": "object"
    }
   ],
   "type": "array",
   "uniqueItems": true,
   "uniqueKeys": [
    "AttributeName"
   ]
  }
 }
]
