{
 "$id": "resource",
 "additionalProperties": false,
 "definitions": {
  "Statement": {
   "additionalProperties": false,
   "allOf": [
    {
     "requiredXor": [
      "Action",
      "NotAction"
     ]
    },
    {
     "requiredXor": [
      "Principal",
      "NotPrincipal"
     ]
    },
    {
     "required": [
      "Effect"
     ]
    }
   ],
   "properties": {
    "Action": {
     "$ref": "policy#/definitions/Action"
    },
    "Condition": {
     "$ref": "policy#/definitions/Condition"
    },
    "Effect": {
     "$ref": "policy#/definitions/Statement/properties/Effect"
    },
    "NotAction": {
     "$ref": "policy#/definitions/Action"
    },
    "NotPrincipal": {
     "$ref": "policy#/definitions/Principal"
    },
    "NotResource": {
     "$ref": "policy#/definitions/Resource"
    },
    "Principal": {
     "$ref": "policy#/definitions/Principal"
    },
    "Resource": {
     "$ref": "policy#/definitions/Resource"
    },
    "Sid": {
     "$ref": "policy#/definitions/Statement/properties/Sid"
    }
   }
  }
 },
 "properties": {
  "Id": {
   "$ref": "policy#/properties/Id"
  },
  "Statement": {
   "$ref": "#/definitions/Statement",
   "items": {
    "$ref": "#/definitions/Statement",
    "type": "object"
   },
   "type": [
    "object",
    "array"
   ]
  },
  "Version": {
   "$ref": "policy#/properties/Version"
  }
 },
 "required": [
  "Statement"
 ],
 "type": "object"
}
