{
  "name": "DeleteTable",
  "plane": "control",
  "terraformEligible": true,
  "protocol": {
    "kind": "cloudJson",
    "target": "CloudTables.DeleteTable",
    "service": "tables"
  },
  "requestBody": "typed",
  "responseBody": "typed",
  "requestSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "tableName": {
        "type": "string"
      }
    },
    "required": [
      "tableName"
    ],
    "title": "DeleteTableRequest",
    "type": "object"
  },
  "responseSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
      "AttributeDefinition": {
        "additionalProperties": false,
        "properties": {
          "attributeName": {
            "type": "string"
          },
          "attributeType": {
            "type": "string"
          }
        },
        "required": [
          "attributeName",
          "attributeType"
        ],
        "type": "object"
      },
      "GlobalSecondaryIndexDescription": {
        "properties": {
          "indexName": {
            "type": "string"
          },
          "indexStatus": {
            "type": "string"
          },
          "keySchema": {
            "items": {
              "$ref": "#/definitions/KeySchemaElement"
            },
            "type": "array"
          },
          "projection": {
            "$ref": "#/definitions/Projection"
          }
        },
        "required": [
          "indexName",
          "indexStatus",
          "keySchema",
          "projection"
        ],
        "type": "object"
      },
      "IgnoredField": {
        "properties": {
          "detail": {
            "type": [
              "string",
              "null"
            ]
          },
          "path": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "status": {
            "$ref": "#/definitions/IgnoredStatus"
          }
        },
        "required": [
          "path",
          "reason",
          "status"
        ],
        "type": "object"
      },
      "IgnoredStatus": {
        "enum": [
          "ignored",
          "approximated",
          "coerced"
        ],
        "type": "string"
      },
      "KeySchemaElement": {
        "additionalProperties": false,
        "properties": {
          "attributeName": {
            "type": "string"
          },
          "keyType": {
            "type": "string"
          }
        },
        "required": [
          "attributeName",
          "keyType"
        ],
        "type": "object"
      },
      "Projection": {
        "additionalProperties": false,
        "properties": {
          "nonKeyAttributes": {
            "default": null,
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "projectionType": {
            "type": "string"
          }
        },
        "required": [
          "projectionType"
        ],
        "type": "object"
      },
      "StreamSpecification": {
        "additionalProperties": false,
        "properties": {
          "streamEnabled": {
            "type": "boolean"
          },
          "streamViewType": {
            "default": null,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "streamEnabled"
        ],
        "type": "object"
      },
      "TableDescription": {
        "properties": {
          "attributeDefinitions": {
            "items": {
              "$ref": "#/definitions/AttributeDefinition"
            },
            "type": "array"
          },
          "creationDateTime": {
            "format": "double",
            "type": "number"
          },
          "globalSecondaryIndexes": {
            "items": {
              "$ref": "#/definitions/GlobalSecondaryIndexDescription"
            },
            "type": "array"
          },
          "itemCount": {
            "format": "int64",
            "type": "integer"
          },
          "keySchema": {
            "items": {
              "$ref": "#/definitions/KeySchemaElement"
            },
            "type": "array"
          },
          "streamSpecification": {
            "$ref": "#/definitions/StreamSpecification"
          },
          "tableName": {
            "type": "string"
          },
          "tableSizeBytes": {
            "format": "int64",
            "type": "integer"
          },
          "tableStatus": {
            "type": "string"
          }
        },
        "required": [
          "attributeDefinitions",
          "creationDateTime",
          "globalSecondaryIndexes",
          "itemCount",
          "keySchema",
          "streamSpecification",
          "tableName",
          "tableSizeBytes",
          "tableStatus"
        ],
        "type": "object"
      }
    },
    "properties": {
      "ignoredFields": {
        "items": {
          "$ref": "#/definitions/IgnoredField"
        },
        "type": "array"
      },
      "tableDescription": {
        "$ref": "#/definitions/TableDescription"
      }
    },
    "required": [
      "tableDescription"
    ],
    "title": "TableMutationResponse",
    "type": "object"
  }
}
