github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/docs/swagger/swagger.json (about) 1 { 2 "swagger": "2.0", 3 "info": { 4 "contact": {} 5 }, 6 "paths": { 7 "/api/v1/captures": { 8 "get": { 9 "description": "list all captures in cdc cluster", 10 "consumes": [ 11 "application/json" 12 ], 13 "produces": [ 14 "application/json" 15 ], 16 "tags": [ 17 "capture" 18 ], 19 "summary": "List captures", 20 "responses": { 21 "200": { 22 "description": "OK", 23 "schema": { 24 "type": "array", 25 "items": { 26 "$ref": "#/definitions/model.Capture" 27 } 28 } 29 }, 30 "400": { 31 "description": "Bad Request", 32 "schema": { 33 "$ref": "#/definitions/model.HTTPError" 34 } 35 }, 36 "500": { 37 "description": "Internal Server Error", 38 "schema": { 39 "$ref": "#/definitions/model.HTTPError" 40 } 41 } 42 } 43 } 44 }, 45 "/api/v1/captures/drain": { 46 "put": { 47 "description": "Drain all tables at the target captures in cdc cluster", 48 "consumes": [ 49 "application/json" 50 ], 51 "produces": [ 52 "application/json" 53 ], 54 "tags": [ 55 "capture" 56 ], 57 "summary": "Drain captures", 58 "responses": { 59 "200": { 60 "description": "" 61 }, 62 "202": { 63 "description": "" 64 }, 65 "400": { 66 "description": "Bad Request", 67 "schema": { 68 "$ref": "#/definitions/model.HTTPError" 69 } 70 }, 71 "500": { 72 "description": "Internal Server Error", 73 "schema": { 74 "$ref": "#/definitions/model.HTTPError" 75 } 76 }, 77 "503": { 78 "description": "Service Unavailable", 79 "schema": { 80 "$ref": "#/definitions/model.HTTPError" 81 } 82 } 83 } 84 } 85 }, 86 "/api/v1/changefeeds": { 87 "get": { 88 "description": "list all changefeeds in cdc cluster", 89 "consumes": [ 90 "application/json" 91 ], 92 "produces": [ 93 "application/json" 94 ], 95 "tags": [ 96 "changefeed" 97 ], 98 "summary": "List changefeed", 99 "parameters": [ 100 { 101 "type": "string", 102 "description": "state", 103 "name": "state", 104 "in": "query" 105 } 106 ], 107 "responses": { 108 "200": { 109 "description": "OK", 110 "schema": { 111 "type": "array", 112 "items": { 113 "$ref": "#/definitions/model.ChangefeedCommonInfo" 114 } 115 } 116 }, 117 "500": { 118 "description": "Internal Server Error", 119 "schema": { 120 "$ref": "#/definitions/model.HTTPError" 121 } 122 } 123 } 124 }, 125 "post": { 126 "description": "create a new changefeed", 127 "consumes": [ 128 "application/json" 129 ], 130 "produces": [ 131 "application/json" 132 ], 133 "tags": [ 134 "changefeed" 135 ], 136 "summary": "Create changefeed", 137 "parameters": [ 138 { 139 "description": "changefeed config", 140 "name": "changefeed", 141 "in": "body", 142 "required": true, 143 "schema": { 144 "$ref": "#/definitions/model.ChangefeedConfig" 145 } 146 } 147 ], 148 "responses": { 149 "202": { 150 "description": "" 151 }, 152 "400": { 153 "description": "Bad Request", 154 "schema": { 155 "$ref": "#/definitions/model.HTTPError" 156 } 157 }, 158 "500": { 159 "description": "Internal Server Error", 160 "schema": { 161 "$ref": "#/definitions/model.HTTPError" 162 } 163 } 164 } 165 } 166 }, 167 "/api/v1/changefeeds/{changefeed_id}": { 168 "get": { 169 "description": "get detail information of a changefeed", 170 "consumes": [ 171 "application/json" 172 ], 173 "produces": [ 174 "application/json" 175 ], 176 "tags": [ 177 "changefeed" 178 ], 179 "summary": "Get changefeed", 180 "parameters": [ 181 { 182 "type": "string", 183 "description": "changefeed_id", 184 "name": "changefeed_id", 185 "in": "path", 186 "required": true 187 } 188 ], 189 "responses": { 190 "200": { 191 "description": "OK", 192 "schema": { 193 "$ref": "#/definitions/model.ChangefeedDetail" 194 } 195 }, 196 "400": { 197 "description": "Bad Request", 198 "schema": { 199 "$ref": "#/definitions/model.HTTPError" 200 } 201 }, 202 "500": { 203 "description": "Internal Server Error", 204 "schema": { 205 "$ref": "#/definitions/model.HTTPError" 206 } 207 } 208 } 209 }, 210 "put": { 211 "description": "Update a changefeed", 212 "consumes": [ 213 "application/json" 214 ], 215 "produces": [ 216 "application/json" 217 ], 218 "tags": [ 219 "changefeed" 220 ], 221 "summary": "Update a changefeed", 222 "parameters": [ 223 { 224 "type": "string", 225 "description": "changefeed_id", 226 "name": "changefeed_id", 227 "in": "path", 228 "required": true 229 }, 230 { 231 "description": "changefeed config", 232 "name": "changefeedConfig", 233 "in": "body", 234 "required": true, 235 "schema": { 236 "$ref": "#/definitions/model.ChangefeedConfig" 237 } 238 } 239 ], 240 "responses": { 241 "202": { 242 "description": "" 243 }, 244 "400": { 245 "description": "Bad Request", 246 "schema": { 247 "$ref": "#/definitions/model.HTTPError" 248 } 249 }, 250 "500": { 251 "description": "Internal Server Error", 252 "schema": { 253 "$ref": "#/definitions/model.HTTPError" 254 } 255 } 256 } 257 }, 258 "delete": { 259 "description": "Remove a changefeed", 260 "consumes": [ 261 "application/json" 262 ], 263 "produces": [ 264 "application/json" 265 ], 266 "tags": [ 267 "changefeed" 268 ], 269 "summary": "Remove a changefeed", 270 "parameters": [ 271 { 272 "type": "string", 273 "description": "changefeed_id", 274 "name": "changefeed_id", 275 "in": "path", 276 "required": true 277 } 278 ], 279 "responses": { 280 "202": { 281 "description": "" 282 }, 283 "400": { 284 "description": "Bad Request", 285 "schema": { 286 "$ref": "#/definitions/model.HTTPError" 287 } 288 }, 289 "500": { 290 "description": "Internal Server Error", 291 "schema": { 292 "$ref": "#/definitions/model.HTTPError" 293 } 294 } 295 } 296 } 297 }, 298 "/api/v1/changefeeds/{changefeed_id}/pause": { 299 "post": { 300 "description": "Pause a changefeed", 301 "consumes": [ 302 "application/json" 303 ], 304 "produces": [ 305 "application/json" 306 ], 307 "tags": [ 308 "changefeed" 309 ], 310 "summary": "Pause a changefeed", 311 "parameters": [ 312 { 313 "type": "string", 314 "description": "changefeed_id", 315 "name": "changefeed_id", 316 "in": "path", 317 "required": true 318 } 319 ], 320 "responses": { 321 "202": { 322 "description": "" 323 }, 324 "400": { 325 "description": "Bad Request", 326 "schema": { 327 "$ref": "#/definitions/model.HTTPError" 328 } 329 }, 330 "500": { 331 "description": "Internal Server Error", 332 "schema": { 333 "$ref": "#/definitions/model.HTTPError" 334 } 335 } 336 } 337 } 338 }, 339 "/api/v1/changefeeds/{changefeed_id}/resume": { 340 "post": { 341 "description": "Resume a changefeed", 342 "consumes": [ 343 "application/json" 344 ], 345 "produces": [ 346 "application/json" 347 ], 348 "tags": [ 349 "changefeed" 350 ], 351 "summary": "Resume a changefeed", 352 "parameters": [ 353 { 354 "type": "string", 355 "description": "changefeed_id", 356 "name": "changefeed_id", 357 "in": "path", 358 "required": true 359 } 360 ], 361 "responses": { 362 "202": { 363 "description": "" 364 }, 365 "400": { 366 "description": "Bad Request", 367 "schema": { 368 "$ref": "#/definitions/model.HTTPError" 369 } 370 }, 371 "500": { 372 "description": "Internal Server Error", 373 "schema": { 374 "$ref": "#/definitions/model.HTTPError" 375 } 376 } 377 } 378 } 379 }, 380 "/api/v1/changefeeds/{changefeed_id}/tables/move_table": { 381 "post": { 382 "description": "move one table to the target capture", 383 "consumes": [ 384 "application/json" 385 ], 386 "produces": [ 387 "application/json" 388 ], 389 "tags": [ 390 "changefeed" 391 ], 392 "summary": "move table", 393 "parameters": [ 394 { 395 "type": "string", 396 "description": "changefeed_id", 397 "name": "changefeed_id", 398 "in": "path", 399 "required": true 400 }, 401 { 402 "description": "move table request", 403 "name": "MoveTable", 404 "in": "body", 405 "required": true, 406 "schema": { 407 "$ref": "#/definitions/model.MoveTableReq" 408 } 409 } 410 ], 411 "responses": { 412 "202": { 413 "description": "" 414 }, 415 "400": { 416 "description": "Bad Request", 417 "schema": { 418 "$ref": "#/definitions/model.HTTPError" 419 } 420 }, 421 "500": { 422 "description": "Internal Server Error", 423 "schema": { 424 "$ref": "#/definitions/model.HTTPError" 425 } 426 } 427 } 428 } 429 }, 430 "/api/v1/changefeeds/{changefeed_id}/tables/rebalance_table": { 431 "post": { 432 "description": "rebalance all tables of a changefeed", 433 "consumes": [ 434 "application/json" 435 ], 436 "produces": [ 437 "application/json" 438 ], 439 "tags": [ 440 "changefeed" 441 ], 442 "summary": "rebalance tables", 443 "parameters": [ 444 { 445 "type": "string", 446 "description": "changefeed_id", 447 "name": "changefeed_id", 448 "in": "path", 449 "required": true 450 } 451 ], 452 "responses": { 453 "202": { 454 "description": "" 455 }, 456 "400": { 457 "description": "Bad Request", 458 "schema": { 459 "$ref": "#/definitions/model.HTTPError" 460 } 461 }, 462 "500": { 463 "description": "Internal Server Error", 464 "schema": { 465 "$ref": "#/definitions/model.HTTPError" 466 } 467 } 468 } 469 } 470 }, 471 "/api/v1/health": { 472 "get": { 473 "description": "check if CDC cluster is health", 474 "consumes": [ 475 "application/json" 476 ], 477 "produces": [ 478 "application/json" 479 ], 480 "tags": [ 481 "common" 482 ], 483 "summary": "Check if CDC cluster is health", 484 "responses": { 485 "200": { 486 "description": "" 487 }, 488 "500": { 489 "description": "Internal Server Error", 490 "schema": { 491 "$ref": "#/definitions/model.HTTPError" 492 } 493 } 494 } 495 } 496 }, 497 "/api/v1/log": { 498 "post": { 499 "description": "change TiCDC log level dynamically", 500 "consumes": [ 501 "application/json" 502 ], 503 "produces": [ 504 "application/json" 505 ], 506 "tags": [ 507 "common" 508 ], 509 "summary": "Change TiCDC log level", 510 "parameters": [ 511 { 512 "description": "log level", 513 "name": "log_level", 514 "in": "body", 515 "required": true, 516 "schema": { 517 "type": "string" 518 } 519 } 520 ], 521 "responses": { 522 "200": { 523 "description": "" 524 }, 525 "400": { 526 "description": "Bad Request", 527 "schema": { 528 "$ref": "#/definitions/model.HTTPError" 529 } 530 } 531 } 532 } 533 }, 534 "/api/v1/owner/resign": { 535 "post": { 536 "description": "notify the current controller to resign", 537 "consumes": [ 538 "application/json" 539 ], 540 "produces": [ 541 "application/json" 542 ], 543 "tags": [ 544 "owner" 545 ], 546 "summary": "notify the ticdc cluster controller to resign", 547 "responses": { 548 "202": { 549 "description": "" 550 }, 551 "400": { 552 "description": "Bad Request", 553 "schema": { 554 "$ref": "#/definitions/model.HTTPError" 555 } 556 }, 557 "500": { 558 "description": "Internal Server Error", 559 "schema": { 560 "$ref": "#/definitions/model.HTTPError" 561 } 562 } 563 } 564 } 565 }, 566 "/api/v1/processors": { 567 "get": { 568 "description": "list all processors in the TiCDC cluster", 569 "consumes": [ 570 "application/json" 571 ], 572 "produces": [ 573 "application/json" 574 ], 575 "tags": [ 576 "processor" 577 ], 578 "summary": "List processors", 579 "responses": { 580 "200": { 581 "description": "OK", 582 "schema": { 583 "type": "array", 584 "items": { 585 "$ref": "#/definitions/model.ProcessorCommonInfo" 586 } 587 } 588 }, 589 "400": { 590 "description": "Bad Request", 591 "schema": { 592 "$ref": "#/definitions/model.HTTPError" 593 } 594 }, 595 "500": { 596 "description": "Internal Server Error", 597 "schema": { 598 "$ref": "#/definitions/model.HTTPError" 599 } 600 } 601 } 602 } 603 }, 604 "/api/v1/processors/{changefeed_id}/{capture_id}": { 605 "get": { 606 "description": "get the detail information of a processor", 607 "consumes": [ 608 "application/json" 609 ], 610 "produces": [ 611 "application/json" 612 ], 613 "tags": [ 614 "processor" 615 ], 616 "summary": "Get processor detail information", 617 "parameters": [ 618 { 619 "type": "string", 620 "description": "changefeed ID", 621 "name": "changefeed_id", 622 "in": "path", 623 "required": true 624 }, 625 { 626 "type": "string", 627 "description": "capture ID", 628 "name": "capture_id", 629 "in": "path", 630 "required": true 631 } 632 ], 633 "responses": { 634 "200": { 635 "description": "OK", 636 "schema": { 637 "$ref": "#/definitions/model.ProcessorDetail" 638 } 639 }, 640 "400": { 641 "description": "Bad Request", 642 "schema": { 643 "$ref": "#/definitions/model.HTTPError" 644 } 645 }, 646 "500": { 647 "description": "Internal Server Error", 648 "schema": { 649 "$ref": "#/definitions/model.HTTPError" 650 } 651 } 652 } 653 } 654 }, 655 "/api/v1/status": { 656 "get": { 657 "description": "get the status of a server(capture)", 658 "consumes": [ 659 "application/json" 660 ], 661 "produces": [ 662 "application/json" 663 ], 664 "tags": [ 665 "common" 666 ], 667 "summary": "Get server status", 668 "responses": { 669 "200": { 670 "description": "OK", 671 "schema": { 672 "$ref": "#/definitions/model.ServerStatus" 673 } 674 }, 675 "400": { 676 "description": "Bad Request", 677 "schema": { 678 "$ref": "#/definitions/model.HTTPError" 679 } 680 }, 681 "500": { 682 "description": "Internal Server Error", 683 "schema": { 684 "$ref": "#/definitions/model.HTTPError" 685 } 686 } 687 } 688 } 689 }, 690 "/api/v2/captures": { 691 "get": { 692 "description": "list all captures in cdc cluster", 693 "produces": [ 694 "application/json" 695 ], 696 "tags": [ 697 "capture", 698 "v2" 699 ], 700 "summary": "List captures", 701 "responses": { 702 "200": { 703 "description": "OK", 704 "schema": { 705 "type": "array", 706 "items": { 707 "$ref": "#/definitions/v2.Capture" 708 } 709 } 710 }, 711 "400": { 712 "description": "Bad Request", 713 "schema": { 714 "$ref": "#/definitions/model.HTTPError" 715 } 716 }, 717 "500": { 718 "description": "Internal Server Error", 719 "schema": { 720 "$ref": "#/definitions/model.HTTPError" 721 } 722 } 723 } 724 } 725 }, 726 "/api/v2/changefeeds": { 727 "get": { 728 "description": "list all changefeeds in cdc cluster", 729 "consumes": [ 730 "application/json" 731 ], 732 "produces": [ 733 "application/json" 734 ], 735 "tags": [ 736 "changefeed", 737 "v2" 738 ], 739 "summary": "List changefeed", 740 "parameters": [ 741 { 742 "type": "string", 743 "description": "state", 744 "name": "state", 745 "in": "query" 746 }, 747 { 748 "type": "string", 749 "description": "default", 750 "name": "namespace", 751 "in": "query" 752 } 753 ], 754 "responses": { 755 "200": { 756 "description": "OK", 757 "schema": { 758 "type": "array", 759 "items": { 760 "$ref": "#/definitions/v2.ChangefeedCommonInfo" 761 } 762 } 763 }, 764 "500": { 765 "description": "Internal Server Error", 766 "schema": { 767 "$ref": "#/definitions/model.HTTPError" 768 } 769 } 770 } 771 }, 772 "post": { 773 "description": "create a new changefeed", 774 "consumes": [ 775 "application/json" 776 ], 777 "produces": [ 778 "application/json" 779 ], 780 "tags": [ 781 "changefeed", 782 "v2" 783 ], 784 "summary": "Create changefeed", 785 "parameters": [ 786 { 787 "description": "changefeed config", 788 "name": "changefeed", 789 "in": "body", 790 "required": true, 791 "schema": { 792 "$ref": "#/definitions/v2.ChangefeedConfig" 793 } 794 } 795 ], 796 "responses": { 797 "200": { 798 "description": "OK", 799 "schema": { 800 "$ref": "#/definitions/v2.ChangeFeedInfo" 801 } 802 }, 803 "400": { 804 "description": "Bad Request", 805 "schema": { 806 "$ref": "#/definitions/model.HTTPError" 807 } 808 }, 809 "500": { 810 "description": "Internal Server Error", 811 "schema": { 812 "$ref": "#/definitions/model.HTTPError" 813 } 814 } 815 } 816 } 817 }, 818 "/api/v2/changefeeds/{changefeed_id}": { 819 "get": { 820 "description": "get detail information of a changefeed", 821 "consumes": [ 822 "application/json" 823 ], 824 "produces": [ 825 "application/json" 826 ], 827 "tags": [ 828 "changefeed", 829 "v2" 830 ], 831 "summary": "Get changefeed", 832 "parameters": [ 833 { 834 "type": "string", 835 "description": "changefeed_id", 836 "name": "changefeed_id", 837 "in": "path", 838 "required": true 839 }, 840 { 841 "type": "string", 842 "description": "default", 843 "name": "namespace", 844 "in": "query" 845 } 846 ], 847 "responses": { 848 "200": { 849 "description": "OK", 850 "schema": { 851 "$ref": "#/definitions/v2.ChangeFeedInfo" 852 } 853 }, 854 "400": { 855 "description": "Bad Request", 856 "schema": { 857 "$ref": "#/definitions/model.HTTPError" 858 } 859 }, 860 "500": { 861 "description": "Internal Server Error", 862 "schema": { 863 "$ref": "#/definitions/model.HTTPError" 864 } 865 } 866 } 867 }, 868 "put": { 869 "description": "Update a changefeed", 870 "consumes": [ 871 "application/json" 872 ], 873 "produces": [ 874 "application/json" 875 ], 876 "tags": [ 877 "changefeed", 878 "v2" 879 ], 880 "summary": "Update a changefeed", 881 "parameters": [ 882 { 883 "type": "string", 884 "description": "changefeed_id", 885 "name": "changefeed_id", 886 "in": "path", 887 "required": true 888 }, 889 { 890 "type": "string", 891 "description": "default", 892 "name": "namespace", 893 "in": "query" 894 }, 895 { 896 "description": "changefeed config", 897 "name": "changefeedConfig", 898 "in": "body", 899 "required": true, 900 "schema": { 901 "$ref": "#/definitions/v2.ChangefeedConfig" 902 } 903 } 904 ], 905 "responses": { 906 "200": { 907 "description": "OK", 908 "schema": { 909 "$ref": "#/definitions/v2.ChangeFeedInfo" 910 } 911 }, 912 "400": { 913 "description": "Bad Request", 914 "schema": { 915 "$ref": "#/definitions/model.HTTPError" 916 } 917 }, 918 "500": { 919 "description": "Internal Server Error", 920 "schema": { 921 "$ref": "#/definitions/model.HTTPError" 922 } 923 } 924 } 925 }, 926 "delete": { 927 "description": "Remove a changefeed", 928 "consumes": [ 929 "application/json" 930 ], 931 "produces": [ 932 "application/json" 933 ], 934 "tags": [ 935 "changefeed", 936 "v2" 937 ], 938 "summary": "Remove a changefeed", 939 "parameters": [ 940 { 941 "type": "string", 942 "description": "changefeed_id", 943 "name": "changefeed_id", 944 "in": "path", 945 "required": true 946 }, 947 { 948 "type": "string", 949 "description": "default", 950 "name": "namespace", 951 "in": "query" 952 } 953 ], 954 "responses": { 955 "200": { 956 "description": "OK", 957 "schema": { 958 "$ref": "#/definitions/v2.EmptyResponse" 959 } 960 }, 961 "400": { 962 "description": "Bad Request", 963 "schema": { 964 "$ref": "#/definitions/model.HTTPError" 965 } 966 }, 967 "500": { 968 "description": "Internal Server Error", 969 "schema": { 970 "$ref": "#/definitions/model.HTTPError" 971 } 972 } 973 } 974 } 975 }, 976 "/api/v2/changefeeds/{changefeed_id}/pause": { 977 "post": { 978 "description": "Pause a changefeed", 979 "consumes": [ 980 "application/json" 981 ], 982 "produces": [ 983 "application/json" 984 ], 985 "tags": [ 986 "changefeed", 987 "v2" 988 ], 989 "summary": "Pause a changefeed", 990 "parameters": [ 991 { 992 "type": "string", 993 "description": "changefeed_id", 994 "name": "changefeed_id", 995 "in": "path", 996 "required": true 997 }, 998 { 999 "type": "string", 1000 "description": "default", 1001 "name": "namespace", 1002 "in": "query" 1003 } 1004 ], 1005 "responses": { 1006 "200": { 1007 "description": "OK", 1008 "schema": { 1009 "$ref": "#/definitions/v2.EmptyResponse" 1010 } 1011 }, 1012 "400": { 1013 "description": "Bad Request", 1014 "schema": { 1015 "$ref": "#/definitions/model.HTTPError" 1016 } 1017 }, 1018 "500": { 1019 "description": "Internal Server Error", 1020 "schema": { 1021 "$ref": "#/definitions/model.HTTPError" 1022 } 1023 } 1024 } 1025 } 1026 }, 1027 "/api/v2/changefeeds/{changefeed_id}/resume": { 1028 "post": { 1029 "description": "Resume a changefeed", 1030 "consumes": [ 1031 "application/json" 1032 ], 1033 "produces": [ 1034 "application/json" 1035 ], 1036 "tags": [ 1037 "changefeed", 1038 "v2" 1039 ], 1040 "summary": "Resume a changefeed", 1041 "parameters": [ 1042 { 1043 "type": "string", 1044 "description": "changefeed_id", 1045 "name": "changefeed_id", 1046 "in": "path", 1047 "required": true 1048 }, 1049 { 1050 "type": "string", 1051 "description": "default", 1052 "name": "namespace", 1053 "in": "query" 1054 }, 1055 { 1056 "description": "resume config", 1057 "name": "resumeConfig", 1058 "in": "body", 1059 "required": true, 1060 "schema": { 1061 "$ref": "#/definitions/v2.ResumeChangefeedConfig" 1062 } 1063 } 1064 ], 1065 "responses": { 1066 "200": { 1067 "description": "OK", 1068 "schema": { 1069 "$ref": "#/definitions/v2.EmptyResponse" 1070 } 1071 }, 1072 "400": { 1073 "description": "Bad Request", 1074 "schema": { 1075 "$ref": "#/definitions/model.HTTPError" 1076 } 1077 }, 1078 "500": { 1079 "description": "Internal Server Error", 1080 "schema": { 1081 "$ref": "#/definitions/model.HTTPError" 1082 } 1083 } 1084 } 1085 } 1086 }, 1087 "/api/v2/changefeeds/{changefeed_id}/synced": { 1088 "get": { 1089 "description": "get the synced status of a changefeed", 1090 "consumes": [ 1091 "application/json" 1092 ], 1093 "produces": [ 1094 "application/json" 1095 ], 1096 "tags": [ 1097 "changefeed", 1098 "v2" 1099 ], 1100 "summary": "Get synced status", 1101 "parameters": [ 1102 { 1103 "type": "string", 1104 "description": "changefeed_id", 1105 "name": "changefeed_id", 1106 "in": "path", 1107 "required": true 1108 }, 1109 { 1110 "type": "string", 1111 "description": "default", 1112 "name": "namespace", 1113 "in": "query" 1114 } 1115 ], 1116 "responses": { 1117 "200": { 1118 "description": "OK", 1119 "schema": { 1120 "$ref": "#/definitions/v2.SyncedStatus" 1121 } 1122 }, 1123 "400": { 1124 "description": "Bad Request", 1125 "schema": { 1126 "$ref": "#/definitions/model.HTTPError" 1127 } 1128 }, 1129 "500": { 1130 "description": "Internal Server Error", 1131 "schema": { 1132 "$ref": "#/definitions/model.HTTPError" 1133 } 1134 } 1135 } 1136 } 1137 }, 1138 "/api/v2/health": { 1139 "get": { 1140 "description": "Check the health status of a TiCDC cluster", 1141 "produces": [ 1142 "application/json" 1143 ], 1144 "tags": [ 1145 "common", 1146 "v2" 1147 ], 1148 "summary": "Check the health status of a TiCDC cluster", 1149 "responses": { 1150 "200": { 1151 "description": "OK", 1152 "schema": { 1153 "$ref": "#/definitions/v2.EmptyResponse" 1154 } 1155 }, 1156 "400": { 1157 "description": "Bad Request", 1158 "schema": { 1159 "$ref": "#/definitions/model.HTTPError" 1160 } 1161 }, 1162 "500": { 1163 "description": "Internal Server Error", 1164 "schema": { 1165 "$ref": "#/definitions/model.HTTPError" 1166 } 1167 } 1168 } 1169 } 1170 }, 1171 "/api/v2/log": { 1172 "post": { 1173 "description": "change TiCDC log level dynamically", 1174 "consumes": [ 1175 "application/json" 1176 ], 1177 "produces": [ 1178 "application/json" 1179 ], 1180 "tags": [ 1181 "common", 1182 "v2" 1183 ], 1184 "summary": "Change TiCDC log level", 1185 "parameters": [ 1186 { 1187 "description": "log level", 1188 "name": "log_level", 1189 "in": "body", 1190 "required": true, 1191 "schema": { 1192 "$ref": "#/definitions/v2.LogLevelReq" 1193 } 1194 } 1195 ], 1196 "responses": { 1197 "200": { 1198 "description": "OK", 1199 "schema": { 1200 "$ref": "#/definitions/v2.EmptyResponse" 1201 } 1202 }, 1203 "400": { 1204 "description": "Bad Request", 1205 "schema": { 1206 "$ref": "#/definitions/model.HTTPError" 1207 } 1208 } 1209 } 1210 } 1211 }, 1212 "/api/v2/owner/resign": { 1213 "post": { 1214 "description": "Notify the current controller to resign", 1215 "consumes": [ 1216 "application/json" 1217 ], 1218 "produces": [ 1219 "application/json" 1220 ], 1221 "tags": [ 1222 "owner", 1223 "v2" 1224 ], 1225 "summary": "Notify the controller to resign", 1226 "responses": { 1227 "200": { 1228 "description": "OK", 1229 "schema": { 1230 "$ref": "#/definitions/v2.EmptyResponse" 1231 } 1232 }, 1233 "400": { 1234 "description": "Bad Request", 1235 "schema": { 1236 "$ref": "#/definitions/model.HTTPError" 1237 } 1238 }, 1239 "500": { 1240 "description": "Internal Server Error", 1241 "schema": { 1242 "$ref": "#/definitions/model.HTTPError" 1243 } 1244 } 1245 } 1246 } 1247 }, 1248 "/api/v2/processors": { 1249 "get": { 1250 "description": "list all processors in the TiCDC cluster", 1251 "produces": [ 1252 "application/json" 1253 ], 1254 "tags": [ 1255 "processor", 1256 "v2" 1257 ], 1258 "summary": "List processors", 1259 "responses": { 1260 "200": { 1261 "description": "OK", 1262 "schema": { 1263 "type": "array", 1264 "items": { 1265 "$ref": "#/definitions/v2.ProcessorCommonInfo" 1266 } 1267 } 1268 }, 1269 "400": { 1270 "description": "Bad Request", 1271 "schema": { 1272 "$ref": "#/definitions/model.HTTPError" 1273 } 1274 }, 1275 "500": { 1276 "description": "Internal Server Error", 1277 "schema": { 1278 "$ref": "#/definitions/model.HTTPError" 1279 } 1280 } 1281 } 1282 } 1283 }, 1284 "/api/v2/processors/{changefeed_id}/{capture_id}": { 1285 "get": { 1286 "description": "get the detail information of a processor", 1287 "produces": [ 1288 "application/json" 1289 ], 1290 "tags": [ 1291 "processor", 1292 "v2" 1293 ], 1294 "summary": "Get processor detail information", 1295 "parameters": [ 1296 { 1297 "type": "string", 1298 "description": "changefeed ID", 1299 "name": "changefeed_id", 1300 "in": "path", 1301 "required": true 1302 }, 1303 { 1304 "type": "string", 1305 "description": "default", 1306 "name": "namespace", 1307 "in": "query" 1308 }, 1309 { 1310 "type": "string", 1311 "description": "capture ID", 1312 "name": "capture_id", 1313 "in": "path", 1314 "required": true 1315 } 1316 ], 1317 "responses": { 1318 "200": { 1319 "description": "OK", 1320 "schema": { 1321 "$ref": "#/definitions/v2.ProcessorDetail" 1322 } 1323 }, 1324 "400": { 1325 "description": "Bad Request", 1326 "schema": { 1327 "$ref": "#/definitions/model.HTTPError" 1328 } 1329 }, 1330 "500": { 1331 "description": "Internal Server Error", 1332 "schema": { 1333 "$ref": "#/definitions/model.HTTPError" 1334 } 1335 } 1336 } 1337 } 1338 }, 1339 "/api/v2/status": { 1340 "get": { 1341 "description": "This API is a synchronous interface. If the request is successful,", 1342 "consumes": [ 1343 "application/json" 1344 ], 1345 "produces": [ 1346 "application/json" 1347 ], 1348 "tags": [ 1349 "common", 1350 "v2" 1351 ], 1352 "summary": "Get the status information of a TiCDC node", 1353 "responses": { 1354 "200": { 1355 "description": "OK", 1356 "schema": { 1357 "$ref": "#/definitions/v2.ServerStatus" 1358 } 1359 }, 1360 "400": { 1361 "description": "Bad Request", 1362 "schema": { 1363 "$ref": "#/definitions/model.HTTPError" 1364 } 1365 }, 1366 "500": { 1367 "description": "Internal Server Error", 1368 "schema": { 1369 "$ref": "#/definitions/model.HTTPError" 1370 } 1371 } 1372 } 1373 } 1374 } 1375 }, 1376 "definitions": { 1377 "config.CSVConfig": { 1378 "type": "object", 1379 "properties": { 1380 "binary-encoding-method": { 1381 "description": "encoding method of binary type", 1382 "type": "string" 1383 }, 1384 "delimiter": { 1385 "description": "delimiter between fields, it can be 1 character or at most 2 characters\nIt can not be CR or LF or contains CR or LF.\nIt should have exclusive characters with quote.", 1386 "type": "string" 1387 }, 1388 "include-commit-ts": { 1389 "description": "whether to include commit ts", 1390 "type": "boolean" 1391 }, 1392 "null": { 1393 "description": "representation of null values", 1394 "type": "string" 1395 }, 1396 "output-handle-key": { 1397 "description": "output handle key", 1398 "type": "boolean" 1399 }, 1400 "output-old-value": { 1401 "description": "output old value", 1402 "type": "boolean" 1403 }, 1404 "quote": { 1405 "description": "quoting character", 1406 "type": "string" 1407 } 1408 } 1409 }, 1410 "config.CloudStorageConfig": { 1411 "type": "object", 1412 "properties": { 1413 "file-cleanup-cron-spec": { 1414 "type": "string" 1415 }, 1416 "file-expiration-days": { 1417 "type": "integer" 1418 }, 1419 "file-size": { 1420 "type": "integer" 1421 }, 1422 "flush-concurrency": { 1423 "type": "integer" 1424 }, 1425 "flush-interval": { 1426 "type": "string" 1427 }, 1428 "output-column-id": { 1429 "type": "boolean" 1430 }, 1431 "worker-count": { 1432 "type": "integer" 1433 } 1434 } 1435 }, 1436 "config.CodecConfig": { 1437 "type": "object", 1438 "properties": { 1439 "avro-bigint-unsigned-handling-mode": { 1440 "type": "string" 1441 }, 1442 "avro-decimal-handling-mode": { 1443 "type": "string" 1444 }, 1445 "avro-enable-watermark": { 1446 "type": "boolean" 1447 }, 1448 "enable-tidb-extension": { 1449 "type": "boolean" 1450 }, 1451 "encoding-format": { 1452 "type": "string" 1453 }, 1454 "max-batch-size": { 1455 "type": "integer" 1456 } 1457 } 1458 }, 1459 "config.ColumnSelector": { 1460 "type": "object", 1461 "properties": { 1462 "columns": { 1463 "type": "array", 1464 "items": { 1465 "type": "string" 1466 } 1467 }, 1468 "matcher": { 1469 "type": "array", 1470 "items": { 1471 "type": "string" 1472 } 1473 } 1474 } 1475 }, 1476 "config.DebeziumConfig": { 1477 "type": "object", 1478 "properties": { 1479 "output-old-value": { 1480 "type": "boolean" 1481 } 1482 } 1483 }, 1484 "config.DispatchRule": { 1485 "type": "object", 1486 "properties": { 1487 "columns": { 1488 "description": "Columns are set when using columns dispatcher.", 1489 "type": "array", 1490 "items": { 1491 "type": "string" 1492 } 1493 }, 1494 "dispatcher": { 1495 "description": "Deprecated, please use PartitionRule.", 1496 "type": "string" 1497 }, 1498 "index": { 1499 "description": "IndexName is set when using index-value dispatcher with specified index.", 1500 "type": "string" 1501 }, 1502 "matcher": { 1503 "type": "array", 1504 "items": { 1505 "type": "string" 1506 } 1507 }, 1508 "partition": { 1509 "description": "PartitionRule is an alias added for DispatcherRule to mitigate confusions.\nIn the future release, the DispatcherRule is expected to be removed .", 1510 "type": "string" 1511 }, 1512 "topic": { 1513 "type": "string" 1514 } 1515 } 1516 }, 1517 "config.GlueSchemaRegistryConfig": { 1518 "type": "object", 1519 "properties": { 1520 "access-key": { 1521 "description": "AccessKey of the schema registry", 1522 "type": "string" 1523 }, 1524 "region": { 1525 "description": "Region of the schema registry", 1526 "type": "string" 1527 }, 1528 "registry-name": { 1529 "description": "Name of the schema registry", 1530 "type": "string" 1531 }, 1532 "secret-access-key": { 1533 "description": "SecretAccessKey of the schema registry", 1534 "type": "string" 1535 }, 1536 "token": { 1537 "type": "string" 1538 } 1539 } 1540 }, 1541 "config.KafkaConfig": { 1542 "type": "object", 1543 "properties": { 1544 "auto-create-topic": { 1545 "type": "boolean" 1546 }, 1547 "ca": { 1548 "type": "string" 1549 }, 1550 "cert": { 1551 "type": "string" 1552 }, 1553 "codec-config": { 1554 "$ref": "#/definitions/config.CodecConfig" 1555 }, 1556 "compression": { 1557 "type": "string" 1558 }, 1559 "dial-timeout": { 1560 "type": "string" 1561 }, 1562 "enable-tls": { 1563 "type": "boolean" 1564 }, 1565 "glue-schema-registry-config": { 1566 "$ref": "#/definitions/config.GlueSchemaRegistryConfig" 1567 }, 1568 "insecure-skip-verify": { 1569 "type": "boolean" 1570 }, 1571 "kafka-client-id": { 1572 "type": "string" 1573 }, 1574 "kafka-version": { 1575 "type": "string" 1576 }, 1577 "key": { 1578 "type": "string" 1579 }, 1580 "large-message-handle": { 1581 "$ref": "#/definitions/config.LargeMessageHandleConfig" 1582 }, 1583 "max-message-bytes": { 1584 "type": "integer" 1585 }, 1586 "partition-num": { 1587 "type": "integer" 1588 }, 1589 "read-timeout": { 1590 "type": "string" 1591 }, 1592 "replication-factor": { 1593 "type": "integer" 1594 }, 1595 "required-acks": { 1596 "type": "integer" 1597 }, 1598 "sasl-gssapi-auth-type": { 1599 "type": "string" 1600 }, 1601 "sasl-gssapi-disable-pafxfast": { 1602 "type": "boolean" 1603 }, 1604 "sasl-gssapi-kerberos-config-path": { 1605 "type": "string" 1606 }, 1607 "sasl-gssapi-keytab-path": { 1608 "type": "string" 1609 }, 1610 "sasl-gssapi-password": { 1611 "type": "string" 1612 }, 1613 "sasl-gssapi-realm": { 1614 "type": "string" 1615 }, 1616 "sasl-gssapi-service-name": { 1617 "type": "string" 1618 }, 1619 "sasl-gssapi-user": { 1620 "type": "string" 1621 }, 1622 "sasl-mechanism": { 1623 "type": "string" 1624 }, 1625 "sasl-oauth-audience": { 1626 "type": "string" 1627 }, 1628 "sasl-oauth-client-id": { 1629 "type": "string" 1630 }, 1631 "sasl-oauth-client-secret": { 1632 "type": "string" 1633 }, 1634 "sasl-oauth-grant-type": { 1635 "type": "string" 1636 }, 1637 "sasl-oauth-scopes": { 1638 "type": "array", 1639 "items": { 1640 "type": "string" 1641 } 1642 }, 1643 "sasl-oauth-token-url": { 1644 "type": "string" 1645 }, 1646 "sasl-password": { 1647 "type": "string" 1648 }, 1649 "sasl-user": { 1650 "type": "string" 1651 }, 1652 "write-timeout": { 1653 "type": "string" 1654 } 1655 } 1656 }, 1657 "config.LargeMessageHandleConfig": { 1658 "type": "object", 1659 "properties": { 1660 "claim-check-storage-uri": { 1661 "type": "string" 1662 }, 1663 "large-message-handle-compression": { 1664 "type": "string" 1665 }, 1666 "large-message-handle-option": { 1667 "type": "string" 1668 } 1669 } 1670 }, 1671 "config.MySQLConfig": { 1672 "type": "object", 1673 "properties": { 1674 "enable-batch-dml": { 1675 "type": "boolean" 1676 }, 1677 "enable-cache-prepared-statement": { 1678 "type": "boolean" 1679 }, 1680 "enable-multi-statement": { 1681 "type": "boolean" 1682 }, 1683 "max-multi-update-row": { 1684 "type": "integer" 1685 }, 1686 "max-multi-update-row-size": { 1687 "type": "integer" 1688 }, 1689 "max-txn-row": { 1690 "type": "integer" 1691 }, 1692 "read-timeout": { 1693 "type": "string" 1694 }, 1695 "ssl-ca": { 1696 "type": "string" 1697 }, 1698 "ssl-cert": { 1699 "type": "string" 1700 }, 1701 "ssl-key": { 1702 "type": "string" 1703 }, 1704 "tidb-txn-mode": { 1705 "type": "string" 1706 }, 1707 "time-zone": { 1708 "type": "string" 1709 }, 1710 "timeout": { 1711 "type": "string" 1712 }, 1713 "worker-count": { 1714 "type": "integer" 1715 }, 1716 "write-timeout": { 1717 "type": "string" 1718 } 1719 } 1720 }, 1721 "config.OAuth2": { 1722 "type": "object", 1723 "properties": { 1724 "oauth2-audience": { 1725 "description": "OAuth2Audience the URL of the resource server.", 1726 "type": "string" 1727 }, 1728 "oauth2-client-id": { 1729 "description": "OAuth2ClientID the client ID of the application.", 1730 "type": "string" 1731 }, 1732 "oauth2-issuer-url": { 1733 "description": "OAuth2IssuerURL the URL of the authorization server.", 1734 "type": "string" 1735 }, 1736 "oauth2-private-key": { 1737 "description": "OAuth2PrivateKey the private key used to sign the server.", 1738 "type": "string" 1739 }, 1740 "oauth2-scope": { 1741 "description": "OAuth2Scope scope", 1742 "type": "string" 1743 } 1744 } 1745 }, 1746 "config.OpenProtocolConfig": { 1747 "type": "object", 1748 "properties": { 1749 "output-old-value": { 1750 "type": "boolean" 1751 } 1752 } 1753 }, 1754 "config.PulsarConfig": { 1755 "type": "object", 1756 "properties": { 1757 "auth-tls-certificate-path": { 1758 "description": "AuthTLSCertificatePath create new pulsar authentication provider with specified TLS certificate and private key", 1759 "type": "string" 1760 }, 1761 "auth-tls-private-key-path": { 1762 "description": "AuthTLSPrivateKeyPath private key", 1763 "type": "string" 1764 }, 1765 "authentication-token": { 1766 "description": "AuthenticationToken the token for the Pulsar server", 1767 "type": "string" 1768 }, 1769 "basic-password": { 1770 "description": "BasicPassword with account", 1771 "type": "string" 1772 }, 1773 "basic-user-name": { 1774 "description": "BasicUserName Account name for pulsar basic authentication (the second priority authentication method)", 1775 "type": "string" 1776 }, 1777 "batching-max-messages": { 1778 "description": "BatchingMaxMessages specifies the maximum number of messages permitted in a batch. (default: 1000)", 1779 "type": "integer" 1780 }, 1781 "batching-max-publish-delay": { 1782 "description": "BatchingMaxPublishDelay specifies the time period within which the messages sent will be batched (default: 10ms)\nif batch messages are enabled. If set to a non zero value, messages will be queued until this time\ninterval or until", 1783 "type": "integer" 1784 }, 1785 "compression-type": { 1786 "description": "pulsar client compression", 1787 "type": "string" 1788 }, 1789 "connection-timeout": { 1790 "description": "ConnectionTimeout Timeout for the establishment of a TCP connection (default: 5 seconds)", 1791 "type": "integer" 1792 }, 1793 "oauth2": { 1794 "description": "Oauth2 include oauth2-issuer-url oauth2-audience oauth2-private-key oauth2-client-id\nand 'type' always use 'client_credentials'", 1795 "$ref": "#/definitions/config.OAuth2" 1796 }, 1797 "operation-timeout": { 1798 "description": "Set the operation timeout (default: 30 seconds)\nProducer-create, subscribe and unsubscribe operations will be retried until this interval, after which the\noperation will be marked as failed", 1799 "type": "integer" 1800 }, 1801 "pulsar-producer-cache-size": { 1802 "description": "PulsarProducerCacheSize is the size of the cache of pulsar producers", 1803 "type": "integer" 1804 }, 1805 "pulsar-version": { 1806 "description": "PulsarVersion print the version of pulsar", 1807 "type": "string" 1808 }, 1809 "send-timeout": { 1810 "description": "SendTimeout specifies the timeout for a message that has not been acknowledged by the server since sent.\nSend and SendAsync returns an error after timeout.\ndefault: 30s", 1811 "type": "integer" 1812 }, 1813 "tls-certificate-file": { 1814 "type": "string" 1815 }, 1816 "tls-key-file-path": { 1817 "type": "string" 1818 }, 1819 "tls-trust-certs-file-path": { 1820 "type": "string" 1821 }, 1822 "token-from-file": { 1823 "description": "TokenFromFile Authentication from the file token,\nthe path name of the file (the third priority authentication method)", 1824 "type": "string" 1825 } 1826 } 1827 }, 1828 "config.SinkConfig": { 1829 "type": "object", 1830 "properties": { 1831 "advance-timeout-in-sec": { 1832 "description": "AdvanceTimeoutInSec is a duration in second. If a table sink progress hasn't been\nadvanced for this given duration, the sink will be canceled and re-established.", 1833 "type": "integer" 1834 }, 1835 "cloud-storage-config": { 1836 "$ref": "#/definitions/config.CloudStorageConfig" 1837 }, 1838 "column-selectors": { 1839 "type": "array", 1840 "items": { 1841 "$ref": "#/definitions/config.ColumnSelector" 1842 } 1843 }, 1844 "content-compatible": { 1845 "description": "ContentCompatible is only available when the downstream is MQ.", 1846 "type": "boolean" 1847 }, 1848 "csv": { 1849 "description": "CSVConfig is only available when the downstream is Storage.", 1850 "$ref": "#/definitions/config.CSVConfig" 1851 }, 1852 "date-separator": { 1853 "description": "DateSeparator is only available when the downstream is Storage.", 1854 "type": "string" 1855 }, 1856 "debezium": { 1857 "description": "DebeziumConfig related configurations", 1858 "$ref": "#/definitions/config.DebeziumConfig" 1859 }, 1860 "debezium-disable-schema": { 1861 "description": "Debezium only. Whether schema should be excluded in the output.", 1862 "type": "boolean" 1863 }, 1864 "delete-only-output-handle-key-columns": { 1865 "description": "DeleteOnlyOutputHandleKeyColumns is only available when the downstream is MQ.", 1866 "type": "boolean" 1867 }, 1868 "dispatchers": { 1869 "description": "DispatchRules is only available when the downstream is MQ.", 1870 "type": "array", 1871 "items": { 1872 "$ref": "#/definitions/config.DispatchRule" 1873 } 1874 }, 1875 "enable-kafka-sink-v2": { 1876 "description": "EnableKafkaSinkV2 enabled then the kafka-go sink will be used.\nIt is only available when the downstream is MQ.", 1877 "type": "boolean" 1878 }, 1879 "enable-partition-separator": { 1880 "description": "EnablePartitionSeparator is only available when the downstream is Storage.", 1881 "type": "boolean" 1882 }, 1883 "encoder-concurrency": { 1884 "description": "EncoderConcurrency is only available when the downstream is MQ.", 1885 "type": "integer" 1886 }, 1887 "file-index-digit": { 1888 "description": "FileIndexWidth is only available when the downstream is Storage", 1889 "type": "integer" 1890 }, 1891 "kafka-config": { 1892 "$ref": "#/definitions/config.KafkaConfig" 1893 }, 1894 "mysql-config": { 1895 "$ref": "#/definitions/config.MySQLConfig" 1896 }, 1897 "only-output-updated-columns": { 1898 "description": "OnlyOutputUpdatedColumns is only available when the downstream is MQ.", 1899 "type": "boolean" 1900 }, 1901 "open": { 1902 "description": "OpenProtocol related configurations", 1903 "$ref": "#/definitions/config.OpenProtocolConfig" 1904 }, 1905 "protocol": { 1906 "description": "Protocol is NOT available when the downstream is DB.", 1907 "type": "string" 1908 }, 1909 "pulsar-config": { 1910 "$ref": "#/definitions/config.PulsarConfig" 1911 }, 1912 "safe-mode": { 1913 "description": "SafeMode is only available when the downstream is DB.", 1914 "type": "boolean" 1915 }, 1916 "schema-registry": { 1917 "description": "SchemaRegistry is only available when the downstream is MQ using avro protocol.", 1918 "type": "string" 1919 }, 1920 "send-bootstrap-in-msg-count": { 1921 "description": "SendBootstrapInMsgCount means bootstrap messages are being sent every SendBootstrapInMsgCount row change messages.", 1922 "type": "integer" 1923 }, 1924 "send-bootstrap-interval-in-sec": { 1925 "description": "Simple Protocol only config, use to control the behavior of sending bootstrap message.\nNote: When one of the following conditions is set to negative value,\nbootstrap sending function will be disabled.\nSendBootstrapIntervalInSec is the interval in seconds to send bootstrap message.", 1926 "type": "integer" 1927 }, 1928 "send-bootstrap-to-all-partition": { 1929 "description": "SendBootstrapToAllPartition determines whether to send bootstrap message to all partitions.\nIf set to false, bootstrap message will only be sent to the first partition of each topic.\nDefault value is true.", 1930 "type": "boolean" 1931 }, 1932 "terminator": { 1933 "description": "Terminator is NOT available when the downstream is DB.", 1934 "type": "string" 1935 }, 1936 "transaction-atomicity": { 1937 "type": "string" 1938 } 1939 } 1940 }, 1941 "model.Capture": { 1942 "type": "object", 1943 "properties": { 1944 "address": { 1945 "type": "string" 1946 }, 1947 "cluster_id": { 1948 "type": "string" 1949 }, 1950 "id": { 1951 "type": "string" 1952 }, 1953 "is_owner": { 1954 "type": "boolean" 1955 } 1956 } 1957 }, 1958 "model.CaptureTaskStatus": { 1959 "type": "object", 1960 "properties": { 1961 "capture_id": { 1962 "type": "string" 1963 }, 1964 "table_ids": { 1965 "description": "Table list, containing tables that processor should process", 1966 "type": "array", 1967 "items": { 1968 "type": "integer" 1969 } 1970 }, 1971 "table_operations": { 1972 "type": "object", 1973 "additionalProperties": { 1974 "$ref": "#/definitions/model.TableOperation" 1975 } 1976 } 1977 } 1978 }, 1979 "model.ChangefeedCommonInfo": { 1980 "type": "object", 1981 "properties": { 1982 "checkpoint_time": { 1983 "type": "string" 1984 }, 1985 "checkpoint_tso": { 1986 "type": "integer" 1987 }, 1988 "error": { 1989 "$ref": "#/definitions/model.RunningError" 1990 }, 1991 "id": { 1992 "type": "string" 1993 }, 1994 "namespace": { 1995 "type": "string" 1996 }, 1997 "state": { 1998 "type": "string" 1999 }, 2000 "upstream_id": { 2001 "type": "integer" 2002 } 2003 } 2004 }, 2005 "model.ChangefeedConfig": { 2006 "type": "object", 2007 "properties": { 2008 "changefeed_id": { 2009 "type": "string" 2010 }, 2011 "filter_rules": { 2012 "type": "array", 2013 "items": { 2014 "type": "string" 2015 } 2016 }, 2017 "force_replicate": { 2018 "description": "if true, force to replicate some ineligible tables", 2019 "type": "boolean", 2020 "default": false 2021 }, 2022 "ignore_ineligible_table": { 2023 "type": "boolean", 2024 "default": false 2025 }, 2026 "ignore_txn_start_ts": { 2027 "type": "array", 2028 "items": { 2029 "type": "integer" 2030 } 2031 }, 2032 "mounter_worker_num": { 2033 "type": "integer", 2034 "default": 16 2035 }, 2036 "namespace": { 2037 "type": "string" 2038 }, 2039 "sink_config": { 2040 "$ref": "#/definitions/config.SinkConfig" 2041 }, 2042 "sink_uri": { 2043 "type": "string" 2044 }, 2045 "start_ts": { 2046 "type": "integer" 2047 }, 2048 "target_ts": { 2049 "type": "integer" 2050 }, 2051 "timezone": { 2052 "description": "timezone used when checking sink uri", 2053 "type": "string", 2054 "default": "system" 2055 } 2056 } 2057 }, 2058 "model.ChangefeedDetail": { 2059 "type": "object", 2060 "properties": { 2061 "checkpoint_time": { 2062 "type": "string" 2063 }, 2064 "checkpoint_tso": { 2065 "type": "integer" 2066 }, 2067 "create_time": { 2068 "type": "string" 2069 }, 2070 "creator_version": { 2071 "type": "string" 2072 }, 2073 "error": { 2074 "$ref": "#/definitions/model.RunningError" 2075 }, 2076 "error_history": { 2077 "type": "array", 2078 "items": { 2079 "type": "integer" 2080 } 2081 }, 2082 "id": { 2083 "type": "string" 2084 }, 2085 "namespace": { 2086 "type": "string" 2087 }, 2088 "resolved_ts": { 2089 "type": "integer" 2090 }, 2091 "sink_uri": { 2092 "type": "string" 2093 }, 2094 "sort_engine": { 2095 "type": "string" 2096 }, 2097 "start_ts": { 2098 "type": "integer" 2099 }, 2100 "state": { 2101 "type": "string" 2102 }, 2103 "target_ts": { 2104 "type": "integer" 2105 }, 2106 "task_status": { 2107 "type": "array", 2108 "items": { 2109 "$ref": "#/definitions/model.CaptureTaskStatus" 2110 } 2111 }, 2112 "upstream_id": { 2113 "type": "integer" 2114 } 2115 } 2116 }, 2117 "model.HTTPError": { 2118 "type": "object", 2119 "properties": { 2120 "error_code": { 2121 "type": "string" 2122 }, 2123 "error_msg": { 2124 "type": "string" 2125 } 2126 } 2127 }, 2128 "model.MoveTableReq": { 2129 "type": "object", 2130 "properties": { 2131 "capture_id": { 2132 "type": "string" 2133 }, 2134 "table_id": { 2135 "type": "integer" 2136 } 2137 } 2138 }, 2139 "model.ProcessorCommonInfo": { 2140 "type": "object", 2141 "properties": { 2142 "capture_id": { 2143 "type": "string" 2144 }, 2145 "changefeed_id": { 2146 "type": "string" 2147 }, 2148 "namespace": { 2149 "type": "string" 2150 } 2151 } 2152 }, 2153 "model.ProcessorDetail": { 2154 "type": "object", 2155 "properties": { 2156 "table_ids": { 2157 "description": "All table ids that this processor are replicating.", 2158 "type": "array", 2159 "items": { 2160 "type": "integer" 2161 } 2162 } 2163 } 2164 }, 2165 "model.RunningError": { 2166 "type": "object", 2167 "properties": { 2168 "addr": { 2169 "type": "string" 2170 }, 2171 "code": { 2172 "type": "string" 2173 }, 2174 "message": { 2175 "type": "string" 2176 }, 2177 "time": { 2178 "type": "string" 2179 } 2180 } 2181 }, 2182 "model.ServerStatus": { 2183 "type": "object", 2184 "properties": { 2185 "cluster_id": { 2186 "type": "string" 2187 }, 2188 "git_hash": { 2189 "type": "string" 2190 }, 2191 "id": { 2192 "type": "string" 2193 }, 2194 "is_owner": { 2195 "type": "boolean" 2196 }, 2197 "liveness": { 2198 "type": "integer" 2199 }, 2200 "pid": { 2201 "type": "integer" 2202 }, 2203 "version": { 2204 "type": "string" 2205 } 2206 } 2207 }, 2208 "model.TableOperation": { 2209 "type": "object", 2210 "properties": { 2211 "boundary_ts": { 2212 "description": "if the operation is a delete operation, BoundaryTs is checkpoint ts\nif the operation is an add operation, BoundaryTs is start ts", 2213 "type": "integer" 2214 }, 2215 "delete": { 2216 "type": "boolean" 2217 }, 2218 "flag": { 2219 "type": "integer" 2220 }, 2221 "status": { 2222 "type": "integer" 2223 } 2224 } 2225 }, 2226 "v2.CSVConfig": { 2227 "type": "object", 2228 "properties": { 2229 "binary_encoding_method": { 2230 "type": "string" 2231 }, 2232 "delimiter": { 2233 "type": "string" 2234 }, 2235 "include_commit_ts": { 2236 "type": "boolean" 2237 }, 2238 "null": { 2239 "type": "string" 2240 }, 2241 "output_handle_key": { 2242 "type": "boolean" 2243 }, 2244 "output_old_value": { 2245 "type": "boolean" 2246 }, 2247 "quote": { 2248 "type": "string" 2249 } 2250 } 2251 }, 2252 "v2.Capture": { 2253 "type": "object", 2254 "properties": { 2255 "address": { 2256 "type": "string" 2257 }, 2258 "cluster_id": { 2259 "type": "string" 2260 }, 2261 "id": { 2262 "type": "string" 2263 }, 2264 "is_owner": { 2265 "type": "boolean" 2266 } 2267 } 2268 }, 2269 "v2.ChangeFeedInfo": { 2270 "type": "object", 2271 "properties": { 2272 "admin_job_type": { 2273 "description": "used for admin job notification, trigger watch event in capture", 2274 "type": "integer" 2275 }, 2276 "checkpoint_time": { 2277 "type": "string" 2278 }, 2279 "checkpoint_ts": { 2280 "type": "integer" 2281 }, 2282 "config": { 2283 "$ref": "#/definitions/v2.ReplicaConfig" 2284 }, 2285 "create_time": { 2286 "type": "string" 2287 }, 2288 "creator_version": { 2289 "type": "string" 2290 }, 2291 "error": { 2292 "$ref": "#/definitions/v2.RunningError" 2293 }, 2294 "id": { 2295 "type": "string" 2296 }, 2297 "namespace": { 2298 "type": "string" 2299 }, 2300 "resolved_ts": { 2301 "type": "integer" 2302 }, 2303 "sink_uri": { 2304 "type": "string" 2305 }, 2306 "start_ts": { 2307 "description": "Start sync at this commit ts if `StartTs` is specify or using the CreateTime of changefeed.", 2308 "type": "integer" 2309 }, 2310 "state": { 2311 "type": "string" 2312 }, 2313 "target_ts": { 2314 "description": "The ChangeFeed will exits until sync to timestamp TargetTs", 2315 "type": "integer" 2316 }, 2317 "task_status": { 2318 "type": "array", 2319 "items": { 2320 "$ref": "#/definitions/model.CaptureTaskStatus" 2321 } 2322 }, 2323 "upstream_id": { 2324 "type": "integer" 2325 } 2326 } 2327 }, 2328 "v2.ChangefeedCommonInfo": { 2329 "type": "object", 2330 "properties": { 2331 "checkpoint_time": { 2332 "type": "string" 2333 }, 2334 "checkpoint_tso": { 2335 "type": "integer" 2336 }, 2337 "error": { 2338 "$ref": "#/definitions/model.RunningError" 2339 }, 2340 "id": { 2341 "type": "string" 2342 }, 2343 "namespace": { 2344 "type": "string" 2345 }, 2346 "state": { 2347 "type": "string" 2348 }, 2349 "upstream_id": { 2350 "type": "integer" 2351 } 2352 } 2353 }, 2354 "v2.ChangefeedConfig": { 2355 "type": "object", 2356 "properties": { 2357 "ca_path": { 2358 "type": "string" 2359 }, 2360 "cert_allowed_cn": { 2361 "type": "array", 2362 "items": { 2363 "type": "string" 2364 } 2365 }, 2366 "cert_path": { 2367 "type": "string" 2368 }, 2369 "changefeed_id": { 2370 "type": "string" 2371 }, 2372 "key_path": { 2373 "type": "string" 2374 }, 2375 "namespace": { 2376 "type": "string" 2377 }, 2378 "pd_addrs": { 2379 "type": "array", 2380 "items": { 2381 "type": "string" 2382 } 2383 }, 2384 "replica_config": { 2385 "$ref": "#/definitions/v2.ReplicaConfig" 2386 }, 2387 "sink_uri": { 2388 "type": "string" 2389 }, 2390 "start_ts": { 2391 "type": "integer" 2392 }, 2393 "target_ts": { 2394 "type": "integer" 2395 } 2396 } 2397 }, 2398 "v2.ChangefeedSchedulerConfig": { 2399 "type": "object", 2400 "properties": { 2401 "enable_table_across_nodes": { 2402 "description": "EnableTableAcrossNodes set true to split one table to multiple spans and\ndistribute to multiple TiCDC nodes.", 2403 "type": "boolean" 2404 }, 2405 "region_threshold": { 2406 "description": "RegionThreshold is the region count threshold of splitting a table.", 2407 "type": "integer" 2408 }, 2409 "write_key_threshold": { 2410 "description": "WriteKeyThreshold is the written keys threshold of splitting a table.", 2411 "type": "integer" 2412 } 2413 } 2414 }, 2415 "v2.CloudStorageConfig": { 2416 "type": "object", 2417 "properties": { 2418 "file_cleanup_cron_spec": { 2419 "type": "string" 2420 }, 2421 "file_expiration_days": { 2422 "type": "integer" 2423 }, 2424 "file_size": { 2425 "type": "integer" 2426 }, 2427 "flush_concurrency": { 2428 "type": "integer" 2429 }, 2430 "flush_interval": { 2431 "type": "string" 2432 }, 2433 "output_column_id": { 2434 "type": "boolean" 2435 }, 2436 "worker_count": { 2437 "type": "integer" 2438 } 2439 } 2440 }, 2441 "v2.CodecConfig": { 2442 "type": "object", 2443 "properties": { 2444 "avro_bigint_unsigned_handling_mode": { 2445 "type": "string" 2446 }, 2447 "avro_decimal_handling_mode": { 2448 "type": "string" 2449 }, 2450 "avro_enable_watermark": { 2451 "type": "boolean" 2452 }, 2453 "enable_tidb_extension": { 2454 "type": "boolean" 2455 }, 2456 "encoding_format": { 2457 "type": "string" 2458 }, 2459 "max_batch_size": { 2460 "type": "integer" 2461 } 2462 } 2463 }, 2464 "v2.ColumnSelector": { 2465 "type": "object", 2466 "properties": { 2467 "columns": { 2468 "type": "array", 2469 "items": { 2470 "type": "string" 2471 } 2472 }, 2473 "matcher": { 2474 "type": "array", 2475 "items": { 2476 "type": "string" 2477 } 2478 } 2479 } 2480 }, 2481 "v2.ConsistentConfig": { 2482 "type": "object", 2483 "properties": { 2484 "compression": { 2485 "type": "string" 2486 }, 2487 "encoding_worker_num": { 2488 "type": "integer" 2489 }, 2490 "flush_concurrency": { 2491 "type": "integer" 2492 }, 2493 "flush_interval": { 2494 "type": "integer" 2495 }, 2496 "flush_worker_num": { 2497 "type": "integer" 2498 }, 2499 "level": { 2500 "type": "string" 2501 }, 2502 "max_log_size": { 2503 "type": "integer" 2504 }, 2505 "memory_usage": { 2506 "$ref": "#/definitions/v2.ConsistentMemoryUsage" 2507 }, 2508 "meta_flush_interval": { 2509 "type": "integer" 2510 }, 2511 "storage": { 2512 "type": "string" 2513 }, 2514 "use_file_backend": { 2515 "type": "boolean" 2516 } 2517 } 2518 }, 2519 "v2.ConsistentMemoryUsage": { 2520 "type": "object", 2521 "properties": { 2522 "memory_quota_percentage": { 2523 "type": "integer" 2524 } 2525 } 2526 }, 2527 "v2.DebeziumConfig": { 2528 "type": "object", 2529 "properties": { 2530 "output_old_value": { 2531 "type": "boolean" 2532 } 2533 } 2534 }, 2535 "v2.DispatchRule": { 2536 "type": "object", 2537 "properties": { 2538 "columns": { 2539 "type": "array", 2540 "items": { 2541 "type": "string" 2542 } 2543 }, 2544 "index": { 2545 "type": "string" 2546 }, 2547 "matcher": { 2548 "type": "array", 2549 "items": { 2550 "type": "string" 2551 } 2552 }, 2553 "partition": { 2554 "type": "string" 2555 }, 2556 "topic": { 2557 "type": "string" 2558 } 2559 } 2560 }, 2561 "v2.EmptyResponse": { 2562 "type": "object" 2563 }, 2564 "v2.EventFilterRule": { 2565 "type": "object", 2566 "properties": { 2567 "ignore_delete_value_expr": { 2568 "type": "string" 2569 }, 2570 "ignore_event": { 2571 "type": "array", 2572 "items": { 2573 "type": "string" 2574 } 2575 }, 2576 "ignore_insert_value_expr": { 2577 "description": "sql expression", 2578 "type": "string" 2579 }, 2580 "ignore_sql": { 2581 "description": "regular expression", 2582 "type": "array", 2583 "items": { 2584 "type": "string" 2585 } 2586 }, 2587 "ignore_update_new_value_expr": { 2588 "type": "string" 2589 }, 2590 "ignore_update_old_value_expr": { 2591 "type": "string" 2592 }, 2593 "matcher": { 2594 "type": "array", 2595 "items": { 2596 "type": "string" 2597 } 2598 } 2599 } 2600 }, 2601 "v2.FilterConfig": { 2602 "type": "object", 2603 "properties": { 2604 "event_filters": { 2605 "type": "array", 2606 "items": { 2607 "$ref": "#/definitions/v2.EventFilterRule" 2608 } 2609 }, 2610 "ignore_txn_start_ts": { 2611 "type": "array", 2612 "items": { 2613 "type": "integer" 2614 } 2615 }, 2616 "rules": { 2617 "type": "array", 2618 "items": { 2619 "type": "string" 2620 } 2621 } 2622 } 2623 }, 2624 "v2.GlueSchemaRegistryConfig": { 2625 "type": "object", 2626 "properties": { 2627 "access_key": { 2628 "description": "AccessKey of the schema registry", 2629 "type": "string" 2630 }, 2631 "region": { 2632 "description": "Region of the schema registry", 2633 "type": "string" 2634 }, 2635 "registry_name": { 2636 "description": "Name of the schema registry", 2637 "type": "string" 2638 }, 2639 "secret_access_key": { 2640 "description": "SecretAccessKey of the schema registry", 2641 "type": "string" 2642 }, 2643 "token": { 2644 "type": "string" 2645 } 2646 } 2647 }, 2648 "v2.IntegrityConfig": { 2649 "type": "object", 2650 "properties": { 2651 "corruption_handle_level": { 2652 "type": "string" 2653 }, 2654 "integrity_check_level": { 2655 "type": "string" 2656 } 2657 } 2658 }, 2659 "v2.JSONDuration": { 2660 "type": "object" 2661 }, 2662 "v2.KafkaConfig": { 2663 "type": "object", 2664 "properties": { 2665 "auto_create_topic": { 2666 "type": "boolean" 2667 }, 2668 "ca": { 2669 "type": "string" 2670 }, 2671 "cert": { 2672 "type": "string" 2673 }, 2674 "codec_config": { 2675 "$ref": "#/definitions/v2.CodecConfig" 2676 }, 2677 "compression": { 2678 "type": "string" 2679 }, 2680 "dial_timeout": { 2681 "type": "string" 2682 }, 2683 "enable_tls": { 2684 "type": "boolean" 2685 }, 2686 "glue_schema_registry_config": { 2687 "$ref": "#/definitions/v2.GlueSchemaRegistryConfig" 2688 }, 2689 "insecure_skip_verify": { 2690 "type": "boolean" 2691 }, 2692 "kafka_client_id": { 2693 "type": "string" 2694 }, 2695 "kafka_version": { 2696 "type": "string" 2697 }, 2698 "key": { 2699 "type": "string" 2700 }, 2701 "large_message_handle": { 2702 "$ref": "#/definitions/v2.LargeMessageHandleConfig" 2703 }, 2704 "max_message_bytes": { 2705 "type": "integer" 2706 }, 2707 "partition_num": { 2708 "type": "integer" 2709 }, 2710 "read_timeout": { 2711 "type": "string" 2712 }, 2713 "replication_factor": { 2714 "type": "integer" 2715 }, 2716 "required_acks": { 2717 "type": "integer" 2718 }, 2719 "sasl_gssapi_auth_type": { 2720 "type": "string" 2721 }, 2722 "sasl_gssapi_disable_pafxfast": { 2723 "type": "boolean" 2724 }, 2725 "sasl_gssapi_kerberos_config_path": { 2726 "type": "string" 2727 }, 2728 "sasl_gssapi_keytab_path": { 2729 "type": "string" 2730 }, 2731 "sasl_gssapi_password": { 2732 "type": "string" 2733 }, 2734 "sasl_gssapi_realm": { 2735 "type": "string" 2736 }, 2737 "sasl_gssapi_service_name": { 2738 "type": "string" 2739 }, 2740 "sasl_gssapi_user": { 2741 "type": "string" 2742 }, 2743 "sasl_mechanism": { 2744 "type": "string" 2745 }, 2746 "sasl_oauth_audience": { 2747 "type": "string" 2748 }, 2749 "sasl_oauth_client_id": { 2750 "type": "string" 2751 }, 2752 "sasl_oauth_client_secret": { 2753 "type": "string" 2754 }, 2755 "sasl_oauth_grant_type": { 2756 "type": "string" 2757 }, 2758 "sasl_oauth_scopes": { 2759 "type": "array", 2760 "items": { 2761 "type": "string" 2762 } 2763 }, 2764 "sasl_oauth_token_url": { 2765 "type": "string" 2766 }, 2767 "sasl_password": { 2768 "type": "string" 2769 }, 2770 "sasl_user": { 2771 "type": "string" 2772 }, 2773 "write_timeout": { 2774 "type": "string" 2775 } 2776 } 2777 }, 2778 "v2.LargeMessageHandleConfig": { 2779 "type": "object", 2780 "properties": { 2781 "claim_check_storage_uri": { 2782 "type": "string" 2783 }, 2784 "large_message_handle_compression": { 2785 "type": "string" 2786 }, 2787 "large_message_handle_option": { 2788 "type": "string" 2789 } 2790 } 2791 }, 2792 "v2.LogLevelReq": { 2793 "type": "object", 2794 "properties": { 2795 "log_level": { 2796 "type": "string" 2797 } 2798 } 2799 }, 2800 "v2.MounterConfig": { 2801 "type": "object", 2802 "properties": { 2803 "worker_num": { 2804 "type": "integer" 2805 } 2806 } 2807 }, 2808 "v2.MySQLConfig": { 2809 "type": "object", 2810 "properties": { 2811 "enable_batch_dml": { 2812 "type": "boolean" 2813 }, 2814 "enable_cache_prepared_statement": { 2815 "type": "boolean" 2816 }, 2817 "enable_multi_statement": { 2818 "type": "boolean" 2819 }, 2820 "max_multi_update_row_count": { 2821 "type": "integer" 2822 }, 2823 "max_multi_update_row_size": { 2824 "type": "integer" 2825 }, 2826 "max_txn_row": { 2827 "type": "integer" 2828 }, 2829 "read_timeout": { 2830 "type": "string" 2831 }, 2832 "ssl_ca": { 2833 "type": "string" 2834 }, 2835 "ssl_cert": { 2836 "type": "string" 2837 }, 2838 "ssl_key": { 2839 "type": "string" 2840 }, 2841 "tidb_txn_mode": { 2842 "type": "string" 2843 }, 2844 "time_zone": { 2845 "type": "string" 2846 }, 2847 "timeout": { 2848 "type": "string" 2849 }, 2850 "worker_count": { 2851 "type": "integer" 2852 }, 2853 "write_timeout": { 2854 "type": "string" 2855 } 2856 } 2857 }, 2858 "v2.OpenProtocolConfig": { 2859 "type": "object", 2860 "properties": { 2861 "output_old_value": { 2862 "type": "boolean" 2863 } 2864 } 2865 }, 2866 "v2.ProcessorCommonInfo": { 2867 "type": "object", 2868 "properties": { 2869 "capture_id": { 2870 "type": "string" 2871 }, 2872 "changefeed_id": { 2873 "type": "string" 2874 }, 2875 "namespace": { 2876 "type": "string" 2877 } 2878 } 2879 }, 2880 "v2.ProcessorDetail": { 2881 "type": "object", 2882 "properties": { 2883 "table_ids": { 2884 "description": "All table ids that this processor are replicating.", 2885 "type": "array", 2886 "items": { 2887 "type": "integer" 2888 } 2889 } 2890 } 2891 }, 2892 "v2.PulsarConfig": { 2893 "type": "object", 2894 "properties": { 2895 "auth-tls-certificate-path": { 2896 "type": "string" 2897 }, 2898 "auth-tls-private-key-path": { 2899 "type": "string" 2900 }, 2901 "authentication-token": { 2902 "type": "string" 2903 }, 2904 "basic-password": { 2905 "type": "string" 2906 }, 2907 "basic-user-name": { 2908 "type": "string" 2909 }, 2910 "batching-max-messages": { 2911 "type": "integer" 2912 }, 2913 "batching-max-publish-delay": { 2914 "type": "integer" 2915 }, 2916 "compression-type": { 2917 "type": "string" 2918 }, 2919 "connection-timeout": { 2920 "type": "integer" 2921 }, 2922 "oauth2": { 2923 "$ref": "#/definitions/v2.PulsarOAuth2" 2924 }, 2925 "operation-timeout": { 2926 "type": "integer" 2927 }, 2928 "pulsar-producer-cache-size": { 2929 "type": "integer" 2930 }, 2931 "pulsar-version": { 2932 "type": "string" 2933 }, 2934 "send-timeout": { 2935 "type": "integer" 2936 }, 2937 "tls-certificate-path": { 2938 "type": "string" 2939 }, 2940 "tls-private-key-path": { 2941 "type": "string" 2942 }, 2943 "tls-trust-certs-file-path": { 2944 "type": "string" 2945 }, 2946 "token-from-file": { 2947 "type": "string" 2948 } 2949 } 2950 }, 2951 "v2.PulsarOAuth2": { 2952 "type": "object", 2953 "properties": { 2954 "oauth2-audience": { 2955 "type": "string" 2956 }, 2957 "oauth2-client-id": { 2958 "type": "string" 2959 }, 2960 "oauth2-issuer-url": { 2961 "type": "string" 2962 }, 2963 "oauth2-private-key": { 2964 "type": "string" 2965 }, 2966 "oauth2-scope": { 2967 "type": "string" 2968 } 2969 } 2970 }, 2971 "v2.ReplicaConfig": { 2972 "type": "object", 2973 "properties": { 2974 "bdr_mode": { 2975 "type": "boolean" 2976 }, 2977 "case_sensitive": { 2978 "type": "boolean" 2979 }, 2980 "changefeed_error_stuck_duration": { 2981 "$ref": "#/definitions/v2.JSONDuration" 2982 }, 2983 "check_gc_safe_point": { 2984 "type": "boolean" 2985 }, 2986 "consistent": { 2987 "$ref": "#/definitions/v2.ConsistentConfig" 2988 }, 2989 "enable_sync_point": { 2990 "type": "boolean" 2991 }, 2992 "enable_table_monitor": { 2993 "type": "boolean" 2994 }, 2995 "filter": { 2996 "$ref": "#/definitions/v2.FilterConfig" 2997 }, 2998 "force_replicate": { 2999 "type": "boolean" 3000 }, 3001 "ignore_ineligible_table": { 3002 "type": "boolean" 3003 }, 3004 "integrity": { 3005 "$ref": "#/definitions/v2.IntegrityConfig" 3006 }, 3007 "memory_quota": { 3008 "type": "integer" 3009 }, 3010 "mounter": { 3011 "$ref": "#/definitions/v2.MounterConfig" 3012 }, 3013 "scheduler": { 3014 "$ref": "#/definitions/v2.ChangefeedSchedulerConfig" 3015 }, 3016 "sink": { 3017 "$ref": "#/definitions/v2.SinkConfig" 3018 }, 3019 "sql_mode": { 3020 "description": "Deprecated: we don't use this field since v8.0.0.", 3021 "type": "string" 3022 }, 3023 "sync_point_interval": { 3024 "type": "string" 3025 }, 3026 "sync_point_retention": { 3027 "type": "string" 3028 }, 3029 "synced_status": { 3030 "$ref": "#/definitions/v2.SyncedStatusConfig" 3031 } 3032 } 3033 }, 3034 "v2.ResumeChangefeedConfig": { 3035 "type": "object", 3036 "properties": { 3037 "ca_path": { 3038 "type": "string" 3039 }, 3040 "cert_allowed_cn": { 3041 "type": "array", 3042 "items": { 3043 "type": "string" 3044 } 3045 }, 3046 "cert_path": { 3047 "type": "string" 3048 }, 3049 "key_path": { 3050 "type": "string" 3051 }, 3052 "overwrite_checkpoint_ts": { 3053 "type": "integer" 3054 }, 3055 "pd_addrs": { 3056 "type": "array", 3057 "items": { 3058 "type": "string" 3059 } 3060 } 3061 } 3062 }, 3063 "v2.RunningError": { 3064 "type": "object", 3065 "properties": { 3066 "addr": { 3067 "type": "string" 3068 }, 3069 "code": { 3070 "type": "string" 3071 }, 3072 "message": { 3073 "type": "string" 3074 }, 3075 "time": { 3076 "type": "string" 3077 } 3078 } 3079 }, 3080 "v2.ServerStatus": { 3081 "type": "object", 3082 "properties": { 3083 "cluster_id": { 3084 "type": "string" 3085 }, 3086 "git_hash": { 3087 "type": "string" 3088 }, 3089 "id": { 3090 "type": "string" 3091 }, 3092 "is_owner": { 3093 "type": "boolean" 3094 }, 3095 "liveness": { 3096 "type": "integer" 3097 }, 3098 "pid": { 3099 "type": "integer" 3100 }, 3101 "version": { 3102 "type": "string" 3103 } 3104 } 3105 }, 3106 "v2.SinkConfig": { 3107 "type": "object", 3108 "properties": { 3109 "advance_timeout": { 3110 "type": "integer" 3111 }, 3112 "cloud_storage_config": { 3113 "$ref": "#/definitions/v2.CloudStorageConfig" 3114 }, 3115 "column_selectors": { 3116 "type": "array", 3117 "items": { 3118 "$ref": "#/definitions/v2.ColumnSelector" 3119 } 3120 }, 3121 "content_compatible": { 3122 "type": "boolean" 3123 }, 3124 "csv": { 3125 "$ref": "#/definitions/v2.CSVConfig" 3126 }, 3127 "date_separator": { 3128 "type": "string" 3129 }, 3130 "debezium": { 3131 "$ref": "#/definitions/v2.DebeziumConfig" 3132 }, 3133 "debezium_disable_schema": { 3134 "type": "boolean" 3135 }, 3136 "delete_only_output_handle_key_columns": { 3137 "type": "boolean" 3138 }, 3139 "dispatchers": { 3140 "type": "array", 3141 "items": { 3142 "$ref": "#/definitions/v2.DispatchRule" 3143 } 3144 }, 3145 "enable_kafka_sink_v2": { 3146 "type": "boolean" 3147 }, 3148 "enable_partition_separator": { 3149 "type": "boolean" 3150 }, 3151 "encoder_concurrency": { 3152 "type": "integer" 3153 }, 3154 "file_index_width": { 3155 "type": "integer" 3156 }, 3157 "kafka_config": { 3158 "$ref": "#/definitions/v2.KafkaConfig" 3159 }, 3160 "mysql_config": { 3161 "$ref": "#/definitions/v2.MySQLConfig" 3162 }, 3163 "only_output_updated_columns": { 3164 "type": "boolean" 3165 }, 3166 "open": { 3167 "$ref": "#/definitions/v2.OpenProtocolConfig" 3168 }, 3169 "protocol": { 3170 "type": "string" 3171 }, 3172 "pulsar_config": { 3173 "$ref": "#/definitions/v2.PulsarConfig" 3174 }, 3175 "safe_mode": { 3176 "type": "boolean" 3177 }, 3178 "schema_registry": { 3179 "type": "string" 3180 }, 3181 "send_bootstrap_in_msg_count": { 3182 "type": "integer" 3183 }, 3184 "send_bootstrap_interval_in_sec": { 3185 "type": "integer" 3186 }, 3187 "send_bootstrap_to_all_partition": { 3188 "type": "boolean" 3189 }, 3190 "terminator": { 3191 "type": "string" 3192 }, 3193 "transaction_atomicity": { 3194 "type": "string" 3195 } 3196 } 3197 }, 3198 "v2.SyncedStatus": { 3199 "type": "object", 3200 "properties": { 3201 "info": { 3202 "type": "string" 3203 }, 3204 "last_synced_ts": { 3205 "type": "string" 3206 }, 3207 "now_ts": { 3208 "type": "string" 3209 }, 3210 "puller_resolved_ts": { 3211 "type": "string" 3212 }, 3213 "sink_checkpoint_ts": { 3214 "type": "string" 3215 }, 3216 "synced": { 3217 "type": "boolean" 3218 } 3219 } 3220 }, 3221 "v2.SyncedStatusConfig": { 3222 "type": "object", 3223 "properties": { 3224 "checkpoint_interval": { 3225 "description": "The maximum interval between latest checkpoint ts and now or\nbetween latest sink's checkpoint ts and puller's checkpoint ts required to reach synced state", 3226 "type": "integer" 3227 }, 3228 "synced_check_interval": { 3229 "description": "The minimum interval between the latest synced ts and now required to reach synced state", 3230 "type": "integer" 3231 } 3232 } 3233 } 3234 } 3235 }