{
  "description": "Definitions used throughout the OpenContainer Specification",
  "definitions": {
    "int8": {
      "type": "integer",
      "minimum": -128,
      "maximum": 127
    },
    "int16": {
      "type": "integer",
      "minimum": -32768,
      "maximum": 32767
    },
    "int32": {
      "type": "integer",
      "minimum": -2147483648,
      "maximum": 2147483647
    },
    "int64": {
      "type": "integer",
      "minimum": -9223372036854776000,
      "maximum": 9223372036854776000
    },
    "uint8": {
      "type": "integer",
      "minimum": 0,
      "maximum": 255
    },
    "uint16": {
      "type": "integer",
      "minimum": 0,
      "maximum": 65535
    },
    "uint32": {
      "type": "integer",
      "minimum": 0,
      "maximum": 4294967295
    },
    "uint64": {
      "type": "integer",
      "minimum": 0,
      "maximum": 18446744073709552000
    },
    "uint16Pointer": {
      "oneOf": [
        {
          "$ref": "#/definitions/uint16"
        },
        {
          "type": "null"
        }
      ]
    },
    "uint64Pointer": {
      "oneOf": [
        {
          "$ref": "#/definitions/uint64"
        },
        {
          "type": "null"
        }
      ]
    },
    "base64": {
      "type": "string",
      "media": {
        "binaryEncoding": "base64"
      }
    },
    "stringPointer": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "mapStringString": {
      "type": "object",
      "patternProperties": {
        ".{1,}": {
          "type": "string"
        }
      }
    },
    "mapStringObject": {
      "type": "object",
      "patternProperties": {
        ".{1,}": {
          "type": "object"
        }
      }
    }
  }
}
