{
  "name": "Scan",
  "plane": "data",
  "terraformEligible": false,
  "protocol": {
    "kind": "cloudJson",
    "target": "CloudTables.Scan",
    "service": "tables"
  },
  "requestBody": "typed",
  "responseBody": "typed",
  "requestSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "definitions": {
      "AttributeValue": {
        "oneOf": [
          {
            "additionalProperties": false,
            "properties": {
              "S": {
                "type": "string"
              }
            },
            "required": [
              "S"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "N": {
                "type": "string"
              }
            },
            "required": [
              "N"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "B": {
                "type": "string"
              }
            },
            "required": [
              "B"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "BOOL": {
                "type": "boolean"
              }
            },
            "required": [
              "BOOL"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "NULL": {
                "type": "boolean"
              }
            },
            "required": [
              "NULL"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "M": {
                "additionalProperties": {
                  "$ref": "#/definitions/AttributeValue"
                },
                "type": "object"
              }
            },
            "required": [
              "M"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "L": {
                "items": {
                  "$ref": "#/definitions/AttributeValue"
                },
                "type": "array"
              }
            },
            "required": [
              "L"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "SS": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            },
            "required": [
              "SS"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "NS": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            },
            "required": [
              "NS"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "BS": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            },
            "required": [
              "BS"
            ],
            "type": "object"
          }
        ]
      }
    },
    "properties": {
      "exclusiveStartKey": {
        "additionalProperties": {
          "$ref": "#/definitions/AttributeValue"
        },
        "default": null,
        "type": [
          "object",
          "null"
        ]
      },
      "limit": {
        "default": null,
        "format": "int32",
        "type": [
          "integer",
          "null"
        ]
      },
      "tableName": {
        "type": "string"
      }
    },
    "required": [
      "tableName"
    ],
    "title": "ScanRequest",
    "type": "object"
  },
  "responseSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
      "AttributeValue": {
        "oneOf": [
          {
            "additionalProperties": false,
            "properties": {
              "S": {
                "type": "string"
              }
            },
            "required": [
              "S"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "N": {
                "type": "string"
              }
            },
            "required": [
              "N"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "B": {
                "type": "string"
              }
            },
            "required": [
              "B"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "BOOL": {
                "type": "boolean"
              }
            },
            "required": [
              "BOOL"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "NULL": {
                "type": "boolean"
              }
            },
            "required": [
              "NULL"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "M": {
                "additionalProperties": {
                  "$ref": "#/definitions/AttributeValue"
                },
                "type": "object"
              }
            },
            "required": [
              "M"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "L": {
                "items": {
                  "$ref": "#/definitions/AttributeValue"
                },
                "type": "array"
              }
            },
            "required": [
              "L"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "SS": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            },
            "required": [
              "SS"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "NS": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            },
            "required": [
              "NS"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "BS": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            },
            "required": [
              "BS"
            ],
            "type": "object"
          }
        ]
      }
    },
    "properties": {
      "count": {
        "format": "uint",
        "minimum": 0.0,
        "type": "integer"
      },
      "items": {
        "items": {
          "additionalProperties": {
            "$ref": "#/definitions/AttributeValue"
          },
          "type": "object"
        },
        "type": "array"
      },
      "lastEvaluatedKey": {
        "additionalProperties": {
          "$ref": "#/definitions/AttributeValue"
        },
        "type": [
          "object",
          "null"
        ]
      },
      "scannedCount": {
        "format": "uint",
        "minimum": 0.0,
        "type": "integer"
      }
    },
    "required": [
      "count",
      "items",
      "scannedCount"
    ],
    "title": "ReadItemsResponse",
    "type": "object"
  }
}
