mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-21 17:10:35 +00:00
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>
519 lines
16 KiB
JSON
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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|