summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/src/commands/cluster-migration.json
blob: c6835ce4296aa696b92172b612219a9a8840fc46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
{
    "MIGRATION": {
        "summary": "Start, monitor and cancel slot migration.",
        "complexity": "O(N) where N is the total number of the slots between the start slot and end slot arguments.",
        "group": "cluster",
        "since": "8.4.0",
        "arity": -4,
        "container": "CLUSTER",
        "function": "clusterCommand",
        "command_flags": [
            "NO_ASYNC_LOADING",
            "ADMIN",
            "STALE"
        ],
        "arguments": [
            {
                "name": "subcommand",
                "type": "oneof",
                "arguments": [
                    {
                        "name": "import",
                        "token": "IMPORT",
                        "type": "block",
                        "multiple": true,
                        "arguments": [
                            {
                                "name": "start-slot",
                                "type": "integer"
                            },
                            {
                                "name": "end-slot",
                                "type": "integer"
                            }
                        ]
                    },
                    {
                        "name": "cancel",
                        "token": "CANCEL",
                        "type": "oneof",
                        "arguments": [
                            {
                                "token": "ID",
                                "name": "task-id",
                                "type": "string"
                            },
                            {
                                "name": "all",
                                "token": "ALL",
                                "type": "pure-token"
                            }
                        ]
                    },
                    {
                        "name": "status",
                        "token": "STATUS",
                        "type": "oneof",
                        "arguments": [
                            {
                                "token": "ID",
                                "name": "task-id",
                                "type": "string",
                                "optional": true
                            },
                            {
                                "name": "all",
                                "token": "ALL",
                                "type": "pure-token",
                                "optional": true
                            }
                        ]
                    }
                ]
            }
        ],
        "reply_schema": {
            "oneOf": [
                {
                    "description": "Reply to CLUSTER MIGRATION IMPORT, returns the task ID.",
                    "type": "string"
                },
                {
                    "description": "Reply to CLUSTER MIGRATION CANCEL, number of cancelled migration operations.",
                    "type": "integer"
                },
                {
                    "description": "Reply to CLUSTER MIGRATION STATUS, array of migration operation details.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "slots": {
                                "type": "string"
                            },
                            "source": {
                                "type": "string"
                            },
                            "dest": {
                                "type": "string"
                            },
                            "operation": {
                                "oneOf": [
                                    {
                                        "const": "import"
                                    },
                                    {
                                        "const": "migrate"
                                    }
                                ]
                            },
                            "state": {
                                "type": "string"
                            },
                            "last_error": {
                                "type": "string"
                            },
                            "retries": {
                                "type": "integer"
                            },
                            "create_time": {
                                "type": "integer"
                            },
                            "start_time": {
                                "type": "integer"
                            },
                            "end_time": {
                                "type": "integer"
                            },
                            "write_pause_ms": {
                                "type": "integer"
                            }
                        }
                    }
                }
            ]
        }
    }
}