Files
scylladb/api/api-doc/column_family.json
Amnon Heiman bde58c9607 Add the Column Family Swagger definition
This adds the Column familiy swagger definition file, the API is
equivelent to the ColumnFamilyStoreMBean definition.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-11 09:50:52 +03:00

519 lines
16 KiB
JSON

{
"apiVersion":"0.0.1",
"swaggerVersion":"1.2",
"basePath":"{{Protocol}}://{{Host}}",
"resourcePath":"/column_family",
"produces":[
"application/json"
],
"apis":[
{
"path":"/column_family/",
"operations":[
{
"method":"GET",
"summary":"Get a list of all column family info",
"type":"array",
"items":{
"type":"column_family_info"
},
"nickname":"get_column_family",
"produces":[
"application/json"
],
"parameters":[
]
}
]
},
{
"path":"/column_family/name",
"operations":[
{
"method":"GET",
"summary":"Get a list of all column family names",
"type":"array",
"items":{
"type":"string"
},
"nickname":"get_column_family_name",
"produces":[
"application/json"
],
"parameters":[
]
}
]
},
{
"path":"/column_family/name/keyspace",
"operations":[
{
"method":"GET",
"summary":"Get a list of the key space names",
"type":"array",
"items":{
"type":"string"
},
"nickname":"get_column_family_name_keyspace",
"produces":[
"application/json"
],
"parameters":[
]
}
]
},
{
"path":"/column_family/major_compaction/{name}",
"operations":[
{
"method":"POST",
"summary":"Force a major compaction of this column family",
"type":"string",
"nickname":"force_major_compaction",
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"description":"The column family name in keysspace:name format",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
}
]
}
]
},
{
"path":"/column_family/minimum_compaction/{name}",
"operations":[
{
"method":"POST",
"summary":"Sets the minimum number of sstables in queue before compaction kicks off",
"type":"string",
"nickname":"set_minimum_compaction_threshold",
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"description":"The column family name in keysspace:name format",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
},
{
"name":"value",
"description":"The minimum number of sstables in queue before compaction kicks off",
"required":true,
"allowMultiple":false,
"type":"int",
"paramType":"query"
}
]
},
{
"method":"GET",
"summary":"get the minimum number of sstables in queue before compaction kicks off",
"type":"string",
"nickname":"get_minimum_compaction_threshold",
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"description":"The column family name in keysspace:name format",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
}
]
}
]
},
{
"path":"/column_family/maximum_compaction/{name}",
"operations":[
{
"method":"POST",
"summary":"Sets the maximum number of sstables in queue before compaction kicks off",
"type":"string",
"nickname":"set_maximum_compaction_threshold",
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"description":"The column family name in keysspace:name format",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
},
{
"name":"value",
"description":"The maximum number of sstables in queue before compaction kicks off",
"required":true,
"allowMultiple":false,
"type":"int",
"paramType":"query"
}
]
},
{
"method":"GET",
"summary":"get the maximum number of sstables in queue before compaction kicks off",
"type":"string",
"nickname":"get_maximum_compaction_threshold",
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"description":"The column family name in keysspace:name format",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
}
]
}
]
},
{
"path":"/column_family/compaction/{name}",
"operations":[
{
"method":"POST",
"summary":"Sets the minumum and maximum number of sstables in queue before compaction kicks off",
"type":"string",
"nickname":"set_compaction_threshold",
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"description":"The column family name in keysspace:name format",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
},
{
"name":"maximum",
"description":"The maximum number of sstables in queue before compaction kicks off",
"required":true,
"allowMultiple":false,
"type":"int",
"paramType":"query"
},
{
"name":"minimum",
"description":"The minimum number of sstables in queue before compaction kicks off",
"required":true,
"allowMultiple":false,
"type":"int",
"paramType":"query"
}
]
}
]
},
{
"path":"/column_family/compression_parameters/{name}",
"operations":[
{
"method":"GET",
"summary":"get the compression parameters",
"type":"array",
"items":{
"type":"mapper"
},
"nickname":"get_compression_parameters",
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"description":"The column family name in keysspace:name format",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
}
]
}
]
},
{
"path":"/column_family/autocompaction/{name}",
"operations":[
{
"method":"GET",
"summary":"check if the auto compaction disabled",
"type":"boolean",
"nickname":"is_auto_compaction_disabled",
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"description":"The column family name in keysspace:name format",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
}
]
}
]
},
{
"path":"/column_family/estimate_keys/{name}",
"operations":[
{
"method":"GET",
"summary":"Get the estimate keys",
"type":"long",
"nickname":"estimate_keys",
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"description":"The column family name in keysspace:name format",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
}
]
}
]
},
{
"path":"/column_family/built_indexes/{name}",
"operations":[
{
"method":"GET",
"summary":"Returns a list of the names of the built column indexes for current store",
"type":"array",
"items":{
"type":"string"
},
"nickname":"get_built_indexes",
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"description":"The column family name in keysspace:name format",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
}
]
}
]
},
{
"path":"/column_family/sstables/by_key/{key}",
"operations":[
{
"method":"GET",
"summary":"Returns a list of filenames that contain the given key on this node",
"type":"array",
"items":{
"type":"string"
},
"nickname":"get_sstables_for_key",
"produces":[
"application/json"
],
"parameters":[
{
"name":"key",
"description":"The key",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
}
]
}
]
},
{
"path":"/column_family/load/sstable/",
"operations":[
{
"method":"POST",
"summary":"Scan through Keyspace/ColumnFamily's data directory determine which SSTables should be loaded and load them",
"type":"string",
"nickname":"load_new_sstables",
"produces":[
"application/json"
],
"parameters":[
]
}
]
},
{
"path":"/column_family/sstables/unleveled/{name}",
"operations":[
{
"method":"GET",
"summary":"the number of SSTables in L0. Always return 0 if Leveled compaction is not enabled.",
"type":"array",
"items":{
"type":"string"
},
"nickname":"get_unleveled_sstables",
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"description":"The column family name in keysspace:name format",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
}
]
}
]
},
{
"path":"/column_family/sstables/per_level/{name}",
"operations":[
{
"method":"GET",
"summary":"sstable count for each level. empty unless leveled compaction is used",
"type":"array",
"items":{
"type":"string"
},
"nickname":"get_sstable_count_per_level",
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"description":"The column family name in keysspace:name format",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
}
]
}
]
},
{
"path":"/column_family/tombstones/droppable_ratio/{name}",
"operations":[
{
"method":"GET",
"summary":"Get the ratio of droppable tombstones to real columns (and non-droppable tombstones)",
"type":"double",
"nickname":"get_droppable_tombstone_ratio",
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"description":"The column family name in keysspace:name format",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
}
]
}
]
},
{
"path":"/column_family/sstables/snapshots_size/{name}",
"operations":[
{
"method":"GET",
"summary":"the size of SSTables in 'snapshots' subdirectory which aren't live anymore",
"type":"double",
"nickname":"true_snapshots_size",
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"description":"The column family name in keysspace:name format",
"required":true,
"allowMultiple":false,
"type":"string",
"paramType":"path"
}
]
}
]
}
],
"models":{
"mapper":{
"id":"mapper",
"description":"A key value mapping",
"properties":{
"key":{
"type":"string",
"description":"The key"
},
"value":{
"type":"string",
"description":"The value"
}
}
},
"column_family_info":{
"id":"column_family_info",
"description":"Information about column family",
"properties":{
"ks":{
"type":"string",
"description":"The Keyspace"
},
"cf":{
"type":"string",
"description":"The column family"
},
"type":{
"type":"string",
"description":"The column family type"
}
}
}
}
}