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