From 72909318a969985a64a74d4ff1bdd1d9f7e72b40 Mon Sep 17 00:00:00 2001 From: gtema Date: Wed, 19 Oct 2022 13:04:46 +0000 Subject: [PATCH] Add css docs Reviewed-by: Goncharov, Artem Co-authored-by: gtema Co-committed-by: gtema --- docs/css/api-ref/ALL_META.TXT.json | 422 +++++++ docs/css/api-ref/CLASS.TXT.json | 380 +++++++ docs/css/api-ref/PARAMETERS.txt | 3 + docs/css/api-ref/css_03_0001.html | 15 + docs/css/api-ref/css_03_0008.html | 29 + docs/css/api-ref/css_03_0010.html | 27 + docs/css/api-ref/css_03_0018.html | 527 +++++++++ docs/css/api-ref/css_03_0019.html | 588 ++++++++++ docs/css/api-ref/css_03_0020.html | 93 ++ docs/css/api-ref/css_03_0021.html | 114 ++ docs/css/api-ref/css_03_0023.html | 241 ++++ docs/css/api-ref/css_03_0024.html | 164 +++ docs/css/api-ref/css_03_0025.html | 146 +++ docs/css/api-ref/css_03_0026.html | 414 +++++++ docs/css/api-ref/css_03_0030.html | 144 +++ docs/css/api-ref/css_03_0031.html | 146 +++ docs/css/api-ref/css_03_0032.html | 162 +++ docs/css/api-ref/css_03_0033.html | 210 ++++ docs/css/api-ref/css_03_0034.html | 350 ++++++ docs/css/api-ref/css_03_0035.html | 158 +++ docs/css/api-ref/css_03_0036.html | 99 ++ docs/css/api-ref/css_03_0037.html | 84 ++ docs/css/api-ref/css_03_0038.html | 198 ++++ docs/css/api-ref/css_03_0039.html | 81 ++ docs/css/api-ref/css_03_0040.html | 23 + docs/css/api-ref/css_03_0050.html | 81 ++ docs/css/api-ref/css_03_0051.html | 48 + docs/css/api-ref/css_03_0053.html | 11 + docs/css/api-ref/css_03_0056.html | 11 + docs/css/api-ref/css_03_0057.html | 26 + docs/css/api-ref/css_03_0071.html | 47 + docs/css/api-ref/css_03_0073.html | 88 ++ docs/css/api-ref/css_03_0074.html | 36 + docs/css/api-ref/css_03_0075.html | 329 ++++++ docs/css/api-ref/css_03_0076.html | 467 ++++++++ docs/css/api-ref/css_03_0077.html | 27 + docs/css/api-ref/css_03_0078.html | 148 +++ docs/css/api-ref/css_03_0079.html | 145 +++ docs/css/api-ref/css_03_0081.html | 180 +++ docs/css/api-ref/css_03_0082.html | 102 ++ docs/css/api-ref/css_03_0083.html | 131 +++ .../api-ref/en-us_image_0000001261293340.png | Bin 0 -> 9530 bytes .../api-ref/en-us_image_0000001265939134.png | Bin 0 -> 51740 bytes docs/css/api-ref/iam_01_0023.html | 15 + docs/css/api-ref/iam_02_0008.html | 96 ++ docs/css/api-ref/iam_02_0510.html | 43 + docs/css/api-ref/iam_02_0511.html | 46 + .../public_sys-resources/ExpandCollapse.js | 1 + .../caution_3.0-en-us.png | Bin 0 -> 2752 bytes .../public_sys-resources/commonltr.css | 1 + .../public_sys-resources/commonltr_print.css | 1 + .../public_sys-resources/commonrtl.css | 2 + .../public_sys-resources/danger_3.0-en-us.png | Bin 0 -> 2771 bytes .../api-ref/public_sys-resources/delta.gif | Bin 0 -> 836 bytes .../api-ref/public_sys-resources/deltaend.gif | Bin 0 -> 834 bytes .../public_sys-resources/icon-arrowdn.gif | Bin 0 -> 68 bytes .../public_sys-resources/icon-arrowrt.gif | Bin 0 -> 70 bytes .../public_sys-resources/icon-caution.gif | Bin 0 -> 1086 bytes .../public_sys-resources/icon-danger.gif | Bin 0 -> 1086 bytes .../public_sys-resources/icon-huawei.gif | Bin 0 -> 2767 bytes .../public_sys-resources/icon-note.gif | Bin 0 -> 983 bytes .../public_sys-resources/icon-notice.gif | Bin 0 -> 962 bytes .../api-ref/public_sys-resources/icon-tip.gif | Bin 0 -> 879 bytes .../public_sys-resources/icon-warning.gif | Bin 0 -> 1086 bytes .../public_sys-resources/imageResize.js | 18 + .../public_sys-resources/imageclose.gif | Bin 0 -> 155 bytes .../public_sys-resources/imageclosehover.gif | Bin 0 -> 179 bytes .../api-ref/public_sys-resources/imagemax.gif | Bin 0 -> 181 bytes .../public_sys-resources/imagemaxhover.gif | Bin 0 -> 185 bytes .../jquery-migrate-1.2.1.min.js | 2 + .../public_sys-resources/jquery-ui.min.js | 6 + .../public_sys-resources/jquery.min.js | 2 + .../jquery.mousewheel.min.js | 7 + .../public_sys-resources/macFFBgHack.png | Bin 0 -> 207 bytes .../public_sys-resources/note_3.0-en-us.png | Bin 0 -> 1080 bytes .../public_sys-resources/notice_3.0-en-us.png | Bin 0 -> 1672 bytes .../css/api-ref/public_sys-resources/popup.js | 1 + .../api-ref/public_sys-resources/thickbox.css | 1 + .../api-ref/public_sys-resources/thickbox.js | 8 + .../warning_3.0-en-us.png | Bin 0 -> 3164 bytes docs/css/umn/ALL_META.TXT.json | 622 ++++++++++ docs/css/umn/CLASS.TXT.json | 560 +++++++++ docs/css/umn/PARAMETERS.txt | 3 + docs/css/umn/css_01_0001.html | 27 + docs/css/umn/css_01_0002.html | 120 ++ docs/css/umn/css_01_0006.html | 11 + docs/css/umn/css_01_0007.html | 308 +++++ docs/css/umn/css_01_0008.html | 15 + docs/css/umn/css_01_0009.html | 41 + docs/css/umn/css_01_0011.html | 219 ++++ docs/css/umn/css_01_0012.html | 1000 +++++++++++++++++ docs/css/umn/css_01_0014.html | 18 + docs/css/umn/css_01_0015.html | 15 + docs/css/umn/css_01_0024.html | 145 +++ docs/css/umn/css_01_0031.html | 29 + docs/css/umn/css_01_0032.html | 259 +++++ docs/css/umn/css_01_0033.html | 108 ++ docs/css/umn/css_01_0040.html | 30 + docs/css/umn/css_01_0041.html | 15 + docs/css/umn/css_01_0042.html | 52 + docs/css/umn/css_01_0043.html | 112 ++ docs/css/umn/css_01_0044.html | 18 + docs/css/umn/css_01_0045.html | 13 + docs/css/umn/css_01_0048.html | 198 ++++ docs/css/umn/css_01_0049.html | 13 + docs/css/umn/css_01_0050.html | 89 ++ docs/css/umn/css_01_0051.html | 19 + docs/css/umn/css_01_0053.html | 72 ++ docs/css/umn/css_01_0056.html | 58 + docs/css/umn/css_01_0060.html | 95 ++ docs/css/umn/css_01_0061.html | 320 ++++++ docs/css/umn/css_01_0075.html | 58 + docs/css/umn/css_01_0076.html | 56 + docs/css/umn/css_01_0077.html | 98 ++ docs/css/umn/css_01_0078.html | 14 + docs/css/umn/css_01_0079.html | 52 + docs/css/umn/css_01_0080.html | 115 ++ docs/css/umn/css_01_0082.html | 39 + docs/css/umn/css_01_0088.html | 87 ++ docs/css/umn/css_01_0094.html | 205 ++++ docs/css/umn/css_02_0001.html | 39 + docs/css/umn/css_02_0006.html | 17 + docs/css/umn/css_02_0007.html | 15 + docs/css/umn/css_02_0008.html | 12 + docs/css/umn/css_02_0009.html | 11 + docs/css/umn/css_02_0010.html | 12 + docs/css/umn/css_02_0017.html | 17 + docs/css/umn/css_02_0018.html | 26 + docs/css/umn/css_02_0019.html | 19 + docs/css/umn/css_02_0020.html | 11 + docs/css/umn/css_02_0023.html | 11 + docs/css/umn/css_02_0025.html | 27 + docs/css/umn/css_02_0027.html | 12 + docs/css/umn/css_02_0028.html | 12 + docs/css/umn/css_02_0029.html | 19 + docs/css/umn/css_02_0034.html | 22 + docs/css/umn/css_04_0001.html | 29 + docs/css/umn/css_04_0002.html | 17 + docs/css/umn/css_04_0003.html | 57 + docs/css/umn/css_04_0004.html | 24 + docs/css/umn/css_04_0005.html | 36 + docs/css/umn/css_04_0007.html | 18 + docs/css/umn/css_04_0019.html | 87 ++ docs/css/umn/css_04_0022.html | 19 + docs/css/umn/css_04_0023.html | 163 +++ docs/css/umn/en-us_image_0000001286116602.png | Bin 0 -> 51255 bytes docs/css/umn/en-us_image_0000001286116622.png | Bin 0 -> 46265 bytes docs/css/umn/en-us_image_0000001286116714.png | Bin 0 -> 619 bytes docs/css/umn/en-us_image_0000001286116718.png | Bin 0 -> 791 bytes docs/css/umn/en-us_image_0000001286116726.png | Bin 0 -> 22538 bytes docs/css/umn/en-us_image_0000001286116734.png | Bin 0 -> 715 bytes docs/css/umn/en-us_image_0000001286116742.png | Bin 0 -> 14938 bytes docs/css/umn/en-us_image_0000001286116770.png | Bin 0 -> 5590 bytes docs/css/umn/en-us_image_0000001286116778.png | Bin 0 -> 619 bytes docs/css/umn/en-us_image_0000001286116794.png | Bin 0 -> 544 bytes docs/css/umn/en-us_image_0000001286276514.png | Bin 0 -> 43102 bytes docs/css/umn/en-us_image_0000001286276518.png | Bin 0 -> 50730 bytes docs/css/umn/en-us_image_0000001286276642.png | Bin 0 -> 296 bytes docs/css/umn/en-us_image_0000001286276646.png | Bin 0 -> 14643 bytes docs/css/umn/en-us_image_0000001286276686.png | Bin 0 -> 25173 bytes docs/css/umn/en-us_image_0000001286276694.png | Bin 0 -> 44780 bytes docs/css/umn/en-us_image_0000001286276702.png | Bin 0 -> 834 bytes docs/css/umn/en-us_image_0000001286276706.png | Bin 0 -> 297 bytes docs/css/umn/en-us_image_0000001286276722.png | Bin 0 -> 587 bytes docs/css/umn/en-us_image_0000001286436598.png | Bin 0 -> 28361 bytes docs/css/umn/en-us_image_0000001286436602.png | Bin 0 -> 715 bytes docs/css/umn/en-us_image_0000001286436610.png | Bin 0 -> 1108 bytes docs/css/umn/en-us_image_0000001286436618.png | Bin 0 -> 263 bytes docs/css/umn/en-us_image_0000001286436626.png | Bin 0 -> 16819 bytes docs/css/umn/en-us_image_0000001286436658.png | Bin 0 -> 4716 bytes docs/css/umn/en-us_image_0000001286596218.png | Bin 0 -> 791 bytes docs/css/umn/en-us_image_0000001286596238.png | Bin 0 -> 12042 bytes docs/css/umn/en-us_image_0000001286596262.png | Bin 0 -> 270 bytes docs/css/umn/en-us_image_0000001286596270.png | Bin 0 -> 25976 bytes docs/css/umn/en-us_image_0000001286596282.png | Bin 0 -> 715 bytes docs/css/umn/en-us_image_0000001286596290.png | Bin 0 -> 463 bytes docs/css/umn/en-us_image_0000001287293658.png | Bin 0 -> 38466 bytes docs/css/umn/en-us_image_0000001338716501.png | Bin 0 -> 22270 bytes docs/css/umn/en-us_image_0000001338716505.png | Bin 0 -> 50033 bytes docs/css/umn/en-us_image_0000001338716545.png | Bin 0 -> 14446 bytes docs/css/umn/en-us_image_0000001338716621.png | Bin 0 -> 14145 bytes docs/css/umn/en-us_image_0000001338716641.png | Bin 0 -> 18819 bytes docs/css/umn/en-us_image_0000001338716669.png | Bin 0 -> 18451 bytes docs/css/umn/en-us_image_0000001338716673.png | Bin 0 -> 12942 bytes docs/css/umn/en-us_image_0000001338716677.png | Bin 0 -> 619 bytes docs/css/umn/en-us_image_0000001338716685.png | Bin 0 -> 791 bytes docs/css/umn/en-us_image_0000001338716693.png | Bin 0 -> 263 bytes docs/css/umn/en-us_image_0000001338836353.png | Bin 0 -> 88550 bytes docs/css/umn/en-us_image_0000001338836473.png | Bin 0 -> 791 bytes docs/css/umn/en-us_image_0000001338836489.png | Bin 0 -> 791 bytes docs/css/umn/en-us_image_0000001338836509.png | Bin 0 -> 619 bytes docs/css/umn/en-us_image_0000001338836517.png | Bin 0 -> 295 bytes docs/css/umn/en-us_image_0000001338836521.png | Bin 0 -> 61252 bytes docs/css/umn/en-us_image_0000001338836529.png | Bin 0 -> 791 bytes docs/css/umn/en-us_image_0000001338955921.png | Bin 0 -> 27329 bytes docs/css/umn/en-us_image_0000001338955933.png | Bin 0 -> 17606 bytes docs/css/umn/en-us_image_0000001338955973.png | Bin 0 -> 25200 bytes docs/css/umn/en-us_image_0000001338955977.png | Bin 0 -> 44780 bytes docs/css/umn/en-us_image_0000001338955981.png | Bin 0 -> 25976 bytes docs/css/umn/en-us_image_0000001338955989.png | Bin 0 -> 715 bytes docs/css/umn/en-us_image_0000001338955993.png | Bin 0 -> 791 bytes docs/css/umn/en-us_image_0000001338956001.png | Bin 0 -> 24468 bytes docs/css/umn/en-us_image_0000001339036237.png | Bin 0 -> 37667 bytes docs/css/umn/en-us_image_0000001339036357.png | Bin 0 -> 19164 bytes docs/css/umn/en-us_image_0000001339036413.png | Bin 0 -> 61292 bytes docs/css/umn/en-us_image_0000001339036421.png | Bin 0 -> 21776 bytes .../public_sys-resources/ExpandCollapse.js | 1 + .../caution_3.0-en-us.png | Bin 0 -> 2752 bytes .../umn/public_sys-resources/commonltr.css | 1 + .../public_sys-resources/commonltr_print.css | 1 + .../umn/public_sys-resources/commonrtl.css | 2 + .../public_sys-resources/danger_3.0-en-us.png | Bin 0 -> 2771 bytes docs/css/umn/public_sys-resources/delta.gif | Bin 0 -> 836 bytes .../css/umn/public_sys-resources/deltaend.gif | Bin 0 -> 834 bytes .../umn/public_sys-resources/icon-arrowdn.gif | Bin 0 -> 68 bytes .../umn/public_sys-resources/icon-arrowrt.gif | Bin 0 -> 70 bytes .../umn/public_sys-resources/icon-caution.gif | Bin 0 -> 1086 bytes .../umn/public_sys-resources/icon-danger.gif | Bin 0 -> 1086 bytes .../umn/public_sys-resources/icon-huawei.gif | Bin 0 -> 2767 bytes .../umn/public_sys-resources/icon-note.gif | Bin 0 -> 983 bytes .../umn/public_sys-resources/icon-notice.gif | Bin 0 -> 962 bytes .../css/umn/public_sys-resources/icon-tip.gif | Bin 0 -> 879 bytes .../umn/public_sys-resources/icon-warning.gif | Bin 0 -> 1086 bytes .../umn/public_sys-resources/imageResize.js | 18 + .../umn/public_sys-resources/imageclose.gif | Bin 0 -> 155 bytes .../public_sys-resources/imageclosehover.gif | Bin 0 -> 179 bytes .../css/umn/public_sys-resources/imagemax.gif | Bin 0 -> 181 bytes .../public_sys-resources/imagemaxhover.gif | Bin 0 -> 185 bytes .../jquery-migrate-1.2.1.min.js | 2 + .../umn/public_sys-resources/jquery-ui.min.js | 6 + .../umn/public_sys-resources/jquery.min.js | 2 + .../jquery.mousewheel.min.js | 7 + .../umn/public_sys-resources/macFFBgHack.png | Bin 0 -> 207 bytes .../public_sys-resources/note_3.0-en-us.png | Bin 0 -> 1080 bytes .../public_sys-resources/notice_3.0-en-us.png | Bin 0 -> 1672 bytes docs/css/umn/public_sys-resources/popup.js | 1 + .../css/umn/public_sys-resources/pygments.css | 1 + .../css/umn/public_sys-resources/thickbox.css | 1 + docs/css/umn/public_sys-resources/thickbox.js | 8 + .../warning_3.0-en-us.png | Bin 0 -> 3164 bytes 240 files changed, 13056 insertions(+) create mode 100644 docs/css/api-ref/ALL_META.TXT.json create mode 100644 docs/css/api-ref/CLASS.TXT.json create mode 100644 docs/css/api-ref/PARAMETERS.txt create mode 100644 docs/css/api-ref/css_03_0001.html create mode 100644 docs/css/api-ref/css_03_0008.html create mode 100644 docs/css/api-ref/css_03_0010.html create mode 100644 docs/css/api-ref/css_03_0018.html create mode 100644 docs/css/api-ref/css_03_0019.html create mode 100644 docs/css/api-ref/css_03_0020.html create mode 100644 docs/css/api-ref/css_03_0021.html create mode 100644 docs/css/api-ref/css_03_0023.html create mode 100644 docs/css/api-ref/css_03_0024.html create mode 100644 docs/css/api-ref/css_03_0025.html create mode 100644 docs/css/api-ref/css_03_0026.html create mode 100644 docs/css/api-ref/css_03_0030.html create mode 100644 docs/css/api-ref/css_03_0031.html create mode 100644 docs/css/api-ref/css_03_0032.html create mode 100644 docs/css/api-ref/css_03_0033.html create mode 100644 docs/css/api-ref/css_03_0034.html create mode 100644 docs/css/api-ref/css_03_0035.html create mode 100644 docs/css/api-ref/css_03_0036.html create mode 100644 docs/css/api-ref/css_03_0037.html create mode 100644 docs/css/api-ref/css_03_0038.html create mode 100644 docs/css/api-ref/css_03_0039.html create mode 100644 docs/css/api-ref/css_03_0040.html create mode 100644 docs/css/api-ref/css_03_0050.html create mode 100644 docs/css/api-ref/css_03_0051.html create mode 100644 docs/css/api-ref/css_03_0053.html create mode 100644 docs/css/api-ref/css_03_0056.html create mode 100644 docs/css/api-ref/css_03_0057.html create mode 100644 docs/css/api-ref/css_03_0071.html create mode 100644 docs/css/api-ref/css_03_0073.html create mode 100644 docs/css/api-ref/css_03_0074.html create mode 100644 docs/css/api-ref/css_03_0075.html create mode 100644 docs/css/api-ref/css_03_0076.html create mode 100644 docs/css/api-ref/css_03_0077.html create mode 100644 docs/css/api-ref/css_03_0078.html create mode 100644 docs/css/api-ref/css_03_0079.html create mode 100644 docs/css/api-ref/css_03_0081.html create mode 100644 docs/css/api-ref/css_03_0082.html create mode 100644 docs/css/api-ref/css_03_0083.html create mode 100644 docs/css/api-ref/en-us_image_0000001261293340.png create mode 100644 docs/css/api-ref/en-us_image_0000001265939134.png create mode 100644 docs/css/api-ref/iam_01_0023.html create mode 100644 docs/css/api-ref/iam_02_0008.html create mode 100644 docs/css/api-ref/iam_02_0510.html create mode 100644 docs/css/api-ref/iam_02_0511.html create mode 100644 docs/css/api-ref/public_sys-resources/ExpandCollapse.js create mode 100644 docs/css/api-ref/public_sys-resources/caution_3.0-en-us.png create mode 100644 docs/css/api-ref/public_sys-resources/commonltr.css create mode 100644 docs/css/api-ref/public_sys-resources/commonltr_print.css create mode 100644 docs/css/api-ref/public_sys-resources/commonrtl.css create mode 100644 docs/css/api-ref/public_sys-resources/danger_3.0-en-us.png create mode 100644 docs/css/api-ref/public_sys-resources/delta.gif create mode 100644 docs/css/api-ref/public_sys-resources/deltaend.gif create mode 100644 docs/css/api-ref/public_sys-resources/icon-arrowdn.gif create mode 100644 docs/css/api-ref/public_sys-resources/icon-arrowrt.gif create mode 100644 docs/css/api-ref/public_sys-resources/icon-caution.gif create mode 100644 docs/css/api-ref/public_sys-resources/icon-danger.gif create mode 100644 docs/css/api-ref/public_sys-resources/icon-huawei.gif create mode 100644 docs/css/api-ref/public_sys-resources/icon-note.gif create mode 100644 docs/css/api-ref/public_sys-resources/icon-notice.gif create mode 100644 docs/css/api-ref/public_sys-resources/icon-tip.gif create mode 100644 docs/css/api-ref/public_sys-resources/icon-warning.gif create mode 100644 docs/css/api-ref/public_sys-resources/imageResize.js create mode 100644 docs/css/api-ref/public_sys-resources/imageclose.gif create mode 100644 docs/css/api-ref/public_sys-resources/imageclosehover.gif create mode 100644 docs/css/api-ref/public_sys-resources/imagemax.gif create mode 100644 docs/css/api-ref/public_sys-resources/imagemaxhover.gif create mode 100644 docs/css/api-ref/public_sys-resources/jquery-migrate-1.2.1.min.js create mode 100644 docs/css/api-ref/public_sys-resources/jquery-ui.min.js create mode 100644 docs/css/api-ref/public_sys-resources/jquery.min.js create mode 100644 docs/css/api-ref/public_sys-resources/jquery.mousewheel.min.js create mode 100644 docs/css/api-ref/public_sys-resources/macFFBgHack.png create mode 100644 docs/css/api-ref/public_sys-resources/note_3.0-en-us.png create mode 100644 docs/css/api-ref/public_sys-resources/notice_3.0-en-us.png create mode 100644 docs/css/api-ref/public_sys-resources/popup.js create mode 100644 docs/css/api-ref/public_sys-resources/thickbox.css create mode 100644 docs/css/api-ref/public_sys-resources/thickbox.js create mode 100644 docs/css/api-ref/public_sys-resources/warning_3.0-en-us.png create mode 100644 docs/css/umn/ALL_META.TXT.json create mode 100644 docs/css/umn/CLASS.TXT.json create mode 100644 docs/css/umn/PARAMETERS.txt create mode 100644 docs/css/umn/css_01_0001.html create mode 100644 docs/css/umn/css_01_0002.html create mode 100644 docs/css/umn/css_01_0006.html create mode 100644 docs/css/umn/css_01_0007.html create mode 100644 docs/css/umn/css_01_0008.html create mode 100644 docs/css/umn/css_01_0009.html create mode 100644 docs/css/umn/css_01_0011.html create mode 100644 docs/css/umn/css_01_0012.html create mode 100644 docs/css/umn/css_01_0014.html create mode 100644 docs/css/umn/css_01_0015.html create mode 100644 docs/css/umn/css_01_0024.html create mode 100644 docs/css/umn/css_01_0031.html create mode 100644 docs/css/umn/css_01_0032.html create mode 100644 docs/css/umn/css_01_0033.html create mode 100644 docs/css/umn/css_01_0040.html create mode 100644 docs/css/umn/css_01_0041.html create mode 100644 docs/css/umn/css_01_0042.html create mode 100644 docs/css/umn/css_01_0043.html create mode 100644 docs/css/umn/css_01_0044.html create mode 100644 docs/css/umn/css_01_0045.html create mode 100644 docs/css/umn/css_01_0048.html create mode 100644 docs/css/umn/css_01_0049.html create mode 100644 docs/css/umn/css_01_0050.html create mode 100644 docs/css/umn/css_01_0051.html create mode 100644 docs/css/umn/css_01_0053.html create mode 100644 docs/css/umn/css_01_0056.html create mode 100644 docs/css/umn/css_01_0060.html create mode 100644 docs/css/umn/css_01_0061.html create mode 100644 docs/css/umn/css_01_0075.html create mode 100644 docs/css/umn/css_01_0076.html create mode 100644 docs/css/umn/css_01_0077.html create mode 100644 docs/css/umn/css_01_0078.html create mode 100644 docs/css/umn/css_01_0079.html create mode 100644 docs/css/umn/css_01_0080.html create mode 100644 docs/css/umn/css_01_0082.html create mode 100644 docs/css/umn/css_01_0088.html create mode 100644 docs/css/umn/css_01_0094.html create mode 100644 docs/css/umn/css_02_0001.html create mode 100644 docs/css/umn/css_02_0006.html create mode 100644 docs/css/umn/css_02_0007.html create mode 100644 docs/css/umn/css_02_0008.html create mode 100644 docs/css/umn/css_02_0009.html create mode 100644 docs/css/umn/css_02_0010.html create mode 100644 docs/css/umn/css_02_0017.html create mode 100644 docs/css/umn/css_02_0018.html create mode 100644 docs/css/umn/css_02_0019.html create mode 100644 docs/css/umn/css_02_0020.html create mode 100644 docs/css/umn/css_02_0023.html create mode 100644 docs/css/umn/css_02_0025.html create mode 100644 docs/css/umn/css_02_0027.html create mode 100644 docs/css/umn/css_02_0028.html create mode 100644 docs/css/umn/css_02_0029.html create mode 100644 docs/css/umn/css_02_0034.html create mode 100644 docs/css/umn/css_04_0001.html create mode 100644 docs/css/umn/css_04_0002.html create mode 100644 docs/css/umn/css_04_0003.html create mode 100644 docs/css/umn/css_04_0004.html create mode 100644 docs/css/umn/css_04_0005.html create mode 100644 docs/css/umn/css_04_0007.html create mode 100644 docs/css/umn/css_04_0019.html create mode 100644 docs/css/umn/css_04_0022.html create mode 100644 docs/css/umn/css_04_0023.html create mode 100644 docs/css/umn/en-us_image_0000001286116602.png create mode 100644 docs/css/umn/en-us_image_0000001286116622.png create mode 100644 docs/css/umn/en-us_image_0000001286116714.png create mode 100644 docs/css/umn/en-us_image_0000001286116718.png create mode 100644 docs/css/umn/en-us_image_0000001286116726.png create mode 100644 docs/css/umn/en-us_image_0000001286116734.png create mode 100644 docs/css/umn/en-us_image_0000001286116742.png create mode 100644 docs/css/umn/en-us_image_0000001286116770.png create mode 100644 docs/css/umn/en-us_image_0000001286116778.png create mode 100644 docs/css/umn/en-us_image_0000001286116794.png create mode 100644 docs/css/umn/en-us_image_0000001286276514.png create mode 100644 docs/css/umn/en-us_image_0000001286276518.png create mode 100644 docs/css/umn/en-us_image_0000001286276642.png create mode 100644 docs/css/umn/en-us_image_0000001286276646.png create mode 100644 docs/css/umn/en-us_image_0000001286276686.png create mode 100644 docs/css/umn/en-us_image_0000001286276694.png create mode 100644 docs/css/umn/en-us_image_0000001286276702.png create mode 100644 docs/css/umn/en-us_image_0000001286276706.png create mode 100644 docs/css/umn/en-us_image_0000001286276722.png create mode 100644 docs/css/umn/en-us_image_0000001286436598.png create mode 100644 docs/css/umn/en-us_image_0000001286436602.png create mode 100644 docs/css/umn/en-us_image_0000001286436610.png create mode 100644 docs/css/umn/en-us_image_0000001286436618.png create mode 100644 docs/css/umn/en-us_image_0000001286436626.png create mode 100644 docs/css/umn/en-us_image_0000001286436658.png create mode 100644 docs/css/umn/en-us_image_0000001286596218.png create mode 100644 docs/css/umn/en-us_image_0000001286596238.png create mode 100644 docs/css/umn/en-us_image_0000001286596262.png create mode 100644 docs/css/umn/en-us_image_0000001286596270.png create mode 100644 docs/css/umn/en-us_image_0000001286596282.png create mode 100644 docs/css/umn/en-us_image_0000001286596290.png create mode 100644 docs/css/umn/en-us_image_0000001287293658.png create mode 100644 docs/css/umn/en-us_image_0000001338716501.png create mode 100644 docs/css/umn/en-us_image_0000001338716505.png create mode 100644 docs/css/umn/en-us_image_0000001338716545.png create mode 100644 docs/css/umn/en-us_image_0000001338716621.png create mode 100644 docs/css/umn/en-us_image_0000001338716641.png create mode 100644 docs/css/umn/en-us_image_0000001338716669.png create mode 100644 docs/css/umn/en-us_image_0000001338716673.png create mode 100644 docs/css/umn/en-us_image_0000001338716677.png create mode 100644 docs/css/umn/en-us_image_0000001338716685.png create mode 100644 docs/css/umn/en-us_image_0000001338716693.png create mode 100644 docs/css/umn/en-us_image_0000001338836353.png create mode 100644 docs/css/umn/en-us_image_0000001338836473.png create mode 100644 docs/css/umn/en-us_image_0000001338836489.png create mode 100644 docs/css/umn/en-us_image_0000001338836509.png create mode 100644 docs/css/umn/en-us_image_0000001338836517.png create mode 100644 docs/css/umn/en-us_image_0000001338836521.png create mode 100644 docs/css/umn/en-us_image_0000001338836529.png create mode 100644 docs/css/umn/en-us_image_0000001338955921.png create mode 100644 docs/css/umn/en-us_image_0000001338955933.png create mode 100644 docs/css/umn/en-us_image_0000001338955973.png create mode 100644 docs/css/umn/en-us_image_0000001338955977.png create mode 100644 docs/css/umn/en-us_image_0000001338955981.png create mode 100644 docs/css/umn/en-us_image_0000001338955989.png create mode 100644 docs/css/umn/en-us_image_0000001338955993.png create mode 100644 docs/css/umn/en-us_image_0000001338956001.png create mode 100644 docs/css/umn/en-us_image_0000001339036237.png create mode 100644 docs/css/umn/en-us_image_0000001339036357.png create mode 100644 docs/css/umn/en-us_image_0000001339036413.png create mode 100644 docs/css/umn/en-us_image_0000001339036421.png create mode 100644 docs/css/umn/public_sys-resources/ExpandCollapse.js create mode 100644 docs/css/umn/public_sys-resources/caution_3.0-en-us.png create mode 100644 docs/css/umn/public_sys-resources/commonltr.css create mode 100644 docs/css/umn/public_sys-resources/commonltr_print.css create mode 100644 docs/css/umn/public_sys-resources/commonrtl.css create mode 100644 docs/css/umn/public_sys-resources/danger_3.0-en-us.png create mode 100644 docs/css/umn/public_sys-resources/delta.gif create mode 100644 docs/css/umn/public_sys-resources/deltaend.gif create mode 100644 docs/css/umn/public_sys-resources/icon-arrowdn.gif create mode 100644 docs/css/umn/public_sys-resources/icon-arrowrt.gif create mode 100644 docs/css/umn/public_sys-resources/icon-caution.gif create mode 100644 docs/css/umn/public_sys-resources/icon-danger.gif create mode 100644 docs/css/umn/public_sys-resources/icon-huawei.gif create mode 100644 docs/css/umn/public_sys-resources/icon-note.gif create mode 100644 docs/css/umn/public_sys-resources/icon-notice.gif create mode 100644 docs/css/umn/public_sys-resources/icon-tip.gif create mode 100644 docs/css/umn/public_sys-resources/icon-warning.gif create mode 100644 docs/css/umn/public_sys-resources/imageResize.js create mode 100644 docs/css/umn/public_sys-resources/imageclose.gif create mode 100644 docs/css/umn/public_sys-resources/imageclosehover.gif create mode 100644 docs/css/umn/public_sys-resources/imagemax.gif create mode 100644 docs/css/umn/public_sys-resources/imagemaxhover.gif create mode 100644 docs/css/umn/public_sys-resources/jquery-migrate-1.2.1.min.js create mode 100644 docs/css/umn/public_sys-resources/jquery-ui.min.js create mode 100644 docs/css/umn/public_sys-resources/jquery.min.js create mode 100644 docs/css/umn/public_sys-resources/jquery.mousewheel.min.js create mode 100644 docs/css/umn/public_sys-resources/macFFBgHack.png create mode 100644 docs/css/umn/public_sys-resources/note_3.0-en-us.png create mode 100644 docs/css/umn/public_sys-resources/notice_3.0-en-us.png create mode 100644 docs/css/umn/public_sys-resources/popup.js create mode 100644 docs/css/umn/public_sys-resources/pygments.css create mode 100644 docs/css/umn/public_sys-resources/thickbox.css create mode 100644 docs/css/umn/public_sys-resources/thickbox.js create mode 100644 docs/css/umn/public_sys-resources/warning_3.0-en-us.png diff --git a/docs/css/api-ref/ALL_META.TXT.json b/docs/css/api-ref/ALL_META.TXT.json new file mode 100644 index 000000000..6c4865a6f --- /dev/null +++ b/docs/css/api-ref/ALL_META.TXT.json @@ -0,0 +1,422 @@ +[ + { + "uri":"css_03_0001.html", + "product_code":"css", + "code":"1", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Before You Start", + "title":"Before You Start", + "githuburl":"" + }, + { + "uri":"css_03_0051.html", + "product_code":"css", + "code":"2", + "des":"Welcome to Cloud Search Service API Reference. Cloud Search Service (CSS) provides hosted, distributed search engine services. It is fully compatible with open-source Ela", + "doc_type":"api", + "kw":"Overview,Before You Start,API Reference", + "title":"Overview", + "githuburl":"" + }, + { + "uri":"css_03_0053.html", + "product_code":"css", + "code":"3", + "des":"An endpoint is the request address for calling an API. Endpoints vary depending on services and regions. For the endpoints of all services, see Regions and Endpoints.", + "doc_type":"api", + "kw":"Endpoints,Before You Start,API Reference", + "title":"Endpoints", + "githuburl":"" + }, + { + "uri":"css_03_0056.html", + "product_code":"css", + "code":"4", + "des":"In CSS, Elasticsearch 7.6.2 and 7.9.3 and Kibana 7.6.2 and 7.9.3 are supported.", + "doc_type":"api", + "kw":"Supported Cluster Versions,Before You Start,API Reference", + "title":"Supported Cluster Versions", + "githuburl":"" + }, + { + "uri":"css_03_0057.html", + "product_code":"css", + "code":"5", + "des":"The CSS API is a self-developed API that complies with RESTful API design specifications. You can call CSS APIs to implement the CSS functions described in Table 1.", + "doc_type":"api", + "kw":"API Overview,API Reference", + "title":"API Overview", + "githuburl":"" + }, + { + "uri":"iam_01_0023.html", + "product_code":"css", + "code":"6", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Calling APIs", + "title":"Calling APIs", + "githuburl":"" + }, + { + "uri":"iam_02_0008.html", + "product_code":"css", + "code":"7", + "des":"This section describes the structure of a RESTful API request, and uses the API for Obtaining a User Token as an example to describe how to call an API. A token is a user", + "doc_type":"api", + "kw":"Making an API Request,Calling APIs,API Reference", + "title":"Making an API Request", + "githuburl":"" + }, + { + "uri":"iam_02_0510.html", + "product_code":"css", + "code":"8", + "des":"CSS supports token authentication.The validity period of a token is 24 hours. When using a token for authentication, cache it to prevent frequently calling the IAM API.A ", + "doc_type":"api", + "kw":"Authentication,Calling APIs,API Reference", + "title":"Authentication", + "githuburl":"" + }, + { + "uri":"iam_02_0511.html", + "product_code":"css", + "code":"9", + "des":"After sending a request, you will receive a response containing the status code, response header, and response body.A status code is a group of digits, ranging from 1xx t", + "doc_type":"api", + "kw":"Returned Values,Calling APIs,API Reference", + "title":"Returned Values", + "githuburl":"" + }, + { + "uri":"css_03_0008.html", + "product_code":"css", + "code":"10", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Cluster Management APIs", + "title":"Cluster Management APIs", + "githuburl":"" + }, + { + "uri":"css_03_0019.html", + "product_code":"css", + "code":"11", + "des":"This API is used to create a cluster.Table 2 describes the request parameters.Table 11 describes the response parameters.Example requestExample response{\n \"cluster\": {\n ", + "doc_type":"api", + "kw":"Creating a Cluster,Cluster Management APIs,API Reference", + "title":"Creating a Cluster", + "githuburl":"" + }, + { + "uri":"css_03_0018.html", + "product_code":"css", + "code":"12", + "des":"This API is used to query and display the cluster list and cluster status.NoneTable 2 describes the response parameters.Example requestExample request of querying cluster", + "doc_type":"api", + "kw":"Querying the List of Clusters,Cluster Management APIs,API Reference", + "title":"Querying the List of Clusters", + "githuburl":"" + }, + { + "uri":"css_03_0026.html", + "product_code":"css", + "code":"13", + "des":"This API is used to query and display details about a cluster.NoneTable 2 describes the response parameters.Example requestExample responseTable 7 describes the status co", + "doc_type":"api", + "kw":"Querying Cluster Details,Cluster Management APIs,API Reference", + "title":"Querying Cluster Details", + "githuburl":"" + }, + { + "uri":"css_03_0020.html", + "product_code":"css", + "code":"14", + "des":"This API is used to delete a cluster. All resources, including customer data, of the deleted cluster will be released. For data security reasons, create a snapshot for th", + "doc_type":"api", + "kw":"Deleting a Cluster,Cluster Management APIs,API Reference", + "title":"Deleting a Cluster", + "githuburl":"" + }, + { + "uri":"css_03_0021.html", + "product_code":"css", + "code":"15", + "des":"This API is used to restart a cluster. Restarting the cluster will interrupt ongoing services.NoneExample requestExample responseTable 3 describes the status code.", + "doc_type":"api", + "kw":"Restarting a Cluster,Cluster Management APIs,API Reference", + "title":"Restarting a Cluster", + "githuburl":"" + }, + { + "uri":"css_03_0025.html", + "product_code":"css", + "code":"16", + "des":"This API is used to scale out a cluster with only common nodes. Clusters with master, client, or cold data nodes cannot use this API.Table 2 describes the request paramet", + "doc_type":"api", + "kw":"Scaling Out a Cluster with only Common Nodes,Cluster Management APIs,API Reference", + "title":"Scaling Out a Cluster with only Common Nodes", + "githuburl":"" + }, + { + "uri":"css_03_0038.html", + "product_code":"css", + "code":"17", + "des":"This API is used to scale out a cluster with special nodes. That is, if a cluster has master, client, or cold data nodes, this API is used for scale-out.Table 2 describes", + "doc_type":"api", + "kw":"Scaling Out a Cluster with Special Nodes,Cluster Management APIs,API Reference", + "title":"Scaling Out a Cluster with Special Nodes", + "githuburl":"" + }, + { + "uri":"css_03_0023.html", + "product_code":"css", + "code":"18", + "des":"This API is used to query and display the IDs of supported instance flavors.NoneTable 2 describes the response parameters.Example requestGET /v1.0/6204a5bd270343b5885144c", + "doc_type":"api", + "kw":"Obtaining the List of Instance Flavors,Cluster Management APIs,API Reference", + "title":"Obtaining the List of Instance Flavors", + "githuburl":"" + }, + { + "uri":"css_03_0050.html", + "product_code":"css", + "code":"19", + "des":"This API is used to download the HTTPS certificate file of the server.NoneExample requestExample responseAfter obtaining the preceding character string, run the following", + "doc_type":"api", + "kw":"Downloading a Certificate File,Cluster Management APIs,API Reference", + "title":"Downloading a Certificate File", + "githuburl":"" + }, + { + "uri":"css_03_0077.html", + "product_code":"css", + "code":"20", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Tag Management APIs", + "title":"Tag Management APIs", + "githuburl":"" + }, + { + "uri":"css_03_0078.html", + "product_code":"css", + "code":"21", + "des":"This API is used to query the tag information about a specified cluster.NoneTable 2 describes the response parameters.Example requestExample responseTable 4 describes the", + "doc_type":"api", + "kw":"Querying Tags of a Specified Cluster,Tag Management APIs,API Reference", + "title":"Querying Tags of a Specified Cluster", + "githuburl":"" + }, + { + "uri":"css_03_0079.html", + "product_code":"css", + "code":"22", + "des":"This API is used to query all tags in a specified region.NoneTable 2 describes the response parameters.Example requestExample responseTable 4 describes the status code.", + "doc_type":"api", + "kw":"Querying All Tags,Tag Management APIs,API Reference", + "title":"Querying All Tags", + "githuburl":"" + }, + { + "uri":"css_03_0083.html", + "product_code":"css", + "code":"23", + "des":"This API is used to add tags to a cluster. A cluster can have a maximum of 10 tags.NoneExample requestPOST /v1.0/458d905f22da49c39f609e3347d65723/css-cluster/4f3deec3-efa", + "doc_type":"api", + "kw":"Adding Tags to a Cluster,Tag Management APIs,API Reference", + "title":"Adding Tags to a Cluster", + "githuburl":"" + }, + { + "uri":"css_03_0081.html", + "product_code":"css", + "code":"24", + "des":"This API is used to add or delete tags to or from a specified cluster in batches. Tag Management Service (TMS) uses this API to batch manage tags of a cluster. A cluster ", + "doc_type":"api", + "kw":"Adding or Deleting Cluster Tags in Batches,Tag Management APIs,API Reference", + "title":"Adding or Deleting Cluster Tags in Batches", + "githuburl":"" + }, + { + "uri":"css_03_0082.html", + "product_code":"css", + "code":"25", + "des":"This API is used to delete specified cluster tags.NoneNoneExample requestDELETE /v1.0/458d905f22da49c39f609e3347d65723/css-cluster/4f3deec3-efa8-4598-bf91-560aad1377a3/ta", + "doc_type":"api", + "kw":"Deleting Specified Cluster Tags,Tag Management APIs,API Reference", + "title":"Deleting Specified Cluster Tags", + "githuburl":"" + }, + { + "uri":"css_03_0010.html", + "product_code":"css", + "code":"26", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Snapshot Management APIs", + "title":"Snapshot Management APIs", + "githuburl":"" + }, + { + "uri":"css_03_0037.html", + "product_code":"css", + "code":"27", + "des":"The API for automatically configuring a cluster snapshot can automatically create OBS buckets and agencies for storing snapthos. If you have multiple clusters, an OBS buc", + "doc_type":"api", + "kw":"(Not Recommended) Automatically Configuring Basic Settings of a Cluster Snapshot,Snapshot Management", + "title":"(Not Recommended) Automatically Configuring Basic Settings of a Cluster Snapshot", + "githuburl":"" + }, + { + "uri":"css_03_0030.html", + "product_code":"css", + "code":"28", + "des":"Using this API will automatically enable the snapshot function.This API is used to modify the basic configurations of a cluster snapshot. The basic configurations include", + "doc_type":"api", + "kw":"Modifying Basic Configurations of a Cluster Snapshot,Snapshot Management APIs,API Reference", + "title":"Modifying Basic Configurations of a Cluster Snapshot", + "githuburl":"" + }, + { + "uri":"css_03_0031.html", + "product_code":"css", + "code":"29", + "des":"This API is used to set parameters related to automatic snapshot creation. By default, a snapshot is created per day.Table 2 describes the request parameters.NoneExample ", + "doc_type":"api", + "kw":"Setting the Automatic Snapshot Creation Policy,Snapshot Management APIs,API Reference", + "title":"Setting the Automatic Snapshot Creation Policy", + "githuburl":"" + }, + { + "uri":"css_03_0032.html", + "product_code":"css", + "code":"30", + "des":"This API is used to query the automatic snapshot creation policy for a cluster.NoneTable 2 describes the response parameters.Example requestExample responseTable 3 descri", + "doc_type":"api", + "kw":"Querying the Automatic Snapshot Creation Policy for a Cluster,Snapshot Management APIs,API Reference", + "title":"Querying the Automatic Snapshot Creation Policy for a Cluster", + "githuburl":"" + }, + { + "uri":"css_03_0033.html", + "product_code":"css", + "code":"31", + "des":"This API is used to manually create a snapshot.Table 2 describes the request parameters.Table 3 describes the response parameters.Example requestExample responseTable 5 d", + "doc_type":"api", + "kw":"Manually Creating a Snapshot,Snapshot Management APIs,API Reference", + "title":"Manually Creating a Snapshot", + "githuburl":"" + }, + { + "uri":"css_03_0034.html", + "product_code":"css", + "code":"32", + "des":"This API is used to query all snapshots of a cluster.NoneExample requestExample responseTable 5 describes the status code.", + "doc_type":"api", + "kw":"Querying the List of Snapshots,Snapshot Management APIs,API Reference", + "title":"Querying the List of Snapshots", + "githuburl":"" + }, + { + "uri":"css_03_0035.html", + "product_code":"css", + "code":"33", + "des":"This API is used to manually restore a snapshot.Table 2 describes the request parameters.NoneExample requestExample responseThe return value is empty.Table 3 describes th", + "doc_type":"api", + "kw":"Restoring a Snapshot,Snapshot Management APIs,API Reference", + "title":"Restoring a Snapshot", + "githuburl":"" + }, + { + "uri":"css_03_0036.html", + "product_code":"css", + "code":"34", + "des":"This API is used to delete a snapshot.NoneNoneExample requestTable 2 describes the status code.", + "doc_type":"api", + "kw":"Deleting a Snapshot,Snapshot Management APIs,API Reference", + "title":"Deleting a Snapshot", + "githuburl":"" + }, + { + "uri":"css_03_0039.html", + "product_code":"css", + "code":"35", + "des":"This API is used to disable the snapshot function.NoneNoneExample requestTable 2 describes the status code.", + "doc_type":"api", + "kw":"Disabling the Snapshot Function,Snapshot Management APIs,API Reference", + "title":"Disabling the Snapshot Function", + "githuburl":"" + }, + { + "uri":"css_03_0040.html", + "product_code":"css", + "code":"36", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Common Parameters", + "title":"Common Parameters", + "githuburl":"" + }, + { + "uri":"css_03_0071.html", + "product_code":"css", + "code":"37", + "des":"A project ID or project name is required in some API requests. You need to obtain the project ID and name before calling an API.Log in to the console.In the upper right c", + "doc_type":"api", + "kw":"Obtaining a Project ID and Name,Common Parameters,API Reference", + "title":"Obtaining a Project ID and Name", + "githuburl":"" + }, + { + "uri":"css_03_0073.html", + "product_code":"css", + "code":"38", + "des":"Table 1 describes the common request parameters.", + "doc_type":"api", + "kw":"Common Request Parameters,Common Parameters,API Reference", + "title":"Common Request Parameters", + "githuburl":"" + }, + { + "uri":"css_03_0074.html", + "product_code":"css", + "code":"39", + "des":"Table 1 describes common response headers.", + "doc_type":"api", + "kw":"Common Response Parameters,Common Parameters,API Reference", + "title":"Common Response Parameters", + "githuburl":"" + }, + { + "uri":"css_03_0075.html", + "product_code":"css", + "code":"40", + "des":"Table 1 describes the status code.", + "doc_type":"api", + "kw":"Status Code,Common Parameters,API Reference", + "title":"Status Code", + "githuburl":"" + }, + { + "uri":"css_03_0076.html", + "product_code":"css", + "code":"41", + "des":"No data is returned if an API fails to be invoked. You can locate the cause of an error according to the error code of each API. When the API calling fails, HTTPS status ", + "doc_type":"api", + "kw":"Error Code,Common Parameters,API Reference", + "title":"Error Code", + "githuburl":"" + }, + { + "uri":"css_03_0024.html", + "product_code":"css", + "code":"42", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Change History,API Reference", + "title":"Change History", + "githuburl":"" + } +] \ No newline at end of file diff --git a/docs/css/api-ref/CLASS.TXT.json b/docs/css/api-ref/CLASS.TXT.json new file mode 100644 index 000000000..5478c5d57 --- /dev/null +++ b/docs/css/api-ref/CLASS.TXT.json @@ -0,0 +1,380 @@ +[ + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"css", + "title":"Before You Start", + "uri":"css_03_0001.html", + "doc_type":"api", + "p_code":"", + "code":"1" + }, + { + "desc":"Welcome to Cloud Search Service API Reference. Cloud Search Service (CSS) provides hosted, distributed search engine services. It is fully compatible with open-source Ela", + "product_code":"css", + "title":"Overview", + "uri":"css_03_0051.html", + "doc_type":"api", + "p_code":"1", + "code":"2" + }, + { + "desc":"An endpoint is the request address for calling an API. Endpoints vary depending on services and regions. For the endpoints of all services, see Regions and Endpoints.", + "product_code":"css", + "title":"Endpoints", + "uri":"css_03_0053.html", + "doc_type":"api", + "p_code":"1", + "code":"3" + }, + { + "desc":"In CSS, Elasticsearch 7.6.2 and 7.9.3 and Kibana 7.6.2 and 7.9.3 are supported.", + "product_code":"css", + "title":"Supported Cluster Versions", + "uri":"css_03_0056.html", + "doc_type":"api", + "p_code":"1", + "code":"4" + }, + { + "desc":"The CSS API is a self-developed API that complies with RESTful API design specifications. You can call CSS APIs to implement the CSS functions described in Table 1.", + "product_code":"css", + "title":"API Overview", + "uri":"css_03_0057.html", + "doc_type":"api", + "p_code":"", + "code":"5" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"css", + "title":"Calling APIs", + "uri":"iam_01_0023.html", + "doc_type":"api", + "p_code":"", + "code":"6" + }, + { + "desc":"This section describes the structure of a RESTful API request, and uses the API for Obtaining a User Token as an example to describe how to call an API. A token is a user", + "product_code":"css", + "title":"Making an API Request", + "uri":"iam_02_0008.html", + "doc_type":"api", + "p_code":"6", + "code":"7" + }, + { + "desc":"CSS supports token authentication.The validity period of a token is 24 hours. When using a token for authentication, cache it to prevent frequently calling the IAM API.A ", + "product_code":"css", + "title":"Authentication", + "uri":"iam_02_0510.html", + "doc_type":"api", + "p_code":"6", + "code":"8" + }, + { + "desc":"After sending a request, you will receive a response containing the status code, response header, and response body.A status code is a group of digits, ranging from 1xx t", + "product_code":"css", + "title":"Returned Values", + "uri":"iam_02_0511.html", + "doc_type":"api", + "p_code":"6", + "code":"9" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"css", + "title":"Cluster Management APIs", + "uri":"css_03_0008.html", + "doc_type":"api", + "p_code":"", + "code":"10" + }, + { + "desc":"This API is used to create a cluster.Table 2 describes the request parameters.Table 11 describes the response parameters.Example requestExample response{\n \"cluster\": {\n ", + "product_code":"css", + "title":"Creating a Cluster", + "uri":"css_03_0019.html", + "doc_type":"api", + "p_code":"10", + "code":"11" + }, + { + "desc":"This API is used to query and display the cluster list and cluster status.NoneTable 2 describes the response parameters.Example requestExample request of querying cluster", + "product_code":"css", + "title":"Querying the List of Clusters", + "uri":"css_03_0018.html", + "doc_type":"api", + "p_code":"10", + "code":"12" + }, + { + "desc":"This API is used to query and display details about a cluster.NoneTable 2 describes the response parameters.Example requestExample responseTable 7 describes the status co", + "product_code":"css", + "title":"Querying Cluster Details", + "uri":"css_03_0026.html", + "doc_type":"api", + "p_code":"10", + "code":"13" + }, + { + "desc":"This API is used to delete a cluster. All resources, including customer data, of the deleted cluster will be released. For data security reasons, create a snapshot for th", + "product_code":"css", + "title":"Deleting a Cluster", + "uri":"css_03_0020.html", + "doc_type":"api", + "p_code":"10", + "code":"14" + }, + { + "desc":"This API is used to restart a cluster. Restarting the cluster will interrupt ongoing services.NoneExample requestExample responseTable 3 describes the status code.", + "product_code":"css", + "title":"Restarting a Cluster", + "uri":"css_03_0021.html", + "doc_type":"api", + "p_code":"10", + "code":"15" + }, + { + "desc":"This API is used to scale out a cluster with only common nodes. Clusters with master, client, or cold data nodes cannot use this API.Table 2 describes the request paramet", + "product_code":"css", + "title":"Scaling Out a Cluster with only Common Nodes", + "uri":"css_03_0025.html", + "doc_type":"api", + "p_code":"10", + "code":"16" + }, + { + "desc":"This API is used to scale out a cluster with special nodes. That is, if a cluster has master, client, or cold data nodes, this API is used for scale-out.Table 2 describes", + "product_code":"css", + "title":"Scaling Out a Cluster with Special Nodes", + "uri":"css_03_0038.html", + "doc_type":"api", + "p_code":"10", + "code":"17" + }, + { + "desc":"This API is used to query and display the IDs of supported instance flavors.NoneTable 2 describes the response parameters.Example requestGET /v1.0/6204a5bd270343b5885144c", + "product_code":"css", + "title":"Obtaining the List of Instance Flavors", + "uri":"css_03_0023.html", + "doc_type":"api", + "p_code":"10", + "code":"18" + }, + { + "desc":"This API is used to download the HTTPS certificate file of the server.NoneExample requestExample responseAfter obtaining the preceding character string, run the following", + "product_code":"css", + "title":"Downloading a Certificate File", + "uri":"css_03_0050.html", + "doc_type":"api", + "p_code":"10", + "code":"19" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"css", + "title":"Tag Management APIs", + "uri":"css_03_0077.html", + "doc_type":"api", + "p_code":"10", + "code":"20" + }, + { + "desc":"This API is used to query the tag information about a specified cluster.NoneTable 2 describes the response parameters.Example requestExample responseTable 4 describes the", + "product_code":"css", + "title":"Querying Tags of a Specified Cluster", + "uri":"css_03_0078.html", + "doc_type":"api", + "p_code":"20", + "code":"21" + }, + { + "desc":"This API is used to query all tags in a specified region.NoneTable 2 describes the response parameters.Example requestExample responseTable 4 describes the status code.", + "product_code":"css", + "title":"Querying All Tags", + "uri":"css_03_0079.html", + "doc_type":"api", + "p_code":"20", + "code":"22" + }, + { + "desc":"This API is used to add tags to a cluster. A cluster can have a maximum of 10 tags.NoneExample requestPOST /v1.0/458d905f22da49c39f609e3347d65723/css-cluster/4f3deec3-efa", + "product_code":"css", + "title":"Adding Tags to a Cluster", + "uri":"css_03_0083.html", + "doc_type":"api", + "p_code":"20", + "code":"23" + }, + { + "desc":"This API is used to add or delete tags to or from a specified cluster in batches. Tag Management Service (TMS) uses this API to batch manage tags of a cluster. A cluster ", + "product_code":"css", + "title":"Adding or Deleting Cluster Tags in Batches", + "uri":"css_03_0081.html", + "doc_type":"api", + "p_code":"20", + "code":"24" + }, + { + "desc":"This API is used to delete specified cluster tags.NoneNoneExample requestDELETE /v1.0/458d905f22da49c39f609e3347d65723/css-cluster/4f3deec3-efa8-4598-bf91-560aad1377a3/ta", + "product_code":"css", + "title":"Deleting Specified Cluster Tags", + "uri":"css_03_0082.html", + "doc_type":"api", + "p_code":"20", + "code":"25" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"css", + "title":"Snapshot Management APIs", + "uri":"css_03_0010.html", + "doc_type":"api", + "p_code":"", + "code":"26" + }, + { + "desc":"The API for automatically configuring a cluster snapshot can automatically create OBS buckets and agencies for storing snapthos. If you have multiple clusters, an OBS buc", + "product_code":"css", + "title":"(Not Recommended) Automatically Configuring Basic Settings of a Cluster Snapshot", + "uri":"css_03_0037.html", + "doc_type":"api", + "p_code":"26", + "code":"27" + }, + { + "desc":"Using this API will automatically enable the snapshot function.This API is used to modify the basic configurations of a cluster snapshot. The basic configurations include", + "product_code":"css", + "title":"Modifying Basic Configurations of a Cluster Snapshot", + "uri":"css_03_0030.html", + "doc_type":"api", + "p_code":"26", + "code":"28" + }, + { + "desc":"This API is used to set parameters related to automatic snapshot creation. By default, a snapshot is created per day.Table 2 describes the request parameters.NoneExample ", + "product_code":"css", + "title":"Setting the Automatic Snapshot Creation Policy", + "uri":"css_03_0031.html", + "doc_type":"api", + "p_code":"26", + "code":"29" + }, + { + "desc":"This API is used to query the automatic snapshot creation policy for a cluster.NoneTable 2 describes the response parameters.Example requestExample responseTable 3 descri", + "product_code":"css", + "title":"Querying the Automatic Snapshot Creation Policy for a Cluster", + "uri":"css_03_0032.html", + "doc_type":"api", + "p_code":"26", + "code":"30" + }, + { + "desc":"This API is used to manually create a snapshot.Table 2 describes the request parameters.Table 3 describes the response parameters.Example requestExample responseTable 5 d", + "product_code":"css", + "title":"Manually Creating a Snapshot", + "uri":"css_03_0033.html", + "doc_type":"api", + "p_code":"26", + "code":"31" + }, + { + "desc":"This API is used to query all snapshots of a cluster.NoneExample requestExample responseTable 5 describes the status code.", + "product_code":"css", + "title":"Querying the List of Snapshots", + "uri":"css_03_0034.html", + "doc_type":"api", + "p_code":"26", + "code":"32" + }, + { + "desc":"This API is used to manually restore a snapshot.Table 2 describes the request parameters.NoneExample requestExample responseThe return value is empty.Table 3 describes th", + "product_code":"css", + "title":"Restoring a Snapshot", + "uri":"css_03_0035.html", + "doc_type":"api", + "p_code":"26", + "code":"33" + }, + { + "desc":"This API is used to delete a snapshot.NoneNoneExample requestTable 2 describes the status code.", + "product_code":"css", + "title":"Deleting a Snapshot", + "uri":"css_03_0036.html", + "doc_type":"api", + "p_code":"26", + "code":"34" + }, + { + "desc":"This API is used to disable the snapshot function.NoneNoneExample requestTable 2 describes the status code.", + "product_code":"css", + "title":"Disabling the Snapshot Function", + "uri":"css_03_0039.html", + "doc_type":"api", + "p_code":"26", + "code":"35" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"css", + "title":"Common Parameters", + "uri":"css_03_0040.html", + "doc_type":"api", + "p_code":"", + "code":"36" + }, + { + "desc":"A project ID or project name is required in some API requests. You need to obtain the project ID and name before calling an API.Log in to the console.In the upper right c", + "product_code":"css", + "title":"Obtaining a Project ID and Name", + "uri":"css_03_0071.html", + "doc_type":"api", + "p_code":"36", + "code":"37" + }, + { + "desc":"Table 1 describes the common request parameters.", + "product_code":"css", + "title":"Common Request Parameters", + "uri":"css_03_0073.html", + "doc_type":"api", + "p_code":"36", + "code":"38" + }, + { + "desc":"Table 1 describes common response headers.", + "product_code":"css", + "title":"Common Response Parameters", + "uri":"css_03_0074.html", + "doc_type":"api", + "p_code":"36", + "code":"39" + }, + { + "desc":"Table 1 describes the status code.", + "product_code":"css", + "title":"Status Code", + "uri":"css_03_0075.html", + "doc_type":"api", + "p_code":"36", + "code":"40" + }, + { + "desc":"No data is returned if an API fails to be invoked. You can locate the cause of an error according to the error code of each API. When the API calling fails, HTTPS status ", + "product_code":"css", + "title":"Error Code", + "uri":"css_03_0076.html", + "doc_type":"api", + "p_code":"36", + "code":"41" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"css", + "title":"Change History", + "uri":"css_03_0024.html", + "doc_type":"api", + "p_code":"", + "code":"42" + } +] \ No newline at end of file diff --git a/docs/css/api-ref/PARAMETERS.txt b/docs/css/api-ref/PARAMETERS.txt new file mode 100644 index 000000000..6da8d5f07 --- /dev/null +++ b/docs/css/api-ref/PARAMETERS.txt @@ -0,0 +1,3 @@ +version="" +language="en-us" +type="" \ No newline at end of file diff --git a/docs/css/api-ref/css_03_0001.html b/docs/css/api-ref/css_03_0001.html new file mode 100644 index 000000000..3297a7cd9 --- /dev/null +++ b/docs/css/api-ref/css_03_0001.html @@ -0,0 +1,15 @@ + + +

Before You Start

+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0008.html b/docs/css/api-ref/css_03_0008.html new file mode 100644 index 000000000..17865aa7b --- /dev/null +++ b/docs/css/api-ref/css_03_0008.html @@ -0,0 +1,29 @@ + + +

Cluster Management APIs

+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0010.html b/docs/css/api-ref/css_03_0010.html new file mode 100644 index 000000000..c49f0b3b4 --- /dev/null +++ b/docs/css/api-ref/css_03_0010.html @@ -0,0 +1,27 @@ + + +

Snapshot Management APIs

+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0018.html b/docs/css/api-ref/css_03_0018.html new file mode 100644 index 000000000..1c708ca7a --- /dev/null +++ b/docs/css/api-ref/css_03_0018.html @@ -0,0 +1,527 @@ + + +

Querying the List of Clusters

+

Function

This API is used to query and display the cluster list and cluster status.

+
+

URI

GET /v1.0/{project_id}/clusters
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

start

+

No

+

Integer

+

Start value of the query. The default value is 1, indicating that the query starts from the first cluster.

+

limit

+

No

+

Integer

+

Number of clusters to be queried. The default value is 10, indicating that 10 clusters are queried at a time.

+
+
+
+

Request

None

+
+

Response

Table 2 describes the response parameters.

+ +
+ + + + + + + + + +
Table 2 Parameter description

Parameter

+

Type

+

Description

+

clusters

+

Array of clusters objects

+

List of cluster objects.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 clusters field data structure description

Parameter

+

Type

+

Description

+

datastore

+

Object

+

Type of the data search engine. For details, see Table 4.

+

instances

+

Array of instances in Table 5.

+

List of node objects.

+

updated

+

String

+

Last modification time of a cluster. The format is ISO8601: CCYY-MM-DDThh:mm:ss.

+

name

+

String

+

Cluster name.

+

created

+

String

+

Time when a cluster is created. The format is ISO8601: CCYY-MM-DDThh:mm:ss.

+
NOTE:

The returned cluster list is sorted by creation time in descending order. Specifically, the cluster with the latest creation time is at the top.

+
+

id

+

String

+

Cluster ID.

+

status

+

String

+

Return value.

+
  • 100: Creating.
  • 200: Available.
  • 303: Unavailable, such as creation failed.
+

endpoint

+

String

+

IP address and port number of the user used to access the VPC.

+

actionProgress

+

Object

+

Cluster operation progress, which indicates the progress of cluster creation and expansion in percentage. CREATING specifies the progress of creation.

+

actions

+

Array of strings

+

Current behavior on a cluster. Value REBOOTING indicates that the cluster is being restarted, GROWING indicates that capacity expansion is being performed on the cluster, RESTORING indicates that the cluster is being restored, and SNAPSHOTTING indicates that the snapshot is being created.

+

failed_reasons

+

Object

+

Failure cause. If the cluster is in the available status, this parameter is not returned. For details, see Table 6.

+

httpsEnable

+

Boolean

+

Communication encryption status.

+

Value false indicates that communication encryption is not enabled.

+

Value true indicates that communication encryption is enabled.

+

authorityEnable

+

String

+

Whether to enable authentication. Available values include true and false. Authentication is disabled by default. When authentication is enabled, httpsEnable must be set to true.

+
  • Value true indicates that authentication is enabled for the cluster.
  • Value false indicates that authentication is disabled for the cluster.
+

diskEncrypted

+

Boolean

+

Whether disks are encrypted.

+
  • Value true indicates that disks are encrypted.
  • Value false indicates that disks are not encrypted.
+

cmkId

+

String

+

Key ID used for disk encryption.

+

vpcId

+

String

+

VPC ID.

+

subnetId

+

String

+

Subnet ID.

+

securityGroupId

+

String

+

Security group ID.

+

tags

+

Array of tags in Table 7.

+

Tags of a cluster.

+

period

+

Boolean

+

Whether the cluster is billed.

+
+
+ +
+ + + + + + + + + + + + + +
Table 4 datastore field data structure description

Parameter

+

Type

+

Description

+

type

+

String

+

Supported type: elasticsearch

+

version

+

String

+

Engine version number.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 instances field data structure description

Parameter

+

Type

+

Description

+

type

+

String

+

Supported type: ess (indicating the Elasticsearch node)

+

id

+

String

+

Instance ID.

+

name

+

String

+

Instance name.

+

status

+

String

+

Instance status.

+
  • 100: Creating.
  • 200: Available.
  • 303: Unavailable, such as creation failed.
+

specCode

+

String

+

Node specifications.

+

azCode

+

String

+

AZ to which a node belongs.

+
+
+ +
+ + + + + + + + + + + + + +
Table 6 failed_reasons field data structure description

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code.

+
  • CSS.6000: indicates that a cluster fails to be created.
  • CSS.6001: indicates that a cluster fails to be scaled out.
  • CSS.6002: indicates that a cluster fails to be restarted.
  • CSS.6004: indicates that a node fails to be created in a cluster.
  • CSS.6005: indicates that the service fails to be initialized.
+

error_msg

+

String

+

Detailed error information.

+
+
+ +
+ + + + + + + + + + + + + +
Table 7 tags field data structure description

Parameter

+

Type

+

Description

+

key

+

String

+

Tag key.

+

value

+

String

+

Tag value.

+
+
+
+

Examples

  • Example request
    • Example request of querying clusters. A maximum of 10 clusters can be queried by default.
      GET /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters
      +
    +
    • Example request of querying clusters by page

      Example 1: Query the first two clusters.

      +

      Method 1

      +
      GET /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters?start=1&limit=2
      +
      Method 2
      GET /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters?limit=2
      +
      +

      Example 2: Query the first 10 clusters.

      +
      Method 1
      GET /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters?start=1&limit=10
      +
      +
      Method 2
      GET /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters?start=1
      +
      +
    +
  • Example response
    {
    +    "clusters": [
    +        {
    +            "datastore": {
    +                "type": "elasticsearch",
    +                "version": "7.6.2"
    +            },
    +            "instances": [
    +                {
    +                    "status": "200",
    +                    "type": "ess",
    +                    "id": "c8c90973-924d-4201-b9ff-f32279c87d0e",
    +                    "name": "css-5492-ess-esn-1-1",
    +                    "specCode": "css.xlarge.2",
    +                    "azCode": "cn-cmcc1a-01"
    +                }
    +            ],
    +            "updated": "2020-12-01T07:47:34",
    +            "name": "css-5492",
    +            "created": "2020-12-01T07:47:34",
    +            "id": "66ea1e42-4ee2-44ad-bd80-c86e6d8c6b9e",
    +            "status": "200",
    +            "endpoint": "10.16.0.151:9200",
    +            "vpcId": "e7daa617-3ee6-4ff1-b042-8cda4a006a46",
    +            "subnetId": "6253dc44-24cd-4c0a-90b3-f965e7f4dcd4",
    +            "securityGroupId": "d478041e-bcbe-4d69-a492-b6122d774b7f",
    +            "httpsEnable": false,
    +            "authorityEnable": false,
    +            "diskEncrypted": true,
    +            "cmkId": "00f05033-f8ac-4ceb-a1ce-4072fadb6b28",
    +            "actionProgress": {},
    +            "actions": [],
    +            "tags": [],
    +            "period": false
    +        },
    +        {
    +            "datastore": {
    +                "type": "elasticsearch",
    +                "version": "6.2.3"
    +            },
    +            "instances": [
    +                {
    +                    "status": "200",
    +                    "type": "ess",
    +                    "id": "a24adddb-1553-4873-9978-9d064418f903",
    +                    "name": "css-1d01-ess-esn-1-1",
    +                    "specCode": "css.xlarge.2",
    +                    "azCode": "cn-cmcc1a-01"
    +                }
    +            ],
    +            "updated": "2020-11-26T10:08:44",
    +            "name": "css-1d01",
    +            "created": "2020-11-26T10:08:44",
    +            "id": "af5fbac7-b386-4305-b201-820a0f51f4f1",
    +            "status": "200",
    +            "endpoint": "10.16.0.124:9200",
    +            "vpcId": "e7daa617-3ee6-4ff1-b042-8cda4a006a46",
    +            "subnetId": "6253dc44-24cd-4c0a-90b3-f965e7f4dcd4",
    +            "securityGroupId": "d478041e-bcbe-4d69-a492-b6122d774b7f",
    +            "httpsEnable": true,
    +            "authorityEnable": false,
    +            "diskEncrypted": false,
    +            "cmkId": "",
    +            "actionProgress": {},
    +            "actions": [],
    +            "tags": [],
    +            "period": false
    +        },
    +        {
    +            "datastore": {
    +                "type": "elasticsearch",
    +                "version": "7.6.2"
    +            },
    +            "instances": [
    +                {
    +                    "status": "303",
    +                    "type": "ess",
    +                    "id": "071c7ecf-a11d-45bd-9564-201ceb7cfae3",
    +                    "name": "css-9b36-ess-esn-1-1",
    +                    "specCode": "css.xlarge.2",
    +                    "azCode": "cn-cmcc1b-01"
    +                }
    +            ],
    +            "updated": "2020-11-13T14:33:24",
    +            "name": "css-9b36",
    +            "created": "2020-11-13T14:33:26",
    +            "id": "cdb26954-c743-47dd-b23a-b693205eb2da",
    +            "status": "303",
    +            "endpoint": null,
    +            "vpcId": "e7daa617-3ee6-4ff1-b042-8cda4a006a46",
    +            "subnetId": "6253dc44-24cd-4c0a-90b3-f965e7f4dcd4",
    +            "securityGroupId": "d478041e-bcbe-4d69-a492-b6122d774b7f",
    +            "httpsEnable": true,
    +            "authorityEnable": true,
    +            "diskEncrypted": false,
    +            "cmkId": "",
    +            "actionProgress": {},
    +            "actions": [],
    +            "tags": [],
    +            "period": false
    +        }
    +    ]
    +}
    +

    +
+
+

Status Code

Table 8 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + +
Table 8 Status code

Status Code

+

Code

+

Status Code Description

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+

404

+

NotFound

+

The requested resource cannot be found.

+

The client should not repeat the request without modifications.

+

200

+

OK

+

The request is processed successfully.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0019.html b/docs/css/api-ref/css_03_0019.html new file mode 100644 index 000000000..66dfaf926 --- /dev/null +++ b/docs/css/api-ref/css_03_0019.html @@ -0,0 +1,588 @@ + + +

Creating a Cluster

+

Function

This API is used to create a cluster.

+
+

URI

POST /v1.0/{project_id}/clusters
+ +
+ + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+
+
+
+

Request

Table 2 describes the request parameters.

+ +
+ + + + + + + + + + + +
Table 2 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

cluster

+

Yes

+

Object

+

Cluster. For details about related parameters, see Table 3.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 cluster field description

Parameter

+

Mandatory

+

Type

+

Description

+

instance

+

Yes

+

Object

+

Instance. For details about related parameters, see Table 4.

+

datastore

+

Yes

+

Object

+

Type of the data search engine. For details about related parameters, see Table 7.

+

name

+

Yes

+

String

+

Cluster name. It contains 4 to 32 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. The value must start with a letter.

+

instanceNum

+

Yes

+

Integer

+

Number of clusters. The value range is 1 to 32.

+

backupStrategy

+

No

+

Object

+

Automatic snapshot creation. This function is disabled by default. For details about related parameters, see Table 8.

+
NOTE:

The automatic snapshot creation policy is enabled only if this parameter is specified.

+
+

diskEncryption

+

Yes

+

Object

+

Whether disks are encrypted. For details about related parameters, see Table 9.

+

httpsEnable

+

No

+

String

+

Whether communication is encrypted on the cluster. Available values include true and false. By default, communication is encrypted.

+
  • Value true indicates that communication is encrypted on the cluster.
  • Value false indicates that communication is not encrypted on the cluster.
+

authorityEnable

+

No

+

Boolean

+

Whether to enable authentication. Available values include true and false. Authentication is disabled by default. When authentication is enabled, httpsEnable must be set to true.

+
  • Value true indicates that authentication is enabled for the cluster.
  • Value false indicates that authentication is disabled for the cluster.
    NOTE:

    This parameter is supported in clusters 7.1.1 or later.

    +
    +
+

adminPwd

+

No

+

String

+

Password of the cluster user admin in security mode. This parameter is mandatory only when authorityEnable is set to true.

+
NOTE:
  • The administrator password must meet the following requirements:
    • The password can contain 8 to 32 characters.
    • Passwords must contain at least 3 of the following character types: uppercase letters, lowercase letters, numbers, and special characters (~!@#$%^&*()-_=+\\|[{}];:,<.>/?).
    +
  • Weak password verification is required for a security cluster. You are advised to set a strong password.
+
+

tags

+

No

+

Array of tags in Table 10

+

Tags in a cluster.

+
NOTE:

For details about the tag feature, see the Tag Management Service Overview.

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 4 instance field description

Parameter

+

Mandatory

+

Type

+

Description

+

flavorRef

+

Yes

+

String

+

Instance flavor name. For example:

+
  • Value range of flavor css.medium.8: 40 GB to 640 GB
  • Value range of flavor css.xlarge.8: 40 GB to 2,560 GB
  • Value range of flavor css.2xlarge.8: 80 GB to 5,120 GB
  • Value range of flavor css.4xlarge.8: 160 GB to 10,240 GB
  • Value range of flavor css.xlarge.4: 40 GB to 1,600 GB
  • Value range of flavor css.2xlarge.4: 80 GB to 3,200 GB
  • Value range of flavor css.4xlarge.4: 100 GB to 6,400 GB
  • Value range of flavor css.8xlarge.4: 160 GB to 10,240 GB
  • Value range of flavor css.xlarge.2: 40 GB to 800 GB
  • Value range of flavor css.2xlarge.2: 80 GB to 1,600 GB
  • Value range of flavor css.4xlarge.2: 100 GB to 3,200 GB
  • Value range of flavor css.8xlarge.2: 320 GB to 10,240 GB
+ +

volume

+

Yes

+

Object

+

Information about the volume. For details about related parameters, see Table 5.

+

nics

+

Yes

+

Object

+

Subnet information. For details about related parameters, see Table 6.

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 5 volume field description

Parameter

+

Mandatory

+

Type

+

Description

+

volume_type

+

Yes

+

String

+

COMMON: Common I/O

+

HIGH: High I/O

+

ULTRAHIGH: Ultra-high I/O

+

size

+

Yes

+

Integer

+

Volume size. The minimum value is 40. The value must be a multiple of 4 and 10.

+

Unit: GB

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 6 nics field description

Parameter

+

Mandatory

+

Type

+

Description

+

vpcId

+

Yes

+

String

+

VPC ID, which is used for configuring cluster network.

+

netId

+

Yes

+

String

+

Subnet ID. All instances in a cluster must have the same subnets and security groups.

+

securityGroupId

+

Yes

+

String

+

Security group ID. All instances in a cluster must have the same subnets and security groups.

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 7 datastore field description

Parameter

+

Mandatory

+

Type

+

Description

+

version

+

Yes

+

String

+

Engine version. For details about the supported versions, see Supported Cluster Versions.

+

type

+

Yes

+

String

+

Cluster type. The default value is Elasticsearch. Currently, the value can only be Elasticsearch.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 8 backupStrategy field description

Parameter

+

Mandatory

+

Type

+

Description

+

period

+

Yes

+

String

+

Time when a snapshot is created every day. Snapshots can only be created on the hour. The time format is the time followed by the time zone, specifically, HH:mm z. In the format, HH:mm refers to the hour time and z refers to the time zone, for example, 00:00 GMT+08:00 and 01:00 GMT+08:00.

+

prefix

+

Yes

+

String

+

Prefix of the name of the snapshot that is automatically created.

+

keepday

+

Yes

+

Integer

+

Number of days for which automatically created snapshots are reserved.

+

Value range: 1 to 90

+

bucket

+

No

+

String

+

OBS bucket used for storing backup. If there is snapshot data in an OBS bucket, only the OBS bucket will be used for backup storage and cannot be changed.

+

basePath

+

No

+

String

+

Storage path of the snapshot in the OBS bucket.

+

agency

+

No

+

String

+

IAM agency used to access OBS.

+
NOTE:

If none of the bucket, basePath, and agency parameters are specified, the system will automatically create an OBS bucket and an IAM agency.

+
+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 9 diskEncryption field description

Parameter

+

Mandatory

+

Type

+

Description

+

systemEncrypted

+

Yes

+

String

+

Value 1 indicates encryption is performed, and value 0 indicates encryption is not performed.

+

systemCmkid

+

Yes

+

String

+

Key ID.

+
  • The Default Master Keys cannot be used to create grants. Specifically, you cannot use Default Master Keys whose aliases end with /default in KMS to create clusters.
  • After a cluster is created, do not delete the key used by the cluster. Otherwise, the cluster will become unavailable.
+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 10 tags field description

Parameter

+

Mandatory

+

Type

+

Description

+

key

+

Yes

+

String

+

Tag key. The value can contain 1 to 36 characters. Only digits, letters, hyphens (-) and underscores (_) are allowed.

+

value

+

Yes

+

String

+

Tag value. The value can contain 0 to 43 characters. Only digits, letters, hyphens (-) and underscores (_) are allowed.

+
+
+
+

Response

Table 11 describes the response parameters.

+ +
+ + + + + + + + + +
Table 11 Parameter description

Parameter

+

Type

+

Description

+

cluster

+

Object

+

Cluster. For details, see Table 12.

+
+
+ +
+ + + + + + + + + + + + + +
Table 12 cluster field description

Parameter

+

Type

+

Description

+

id

+

String

+

Cluster ID.

+

name

+

String

+

Cluster name.

+
+
+
+

Examples

Example request

+
POST /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters
+{
+    "cluster": {
+        "name": "ES-Test",
+        "instanceNum": 4,
+        "instance": {
+            "flavorRef": "css.large.8",
+            "volume": {
+                "volume_type": "COMMON",
+                "size": 100
+            },
+            "nics": {
+                "vpcId": "fccd753c-91c3-40e2-852f-5ddf76d1a1b2",
+                "netId": "af1c65ae-c494-4e24-acd8-81d6b355c9f1",
+                "securityGroupId": "7e3fed21-1a44-4101-ab29-34e57124f614"
+            }
+        },
+        "httpsEnable": "false",
+        "diskEncryption": {
+            "systemEncrypted": "1",
+            "systemCmkid": "42546bb1-8025-4ad1-868f-600729c341ae"
+        }
+    }
+}
+
Example response
{
+  "cluster": {
+    "id": "ef683016-871e-48bc-bf93-74a29d60d214",
+    "name": "ES-Test"
+  }
+}
+
+
+

Status Code

Table 13 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 13 Status code

Status Code

+

Code

+

Status Code Description

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+

409

+

Conflict

+

The request could not be processed due to a conflict.

+

This status code indicates that the resource that the client attempts to create already exits, or the request fails to be processed because of the update of the conflict request.

+

412

+

Precondition Failed

+

The server does not meet one of the preconditions that the requester puts on the request.

+

200

+

OK

+

The request is processed successfully.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0020.html b/docs/css/api-ref/css_03_0020.html new file mode 100644 index 000000000..d6c8fa815 --- /dev/null +++ b/docs/css/api-ref/css_03_0020.html @@ -0,0 +1,93 @@ + + +

Deleting a Cluster

+

Function

This API is used to delete a cluster. All resources, including customer data, of the deleted cluster will be released. For data security reasons, create a snapshot for the cluster that you want to delete.

+
+

URI

DELETE /v1.0/{project_id}/clusters/{cluster_id}
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster to be deleted.

+
+
+
+

Request

None

+
+

Response

None

+
+

Examples

Delete the cluster whose ID is 2a197c4d-5467-4003-931d-83ec49939cf.

+

Example request

+
DELETE /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/2a197c4d-5467-4003-931d-83ec49939cf
+

Example response

+

The return value is empty.

+
+

Status Code

Table 2 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + +
Table 2 Status code

Status Code

+

Code

+

Status Code Description

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+

404

+

NotFound

+

The requested resource cannot be found.

+

The client should not repeat the request without modifications.

+

200

+

OK

+

The request is processed successfully.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0021.html b/docs/css/api-ref/css_03_0021.html new file mode 100644 index 000000000..c54f6849e --- /dev/null +++ b/docs/css/api-ref/css_03_0021.html @@ -0,0 +1,114 @@ + + +

Restarting a Cluster

+

Function

This API is used to restart a cluster. Restarting the cluster will interrupt ongoing services.

+
+

URI

POST /v1.0/{project_id}/clusters/{cluster_id}/restart
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster to be restarted.

+
+
+
+

Request

None

+
+

Response

+
+ + + + + + + + + +
Table 2 Parameter description

Parameter

+

Type

+

Description

+

jobId

+

String

+

ID of the restart task.

+
+
+
+

Examples

Example request

+
POST /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/47e49a5e-8ced-4d0d-ae15-2af62ac468e3/restart
+

Example response

+
{ 
+ "jobId": [  
+"ff8080815fa0fa5e015fa365b6300007" 
+ ]
+ }
+
+

Status Code

Table 3 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + +
Table 3 Status code

Status Code

+

Code

+

Status Code Description

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+

404

+

NotFound

+

The requested resource cannot be found.

+

The client should not repeat the request without modifications.

+

200

+

OK

+

The request is processed successfully.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0023.html b/docs/css/api-ref/css_03_0023.html new file mode 100644 index 000000000..e0831aac3 --- /dev/null +++ b/docs/css/api-ref/css_03_0023.html @@ -0,0 +1,241 @@ + + +

Obtaining the List of Instance Flavors

+

Function

This API is used to query and display the IDs of supported instance flavors.

+
+

URI

GET /v1.0/{project_id}/flavors
+ +
+ + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+
+
+
+

Request

None

+
+

Response

Table 2 describes the response parameters.

+ +
+ + + + + + + + + +
Table 2 Parameter description

Parameter

+

Type

+

Description

+

versions

+

Array of versions objects

+

List of engine versions.

+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 3 versions field description

Parameter

+

Type

+

Description

+

version

+

String

+

Engine version.

+

type

+

String

+

Instance type. The options are ess, ess-cold, ess-master, and ess-client.

+

flavors

+

Array of flavors objects

+

Flavor list

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 flavors field description

Parameter

+

Type

+

Description

+

ram

+

Integer

+

Memory size of an instance. Unit: GB

+

cpu

+

Integer

+

Number of vCPUs of an instance.

+

name

+

String

+

Flavor name.

+

region

+

String

+

AZ

+

diskrange

+

String

+

Disk capacity range of an instance.

+

flavor_id

+

String

+

ID of a flavor.

+
+
+
+

Examples

Example request
GET /v1.0/6204a5bd270343b5885144cf9c8c158d/flavors
+
+

Example response

+
{
+  "versions": [
+    {
+      "version": "6.2.3",
+      "flavors": [
+        {
+          "cpu": 1,
+          "ram": 8,
+          "name": "css.medium.8",
+          "region": "eu-de",
+          "diskrange": "40,640",
+          "flavor_id": "6b6c0bcf-750d-4f8a-b6f5-c45a143f5198"
+
+        },
+        {
+          "cpu": 2,
+          "ram": 16,
+          "name": "css.large.8",
+          "region": "eu-de",
+          "diskrange": "40,1280",
+          "flavor_id": "d373e339-3cf4-4c00-9739-2259e9f3ec16"
+
+        },
+        {
+          "cpu": 4,
+          "ram": 32,
+          "name": "css.xlarge.8",
+          "region": "eu-de",
+          "diskrange": "40,2560",
+          "flavor_id": "2d8daf1b-873f-4c2e-a7b9-2f9cbcf2f213"
+
+        },
+        {
+          "cpu": 8,
+          "ram": 64,
+          "name": "css.2xlarge.8",
+          "region": "eu-de",
+          "diskrange": "80,5120",
+          "flavor_id": "b3d33ec6-d58a-40f0-aa51-4f671ce64b2a"
+
+        },
+        {
+          "cpu": 16,
+          "ram": 128,
+          "name": "css.4xlarge.8",
+          "region": "eu-de",
+          "diskrange": "160,10240",
+          "flavor_id": "f74419ca-bc91-4558-b4e2-90eeefb37c6e"
+        }
+      ]
+    }
+  ]
+}
+
+

Status Code

Table 5 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + +
Table 5 Status code

Status Code

+

Code

+

Status Code Description

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+

404

+

NotFound

+

The requested resource cannot be found.

+

The client should not repeat the request without modifications.

+

200

+

OK

+

The request is processed successfully.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0024.html b/docs/css/api-ref/css_03_0024.html new file mode 100644 index 000000000..e28cf347d --- /dev/null +++ b/docs/css/api-ref/css_03_0024.html @@ -0,0 +1,164 @@ + + +

Change History

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Released On

+

What's New

+

2022-06-30

+
+

2022-05-30

+

Added cluster version 7.9.3.

+

Modified: Scaling Out a Cluster with only Common Nodes.

+ +

2020-08-30

+
  • Added cluster versions 7.1.1 and 7.6.2.
  • Added the tag function.

    Tag Management APIs

    +
  • Removed "CSS Monitoring Metrics" to Cloud Search Service User Guide.
+

2019-03-15

+
+

2019-02-27

+

Accepted in OTC-4.0/Agile.

+

2019-01-26

+
+

2019-01-17

+

Modified the following section based on software changes:

+

Creating a Cluster

+

2018-12-10

+

Modify parameter description in the following section based on software function changes:

+

Creating a Cluster

+

2018-12-03

+

Optimized the code example:

+

Creating a Cluster

+

2018-11-26

+

Modified the parameter description.

+

Creating a Cluster

+

2018-11-19

+

Added parameters in the following section based on software function changes:

+

Creating a Cluster

+

Querying the List of Clusters

+

Querying Cluster Details

+

2018-11-08

+

Added parameters in the following section based on software function changes:

+

Querying the List of Clusters

+

Querying Cluster Details

+

2018-10-29

+
+

2018-10-19

+
  • Modified the API parameter description in the following section:

    Creating a Cluster

    +
  • Optimized the content in the "Documentation guide" table in the following section based on the API reference document template requirements:

    Before You Start

    +
+

2018-10-12

+
+

2018-10-08

+
  • Accepted in OTC-3.2.
  • Modified the parameter description in the following sections:

    Restoring a Snapshot

    +
+

2018-09-29

+
+

2018-09-14

+
+

2018-09-04

+
+

2018-08-21

+
+

2018-07-31

+

This is the first official release.

+
+
+
+ diff --git a/docs/css/api-ref/css_03_0025.html b/docs/css/api-ref/css_03_0025.html new file mode 100644 index 000000000..5d9e2a4ad --- /dev/null +++ b/docs/css/api-ref/css_03_0025.html @@ -0,0 +1,146 @@ + + +

Scaling Out a Cluster with only Common Nodes

+

Function

This API is used to scale out a cluster with only common nodes. Clusters with master, client, or cold data nodes cannot use this API.

+
+

URI

POST /v1.0/{project_id}/clusters/{cluster_id}/extend 
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster to be scaled out.

+
+
+
+

Request

Table 2 describes the request parameters.

+ +
+ + + + + + + + + + + +
Table 2 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

grow

+

Yes

+

Object

+

Detailed description about the cluster scale-out request. For details, see Table 3.

+
+
+ +
+ + + + + + + + + + + +
Table 3 grow field description

Parameter

+

Mandatory

+

Type

+

Description

+

modifySize

+

Yes

+

Integer

+

Number of instances in a cluster after a scale-out.

+
NOTE:

The total number of existing instances and newly added instances in a cluster cannot exceed 32.

+
+
+
+
+

Response

None

+
+

Examples

Example request

+
POST /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/ea244205-d641-45d9-9dcb-ab2236bcd07e/extend
+{
+    "grow": 
+        {
+            "modifySize": 4
+        }
+}
+

Example response

+
{}
+
+

Status Code

Table 4 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + +
Table 4 Status code

Status Code

+

Code

+

Status Code Description

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+

404

+

NotFound

+

The requested resource cannot be found.

+

The client should not repeat the request without modifications.

+

200

+

OK

+

The request is processed successfully.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0026.html b/docs/css/api-ref/css_03_0026.html new file mode 100644 index 000000000..6da7060f5 --- /dev/null +++ b/docs/css/api-ref/css_03_0026.html @@ -0,0 +1,414 @@ + + +

Querying Cluster Details

+

Function

This API is used to query and display details about a cluster.

+
+

URI

GET /v1.0/{project_id}/clusters/{cluster_id}
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster to be queried.

+
+
+
+

Request

None

+
+

Response

Table 2 describes the response parameters.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Parameter description

Parameter

+

Type

+

Description

+

datastore

+

Object

+

Type of the data search engine. For details, see Table 3.

+

instances

+

Array of instances in Table 4.

+

List of node objects.

+

updated

+

String

+

Last modification time of a cluster. The format is ISO8601: CCYY-MM-DDThh:mm:ss.

+

name

+

String

+

Cluster name.

+

created

+

String

+

Time when a cluster is created. The format is ISO8601: CCYY-MM-DDThh:mm:ss.

+

id

+

String

+

Cluster ID.

+

status

+

String

+

Return value.

+
  • 100: The operation, such as instance creation, is in progress.
  • 200: The cluster is available.
  • 303: The cluster is unavailable.
+

endpoint

+

String

+

Indicates the IP address and port number of the user used to access the VPC.

+

actionProgress

+

Object

+

Cluster operation progress, which indicates the progress of cluster creation and expansion in percentage.

+

actions

+

Array of strings

+

Current behavior on a cluster. Value REBOOTING indicates that the cluster is being restarted, GROWING indicates that capacity expansion is being performed on the cluster, RESTORING indicates that the cluster is being restored, and SNAPSHOTTING indicates that the snapshot is being created.

+

failed_reasons

+

Object

+

Failure cause. If the cluster is in the Available state, this parameter is not returned. For details, see Table 5.

+

httpsEnable

+

Boolean

+

Communication encryption status.

+
  • Value false indicates that communication encryption is not enabled.
  • Value true indicates that communication encryption has been enabled.
+

authorityEnable

+

String

+

Whether to enable authentication. Available values include true and false. Authentication is disabled by default. When authentication is enabled, httpsEnable must be set to true.

+
  • Value true indicates that authentication is enabled for the cluster.
  • Value false indicates that authentication is disabled for the cluster.
+

diskEncrypted

+

Boolean

+

Whether disks are encrypted.

+
  • Value true indicates that disks are encrypted.
  • Value false indicates that disks are not encrypted.
+

cmkId

+

String

+

Key ID used for disk encryption.

+

vpcId

+

String

+

VPC ID.

+

subnetId

+

String

+

Subnet ID.

+

securityGroupId

+

String

+

Security group ID.

+

tags

+

Array of tags in Table 6.

+

Tags in a cluster.

+

period

+

Boolean

+

Whether the cluster is billed.

+
+
+ +
+ + + + + + + + + + + + + +
Table 3 datastore field data structure description

Parameter

+

Type

+

Description

+

type

+

String

+

Supported type: elasticsearch

+

version

+

String

+

Engine version number.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 instances field data structure description

Parameter

+

Type

+

Description

+

type

+

String

+

Supported type: ess (indicating the Elasticsearch node)

+

id

+

String

+

Instance ID.

+

name

+

String

+

Instance name.

+

status

+

String

+

Instance status.

+
  • 100: The operation, such as instance creation, is in progress.
  • 200: The instance is available.
  • 303: The instance is unavailable.
+

specCode

+

String

+

Node specifications.

+

azCode

+

String

+

AZ to which a node belongs.

+
+
+ +
+ + + + + + + + + + + + + +
Table 5 failed_reasons field data structure description

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code.

+
  • CSS.6000: indicates that a cluster fails to be created.
  • CSS.6001: indicates that capacity expansion of a cluster fails.
  • CSS.6002: indicates that a cluster fails to be restarted.
  • CSS.6004: indicates that a node fails to be created in a cluster.
  • CSS.6005: indicates that the service fails to be initialized.
+

error_msg

+

String

+

Detailed error information.

+
+
+ +
+ + + + + + + + + + + + + +
Table 6 tags field data structure description

Parameter

+

Type

+

Description

+

key

+

String

+

Tag key.

+

value

+

String

+

Tag value.

+
+
+
+

Examples

Example request

+
GET /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/5c77b71c-5b35-4f50-8984-76387e42451a
+

Example response

+
{
+    "datastore": {
+        "type": "elasticsearch",
+        "version": "7.6.2"
+    },
+    "instances": [
+        {
+            "status": "200",
+            "type": "ess",
+            "id": "c2f29369-1985-4028-8e72-89cbb96a299d",
+            "name": "css-5977-ess-esn-1-1",
+            "specCode": "css.xlarge.2",
+            "azCode": "cn-cmcc1a-01"
+        }
+    ],
+    "updated": "2020-12-03T07:02:08",
+    "name": "css-5977",
+    "created": "2020-12-03T07:02:08",
+    "id": "bc8ea974-77ef-46de-b011-918b0fdedb45",
+    "status": "200",
+    "endpoint": "10.16.0.88:9200",
+    "vpcId": "e7daa617-3ee6-4ff1-b042-8cda4a006a46",
+    "subnetId": "6253dc44-24cd-4c0a-90b3-f965e7f4dcd4",
+    "securityGroupId": "d478041e-bcbe-4d69-a492-b6122d774b7f",
+    "httpsEnable": true,
+    "authorityEnable": true,
+    "diskEncrypted": false,
+    "actionProgress": {},
+    "actions": [],
+    "tags": [],
+    "period": false
+
+}
+
+

Status Code

Table 7 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + +
Table 7 Status code

Status Code

+

Code

+

Status Code Description

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+

404

+

NotFound

+

The requested resource cannot be found.

+

The client should not repeat the request without modifications.

+

200

+

OK

+

The request is processed successfully.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0030.html b/docs/css/api-ref/css_03_0030.html new file mode 100644 index 000000000..4bba9fd30 --- /dev/null +++ b/docs/css/api-ref/css_03_0030.html @@ -0,0 +1,144 @@ + + +

Modifying Basic Configurations of a Cluster Snapshot

+

Using this API will automatically enable the snapshot function.

+
+

Function

This API is used to modify the basic configurations of a cluster snapshot. The basic configurations include the OBS bucket and IAM agency.

+
+

URI

POST /v1.0/{project_id}/clusters/{cluster_id}/index_snapshot/setting
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster where index data is to be backed up.

+
+
+
+

Request

Table 2 describes the request parameters.

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 2 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

bucket

+

Yes

+

String

+

OBS bucket used for index data backup. If there is snapshot data in an OBS bucket, only the OBS bucket is used and cannot be changed.

+

agency

+

Yes

+

String

+

IAM agency used to access OBS.

+

snapshotCmkId

+

No

+

String

+

Key ID used for snapshot encryption.

+
  • The Default Master Keys cannot be used to create grants. Specifically, you cannot use Default Master Keys whose aliases end with /default in KMS to encrypt snapshots.
  • If a snapshot has been stored in the OBS bucket, you cannot modify the parameters for encrypting the snapshot.
  • If the key used for encryption is in the Pending deletion or disable state, you cannot perform backup and restoration operations on the cluster. Specifically, new snapshots cannot be created for the cluster, and existing snapshots cannot be used for restoration. In this case, switch to the KMS management console and change the state of the target key to enable so that backup and restore operations are allowed on the cluster.
  • If the key used for encryption is deleted, backup and restore operations are not allowed on the cluster. In addition, the deleted key cannot be restored. Therefore, exercise caution when deleting a key.
  • You are advised to disable the automatic snapshot creation function if the key is deleted or is in the Pending deletion or disable state. In this condition, automatic snapshot creation is allowed based on the configured snapshot policy. However, all automatic snapshot creation tasks will fail, and the failed tasks are displayed in the failed task list in the Failed Tasks dialog box.
+
+
+
+

Response

None

+
+

Examples

Example request

+
POST /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/ea244205-d641-45d9-9dcb-ab2236bcd07e/index_snapshot/setting
+{
+    "bucket":"test-bucket",
+    "agency":"usearch",
+    "snapshotCmkId":"42546bb1-8025-4ad1-868f-600729c341aea"
+}
+
+

Status Code

Table 3 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 Status code

Status Code

+

Code

+

Status Code Description

+

200

+

OK

+

The request is processed successfully.

+

406

+

Not Acceptable

+

The server cannot fulfill the request according to the content characteristics of the request.

+

412

+

Precondition Failed

+

The server does not meet one of the preconditions that the requester puts on the request.

+

504

+

Gateway Timeout

+

A gateway timeout error occurred.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0031.html b/docs/css/api-ref/css_03_0031.html new file mode 100644 index 000000000..f3cdd640e --- /dev/null +++ b/docs/css/api-ref/css_03_0031.html @@ -0,0 +1,146 @@ + + +

Setting the Automatic Snapshot Creation Policy

+

Function

This API is used to set parameters related to automatic snapshot creation. By default, a snapshot is created per day.

+
+

URI

POST /v1.0/{project_id}/clusters/{cluster_id}/index_snapshot/policy
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster where automatic snapshot creation is enabled.

+
+
+
+

Request

Table 2 describes the request parameters.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

prefix

+

Yes

+

String

+

Prefix of the snapshot name that is automatically created.

+

period

+

Yes

+

String

+

Time when a snapshot is created every day. Snapshots can only be created on the hour. The time format is the time followed by the time zone, specifically, HH:mm z. In the format, HH:mm refers to the hour time and z refers to the time zone, for example, 00:00 GMT+08:00 and 01:00 GMT+08:00.

+

keepday

+

Yes

+

Integer

+

Number of days that a snapshot can be retained. The value ranges from 1 to 90. The system automatically deletes snapshots that have been retained for the allowed maximum duration on the half hour.

+

enable

+

Yes

+

String

+

Value true indicates that the automatic snapshot creation policy is enabled, and value false indicates that the automatic snapshot creation policy is disabled.

+

deleteAuto

+

No

+

String

+

Whether to delete all automatically created snapshots when the automatic snapshot creation policy is disabled. The default value is false, indicating that snapshots that have been automatically created are not deleted when the automatic snapshot creation function is disabled. If this parameter is set to true, all automatically created snapshots are deleted when the automatic snapshot creation policy is disabled.

+
+
+
+

Response

None

+
+

Examples

Example request

+
POST /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/ea244205-d641-45d9-9dcb-ab2236bcd07e/index_snapshot/policy
+{
+    "prefix":"snapshot",
+    "period":"16:00 GMT+08:00",
+    "keepday":7,
+    "enable":"true"
+}
+
+

Status Code

Table 3 describes the status code.

+ +
+ + + + + + + + + + + + + +
Table 3 Status code

Status Code

+

Code

+

Status Code Description

+

200

+

OK

+

The request is processed successfully.

+

406

+

Not Acceptable

+

The server cannot fulfill the request according to the content characteristics of the request.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0032.html b/docs/css/api-ref/css_03_0032.html new file mode 100644 index 000000000..82b9c960b --- /dev/null +++ b/docs/css/api-ref/css_03_0032.html @@ -0,0 +1,162 @@ + + +

Querying the Automatic Snapshot Creation Policy for a Cluster

+

Function

This API is used to query the automatic snapshot creation policy for a cluster.

+
+

URI

GET /v1.0/{project_id}/clusters/{cluster_id}/index_snapshot/policy
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster, for which the automatic snapshot creation policy is to be queried.

+
+
+
+

Request

None

+
+

Response

Table 2 describes the response parameters.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Parameter description

Parameter

+

Type

+

Description

+

keepday

+

Integer

+

Retention days for a snapshot.

+

period

+

String

+

Time when a snapshot is created every day.

+

prefix

+

String

+

Snapshot name prefix.

+

bucket

+

String

+

OBS bucket for storing snapshots.

+

basePath

+

String

+

Storage path of the snapshot in the OBS bucket.

+

agency

+

String

+

Agency used to access OBS buckets.

+

enable

+

String

+

Whether to enable the automatic snapshot creation policy.

+

snapshotCmkId

+

String

+

Snapshot encryption ID. If the snapshot is not encrypted, value null is returned.

+
+
+
+

Examples

Example request

+
GET /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/ea244205-d641-45d9-9dcb-ab2236bcd07e/index_snapshot/policy
+

Example response

+

+
+
{
+    "keepday":2,
+    "period":"16:00 GMT+08:00",
+    "prefix":"snapshot",
+    "bucket":"es-backup",
+    "basePath": "css_repository/tests", 
+    "agency":"usearch",
+    "enable":"true",
+    "snapshotCmkId" : "a7d5d58c-0330-4d25-860d-c488a4cb4ba7" 
+}
+
+

Status Code

Table 3 describes the status code.

+ +
+ + + + + + + + + + + + + +
Table 3 Status code

Status Code

+

Code

+

Status Code Description

+

200

+

OK

+

The request is processed successfully.

+

406

+

Not Acceptable

+

The server cannot fulfill the request according to the content characteristics of the request.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0033.html b/docs/css/api-ref/css_03_0033.html new file mode 100644 index 000000000..bc47c9592 --- /dev/null +++ b/docs/css/api-ref/css_03_0033.html @@ -0,0 +1,210 @@ + + +

Manually Creating a Snapshot

+

Function

This API is used to manually create a snapshot.

+
+

URI

POST /v1.0/{project_id}/clusters/{cluster_id}/index_snapshot
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster where index data is to be backed up.

+
+
+
+

Request

Table 2 describes the request parameters.

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 2 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

name

+

Yes

+

String

+

Snapshot name. The snapshot name must start with a letter and contains 4 to 64 characters consisting of only lowercase letters, digits, hyphens (-), and underscores (_).

+

description

+

No

+

String

+

Description of a snapshot. The value contains 0 to 256 characters, and angle brackets (<) and (>) are not allowed.

+

indices

+

No

+

String

+

Name of the index to be backed up. Multiple index names are separated by commas (,). By default, data of all indices is backed up. You can use the asterisk (*) to back up data of certain indices. For example, if you enter 2018-06*, then data of indices with the name prefix of 2018-06 will be backed up.

+

The value contains 0 to 1,024 characters. Uppercase letters, spaces, and certain special characters (including "\<|>/?) are not allowed.

+
+
+
+

Response

Table 3 describes the response parameters.

+ +
+ + + + + + + + + +
Table 3 Parameter description

Parameter

+

Type

+

Description

+

backup

+

Object

+

Snapshot object. For details, see Table 4.

+
+
+ +
+ + + + + + + + + + + + + +
Table 4 backup field data structure description

Parameter

+

Type

+

Description

+

id

+

String

+

ID of the snapshot.

+

name

+

String

+

Snapshot name.

+
+
+
+

Examples

Example request

+
POST /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/ea244205-d641-45d9-9dcb-ab2236bcd07e/index_snapshot
+{
+    "name":"snapshot_001",
+    "indices":"myindex1,myindex2",
+    "description":""
+}
+
+

Example response

+
{
+    "backup":{
+       "id" : "9dc4f5c9-33c0-45c7-9378-ae35ae350682",
+       "name": "snapshot_101"
+    }
+}
+

Status Code

Table 5 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 Status code

Status Code

+

Code

+

Status Code Description

+

201

+

Created

+

The request for creating a resource has been fulfilled.

+

500

+

InternalServerError

+

The server is able to receive the request but it could not understand the request.

+

406

+

Not Acceptable

+

The server cannot fulfill the request according to the content characteristics of the request.

+

501

+

Not Implemented

+

The server does not support the requested function.

+

403

+

Forbidden

+

The server understood the request, but is refusing to fulfill it.

+

The client should not repeat the request without modifications.

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0034.html b/docs/css/api-ref/css_03_0034.html new file mode 100644 index 000000000..284cf531f --- /dev/null +++ b/docs/css/api-ref/css_03_0034.html @@ -0,0 +1,350 @@ + + +

Querying the List of Snapshots

+

Function

This API is used to query all snapshots of a cluster.

+
+

URI

GET /v1.0/{project_id}/clusters/{cluster_id}/index_snapshots
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster, to which the snapshot to be queried belongs.

+
+
+
+

Request

None

+
+

Response

+
+ + + + + + + + + +
Table 2 backups field data structure description

Parameter

+

Type

+

Description

+

backups

+

Array of backup objects

+

Snapshot list.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 backups field data structure description

Parameter

+

Type

+

Description

+

created

+

String

+

Time when a snapshot is created.

+

datastore

+

Object

+

Type of the data search engine. For details, see Table 4.

+

description

+

String

+

Description of the snapshot.

+

id

+

String

+

ID of the snapshot.

+

clusterId

+

String

+

Cluster ID.

+

clusterName

+

String

+

Cluster name.

+

name

+

String

+

Snapshot name.

+

status

+

String

+

Snapshot status.

+

updated

+

String

+

Whether the snapshot status is updated.

+

backupType

+

String

+

Value 0 indicates that automatic snapshot creation is enabled. Value 1 indicates that you need to manually create the snapshot.

+

backupMethod

+

String

+

Snapshot creation mode.

+

backupExpectedStartTime

+

String

+

Time when the snapshot starts to be executed.

+

backupKeepDay

+

Integer

+

Snapshot retention period.

+

backupPeriod

+

String

+

Time when a snapshot is executed every day.

+

indices

+

String

+

Indices that need to be backed up.

+

totalShards

+

Integer

+

Total number of shards of the indices to be backed up.

+

failedShards

+

Integer

+

Number of shards that fail to be backed up.

+

version

+

String

+

Version of the snapshot.

+

restoreStatus

+

String

+

Snapshot restoration status.

+

startTime

+

integer

+

Timestamp when the snapshot starts to be executed.

+

endTime

+

integer

+

Timestamp when the snapshot execution ends.

+

bucketName

+

String

+

Bucket for storing snapshot data.

+
+
+ +
+ + + + + + + + + + + + + +
Table 4 datastore field data structure description

Parameter

+

Type

+

Description

+

type

+

String

+

Supported type: elasticsearch

+

version

+

String

+

Engine version number.

+
+
+
+

Examples

Example request

+
GET /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/ea244205-d641-45d9-9dcb-ab2236bcd07e/index_snapshots
+

Example response

+
{
+   "backups": [
+    {
+      "created": "2018-03-07T07:34:47",
+      "datastore": {
+        "type": "elasticsearch",
+        "version": "*.*.*"
+      },
+      "description": "",
+      "id": "e29d99c1-3d19-4ea4-ae8d-f252df76cbe9",
+      "clusterId": "37cb1075-c38e-4cd8-81df-442d52df3786",
+      "clusterName": "Es-xfx",
+      "name": "snapshot-002",
+      "status": "COMPLETED",
+      "updated": "2018-03-07T07:40:12",
+      "backupType": "1",
+      "backupMethod": "manual",
+      "backupExpectedStartTime": null,
+      "backupKeepDay": null,
+      "backupPeriod": null,
+      "indices": ".kibana,website2",
+      "totalShards": 6,
+      "failedShards": 0,
+      "version": "6.2.3",
+      "restoreStatus": "success",
+      "startTime": 1520408087099,
+      "endTime": 1520408412219,
+      "bucketName": "obs-b8ed"
+    },
+    {
+      "created": "2018-03-06T15:42:37",
+      "datastore": {
+        "type": "elasticsearch",
+        "version": "6.2.3"
+      },
+      "description": "",
+      "id": "29a2254e-947f-4463-b65a-5f0b17515fae",
+      "clusterId": "37cb1075-c38e-4cd8-81df-442d52df3786",
+      "clusterName": "Es-xfx",
+      "name": "snapshot-001",
+      "status": "COMPLETED",
+      "updated": "2018-03-06T15:48:04",
+      "backupType": "1",
+      "backupMethod": "manual",
+      "backupExpectedStartTime": null,
+      "backupKeepDay": null,
+      "backupPeriod": null,
+      "indices": ".kibana",
+      "totalShards": 1,
+      "failedShards": 0,
+      "version": "6.2.3",
+      "restoreStatus": "none",
+      "startTime": 1520350957275,
+      "endTime": 1520351284357,
+      "bucketName": "obs-b8ed"
+    }
+  ]
+}
+
+

Status Code

Table 5 describes the status code.

+ +
+ + + + + + + + + + + + + +
Table 5 Status code

Status Code

+

Code

+

Status Code Description

+

200

+

OK

+

The request is processed successfully.

+

406

+

Not Acceptable

+

The server cannot fulfill the request according to the content characteristics of the request.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0035.html b/docs/css/api-ref/css_03_0035.html new file mode 100644 index 000000000..8c1cfce56 --- /dev/null +++ b/docs/css/api-ref/css_03_0035.html @@ -0,0 +1,158 @@ + + +

Restoring a Snapshot

+

Function

This API is used to manually restore a snapshot.

+
+

URI

POST /v1.0/{project_id}/clusters/{cluster_id}/index_snapshot/{snapshot_id}/restore
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster to which the snapshot belongs.

+

snapshot_id

+

Yes

+

String

+

ID of the snapshot.

+
+
+
+

Request

Table 2 describes the request parameters.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

targetCluster

+

Yes

+

String

+

ID of the cluster, to which the snapshot is to be restored.

+

indices

+

No

+

String

+

Name of the index to be restored. Multiple index names are separated by commas (,). By default, data of all indices is restored. You can use the asterisk (*) to back up data of certain indices. For example, if you enter 2018-06*, then data of indices with the name prefix of 2018-06 will be restored.

+

The value contains 0 to 1,024 characters. Uppercase letters, spaces, and certain special characters (including "\<|>/?) are not allowed.

+

renamePattern

+

No

+

String

+

Rule for defining the indices to be restored. The value contains a maximum of 1,024 characters.

+

Indices that meet the filtering condition specified by this parameter are restored. The filtering condition must be specified using regular expressions. The value contains 0 to 1,024 characters. Uppercase letters, spaces, and certain special characters (including "\<|>/?,) are not allowed.

+

renameReplacement

+

No

+

String

+

Rule for renaming an index. The value contains 0 to 1,024 characters. Uppercase letters, spaces, and certain special characters (including "\<|>/?,) are not allowed. For example, value restored_index_$1 indicates that restored_ is added in front of the names of all restored indices.

+

The renamePattern and renameReplacement parameters must be both configured.

+
+
+
+

Response

None

+
+

Examples

Example request

+
POST /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/ea244205-d641-45d9-9dcb-ab2236bcd07e/index_snapshot/29a2254e-947f-4463-b65a-5f0b17515fae/restore
+{
+    "targetCluster":"ea244205-d641-45d9-9dcb-ab2236bcd07e",
+    "indices":"myindex1,myindex2"
+}
+

Example response

+

The return value is empty.

+
+

Status Code

Table 3 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + +
Table 3 Status code

Status Code

+

Code

+

Status Code Description

+

201

+

Created

+

The request for creating a resource has been fulfilled.

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+

403

+

Forbidden

+

The server understood the request, but is refusing to fulfill it.

+

The client should not repeat the request without modifications.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0036.html b/docs/css/api-ref/css_03_0036.html new file mode 100644 index 000000000..7cc109dfd --- /dev/null +++ b/docs/css/api-ref/css_03_0036.html @@ -0,0 +1,99 @@ + + +

Deleting a Snapshot

+

Function

This API is used to delete a snapshot.

+
+

URI

DELETE /v1.0/{project_id}/clusters/{cluster_id}/index_snapshot/{snapshot_id}
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster to which the snapshot belongs.

+

snapshot_id

+

Yes

+

String

+

ID of the snapshot to be deleted.

+
+
+
+

Request

None

+
+

Response

None

+
+

Examples

Example request

+
DELETE /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/ea244205-d641-45d9-9dcb-ab2236bcd07e/index_snapshot/29a2254e-947f-4463-b65a-5f0b17515fae
+
+

Status Code

Table 2 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + +
Table 2 Status code

Status Code

+

Code

+

Status Code Description

+

200

+

OK

+

The request is processed successfully.

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+

403

+

Forbidden

+

The server understood the request, but is refusing to fulfill it.

+

The client should not repeat the request without modifications.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0037.html b/docs/css/api-ref/css_03_0037.html new file mode 100644 index 000000000..d0c5bc7b9 --- /dev/null +++ b/docs/css/api-ref/css_03_0037.html @@ -0,0 +1,84 @@ + + +

(Not Recommended) Automatically Configuring Basic Settings of a Cluster Snapshot

+

The API for automatically configuring a cluster snapshot can automatically create OBS buckets and agencies for storing snapthos. If you have multiple clusters, an OBS bucket will be created for each cluster via this API during automatic configuration and consume your OBS quota. Too many OBS buckets will be difficult to manage. You are advised to perform operations in Modifying Basic Configurations of a Cluster Snapshot.

+
+

Function

This API is used to automatically set basic configurations for a cluster snapshot, including configuring OBS buckets and IAM agency.

+
  • OBS Bucket: Enter the location of the OBS bucket used for storing snapshots.
  • IAM Agency: Authorize you to use OBS in IAM so that snapshots must be stored in OBS.
+
+

URI

POST /v1.0/{project_id}/clusters/{cluster_id}/index_snapshot/auto_setting
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster where snapshots are to be backed up.

+
+
+
+

Request

None

+
+

Response

None

+
+

Examples

Example request

+
POST /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/ea244205-d641-45d9-9dcb-ab2236bcd07e/index_snapshot/auto_setting
+
+

Status Code

Table 2 describes the status code.

+ +
+ + + + + + + + + + + + + +
Table 2 Status code

Status Code

+

Code

+

Status Code Description

+

200

+

OK

+

The request is processed successfully.

+

406

+

Not Acceptable

+

The server cannot fulfill the request according to the content characteristics of the request.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0038.html b/docs/css/api-ref/css_03_0038.html new file mode 100644 index 000000000..61559eed9 --- /dev/null +++ b/docs/css/api-ref/css_03_0038.html @@ -0,0 +1,198 @@ + + +

Scaling Out a Cluster with Special Nodes

+

Function

This API is used to scale out a cluster with special nodes. That is, if a cluster has master, client, or cold data nodes, this API is used for scale-out.

+
+

URI

POST /v1.0/{project_id}/clusters/{cluster_id}/role_extend
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster to be scaled out.

+
+
+
+

Request

Table 2 describes the request parameters.

+ +
+ + + + + + + + + + + +
Table 2 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

grow

+

Yes

+

Array of object

+

Detailed description about the cluster scale-out request. For details, see Table 3.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 grow field description

Parameter

+

Mandatory

+

Type

+

Description

+

type

+

Yes

+

String

+

Type of the instance to be scaled out. Select at least one from ess, ess-cold, ess-master, and ess-client.

+

You can only add instances, rather than increase storage capacity, on nodes of the ess-master and ess-client types.

+

nodesize

+

Yes

+

Integer

+

Number of instances to be scaled out. The total number of existing instances and newly added instances in a cluster cannot exceed 32.

+

disksize

+

Yes

+

Integer

+

Storage capacity of the instance to be expanded. The total storage capacity of existing instances and newly added instances in a cluster cannot exceed the maximum instance storage capacity allowed when a cluster is being created. In addition, you can expand the instance storage capacity for a cluster for up to six times.

+

Unit: GB

+
+
+
+

Response

Table 4 describes the response parameters.

+ +
+ + + + + + + + + +
Table 4 Parameter description

Parameter

+

Type

+

Description

+

id

+

String

+

Cluster ID.

+
+
+
+

Examples

Example request

+
POST v1.0/458d905f22da49c39f609e3347d65723/clusters/4f3deec3-efa8-4598-bf91-560aad1377a3/role_extend
+{
+    "grow": [
+        {
+            "type": "ess-master",
+            "nodesize": 2,
+            "disksize": 0
+        },
+        {
+            "type": "ess",
+            "nodesize": 0,
+            "disksize": 50
+        },
+        {
+            "type": "ess-client",
+            "nodesize": 1,
+            "disksize": 0
+        }
+    ]
+}
+

Example response

+
{
+    "id": "4f3deec3-efa8-4598-bf91-560aad1377a3"
+}
+
+

Status Code

Table 5 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + +
Table 5 Status code

Status Code

+

Code

+

Status Code Description

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+

404

+

NotFound

+

The requested resource cannot be found.

+

The client should not repeat the request without modifications.

+

200

+

OK

+

The request is processed successfully.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0039.html b/docs/css/api-ref/css_03_0039.html new file mode 100644 index 000000000..f975c7c8c --- /dev/null +++ b/docs/css/api-ref/css_03_0039.html @@ -0,0 +1,81 @@ + + +

Disabling the Snapshot Function

+

Function

This API is used to disable the snapshot function.

+
+

URI

DELETE /v1.0/{project_id}/clusters/{cluster_id}/index_snapshots
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster to which the snapshot belongs.

+
+
+
+

Request

None

+
+

Response

None

+
+

Examples

Example request

+
DELETE /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/ea244205-d641-45d9-9dcb-ab2236bcd07e/index_snapshots
+
+

Status Code

Table 2 describes the status code.

+ +
+ + + + + + + + + + + + + +
Table 2 Status code

Status Code

+

Code

+

Status Code Description

+

200

+

OK

+

The request is processed successfully.

+

406

+

Not Acceptable

+

The server cannot fulfill the request according to the content characteristics of the request.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0040.html b/docs/css/api-ref/css_03_0040.html new file mode 100644 index 000000000..250ba57ce --- /dev/null +++ b/docs/css/api-ref/css_03_0040.html @@ -0,0 +1,23 @@ + + + +

Common Parameters

+ +

+
+ +
+ +
+ diff --git a/docs/css/api-ref/css_03_0050.html b/docs/css/api-ref/css_03_0050.html new file mode 100644 index 000000000..4e2f9f19a --- /dev/null +++ b/docs/css/api-ref/css_03_0050.html @@ -0,0 +1,81 @@ + + +

Downloading a Certificate File

+

Function

This API is used to download the HTTPS certificate file of the server.

+
+

URI

GET /v1.0/dev/cluster/sslCert
+
+

Request

None

+
+

Response

+
+ + + + + + + + + +
Table 1 Parameter description

Parameter

+

Type

+

Description

+

certBase64

+

String

+

This string is obtained after the certificate file is transcoded using Base64. You need to run the following command to parse the string into a certificate file. The generated certificate file is saved in the folder where the command to be executed is located. In the following command, "$certBase64" indicates the string returned in the response message. The name of the generated certificate file is CloudSearchService.cert. You can specify another name for the certificate file, but must use .cert as the suffix of the name.

+

echo -n "$certBase64" | base64 -d > CloudSearchService.cert

+
+
+
+

Examples

Example request

+
GET /v1.0/dev/cluster/sslCert
+

Example response

+
{   "certBase64":"MIIDnTCCAoWgAwIBAgIEXXdMtTANBgkqhkiG9w0BAQsFADB/MRAwDgYDVQQGEwdHZXJtYW55MQ0wCwYDVQQIEwROb25lMQ0wCwYDVQQHEwROb25lMRkwFwYDVQQKExBPcGVuVGVsZWtvbUNsb3VkMRUwEwYDVQQLEwxEYXRhQW5hbHlzaXMxGzAZBgNVBAMTEkNsb3VkU2VhcmNoU2VydmljZTAeFw0xODExMTcxODE4NDJaFw0xOTAyMTUxODE4NDJaMH8xEDAOBgNVBAYTB0dlcm1hbnkxDTALBgNVBAgTBE5vbmUxDTALBgNVBAcTBE5vbmUxGTAXBgNVBAoTEE9wZW5UZWxla29tQ2xvdWQxFTATBgNVBAsTDERhdGFBbmFseXNpczEbMBkGA1UEAxMSQ2xvdWRTZWFyY2hTZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApHai9+LMoFSlWqI+YodGiFLw597Vuoo7gG3qTCs+szQTn3PTZtbnzy7TNWjn8K41mkBgUY16wtkhH1nu6AmhRLpZA+2fwAz34v/tDOYahPq045bk9S/znJXQeWWeux93I15z7OP/XC68IF2AKl2NXjmm9bAD/DsqaLuJpoE77d71862sD6uRCBQYyZoQaHw+eKuL8/+5PjWvG9mS+Rxp0DcLd1waFkyK4BjB5Ae3og4bAivKo7vQHH79fgnuK0SQnNpxlU8xLIGaKsQ0/yeJrTrlfy3vBQmj949SbCzFjvmXgkbv4I0jcT5Ax1P68tlasUUnCqFTjGTbzeT82CeE6QIDAQABoyEwHzAdBgNVHQ4EFgQUPPZLu9ElUzQgKURRwn8HpzIliEcwDQYJKoZIhvcNAQELBQADggEBAI/e/sGbZ1jB3ao7Car2p7rm1Pg8ro1kSy9o+Jug6XjJpkwITKGkhPYugtGuKgL6oiYkdJhqmfrm/1R7phf1qzBgRoWtR7eCBg4uorNaYvTelAjbIoYGL03D1c5K6e1XwRsdqNWT3TwiHZ5CuiVOsjAtvt3OrvF2YtPUOJpbbvdXlnLKaLHoaklcyyMJ+KmUbkd2XFhzlhwj4eOaloL8XQcAk/urYFFNTymJPnNiEXjLAgGCfE/j8rX26WKvPUGmcuuqBiK7Ob+VfnfpnssDQoBtQsN9eUNxkYkg6eua8U6zR3nSPxXpdn+TZo3HHnUp3x0f1Xev49MHKe/aPMJOTYE="
+}
+

After obtaining the preceding character string, run the following command to obtain the CloudSearchService.cert certificate file:

+
echo -n "MIIDnTCCAoWgAwIBAgIEXXdMtTANBgkqhkiG9w0BAQsFADB/MRAwDgYDVQQGEwdHZXJtYW55MQ0wCwYDVQQIEwROb25lMQ0wCwYDVQQHEwROb25lMRkwFwYDVQQKExBPcGVuVGVsZWtvbUNsb3VkMRUwEwYDVQQLEwxEYXRhQW5hbHlzaXMxGzAZBgNVBAMTEkNsb3VkU2VhcmNoU2VydmljZTAeFw0xODExMTcxODE4NDJaFw0xOTAyMTUxODE4NDJaMH8xEDAOBgNVBAYTB0dlcm1hbnkxDTALBgNVBAgTBE5vbmUxDTALBgNVBAcTBE5vbmUxGTAXBgNVBAoTEE9wZW5UZWxla29tQ2xvdWQxFTATBgNVBAsTDERhdGFBbmFseXNpczEbMBkGA1UEAxMSQ2xvdWRTZWFyY2hTZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApHai9+LMoFSlWqI+YodGiFLw597Vuoo7gG3qTCs+szQTn3PTZtbnzy7TNWjn8K41mkBgUY16wtkhH1nu6AmhRLpZA+2fwAz34v/tDOYahPq045bk9S/znJXQeWWeux93I15z7OP/XC68IF2AKl2NXjmm9bAD/DsqaLuJpoE77d71862sD6uRCBQYyZoQaHw+eKuL8/+5PjWvG9mS+Rxp0DcLd1waFkyK4BjB5Ae3og4bAivKo7vQHH79fgnuK0SQnNpxlU8xLIGaKsQ0/yeJrTrlfy3vBQmj949SbCzFjvmXgkbv4I0jcT5Ax1P68tlasUUnCqFTjGTbzeT82CeE6QIDAQABoyEwHzAdBgNVHQ4EFgQUPPZLu9ElUzQgKURRwn8HpzIliEcwDQYJKoZIhvcNAQELBQADggEBAI/e/sGbZ1jB3ao7Car2p7rm1Pg8ro1kSy9o+Jug6XjJpkwITKGkhPYugtGuKgL6oiYkdJhqmfrm/1R7phf1qzBgRoWtR7eCBg4uorNaYvTelAjbIoYGL03D1c5K6e1XwRsdqNWT3TwiHZ5CuiVOsjAtvt3OrvF2YtPUOJpbbvdXlnLKaLHoaklcyyMJ+KmUbkd2XFhzlhwj4eOaloL8XQcAk/urYFFNTymJPnNiEXjLAgGCfE/j8rX26WKvPUGmcuuqBiK7Ob+VfnfpnssDQoBtQsN9eUNxkYkg6eua8U6zR3nSPxXpdn+TZo3HHnUp3x0f1Xev49MHKe/aPMJOTYE=" | base64 -d > CloudSearchService.cert
+
+

Status Code

+
+ + + + + + + + + + + + + + + + + +
Table 2 Status code

Status Code

+

Code

+

Status Code Description

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+

404

+

NotFound

+

The requested resource cannot be found.

+

The client should not repeat the request without modifications.

+

200

+

OK

+

The request is processed successfully.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0051.html b/docs/css/api-ref/css_03_0051.html new file mode 100644 index 000000000..0514cf051 --- /dev/null +++ b/docs/css/api-ref/css_03_0051.html @@ -0,0 +1,48 @@ + + +

Overview

+

Welcome to Cloud Search Service API Reference. Cloud Search Service (CSS) provides hosted, distributed search engine services. It is fully compatible with open-source Elasticsearch and supports multi-condition retrieval, statistics, and reporting of structured and unstructured texts.

+

This document provides CSS API description, syntax, parameters, and examples. CSS provides APIs for cluster management and snapshot management. You can call these APIs to easily create, query, delete, restart, and scale clusters.

+
You can search for information you need according to Table 1. +
+ + + + + + + + + + + + + + + + + + + +
Table 1 Overview

Chapter

+

Description

+

API Overview

+

API constituents and list

+

Environment Preparation

+

Prerequisites for using the APIs.

+

API Calling

+

Representational State Transfer (REST) message bodies, calling methods, and examples

+

APIs for each module

+

APIs provided by CSS

+

Common Parameters

+

Common parameters, status codes, and error codes of CSS APIs

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0053.html b/docs/css/api-ref/css_03_0053.html new file mode 100644 index 000000000..72bdcb8d3 --- /dev/null +++ b/docs/css/api-ref/css_03_0053.html @@ -0,0 +1,11 @@ + + +

Endpoints

+

An endpoint is the request address for calling an API. Endpoints vary depending on services and regions. For the endpoints of all services, see Regions and Endpoints.

+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0056.html b/docs/css/api-ref/css_03_0056.html new file mode 100644 index 000000000..3be17b7c6 --- /dev/null +++ b/docs/css/api-ref/css_03_0056.html @@ -0,0 +1,11 @@ + + +

Supported Cluster Versions

+

In CSS, Elasticsearch 7.6.2 and 7.9.3 and Kibana 7.6.2 and 7.9.3 are supported.

+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0057.html b/docs/css/api-ref/css_03_0057.html new file mode 100644 index 000000000..b27833ca4 --- /dev/null +++ b/docs/css/api-ref/css_03_0057.html @@ -0,0 +1,26 @@ + + +

API Overview

+

The CSS API is a self-developed API that complies with RESTful API design specifications. You can call CSS APIs to implement the CSS functions described in Table 1.

+ +
+ + + + + + + + + + +
Table 1 API description

Type

+

Description

+

Cluster Management APIs

+

You can use cluster management APIs to create clusters, scale out a cluster, view cluster details, and obtain instance specifications.

+

Snapshot Management APIs

+

Snapshots can be used to back up and restore data. You can use snapshot management APIs to create, restore, or delete a snapshot.

+
+
+
+ diff --git a/docs/css/api-ref/css_03_0071.html b/docs/css/api-ref/css_03_0071.html new file mode 100644 index 000000000..ede350160 --- /dev/null +++ b/docs/css/api-ref/css_03_0071.html @@ -0,0 +1,47 @@ + + +

Obtaining a Project ID and Name

+

A project ID or project name is required in some API requests. You need to obtain the project ID and name before calling an API.

+

Obtaining a Project ID and Name from the Console

  1. Log in to the console.
  2. In the upper right corner of the page, click the username and choose My Credentials from the drop-down list. The My Credentials page is displayed.
  3. In the project list, view the Project ID and Project Name.
    Figure 1 Viewing the project ID and name
    +
+
+

Obtaining a Project ID by Calling an API

The API for obtaining a project ID is GET https://{iam-endpoint}/v3/projects. {iam-endpoint} indicates the endpoint of IAM, which can be obtained from Endpoints.

+
The following is an example response. For example, if CSS is deployed in region xxx, the value of name in the response body is xxx. The value of id in projects is the project ID.
{
+    "projects": [
+        {
+            "domain_id": "65382450e8f64ac0870cd180d14exxxx",
+            "is_domain": false,
+            "parent_id": "65382450e8f64ac0870cd180d14exxxx",
+            "name": "xxx",    //Project name, the name of the deployment zone.
+            "description": "",
+            "links": {
+                "next": null,
+                "previous": null,
+                "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897dxxxx"
+            },
+            "id": "a4a5d4098fb4474fa22cd05f897dxxxx",    //Project ID
+            "enabled": true
+        }
+    ],
+    "links": {
+        "next": null,
+        "previous": null,
+        "self": "https://www.example.com/v3/projects"
+    }
+}
+
+
+
+
+ +
+ + + \ No newline at end of file diff --git a/docs/css/api-ref/css_03_0073.html b/docs/css/api-ref/css_03_0073.html new file mode 100644 index 000000000..1e18c6538 --- /dev/null +++ b/docs/css/api-ref/css_03_0073.html @@ -0,0 +1,88 @@ + + +

Common Request Parameters

+

Table 1 describes the common request parameters.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1 Common request headers

Parameter

+

Mandatory

+

Description

+

X-Sdk-Date

+

This parameter is mandatory for authentication using AK/SK.

+

Time when the request is sent. The time is in the YYYYMMDD'T'HHMMSS'Z' format.

+

The value is the current GMT time of the system.

+

Authorization

+

This parameter is mandatory for authentication using AK/SK.

+

Signature authentication information. The value can be obtained from the request signing result.

+

See Authentication.

+

Host

+

This parameter is mandatory for authentication using AK/SK.

+

Server domain name and port number of the resource being requested. The value can be obtained from the URL of the service API. The value is hostname[:port]. If the port number is not specified, the default port is used. The default port number for https is 443.

+

Content-Type

+

Yes

+

MIME type of the request body.

+

Content-Length

+

This parameter is mandatory for POST and PUT requests, but must be left blank for GET requests.

+

Length of the request body. The unit is byte.

+

X-Project-Id

+

No

+

Project ID. This parameter is used to obtain the token for each project.

+

X-Auth-Token

+

No (This parameter is mandatory for authentication using tokens.)

+

User token.

+

X-Language

+

No

+

Request language. The value is en-us.

+

Accept

+

No

+

Type of content that can be received by a client.

+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0074.html b/docs/css/api-ref/css_03_0074.html new file mode 100644 index 000000000..33561bb6b --- /dev/null +++ b/docs/css/api-ref/css_03_0074.html @@ -0,0 +1,36 @@ + + +

Common Response Parameters

+

Table 1 describes common response headers.

+ +
+ + + + + + + + + + + + + +
Table 1 Common response headers

Name

+

Description

+

Content-Length

+

Length of the response body. The unit is byte.

+

Date

+

Time when a request response is returned.

+

Content-Type

+

MIME type of the request body.

+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0075.html b/docs/css/api-ref/css_03_0075.html new file mode 100644 index 000000000..f98ef8bfe --- /dev/null +++ b/docs/css/api-ref/css_03_0075.html @@ -0,0 +1,329 @@ + + +

Status Code

+

Table 1 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1 Status code description

Status Code

+

Code

+

Description

+

100

+

Continue

+

The client continues sending the request.

+

This interim response is used to inform the client that the initial part of the request has been received and has not yet been rejected by the server.

+

101

+

Switching Protocols

+

Switching protocols. The target protocol must be later than the source protocol.

+

For example, the current HTTPS protocol is switched to a later version.

+

200

+

OK

+

The request is processed successfully.

+

201

+

Created

+

The request for creating a resource has been fulfilled.

+

202

+

Accepted

+

The request has been accepted, but the processing has not been completed.

+

203

+

Non-Authoritative Information

+

The server successfully processed the request, but is returning information that may be from another source.

+

204

+

NoContent

+

The server has successfully processed the request, but has not returned any content.

+

The status code is returned in response to an HTTPS OPTIONS request.

+

205

+

Reset Content

+

The server has fulfilled the request, but the requester is required to reset the content.

+

206

+

Partial Content

+

The server has processed certain GET requests.

+

300

+

Multiple Choices

+

There are multiple options for the location of the requested resource. The response contains a list of resource characteristics and addresses from which the user or user agent (such as a browser) can choose the most appropriate one.

+

301

+

Moved Permanently

+

The requested resource has been assigned a new permanent URI, and the new URI is contained in the response.

+

302

+

Found

+

The requested resource resides temporarily under a different URI.

+

303

+

See Other

+

Retrieve a location.

+

The response to the request can be found under a different URI and should be retrieved using a GET or POST method.

+

304

+

Not Modified

+

The requested resource has not been modified. When the server returns this status code, it does not return any resources.

+

305

+

Use Proxy

+

The requested resource must be accessed through a proxy.

+

306

+

Unused

+

The HTTPS status code is no longer used.

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+

401

+

Unauthorized

+

The status code is returned after the client provides the authentication information, indicating that the authentication information is incorrect or invalid.

+

402

+

Payment Required

+

This status code is reserved for future use.

+

403

+

Forbidden

+

The server understood the request, but is refusing to fulfill it.

+

The client should not repeat the request without modifications.

+

404

+

NotFound

+

The requested resource cannot be found.

+

The client should not repeat the request without modifications.

+

405

+

MethodNotAllowed

+

The method specified in the request is not supported for the requested resource.

+

The client should not repeat the request without modifications.

+

406

+

Not Acceptable

+

The server cannot fulfill the request according to the content characteristics of the request.

+

407

+

Proxy Authentication Required

+

This status code is similar to 401, but indicates that the client must first authenticate itself with the proxy.

+

408

+

Request Time-out

+

The request timed out.

+

The client may repeat the request without modifications at any later time.

+

409

+

Conflict

+

The request could not be processed due to a conflict.

+

This status code indicates that the resource that the client attempts to create already exits, or the request fails to be processed because of the update of the conflict request.

+

410

+

Gone

+

The requested resource is no longer available.

+

The status code indicates that the requested resource has been deleted.

+

411

+

Length Required

+

The server refuses to process the request without a defined Content-Length.

+

412

+

Precondition Failed

+

The server does not meet one of the preconditions that the requester puts on the request.

+

413

+

Request Entity Too Large

+

The request is larger than that a server is able to process. The server may close the connection to prevent the client from continuing the request. If the server cannot process the request temporarily, the response will contain a Retry-After header field.

+

414

+

Request-URI Too Large

+

The URI provided was too long for the server to process.

+

415

+

Unsupported Media Type

+

The server is unable to process the media format in the request.

+

416

+

Requested range not satisfiable

+

The requested range is invalid.

+

417

+

Expectation Failed

+

The server fails to meet the requirements of the Expect request-header field.

+

422

+

UnprocessableEntity

+

The request is well-formed but is unable to be processed due to semantic errors.

+

429

+

TooManyRequests

+

The client has sent more requests than its rate limit is allowed within a given amount of time, or the server has received more requests than it is able to process within a given amount of time. In this case, it is advisable for the client to re-initiate requests after the time specified in the Retry-After header of the response expires.

+

500

+

InternalServerError

+

The server is able to receive the request but it could not understand the request.

+

501

+

Not Implemented

+

The server does not support the requested function.

+

502

+

Bad Gateway

+

The server is acting as a gateway or proxy and receives an invalid request from a remote server.

+

503

+

ServiceUnavailable

+

The requested service is invalid.

+

The client should not repeat the request without modifications.

+

504

+

ServerTimeout

+

The request cannot be fulfilled within a given time. This status code is returned to the client only when the Timeout parameter is specified in the request.

+

505

+

HTTP Version not supported

+

The server does not support the HTTPS protocol version used in the request.

+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0076.html b/docs/css/api-ref/css_03_0076.html new file mode 100644 index 000000000..63ce17d84 --- /dev/null +++ b/docs/css/api-ref/css_03_0076.html @@ -0,0 +1,467 @@ + + +

Error Code

+

No data is returned if an API fails to be invoked. You can locate the cause of an error according to the error code of each API. When the API calling fails, HTTPS status code 4xx or 5xx is returned. The returned message body contains the specific error code and error information. If you fail to locate the cause of the error, contact technical support and provide the error code for troubleshooting.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Status Code

+

Error Code

+

Error Message

+

Measure

+

400

+

CSS.0001

+

The parameter is incorrect.

+

Check the parameter settings according to the returned information.

+

500

+

CSS.0005

+

Server error.

+

Contact technical support.

+

400

+

CSS.0006

+

The request body is empty. Enter a request parameter.

+

Enter the request parameters.

+

202

+

CSS.0011

+

This operation cannot be performed because another operation is being performed on the instance or the instance is faulty. Please try again later.

+

Try again later.

+

403

+

CSS.0015

+

Resource not found or permission denied.

+

Change the resource ID or check the access permission.

+

404

+

CSS.0022

+

The instance does not exist or has been deleted.

+

Change the instance ID.

+

403

+

CSS.0032

+

The current user has no operation permissions.

+

Check the permissions.

+

400

+

CSS.0045

+

The token is incorrect.

+

Obtain the token again.

+

400

+

CSS.1112

+

The number of instances has reached the quota.

+

Delete some clusters or increase the quota.

+

400

+

CSS.3011

+

Invalid retention duration of the backup.

+

Change the allowed retention duration.

+

404

+

CSS.3027

+

The cluster does not exist.

+

Check whether the cluster ID is correct.

+

400

+

CSS.5007

+

The selected flavor does not exist.

+

Check whether the specifications are correct.

+

400

+

CSS.5009

+

The hard disk size is beyond the valid range.

+

Change the disk size.

+

400

+

CSS.5014

+

Invalid VPC ID.

+

Check whether the VPC ID is correct.

+

400

+

CSS.5015

+

Invalid subnet ID.

+

Check whether the subnet ID is correct.

+

400

+

CSS.5021

+

The VPC does not exist or does not belong to the user.

+

Check whether the VPC is correct.

+

400

+

CSS.5023

+

The security group does not exist or does not belong to the VPC.

+

Check whether the security group is correct.

+

400

+

CSS.5157

+

The CIDR does not exist or is invalid.

+

Check whether there are subnets in the VPC.

+

400

+

CSS.5036

+

The engine does not exist.

+

Check whether the datastore parameter setting is correct.

+

400

+

CSS.5047

+

The number of instances is beyond the valid range.

+

Check whether the number of instances is within the range.

+

409

+

CSS.5050

+

The cluster name already exists.

+

Change the cluster name.

+

400

+

CSS.5052

+

Invalid value of the AZ.

+

Change the AZ.

+

400

+

CSS.5055

+

Invalid flavor.

+

Modify the specifications.

+

400

+

CSS.5061

+

The hard disk type is invalid.

+

Change the hard disk type.

+

400

+

CSS.5071

+

The disk type does not match that in the XML configuration file.

+

Change the hard disk type.

+

400

+

CSS.5072

+

The security group ID is invalid.

+

Change the security group ID.

+

400

+

CSS.5074

+

The subnet does not belong to the VPC.

+

Change the subnet ID.

+

400

+

CSS.5077

+

Invalid cluster name.

+

Change the cluster name.

+

400

+

CSS.5078

+

The hard disk size is beyond the valid range.

+

Change the disk size.

+

400

+

CSS.5092

+

Invalid hard disk information.

+

Modify the hard disk information.

+

400

+

CSS.5093

+

Invalid specification information.

+

Modify the specification information.

+

412

+

CSS.5130

+

The agency name is invalid.

+

Change the agency name.

+

500

+

CSS.9999

+

Request processing failed.

+

Contact technical support.

+

NA

+

CSS.6000

+

Clusters fail to be created.

+

Try again later or contact technical support.

+

NA

+

CSS.6001

+

Cluster scale-out fails.

+

+

Try again later or contact technical support.

+

NA

+

CSS.6002

+

Failed to bind the elastic IP address to the cluster.

+

Try again later or contact technical support.

+

N/A

+

CSS.6003

+

Failed to restore the cluster.

+

Try again later or contact technical support.

+

N/A

+

CSS.6004

+

Failed to create a node.

+

Try again later or contact technical support.

+

N/A

+

CSS.6005

+

The initialization fails.

+

Perform the initialization again or contact technical support.

+

NA

+

CSS.6006

+

Failed to modify the specifications.

+

Perform the initialization again or contact technical support.

+

NA

+

CSS.6007

+

Failed to reset the password.

+

Reset the password.

+

N/A

+

CSS.6008

+

Failed to update the YML file.

+

Update the .yml file again or contact technical support.

+

N/A

+

CSS.6009

+

Failed to create the snapshot.

+

Try again later or contact technical support.

+

N/A

+

CSS.6010

+

Failed to restore the snapshot because the OBS object does not exist or has been deleted.

+

Check whether the configured OBS object exists.

+

N/A

+

CSS.6011

+

Failed to create the snapshot because the OBS bucket you select does not exist or has been deleted.

+

Check whether the OBS bucket exists.

+

N/A

+

CSS.6012

+

Failed to restore the snapshot because the OBS object does not exist or has been deleted.

+

Check whether the OBS bucket exists.

+

N/A

+

CSS.6013

+

The parameters cannot be modified because other operations are being performed on the cluster.

+

Modify parameters when the cluster is available.

+

N/A

+

CSS.6014

+

Some parameters cannot be modified.

+

Check whether the submitted parameter modification request contains a parameter value that cannot be modified. If yes, delete the parameter and try again.

+

N/A

+

CSS.6015

+

The parameter value is not in YAML format.

+

Modify the parameter format and try again.

+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0077.html b/docs/css/api-ref/css_03_0077.html new file mode 100644 index 000000000..18115f674 --- /dev/null +++ b/docs/css/api-ref/css_03_0077.html @@ -0,0 +1,27 @@ + + + +

Tag Management APIs

+ +

+
+ +
+ + + +
+ diff --git a/docs/css/api-ref/css_03_0078.html b/docs/css/api-ref/css_03_0078.html new file mode 100644 index 000000000..b338a1c62 --- /dev/null +++ b/docs/css/api-ref/css_03_0078.html @@ -0,0 +1,148 @@ + + +

Querying Tags of a Specified Cluster

+

Function

This API is used to query the tag information about a specified cluster.

+
+

URI

GET /v1.0/{project_id}/css-cluster/{cluster_id}/tags
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

cluster_id

+

Yes

+

String

+

ID of the cluster to be queried.

+
+
+
+

Request

None

+
+

Response

Table 2 describes the response parameters.

+ +
+ + + + + + + + + +
Table 2 Response

Parameter

+

Type

+

Description

+

tags

+

Array of tag objects

+

Tags in a cluster.

+
+
+ +
+ + + + + + + + + + + + + +
Table 3 tags field description

Parameter

+

Type

+

Description

+

key

+

String

+

Tag key.

+

value

+

String

+

Tag value.

+
+
+
+

Examples

Example request

+
GET v1.0/458d905f22da49c39f609e3347d65723/css-cluster/4f3deec3-efa8-4598-bf91-560aad1377a3/tags
+

Example response

+
{
+    "tags": [
+        {
+            "key": "key1",
+            "value": "value1"
+        },
+        {
+            "key": "key2",
+            "value": "value3"
+        }
+    ]
+}
+
+

Status Code

Table 4 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + +
Table 4 Status code

Status Code

+

Message

+

Description

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+

404

+

NotFound

+

The requested resource cannot be found.

+

The client should not repeat the request without modifications.

+

200

+

OK

+

The request is processed successfully.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0079.html b/docs/css/api-ref/css_03_0079.html new file mode 100644 index 000000000..5d8733fb7 --- /dev/null +++ b/docs/css/api-ref/css_03_0079.html @@ -0,0 +1,145 @@ + + +

Querying All Tags

+

Function

This API is used to query all tags in a specified region.

+
+

URI

GET /v1.0/{project_id}/css-cluster/tags
+ +
+ + + + + + + + + + + +
Table 1 Parameter description

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+
+
+
+

Request

None

+
+

Response

Table 2 describes the response parameters.

+ +
+ + + + + + + + + +
Table 2 Response parameters

Parameter

+

Type

+

Description

+

tags

+

Array of tag objects

+

Tags in a cluster. For details, see Table 3.

+
+
+ +
+ + + + + + + + + + + + + +
Table 3 tags field description

Parameter

+

Type

+

Description

+

key

+

String

+

Tag key.

+

values

+

Array of strings

+

Tag value.

+
+
+
+

Examples

Example request

+
GET v1.0/458d905f22da49c39f609e3347d65723/css-cluster/tags
+

Example response

+
{
+    "tags": [
+        {
+            "key": "key1",
+            "values": [
+                "value1",
+                "value2"
+            ]
+        },
+        {
+            "key": "key2",
+            "values": [
+                "value1",
+                "value2"
+            ]
+        }
+    ]
+}
+
+

Status Code

Table 4 describes the status code.

+ +
+ + + + + + + + + + + + + + + + + +
Table 4 Status code

Status Code

+

Message

+

Description

+

400

+

BadRequest

+

Invalid request.

+

The client should not repeat the request without modifications.

+

404

+

NotFound

+

The requested resource cannot be found.

+

The client should not repeat the request without modifications.

+

200

+

OK

+

The request is processed successfully.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0081.html b/docs/css/api-ref/css_03_0081.html new file mode 100644 index 000000000..e1fcc5862 --- /dev/null +++ b/docs/css/api-ref/css_03_0081.html @@ -0,0 +1,180 @@ + + +

Adding or Deleting Cluster Tags in Batches

+

Function

This API is used to add or delete tags to or from a specified cluster in batches. Tag Management Service (TMS) uses this API to batch manage tags of a cluster. A cluster can have a maximum of 10 tags.

+
  • This API is an idempotent API. If the request body contains duplicate keys during tag creation, an error is reported.
  • When a tag is added:
    • The key cannot be left blank or be an empty string. It cannot contain the following characters: Non-printable ASCII characters (0-31), =, *, <, >, \, ,, |, /, letters, digits, hyphens (-), and underscores (_).
    • The value cannot be left blank but can be an empty string. It cannot contain the following characters: Non-printable ASCII characters (0-31), =, *, <, >, \, ,, |, /, letters, digits, hyphens (-), and underscores (_).
    • The key cannot be duplicate. If the key already exists in the database, the value will be overwritten.
    +
  • When a tag is deleted:
    • If a to-be-deleted tag does not exist, the operation is considered successful by default. The value range of the tag character set is not verified.
    • The tag structure body cannot be missing, and the key cannot be left blank or be an empty string.
    +
+
+

+
+

URI

POST /v1.0/{project_id}/css-cluster/{cluster_id}/tags/action
+
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

cluster_id

+

Yes

+

String

+

IDs of clusters to which tags are to be added or deleted in batches

+
+
+

Request

+
+ + + + + + + + + + + + + + + + +
Table 2 Request parameters

Parameter

+

Mandatory

+

Type

+

Description

+

tags

+

No

+

Array of tag objects

+

Tag list

+

action

+

Yes

+

String

+

Operation to be performed. The value can be set to create or delete only.

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 3 resource_tag field description

Parameter

+

Mandatory

+

Type

+

Description

+

key

+

Yes

+

String

+

Tag key. The value can contain up to 36 characters.

+

value

+

This parameter is mandatory when action is set to create and optional when action is set to delete.

+

String

+

Tag value. The value contains up to 43 characters.

+

If value is not empty, delete tags by key/value. If value is empty, delete tags by key.

+
+
+
+

Response

None

+
+

Example

  • Example request
+
POST /v1.0/458d905f22da49c39f609e3347d65723/css-cluster/4f3deec3-efa8-4598-bf91-560aad1377a3/tags/action
+

This API is used to add tags in batches.

+
{
+    "action": "create",
+    "tags": [
+        {
+            "key": "key1",
+            "value": "value1"
+        }
+    ]
+}
+
+
This API is used to delete tags in batches.
{
+    "action": "delete",
+    "tags": [
+        {
+            "key": "key1"
+        }
+    ]
+}
+
+
  • Response example

    None

    +
+

Status Code

Table 4 describes status codes.

+ +
+ + + + + + + + + + + + + + + + + +
Table 4 Status code

Status Code

+

Encoding

+

Description

+

400

+

BadRequest

+

Invalid request.

+

Do not retry the request before modification.

+

404

+

NotFound

+

The requested resource cannot be found.

+

Do not retry the request before modification.

+

204

+

OK

+

The request is processed successfully.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0082.html b/docs/css/api-ref/css_03_0082.html new file mode 100644 index 000000000..782fa32c3 --- /dev/null +++ b/docs/css/api-ref/css_03_0082.html @@ -0,0 +1,102 @@ + + +

Deleting Specified Cluster Tags

+

Function

This API is used to delete specified cluster tags.

+
+

URI

DELETE /v1.0/{project_id}/css-cluster/{cluster_id}/tags/{key}
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

+

cluster_id

+

Yes

+

String

+

ID of the cluster to which a tag is to be deleted

+

key

+

Yes

+

String

+

Tag key

+

The field cannot be left blank or be an empty character string.

+
+
+
+

Request

None

+
+

Response

None

+
+

Example

  • Example request
    DELETE /v1.0/458d905f22da49c39f609e3347d65723/css-cluster/4f3deec3-efa8-4598-bf91-560aad1377a3/tags/key1
    +
  • Response example

    None

    +
+
+

Status Code

Table 2 describes status codes.

+ +
+ + + + + + + + + + + + + + + + + +
Table 2 Status code

Status Code

+

Encoding

+

Description

+

400

+

BadRequest

+

Invalid request.

+

Do not retry the request before modification.

+

404

+

NotFound

+

The requested resource cannot be found.

+

Do not retry the request before modification.

+

204

+

OK

+

The request is processed successfully.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/css_03_0083.html b/docs/css/api-ref/css_03_0083.html new file mode 100644 index 000000000..9870dfad4 --- /dev/null +++ b/docs/css/api-ref/css_03_0083.html @@ -0,0 +1,131 @@ + + +

Adding Tags to a Cluster

+

Function

This API is used to add tags to a cluster. A cluster can have a maximum of 10 tags.

+
+

URI

POST /v1.0/{project_id}/css-cluster/{cluster_id}/tags
+ +
+ + + + + + + + + + + + + + + + +
Table 1 Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

+

cluster_id

+

Yes

+

String

+

ID of the cluster to which a tag is to be added

+
+
+
+

Request

+
+ + + + + + + + + + + + + + + + +
Table 2 tag field description

Parameter

+

Mandatory

+

Type

+

Description

+

key

+

Yes

+

String

+

Tag key. The value can contain up to 36 characters.

+

value

+

Yes

+

String

+

Tag value. The value contains up to 43 characters.

+

If value is not empty, delete tags by key/value. If value is empty, delete tags by key.

+
+
+
+

Response

None

+
+

Example

  • Example request
    POST /v1.0/458d905f22da49c39f609e3347d65723/css-cluster/4f3deec3-efa8-4598-bf91-560aad1377a3/tags
    +{
    +    "tag": {
    +        "key": "DEV",
    +        "value": "DEV1"
    +    }
    +}
    +

    +
  • Example response

    None

    +
+
+

Status Code

Table 3 describes status codes.

+ +
+ + + + + + + + + + + + + + + + + +
Table 3 Status code

Status Code

+

Encoding

+

Description

+

400

+

BadRequest

+

Invalid request.

+

Do not retry the request before modification.

+

404

+

NotFound

+

The requested resource cannot be found.

+

Do not retry the request before modification.

+

204

+

OK

+

The request is processed successfully.

+
+
+
+
+
+ +
+ diff --git a/docs/css/api-ref/en-us_image_0000001261293340.png b/docs/css/api-ref/en-us_image_0000001261293340.png new file mode 100644 index 0000000000000000000000000000000000000000..82ae02d88b8d91d80ccd7a4e6ab21cd9b7790122 GIT binary patch literal 9530 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 WZz(JOhCRM~Rz*nzRQ1&I&3^!5_MxEw literal 0 HcmV?d00001 diff --git a/docs/css/api-ref/en-us_image_0000001265939134.png b/docs/css/api-ref/en-us_image_0000001265939134.png new file mode 100644 index 0000000000000000000000000000000000000000..d4a37a976d4576d256107faeb20bd06794b51b43 GIT binary patch literal 51740 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%0AZD@BjI{u{Gzp=uHI(1CKApP%TB6 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μMKUP;j3tZz2lr=fW<}VJLdca4MNKQ^pP%GM| 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 + +

Calling APIs

+
+ + diff --git a/docs/css/api-ref/iam_02_0008.html b/docs/css/api-ref/iam_02_0008.html new file mode 100644 index 000000000..7d94b7954 --- /dev/null +++ b/docs/css/api-ref/iam_02_0008.html @@ -0,0 +1,96 @@ + + +

Making an API Request

+

This section describes the structure of a RESTful API request, and uses the API for Obtaining a User Token as an example to describe how to call an API. A token is a user's access credential, which contains the user identity and permission information. The obtained token is used to authenticate the calling of other APIs.

+

Request URI

A request URI is in the following format:

+

{URI-scheme}://{Endpoint}/{resource-path}?{query-string}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Request URL

Parameter

+

Description

+

URI-scheme

+

Protocol used to transmit requests. All APIs use HTTPS.

+

Endpoint

+

Domain name or IP address of the server running the REST service. The endpoint varies between services in different regions. It can be obtained from Endpoints.

+

resource-path

+

API access path for performing a specified operation. Obtain the value from the URI of the API. For example, the resource-path of the API for obtaining a user token is /v3/auth/tokens.

+

query-string

+

Query parameter, which is optional. Ensure that a question mark (?) is included before a query parameter that is in the format of "Parameter name=Parameter value". For example, limit=10 indicates that a maximum of 10 pieces of data is to be viewed.

+
+
+

+
For example, to obtain an IAM token in a region, obtain the endpoint of IAM for this region and the resource-path (/v3/auth/tokens) in the URI of the API used to obtain a user token. Then, construct the URI as follows:
https://<iam-endpoint>/v3/auth/tokens
+
+

To simplify the URI display, each API is provided with only a resource-path and a request method. This is because the URI-scheme value of all APIs is HTTPS, and the endpoints in a region are the same. Therefore, the two parts are omitted.

+
+
+

Request Methods

HTTP-based request methods, which are also called operations or actions, specify the type of operations that you are requesting.

+
  • GET: requests the server to return specified resources.
  • PUT: requests the server to update specified resources.
  • POST: requests the server to add resources or perform special operations.
  • DELETE: requests the server to delete specified resources, for example, an object.
  • HEAD: requests a server resource header.
  • PATCH: requests the server to update partial content of a specified resource. If the target resource does not exist, PATCH may create a resource.
+

If POST is displayed in the URI of the API for obtaining a user token, the request is as follows:

+
+POST https://{iam-endpoint}/v3/auth/tokens
+
+

Request Header

You can also add additional fields to a request, such as the fields required by a specified URI or an HTTP method. For example, add Content-Type that defines a request body type to request for the authentication information.

+

Common request headers are as follows:

+
  • Content-Type: specifies the request body type or format. This field is mandatory and its default value is application/json.
  • X-Auth-Token: specifies the user token, which is optional. This field is mandatory for token-based authentication. X-Auth-Token is the value of x-subject-token returned in response to the API used to obtain a user token.

    In addition to supporting authentication using tokens, APIs support authentication using the access key ID (AK)/secret access key (SK), which uses SDKs to sign a request. During the signing, the Authorization (signature authentication information) and X-Sdk-Date (time when a request is sent) headers are automatically added to the request. For more details, see Authentication Using AK/SK.

    +
    +
+

The API used to obtain a user token does not require authentication. Therefore, only the Content-Type field needs to be added to requests for calling the API. An example of such requests is as follows:

+
POST https://{iam-endpoint}/v3/auth/tokens
+Content-Type: application/json
+
+

Request Body

A request body conveys information other than the request header and is generally sent in a structured format defined by the request header field Content-Type.

+

The request body varies according to the APIs. Certain APIs do not require the request body, such as the GET and DELETE APIs.

+

In the case of the API used to obtain a user token, the request parameters and parameter description can be obtained from the API request. The following provides an example request with a body included. Replace username, domainname, ******** (login password), and xxxxxxxxxxxxxxxxxx (project ID) with the actual values. To learn how to obtain a project ID, see Obtaining a Project ID and Name.

+

The scope parameter defines the application scope of the token, indicating that the obtained token can access only the resources in the specified project.

+
+
POST https://{iam-endpoint}/v3/auth/tokens
+Content-Type: application/json
+{
+    "auth": {
+        "identity": {
+            "methods": [
+                "password"
+            ],
+            "password": {
+                "user": {
+                    "name": "username",    //Username
+                    "password": "********",    //Login password
+                    "domain": {
+                        "name": "domainname "    //Name of the account to which the user belongs
+                    }
+                }
+            }
+        },
+        "scope": {
+            "project": {
+                "id": "xxxxxxxxxxxxxxxxxx"    //Project ID
+            }
+        }
+    }
+}
+

If all data required by a request is available, you can send the request to call an API through curl, Postman, or coding. For the API of obtaining a user token, x-subject-token in the response header is the desired user token. Then, you can use the token to authenticate the calling of other APIs.

+
+
+
+ +
+ diff --git a/docs/css/api-ref/iam_02_0510.html b/docs/css/api-ref/iam_02_0510.html new file mode 100644 index 000000000..d0ba91b40 --- /dev/null +++ b/docs/css/api-ref/iam_02_0510.html @@ -0,0 +1,43 @@ + + +

Authentication

+

CSS supports token authentication.

+

Authentication Using Tokens

The validity period of a token is 24 hours. When using a token for authentication, cache it to prevent frequently calling the IAM API.

+
+

A token specifies certain permissions in a computer system. Authentication using a token adds the token to a request as its header during API calling to obtain permissions to operate APIs through IAM.

+

The API for obtaining a token is POST https://{IAM endpoint}/v3/auth/tokens. For details about how to obtain IAM endpoints, see Endpoints.

+
{
+	"auth": {
+		"identity": {
+			"methods": [
+				"password"
+			],
+			"password": {
+				"user": {
+					"name": "username",    //Username
+					"password": "********",    //Login password
+					"domain": {
+						"name": "domainname"    //Name of the account that the user belongs to
+					}
+				}
+			}
+		},
+		"scope": {
+			"project": {
+				"name": "xxxxxxxx"    //Project name
+			}
+		}
+	}
+}
+

After a token is obtained, the X-Auth-Token header field must be added to requests to specify the token when calling other APIs. For example, if the token is ABCDEFJ...., X-Auth-Token: ABCDEFJ.... can be added to a request as follows:

+
POST https://{endpoint}/v3/auth/projects
+Content-Type: application/json
+X-Auth-Token: ABCDEFJ....
+
+
+
+ +
+ diff --git a/docs/css/api-ref/iam_02_0511.html b/docs/css/api-ref/iam_02_0511.html new file mode 100644 index 000000000..1a8512d58 --- /dev/null +++ b/docs/css/api-ref/iam_02_0511.html @@ -0,0 +1,46 @@ + + +

Returned Values

+

Status Code

After sending a request, you will receive a response containing the status code, response header, and response body.

+

A status code is a group of digits, ranging from 1xx to 5xx. It indicates the status of a request. For more information, see Status Code.

+

If status code 201 is returned for the calling of the API for obtaining a user token, the request is successful.

+
+

Response Header

A response header corresponds to a request header, for example, Content-Type.

+

Figure 1 shows the response header for the API of obtaining a user token, where x-subject-token is the desired user token. Then, you can use the token to authenticate the calling of other APIs.

+
Figure 1 Header of the response to the request for obtaining a user token
+
+

Response Body

A response body is generally returned in a structured format, corresponding to the Content-Type in the response header, and is used to transfer content other than the response header.

+

The following shows part of the response body for the API of obtaining a user token.

+
{
+    "token": {
+        "expires_at": "2019-02-13T06:52:13.855000Z",
+        "methods": [
+            "password"
+        ],
+        "catalog": [
+            {
+                "endpoints": [
+                    {
+                        "region_id": "xxx",
+......
+

If an error occurs during API calling, the system returns an error code and a message to you. The following shows the format of an error response body:

+
{
+    "error_msg": "The format of message is error",
+    "error_code": "AS.0001"
+}
+

In the preceding information, error_code is an error code, and error_msg describes the error.

+
+
+
+ +
+ + + \ No newline at end of file diff --git a/docs/css/api-ref/public_sys-resources/ExpandCollapse.js b/docs/css/api-ref/public_sys-resources/ExpandCollapse.js new file mode 100644 index 000000000..3f1b7db00 --- /dev/null +++ b/docs/css/api-ref/public_sys-resources/ExpandCollapse.js @@ -0,0 +1 @@ +var expandClassName="dropdownexpand";var collapseClassName="dropdowncollapse";var collapseTableClassName="dropdowncollapsetable";var href="";function ExpandorCollapseNode(a){a=a.parentNode;if(a.className==expandClassName){a.className=collapseClassName}else{a.className=expandClassName}}function ExpandorCollapseTableNode(a){a=a.parentNode;if(a.className==expandClassName){a.className=collapseTableClassName}else{a.className=expandClassName}}function ExpandorCollapseAllNodes(g,h,c){var a=g.getAttribute("title");var b=g.parentNode;if(a=="collapse"){g.setAttribute("title","expand");g.className="dropdownAllButtonexpand";g.innerHTML=h}else{g.setAttribute("title","collapse");g.className="dropdownAllButtoncollapse";g.innerHTML=c}var f=b.getElementsByTagName("*");for(var d=0;d-1){ExpandForHref(href.substring(href.lastIndexOf("#")+1))}}catch(a){}}; \ No newline at end of file diff --git a/docs/css/api-ref/public_sys-resources/caution_3.0-en-us.png b/docs/css/api-ref/public_sys-resources/caution_3.0-en-us.png new file mode 100644 index 0000000000000000000000000000000000000000..60f60762138fe7d98fa081415cf26a4943897779 GIT binary patch literal 2752 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:0}*[compact="no"]>li{margin-top:.53em}.liexpand{margin-top:1em;margin-bottom:1em}.sliexpand{margin-top:1em;margin-bottom:1em}.dlexpand{margin-top:1em;margin-bottom:1em}.ddexpand{margin-top:1em;margin-bottom:1em}.stepexpand{margin-top:.3em;margin-bottom:.3em}.substepexpand{margin-top:.3em;margin-bottom:.3em}div.imageleft{text-align:left}div.imagecenter{text-align:center}div.imageright{text-align:right}div.imagejustify{text-align:justify}div.noblankline{text-align:center}div.noblankline img{margin-top:0}pre.screen{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;background-color:#ddd;white-space:pre}pre.codeblock{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;background-color:#ddd;white-space:pre}.hrcopyright{color:#3f4e5d;margin-top:18pt}.hwcopyright{text-align:center}.comment{margin:2px 2px 2px 2px;font-family:Arial;font-size:10pt;background-color:#bfb;color:#000}.dropdownAllButtonexpand{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}.dropdownAllButtoncollapse{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;text-decoration:underline;color:#007af4}.dropdowntitle{background-repeat:no-repeat;background-position:0 4px;padding-left:15px;cursor:pointer;text-decoration:underline;color:#007af4}.dropdownexpand .dropdowntitle{background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.dropdowncollapse .dropdowncontext{display:none}.dropdowncollapse .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}.dropdowncollapsetable{border:0}.dropdowncollapsetable .dropdowncontext{display:none}.dropdowncollapsetable .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}pre{font-size:10pt;font-weight:normal;margin-left:9;margin-top:2;margin-bottom:2}.termcolor{color:blue;cursor:pointer}#dhtmlgoodies_tooltip{background-color:#f0f0d2;border:1px solid #000;position:absolute;display:none;z-index:20000;padding:2px;font-size:.9em;-moz-border-radius:6px;font-family:"Trebuchet MS","Lucida Sans Unicode",Arial,sans-serif}#dhtmlgoodies_tooltipShadow{position:absolute;background-color:#555;display:none;z-index:10000;opacity:.7;filter:alpha(opacity=70);-khtml-opacity:.7;-moz-opacity:.7;-moz-border-radius:6px}.freeze{position:fixed;_position:absolute;_top:expression(eval(document.documentElement.scrollTop));left:10;top:0} \ No newline at end of file diff --git a/docs/css/api-ref/public_sys-resources/commonltr_print.css b/docs/css/api-ref/public_sys-resources/commonltr_print.css new file mode 100644 index 000000000..a59823141 --- /dev/null +++ b/docs/css/api-ref/public_sys-resources/commonltr_print.css @@ -0,0 +1 @@ +body{font-size:12.0pt;margin:1.5em;margin-left:1.6cm}.msgph{font-family:Courier New}.rowlinecopyright{color:red;margin-top:10pt}.unresolved{background-color:skyblue}.noTemplate{background-color:yellow}.base{background-color:#fff}.nested0{margin-top:1em}.p{margin-top:1em}p{margin-top:.5em;margin-bottom:.5em}.note p{margin-top:.5em;margin-bottom:.5em}.tip p{margin-top:.5em;margin-bottom:.5em}.danger p{margin-top:.5em;margin-bottom:.5em}.warning p{margin-top:.5em;margin-bottom:.5em}.notice p{margin-top:.5em;margin-bottom:.5em}.caution p{margin-top:.5em;margin-bottom:.5em}.attention p{margin-top:.5em;margin-bottom:.5em}table p{margin-top:.2em;margin-bottom:.2em}table .p{margin-top:.4em;margin-bottom:.2em}.covertable{border:0;width:100% cellpadding:8pt;cellspacing:8pt}.cover_productname{font-size:15.0pt;font-family:"Arial"}.cover_manualtitle{font-size:24.0pt;font-weight:bold;font-family:"Arial"}.cover_manualsubtitle{font-size:18.0pt;font-weight:bold;font-family:"Arial"}.cover_heading{font-size:12.0pt;font-weight:bold;font-family:"Arial"}.cover_text{font-size:9.0pt;font-family:"Arial"}.tocheading,.heading1,.topictitle1{margin-top:40.0pt;margin-right:0;margin-bottom:20.0pt;margin-left:-1cm;text-align:left;border:0;border-bottom:solid windowtext .5pt;font-size:22.0pt;font-family:"Arial";font-weight:bold}.topictitlenumber1{font-size:72.0pt;font-family:"Book Antiqua";font-weight:bold}.topictitle2{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:-1cm;text-indent:0;font-size:18.0pt;font-family:"Arial";font-weight:bold}.topictitle3{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:0;text-indent:0;font-size:16.0pt;font-family:"Book Antiqua";font-weight:bold}.topictitle4{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:0;text-indent:0;font-size:14.0pt;font-family:"Book Antiqua";font-weight:bold}.topictitle5{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:0;text-indent:0;font-size:13.0pt;font-family:"Book Antiqua";font-weight:bold}.blocklabel,.topictitle6{margin-top:15.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;text-indent:0;font-size:13.0pt;font-family:"Book Antiqua";font-weight:bold}.sectiontitle{margin-top:15.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:-1cm;text-indent:0;font-size:13.0pt;font-family:"Arial";font-weight:bold}.tocentry1{margin-top:8.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:12.0pt;font-family:"Book Antiqua";font-weight:bold}.tocentry2{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tocentry3{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tocentry4{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tocentry5{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tofentry1{margin-top:8.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman";font-weight:normal}.totentry1{margin-top:8.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman";font-weight:normal}.indexheading{margin-top:15.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;text-indent:0;font-size:13.0pt;font-family:"Book Antiqua";font-weight:bold}.indexentry1{margin-top:4pt;margin-right:0;margin-bottom:0;margin-left:0;line-height:12.0pt;font-size:12.0pt;font-family:"Times New Roman"}.indexentry2{margin-top:0;margin-right:0;margin-bottom:0;margin-left:24.0pt;line-height:12.0pt;font-size:12.0pt}.indexentry3{margin-top:0;margin-right:0;margin-bottom:0;margin-left:48pt;line-height:12.0pt;font-size:12.0pt}.figurenumber{font-weight:bold}.tablenumber{font-weight:bold}.familylinks{margin-top:1.5em;margin-bottom:1em}.figcap{font-size:11.0pt}.tablecap{font-size:11.0pt}.figdesc{font-style:normal}.fignone{margin-top:8.0pt}.figborder{border-style:solid;padding-left:3px;border-width:2px;padding-right:3px;margin-top:1em;border-color:Silver}.figsides{border-left:2px solid;padding-left:3px;border-right:2px solid;padding-right:3px;margin-top:1em;border-color:Silver}.figtop{border-top:2px solid;margin-top:1em;border-color:Silver}.figbottom{border-bottom:2px solid;border-color:Silver}.figtopbot{border-top:2px solid;border-bottom:2px solid;margin-top:1em;border-color:Silver}.ullinks{margin-left:0;list-style-type:none}.ulchildlink{margin-top:1em;margin-bottom:1em}.olchildlink{margin-top:1em;margin-bottom:1em;margin-left:1em}.linklist{margin-bottom:1em}.linklistwithchild{margin-left:1.5em;margin-bottom:1em}.sublinklist{margin-left:1.5em;margin-bottom:1em}.relconcepts{margin-left:1cm;margin-top:1em;margin-bottom:1em}.reltasks{margin-left:1cm;margin-top:1em;margin-bottom:1em}.relref{margin-left:1cm;margin-top:1em;margin-bottom:1em}.relinfo{margin-top:1em;margin-bottom:1em}.breadcrumb{font-size:smaller;margin-bottom:1em}.prereq{margin-left:0}.parentlink{margin-top:.6em;margin-bottom:.6em}.nextlink{margin-top:.6em;margin-bottom:.6em}.previouslink{margin-top:.6em;margin-bottom:.6em}.section{margin-top:1em;margin-bottom:1em}.example{margin-top:1em;margin-bottom:1em}table .note{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.note{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.notetitle{font-weight:bold;font-size:11.0pt}.notelisttitle{font-weight:bold}table .tip{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.tip{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.tiptitle{font-weight:bold;font-size:11.0pt}table .fastpath{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.fastpath{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.fastpathtitle{font-weight:bold;font-size:11.0pt}table .important{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman";font-style:italic}.important{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.importanttitle{font-weight:bold;font-size:11.0pt}table .remember{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman";font-style:italic}.remember{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.remembertitle{font-weight:bold;font-size:11.0pt}table .restriction{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman";font-style:italic}.restriction{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.restrictiontitle{font-weight:bold;font-size:11.0pt}table .attention{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.attention{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}.attentiontitle{font-weight:bold}table .danger{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.dangertitle{font-weight:bold}.danger{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}table .notice{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.noticetitle{font-weight:bold}.notice{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}table .warning{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.warningtitle{font-weight:bold}.warning{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}table .caution{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}table caption{margin-top:8pt;text-align:left;font-weight:bold}.tablenoborder{margin-top:8pt}.cautiontitle{font-weight:bold}.caution{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}ul.simple{list-style-type:none}li ul{margin-top:.6em}li{margin-top:.6em;margin-bottom:.6em}.note li{margin-top:.2em;margin-bottom:.2em}.tip li{margin-top:.2em;margin-bottom:.2em}.danger li{margin-top:.2em;margin-bottom:.2em}.warning li{margin-top:.2em;margin-bottom:.2em}.notice li{margin-top:.2em;margin-bottom:.2em}.caution li{margin-top:.2em;margin-bottom:.2em}.attention li{margin-top:.2em;margin-bottom:.2em}table li{margin-top:.2em;margin-bottom:.2em}.firstcol{font-weight:bold}th{background-color:#cfcfcf}.bold{font-weight:bold}.boldItalic{font-weight:bold;font-style:italic}.italic{font-style:italic}.underlined{text-decoration:underline}.var{font-style:italic}.shortcut{text-decoration:underline}.dlterm{font-weight:bold}dd{margin-top:.5em;margin-bottom:.5em}.dltermexpand{font-weight:bold;margin-top:1em}*[compact="yes"]>li{margin-top:0}*[compact="no"]>li{margin-top:.53em}.liexpand{margin-top:1em;margin-bottom:1em}.sliexpand{margin-top:1em;margin-bottom:1em}.dlexpand{margin-top:1em;margin-bottom:1em}.ddexpand{margin-top:1em;margin-bottom:1em}.stepexpand{margin-top:1em;margin-bottom:1em}.substepexpand{margin-top:1em;margin-bottom:1em}table{margin-top:8pt;margin-bottom:10.0pt;width:100%}thead{font-size:10.0pt;font-family:"Book Antiqua";font-weight:bold}tbody{font-size:11.0pt}ol{margin-top:1em;margin-bottom:1em;margin-left:1.7em;-webkit-padding-start:0}ul{margin-top:1em;margin-bottom:1em;margin-left:1.2em;-webkit-padding-start:0}ol ul{list-style:disc}ul ul{list-style:square}ol ol{list-style-type:lower-alpha}table ol{margin-top:.4em;margin-bottom:.4em;list-style:decimal}table ul{margin-top:.4em;margin-bottom:.4em;list-style:disc}table ul ul{margin-top:.4em;margin-bottom:.4em;list-style:square}table ol ol{margin-top:.4em;margin-bottom:.4em;list-style:lower-alpha}table ol ul{margin-top:.4em;margin-bottom:.4em;list-style:disc}table ul ol{margin-top:.4em;margin-bottom:.4em;list-style:decimal}.substepthirdol{list-style-type:lower-roman}div.imageleft{text-align:left}div.imagecenter{text-align:center}div.imageright{text-align:right}div.imagejustify{text-align:justify}div.noblankline{text-align:center}div.noblankline img{margin-top:0}pre{font-size:10.0pt;border-width:2px;padding:2px;margin-top:5px;margin-bottom:5px;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}pre.screen{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;white-space:pre}pre.codeblock{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;white-space:pre}.dropdownAllButtonexpand{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}.dropdownAllButtoncollapse{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;text-decoration:underline;color:#007af4}.dropdowntitle{background-repeat:no-repeat;background-position:0 4px;padding-left:15px;cursor:pointer;text-decoration:underline;color:#007af4}.dropdownexpand .dropdowntitle{background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.dropdowncollapse .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.dropdowncollapsetable .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.prefacesectiontitle1{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:-1cm;text-indent:0;font-size:18.0pt;font-family:"Book Antiqua";font-weight:bold;overflow:auto}.termcolor{color:blue;cursor:pointer}#dhtmlgoodies_tooltip{background-color:#f0f0d2;border:1px solid #000;position:absolute;display:none;z-index:20000;padding:2px;font-size:.9em;-moz-border-radius:6px;font-family:"Trebuchet MS","Lucida Sans Unicode",Arial,sans-serif}#dhtmlgoodies_tooltipShadow{position:absolute;background-color:#555;display:none;z-index:10000;opacity:.7;filter:alpha(opacity=70);-khtml-opacity:.7;-moz-opacity:.7;-moz-border-radius:6px}.freeze{position:fixed;_position:absolute;_top:expression(eval(document.documentElement.scrollTop));left:10;top:0}.hrcopyright{color:#3f4e5d;margin-top:18pt;margin-left:-1cm}.hwcopyright{text-align:center;font-family:Arial;margin-left:-1cm} \ No newline at end of file diff --git a/docs/css/api-ref/public_sys-resources/commonrtl.css b/docs/css/api-ref/public_sys-resources/commonrtl.css new file mode 100644 index 000000000..f261da752 --- /dev/null +++ b/docs/css/api-ref/public_sys-resources/commonrtl.css @@ -0,0 +1,2 @@ +/*! Copyright (c) Huawei Technologies Co., Ltd. 2020-2022. All rights reserved. */.msgph{font-family:Courier New}.unresolved{background-color:#87ceeb}.noTemplate{background-color:#ff0}.base{background-color:#fff}/*! Add space for top level topics */.nested0,.p{margin-top:1em}/*! div with class=p is used for paragraphs that contain blocks, to keep the XHTML valid *//*! Default of italics to set apart figure captions */.figcap,.italic,.var{font-style:italic}.figdesc{font-style:normal}/*! Use @frame to create frames on figures */.figborder{padding-left:3px;padding-right:3px;margin-top:1em;border:2px solid Silver}.figsides{margin-top:1em;padding-left:3px;padding-right:3px;border-left:2px solid Silver;border-right:2px solid Silver}.figtop{border-top:2px solid Silver;margin-top:1em}.figbottom{border-bottom:2px solid Silver}.figtopbot{border-top:2px solid Silver;border-bottom:2px solid Silver;margin-top:1em}/*! Most link groups are created with
. Ensure they have space before and after. */.ullinks,ul.simple{list-style-type:none}.attention,.danger,.ddexpand,.dlexpand,.example,.fastpath,.important,.liexpand,.linklist,.note,.notice,.olchildlink,.relconcepts,.relinfo,.relref,.reltasks,.remember,.restriction,.section,.sliexpand,.stepexpand,.substepexpand,.tip,.ulchildlink,.warning{margin-top:1em;margin-bottom:1em}.linklistwithchild,.sublinklist{margin-top:1em;margin-right:1.5em;margin-bottom:1em}.breadcrumb{font-size:smaller;margin-bottom:1em}.prereq{margin-right:20px}/*! Set heading sizes, getting smaller for deeper nesting */.topictitle1{font-size:1.34em;margin-top:0;margin-bottom:.1em}.topictitle2,.topictitle3,.topictitle4,.topictitle5,.topictitle6,.sectiontitle{font-size:1.17em}.topictitle2{margin-top:1pc;margin-bottom:.45em}.topictitle3{margin-top:1pc;margin-bottom:.17em;font-weight:700}.topictitle4{margin-top:.83em;font-weight:700}.topictitle5{font-weight:700}.topictitle6{font-style:italic}.sectiontitle{margin-top:1em;margin-bottom:0;color:#000;font-weight:700}/*! All note formats have the same default presentation */.attentiontitle,.bold,.cautiontitle,.dangertitle,.dlterm,.fastpathtitle,.firstcol,.importanttitle,.notelisttitle,.notetitle,.noticetitle,.parmname,.remembertitle,.restrictiontitle,.tiptitle,.uicontrol,.warningtitle{font-weight:700}.caution{font-weight:700;margin-bottom:1em}/*! Simple lists do not get a bullet *//*! Used on the first column of a table, when rowheader="firstcol" is used *//*! Various basic phrase styles */.boldItalic{font-weight:700;font-style:italic}.shortcut,.underlined{text-decoration:underline}/*! 2008-10-27 keyword采用跟随上下文的样式 +*//*! Default of bold for definition list terms *//*! Use CSS to expand lists with @compact="no" */.dltermexpand{font-weight:700;margin-top:1em}[compact="yes"]>li{margin-top:0}[compact="no"]>li{margin-top:.53em}/*! Align images based on @align on topic/image */div.imageleft,.text-align-left{text-align:left}div.imagecenter,.text-align-center{text-align:center}div.imageright,.text-align-right{text-align:right}div.imagejustify,.text-align-justify{text-align:justify}.cellrowborder{border-right:0;border-top:0;border-left:1px solid;border-bottom:1px solid}.row-nocellborder{border-left:hidden;border-right:0;border-top:0;border-bottom:1px solid}.cell-norowborder{border-top:0;border-bottom:hidden;border-right:0;border-left:1px solid}.nocellnorowborder{border:0;border-left:hidden;border-bottom:hidden}pre.codeblock,pre.screen{padding:5px;border:outset;background-color:#ccc;margin-top:2px;margin-bottom:2px;white-space:pre} \ No newline at end of file diff --git a/docs/css/api-ref/public_sys-resources/danger_3.0-en-us.png b/docs/css/api-ref/public_sys-resources/danger_3.0-en-us.png new file mode 100644 index 0000000000000000000000000000000000000000..47a9c723532a0ac410285e5152684262127922bf GIT binary patch literal 2771 zcmV;^3M}=BP)pPg-Jv~RCwC$oO@7HS02Ydnp$REOA{(Mow8*Mm>A3h9MeO=6 zYU>mmT}9emv9DQm*RJeXc5T5Q!v0 zB$5b`NFqdtL=w?OklwC|&JB*_kR*g*P1STeQY~6uB+{*;B2i1mw!HxCh>m7?uX_kB zZW668hPGS7cBvYGjjLu-T2{ta(MHkoqDQ**khXqXE?M&}B*qkwZb{|!wVV0PLl1U( zh|@k2Pt@e8KI2W7%cc| zO7%;oh!GEaKI?~$MKHY5t{0Ps=^60OI`;KR@k?HRh+XkChOueL!}QpzFXL=(zz|LUxf|B{Fmxd{EXn6tyV1mZmG!*PMf2b20p#%- z`o8%ZVfQ~su(20?SHHrs3D0@S-1|flxSZIlFT0HsqCq!dAXirJ4@lTnmkYTz0`t-t zoL%_-P1mIvW2W1<$B}7tG*?~Z^s+@a=y&VTO-%?Gh7Jy#@{?>}D?H+5hs1sBQ0R>W z$rPxPB0JS9by>2#BO!*;vNGmn#B$c!n|>2>7?JiN4?lg9=9Ul^WTvn;zkmZNJ#I@f zXfLYayW|WUHCNr9F<}t$c#W4#+=3U8s&%wF9keEQnyx}+}N<*(D-{;R$ zaL&lM{`n*i9mMK`CvfP6+g4qiUbYCAy$P8{NBGDGJ>#mRNP+|zE_)NFmo4(hwYIv@ zj4}Jw)#_@YXz^U^wkl+5Ed$yU@(x$pVxcJ-ZmXBjPZHcyBPNTQ@jT3znFTMzB|S?h0gxfpz6m)AA4I1f{{Z$&2y zk3ciVjBaWI{dcTHs?p)HH*sm#raQmUz>fucJ<0Wt1$&7Yo{Gv8hdf^6w-o?Tw&YWcsTM+dBoLi8 zm#bgrQM3K5ud%~av^tvIiFi|^-&R4OlHQ{uGz@8In6F1rD1F94&As{c8*2bi=#8{A z)KIlQhtnC$?tCJxvO0({nRs+qm1oR!Z=IKnF2v^f{N$t{)~t1Vv2?ngNK$nuGEKO< zzf@ihKvc#!1ci#0h8lzrHSz1+9!LmL<7})$rq&Yk)GWTA^F~0u-~E0TNjvu-Q)}t} z)&}+s8s@*>B2&1%Q%tPac=st8NJG2{;%siGF;7#NJH;& zhtmrs6i)v0ou4BeO^#u2egO+IQwUR3_$5wT3!n{#&@*Jsx3K<;Tq+W^T~4H!KR$~@ zu5|Zlat{Mw&iD(0QiW8dAv|#;hS6ylMyC;;I1(Y)o!@mEZ@FnQU-ZJ$IBKhr$d&Y3 z@~n?c&GxedN!C@{=B92P%iuKA4P5P zF?T5M7UQl=?_?r5^a9HdpCWnaAVwy9ACNdxCO+iz-A9L25o0p3%IfG+5=G4$jjDT3 z_rX_P#9mZ`W{jEERu|5u25kR1=sC=`>*|qQT57FGWQv;}!j;wgsVgZ&P^ySbnS#<_ z@{wsQcZWQgM(3rkuisR2@ddhKm zm>y`QU}}cvFx#%9zncRR0f}5m+=3T>`k`rb(CYH78vp)0Ee*BEwGqTVll7BY1|4qD zR@y0eaw?7*EAlWsiJLyTGjpW6UP@ltw4HQIDv2=#er2YNQnNeHL|TgfF7e2O?@1my zh~&SD2{!g(;QB4N?2Xi&J%utn0;xtv zkRbctK7@An=2gu(9Ra)bZS!9G@?)aLPe-neAnxr2otkuaibwkB-UtAuk5dGci8mbQ zpHD?%2tDKXzEY@Rj-@xHWo6{`Gk44bDS}ZNOehT|CG6gP2Ggpt~a%lW$PyZ(R zi8N$tEzX8o&aMocNSD04oR)@K6nZ1(%xk%iRHX^nOsp#j+)(^s?wgdX$fl*dQ#vN{kQBLN_&` z(}>jJm$ns&TBh$jOxAo08KVLl?;k50S@-!F7S4`i=H$SR@bCXNvu5pPHYX!BHAMhH=PbZLgf2GrXYPBlYfJrz}; z)`4zn0@|b`lo3(5nj87CARk+Pp-;mw(B7`!W7{6u*6MHG>-993S9MlnGP}b>T0X$Q z*4=p=+dA4SslE}Gg;&WhtYpG)6U!Ea29!H%?ahd^54+^o0V28#9s2{xQ^UKnb$1>s zUY^}9i2&9v4QJu(xOPbdVAh?wt?d92zi^J^&vgoySb1+qmmi0B}` Z`Y-il7nw201!5QImN;7^FeRDuvlieQm$nqSgH2#ST^0cx)=Dn zcnY!FJo_HPt-fVW+YdiB+UT#;6V;vF(d}+cR@IeV(d8~pF{?8>qtl(5 z-l&f3hz@sXMqTY}N84?I)T&mtqU9C|*g%8DFx{Fx6Im5iuF|X}%dCt_S87;LjI4+X zS7=Dl>numvWx_9&xPzYqFMxz!h@dKJnV+WiNj6zrg25Bat1rHX34YcM&(@mM25EsKp^s$!A zn#VD|u6s{$op5YkSDD^r^tisfo6%**9APOOq(ypevUm*eg627JCCoz;t2Wm=9wHzA zIZpn)d?D?0K6~e%(5n+Y{``IW_383vZ~ype`|Z!iyVvi|9^OBm{E(}2>Xh(M9J1dY2CIYT07X)PL*D{uoU3SWSe zM5)Z@cZj(9E!*Rn@%yj8UtL_@?zGcisVAyCyQACPnyjiTyQ0fonqpRGc1EW=HN8j060m^=i($GodnU3fs$8X6OO{y~m9EsVpcq*Z6|T^b zqSslDvde-aqopiG$tAYJ8Zb!15?a()3^veUF{}|ZIT4x8)aYX^Swx02G;(1<(UEpq zsD~82sYp46Jp6zr)7XK2NT3kbfI%9Tw8DeMU;_=7#;04Wd;7XW>CRXi!yzvnE_|I|r wZ*w5M>1_7SKcT}DJ@4vn|M>OS_UPly>%-H_{r>p;)5Xs}-+pgDf7s~DJ6{D>Q~&?~ literal 0 HcmV?d00001 diff --git a/docs/css/api-ref/public_sys-resources/icon-arrowdn.gif b/docs/css/api-ref/public_sys-resources/icon-arrowdn.gif new file mode 100644 index 0000000000000000000000000000000000000000..84eec9be2f2ce458e888f8a9b803f9387247726a GIT binary patch literal 68 zcmZ?wbhEHbzkByxQ$u Mo$o?7J5~m305MV#!~g&Q literal 0 HcmV?d00001 diff --git a/docs/css/api-ref/public_sys-resources/icon-arrowrt.gif b/docs/css/api-ref/public_sys-resources/icon-arrowrt.gif new file mode 100644 index 0000000000000000000000000000000000000000..39583d168d6db303b366b5b8c1780698a6bb6017 GIT binary patch literal 70 zcmZ?wbhEHbEMGZQ&sWI^~+e%qWysRPK%BSD+f4-fabAGq;|Cf|4nO{(o zMH%#n$oXf^sdM5SJ4e1UbEeM389O82RCB6M#VI=_KP%=$orn{5LVlIau{svV?3jS$ z$Q-F7am0>L02|Q2!ZN1G^Z2J`V#a3VX;G<~iYc3tSAnLeiI}hnc~O{UH5OwwCTPT} zks65+8-W$70S3`f30dfY7}$UY7M95y@-?2QvMPChphYF3!YbtLLIs*E%B)Oq4^fy^ z5+zoGJ>&tI*hU=i4-s$()c}KNsKh9AfEd_-1{V3`d>b_$i;xcz{y>Y0S(uP3>_P>a zLM((Fku(B;E{r2+xJ8u612VCVIG_oJ;Sj0;2GQ7rEa(6+umMf}M1C4=)Odu8AxQWG zEh;Aearj(=d;4Z^LLYN*6+asU?Nbl3^Q%D|{s@6Xj}(aZHwkoj-~bw*1FnSd;0aX! zUW<-TPD&b;6s;@zw7K~4mF9cDuK&BQ;b_N-Cj%R=CnEjde9%~1kk}vYY^@mTTNm%F z?mbrf*~d#iX;?ITDf(MHQdK;&p(ek&e9qe?*&A0E)mG(1s`J*pn^#ttId4vCXjV$j zj464u)2F9Q$V#0!dHk4(FDB#D&wP^f0*q1)G?4!%Xe>;ROD~Oee-}xfJUd+aa_0AK zFP$vgR2te>+%}b$hVw&Ni`yT>F5LNRM@_utk68Piwi5??BLBpCcb8mx|3c*1x!xZJ zKU!7(#h8s(^x)5*w=Z0K{=a9#qeoHU|0&%MiU0rr literal 0 HcmV?d00001 diff --git a/docs/css/api-ref/public_sys-resources/icon-danger.gif b/docs/css/api-ref/public_sys-resources/icon-danger.gif new file mode 100644 index 0000000000000000000000000000000000000000..079c79b263f4b48089f3b3256154c73e7699593f GIT binary patch literal 1086 zcmW+#YfRQ<6hA3LZMyP?V}KhnEtF{Q4vGxS52AozEVM85nq$#%tv8gRF!3GhgM?_) zd5Luv3SKrXFTGCpn$y>EMGZQ&sWI^~+e%qWysRPK%BSD+f4-fabAGq;|Cf|4nO{(o zMH%#n$oXf^sdM5SJ4e1UbEeM389O82RCB6M#VI=_KP%=$orn{5LVlIau{svV?3jS$ z$Q-F7am0>L02|Q2!ZN1G^Z2J`V#a3VX;G<~iYc3tSAnLeiI}hnc~O{UH5OwwCTPT} zks65+8-W$70S3`f30dfY7}$UY7M95y@-?2QvMPChphYF3!YbtLLIs*E%B)Oq4^fy^ z5+zoGJ>&tI*hU=i4-s$()c}KNsKh9AfEd_-1{V3`d>b_$i;xcz{y>Y0S(uP3>_P>a zLM((Fku(B;E{r2+xJ8u612VCVIG_oJ;Sj0;2GQ7rEa(6+umMf}M1C4=)Odu8AxQWG zEh;Aearj(=d;4Z^LLYN*6+asU?Nbl3^Q%D|{s@6Xj}(aZHwkoj-~bw*1FnSd;0aX! zUW<-TPD&b;6s;@zw7K~4mF9cDuK&BQ;b_N-Cj%R=CnEjde9%~1kk}vYY^@mTTNm%F z?mbrf*~d#iX;?ITDf(MHQdK;&p(ek&e9qe?*&A0E)mG(1s`J*pn^#ttId4vCXjV$j zj464u)2F9Q$V#0!dHk4(FDB#D&wP^f0*q1)G?4!%Xe>;ROD~Oee-}xfJUd+aa_0AK zFP$vgR2te>+%}b$hVw&Ni`yT>F5LNRM@_utk68Piwi5??BLBpCcb8mx|3c*1x!xZJ zKU!7(#h8s(^x)5*w=Z0K{=a9#qeoHU|0&%MiU0rr literal 0 HcmV?d00001 diff --git a/docs/css/api-ref/public_sys-resources/icon-huawei.gif b/docs/css/api-ref/public_sys-resources/icon-huawei.gif new file mode 100644 index 0000000000000000000000000000000000000000..a31d60f895af919d33855217ca02daf4093136d7 GIT binary patch literal 2767 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 GE&l)<3Z_>8 literal 0 HcmV?d00001 diff --git a/docs/css/api-ref/public_sys-resources/icon-notice.gif b/docs/css/api-ref/public_sys-resources/icon-notice.gif new file mode 100644 index 0000000000000000000000000000000000000000..409070650a49518feb1624c624d814c3bfa63d2e GIT binary patch literal 962 zcmb7D&r8&C5S<{wSd_qn6)U)w5LOaRh!N}_*49lD)S!dZp@M<3gPIX|@UR9-fz+X3 zAaT9)OY{xZtO-;RC85Vab;JEUNIMS5f^r$7-e%-XK`j{0+N$CsgpRd6B1wp z8dw-cH^rU^H4`&7qgabf)l^K`l!66{q9$U(CKRO5%W5pfY)s&YQ6n`HBR0ZTum%`N zgC%I8hQ+`JG_WvCAt-W$sIn@BKCDG1qQWW^a=`*c7G+i@s0S(ZDv1&+K_2`7O-#cM z=m!ZX1Z#kSG+3e)Jg^wpfCd(Yb5TZ)U=a!DwsG z)Z`|1ejMK4ap%CHj;%+>T6=D++5I=uBbQ$fZ48cf{hV1}9&Njl-I}i7e0#6Hdug@s zsr-57_=gLr&9Ros$k}}M>tJ77=hEJ}iPaZ%8|P+gUbS|Oj}5I{|5nZZc)C1$e*Rj` d`09hYXJ4M@PhCx)dHK8WZo1*|*q+^V@*ncduk8Q; literal 0 HcmV?d00001 diff --git a/docs/css/api-ref/public_sys-resources/icon-tip.gif b/docs/css/api-ref/public_sys-resources/icon-tip.gif new file mode 100644 index 0000000000000000000000000000000000000000..c47bae05c9fd17c02a851d96cfac67bf194498d8 GIT binary patch literal 879 zcmchWKWmj?48@OdDOZPr)a61!OE4yGD)salg#|^Ix$qIEF#uk)V>D{95e^!2r`i+9t# zTMu5YtUcd+@#gp0tDE;9ug>oLIzL$6dOx4-t#2PKExu1KulwoYeD?Os#mVO%AMWih HO|EMGZQ&sWI^~+e%qWysRPK%BSD+f4-fabAGq;|Cf|4nO{(o zMH%#n$oXf^sdM5SJ4e1UbEeM389O82RCB6M#VI=_KP%=$orn{5LVlIau{svV?3jS$ z$Q-F7am0>L02|Q2!ZN1G^Z2J`V#a3VX;G<~iYc3tSAnLeiI}hnc~O{UH5OwwCTPT} zks65+8-W$70S3`f30dfY7}$UY7M95y@-?2QvMPChphYF3!YbtLLIs*E%B)Oq4^fy^ z5+zoGJ>&tI*hU=i4-s$()c}KNsKh9AfEd_-1{V3`d>b_$i;xcz{y>Y0S(uP3>_P>a zLM((Fku(B;E{r2+xJ8u612VCVIG_oJ;Sj0;2GQ7rEa(6+umMf}M1C4=)Odu8AxQWG zEh;Aearj(=d;4Z^LLYN*6+asU?Nbl3^Q%D|{s@6Xj}(aZHwkoj-~bw*1FnSd;0aX! zUW<-TPD&b;6s;@zw7K~4mF9cDuK&BQ;b_N-Cj%R=CnEjde9%~1kk}vYY^@mTTNm%F z?mbrf*~d#iX;?ITDf(MHQdK;&p(ek&e9qe?*&A0E)mG(1s`J*pn^#ttId4vCXjV$j zj464u)2F9Q$V#0!dHk4(FDB#D&wP^f0*q1)G?4!%Xe>;ROD~Oee-}xfJUd+aa_0AK zFP$vgR2te>+%}b$hVw&Ni`yT>F5LNRM@_utk68Piwi5??BLBpCcb8mx|3c*1x!xZJ zKU!7(#h8s(^x)5*w=Z0K{=a9#qeoHU|0&%MiU0rr literal 0 HcmV?d00001 diff --git a/docs/css/api-ref/public_sys-resources/imageResize.js b/docs/css/api-ref/public_sys-resources/imageResize.js new file mode 100644 index 000000000..37309ce3b --- /dev/null +++ b/docs/css/api-ref/public_sys-resources/imageResize.js @@ -0,0 +1,18 @@ +/** IDP renames $ to $$$,jQueryHW2 */ +var $$$, jQueryHW2; +jQueryHW2 = $$$ = $; + +function image_size(a) { + $$$(window).on('load', function () { + $$$(a).each(function () { + var e = $$$(this); + var f = e.width(); + var d = e.height(); + var b = f; + var c = d; + e.click(function () { + tb_show("", this.src, false) + }) + }) + }) +}; \ No newline at end of file diff --git a/docs/css/api-ref/public_sys-resources/imageclose.gif b/docs/css/api-ref/public_sys-resources/imageclose.gif new file mode 100644 index 0000000000000000000000000000000000000000..56818c26b104c9247a82680f6da2c69f9bd58033 GIT binary patch literal 155 zcmZ?wbhEHb6krfwSj52a|NsA^N008^yLao>t!vk=Wq<+2pDdgV46F<~AOVnC295*< zZWf7v1q%)~GqG@}I5a$PY-W<+k~py8;bA60Nuebx1QU-kGH?}b>G+uJ(X7m#l2h^N zfyZQV*Q^xD%@4dL8RnPm*-_+hs@>N4-xki`wBrl-gVR_fCoewKsjI(AM?iqV8URhk BH5vc_ literal 0 HcmV?d00001 diff --git a/docs/css/api-ref/public_sys-resources/imageclosehover.gif b/docs/css/api-ref/public_sys-resources/imageclosehover.gif new file mode 100644 index 0000000000000000000000000000000000000000..3bcf231f1d23f6e6e8a3cbb2d501770ff40e495a GIT binary patch literal 179 zcmZ?wbhEHb6krfw*v!E2|Ns9f_r6cL_PyuY_m*qltIvHeKKEU6?Ry3sK=CIFCj$cq zgAPa@WCjCA0)rrjM#F*y2b)=0IBW_U9ym6$O7NxJ_@LO-!NVJ~=m_h}-YkIww~n098Sz4fXkH$Ol3p2EY;V-Pv{Ap;9@ L-=-QV0S0RTMs_~T literal 0 HcmV?d00001 diff --git a/docs/css/api-ref/public_sys-resources/imagemax.gif b/docs/css/api-ref/public_sys-resources/imagemax.gif new file mode 100644 index 0000000000000000000000000000000000000000..49fe390b113c71fa56110f3dc36d9a6a50f5b6e6 GIT binary patch literal 181 zcmZ?wbhEHb6krfw*v!E2|NsB*-@m_q|NhytXZP;iJ9_l!-o1ObZr!?e?OFzGK=CIF zCj$c~gAPa%WCjCA5`!>@jK&3qre+R70hI^^MW<#yb{-yviwm6@MFeF$b_66GV`j9_ z`y-*yc%qZdk;`CZprRuayMvm=gar=H)AhY)O*yei`Cv0s<1e09K`#Opy45NjUAbk& Q(dDf3^IRev5*!$;0Rb{R%K!iX literal 0 HcmV?d00001 diff --git a/docs/css/api-ref/public_sys-resources/imagemaxhover.gif b/docs/css/api-ref/public_sys-resources/imagemaxhover.gif new file mode 100644 index 0000000000000000000000000000000000000000..387b0a981ad70a1123a8d97d76f96c014c7f8619 GIT binary patch literal 185 zcmZ?wbhEHb6krfw*v!E2|NsB@K=l3pz3>08z5l=W{r{!+zDFGeqW4~V-#hJnZ@Bfn z=GOO;Yu__~f#OdVP6h@(1|1L&WCjCA8iOo{jD~S$J)w3@U??y!%=BxkR{1 fG<+7hb}F&15=pzXSZpzujlfq`Cl)4VCI)K&ahXC) literal 0 HcmV?d00001 diff --git a/docs/css/api-ref/public_sys-resources/jquery-migrate-1.2.1.min.js b/docs/css/api-ref/public_sys-resources/jquery-migrate-1.2.1.min.js new file mode 100644 index 000000000..88f4844bf --- /dev/null +++ b/docs/css/api-ref/public_sys-resources/jquery-migrate-1.2.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */ +jQueryHW2.migrateMute===void 0&&(jQueryHW2.migrateMute=!0),function(e,t,n){function r(n){}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute,e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQueryHW2 is not compatible with Quirks Mode");var o=e("",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQueryHW2.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQueryHW2.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQueryHW2.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQueryHW2.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQueryHW2.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQueryHW2.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQueryHW2.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQueryHW2.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQueryHW2.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQueryHW2.fn.andSelf() replaced by jQueryHW2.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQueryHW2.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].concat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQueryHW2.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQueryHW2.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQueryHW2.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQueryHW2.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQueryHW2.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQueryHW2,window); \ No newline at end of file diff --git a/docs/css/api-ref/public_sys-resources/jquery-ui.min.js b/docs/css/api-ref/public_sys-resources/jquery-ui.min.js new file mode 100644 index 000000000..5a2c95bdd --- /dev/null +++ b/docs/css/api-ref/public_sys-resources/jquery-ui.min.js @@ -0,0 +1,6 @@ +/*! jQuery UI - v1.13.0 - 2021-10-07 +* http://jqueryui.com +* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(V){"use strict";V.ui=V.ui||{};V.ui.version="1.13.0";var n,i=0,a=Array.prototype.hasOwnProperty,r=Array.prototype.slice;V.cleanData=(n=V.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=V._data(i,"events"))&&e.remove&&V(i).triggerHandler("remove");n(t)}),V.widget=function(t,i,e){var s,n,o,a={},r=t.split(".")[0],l=r+"-"+(t=t.split(".")[1]);return e||(e=i,i=V.Widget),Array.isArray(e)&&(e=V.extend.apply(null,[{}].concat(e))),V.expr.pseudos[l.toLowerCase()]=function(t){return!!V.data(t,l)},V[r]=V[r]||{},s=V[r][t],n=V[r][t]=function(t,e){if(!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},V.extend(n,s,{version:e.version,_proto:V.extend({},e),_childConstructors:[]}),(o=new i).options=V.widget.extend({},o.options),V.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)}function o(t){return i.prototype[e].apply(this,t)}a[e]="function"==typeof s?function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}:s}),n.prototype=V.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},a,{constructor:n,namespace:r,widgetName:t,widgetFullName:l}),s?(V.each(s._childConstructors,function(t,e){var i=e.prototype;V.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),V.widget.bridge(t,n),n},V.widget.extend=function(t){for(var e,i,s=r.call(arguments,1),n=0,o=s.length;n",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=V(e||this.defaultElement||this)[0],this.element=V(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=V(),this.hoverable=V(),this.focusable=V(),this.classesElementLookup={},e!==this&&(V.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=V(e.style?e.ownerDocument:e.document||e),this.window=V(this.document[0].defaultView||this.document[0].parentWindow)),this.options=V.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:V.noop,_create:V.noop,_init:V.noop,destroy:function(){var i=this;this._destroy(),V.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:V.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return V.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=V.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return V("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(k(s),k(n))?o.important="horizontal":o.important="vertical",u.using.call(this,t,o)}),a.offset(V.extend(h,{using:t}))})},V.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,a=s-o,r=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0")[0],w=d.each;function P(t){return null==t?t+"":"object"==typeof t?p[e.call(t)]||"object":typeof t}function M(t,e,i){var s=v[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:Math.min(s.max,Math.max(0,t)))}function S(s){var n=m(),o=n._rgba=[];return s=s.toLowerCase(),w(g,function(t,e){var i=e.re.exec(s),i=i&&e.parse(i),e=e.space||"rgba";if(i)return i=n[e](i),n[_[e].cache]=i[_[e].cache],o=n._rgba=i._rgba,!1}),o.length?("0,0,0,0"===o.join()&&d.extend(o,B.transparent),n):B[s]}function H(t,e,i){return 6*(i=(i+1)%1)<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}y.style.cssText="background-color:rgba(1,1,1,.5)",b.rgba=-1o.mod/2?s+=o.mod:s-n>o.mod/2&&(s-=o.mod)),l[i]=M((n-s)*a+s,e)))}),this[e](l)},blend:function(t){if(1===this._rgba[3])return this;var e=this._rgba.slice(),i=e.pop(),s=m(t)._rgba;return m(d.map(e,function(t,e){return(1-i)*s[e]+i*t}))},toRgbaString:function(){var t="rgba(",e=d.map(this._rgba,function(t,e){return null!=t?t:2").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:i.width(),height:i.height()},n=document.activeElement;try{n.id}catch(t){n=document.body}return i.wrap(t),i[0]!==n&&!V.contains(i[0],n)||V(n).trigger("focus"),t=i.parent(),"static"===i.css("position")?(t.css({position:"relative"}),i.css({position:"relative"})):(V.extend(s,{position:i.css("position"),zIndex:i.css("z-index")}),V.each(["top","left","bottom","right"],function(t,e){s[e]=i.css(e),isNaN(parseInt(s[e],10))&&(s[e]="auto")}),i.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),i.css(e),t.css(s).show()},removeWrapper:function(t){var e=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),t[0]!==e&&!V.contains(t[0],e)||V(e).trigger("focus")),t}}),V.extend(V.effects,{version:"1.13.0",define:function(t,e,i){return i||(i=e,e="effect"),V.effects.effect[t]=i,V.effects.effect[t].mode=e,i},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,e="vertical"!==i?(e||100)/100:1;return{height:t.height()*e,width:t.width()*s,outerHeight:t.outerHeight()*e,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();1").insertAfter(t).css({display:/^(inline|ruby)/.test(t.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:t.css("marginTop"),marginBottom:t.css("marginBottom"),marginLeft:t.css("marginLeft"),marginRight:t.css("marginRight"),float:t.css("float")}).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).addClass("ui-effects-placeholder"),t.data(j+"placeholder",e)),t.css({position:i,left:s.left,top:s.top}),e},removePlaceholder:function(t){var e=j+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(t){V.effects.restoreStyle(t),V.effects.removePlaceholder(t)},setTransition:function(s,t,n,o){return o=o||{},V.each(t,function(t,e){var i=s.cssUnit(e);0");l.appendTo("body").addClass(t.className).css({top:s.top-a,left:s.left-r,height:i.innerHeight(),width:i.innerWidth(),position:n?"fixed":"absolute"}).animate(o,t.duration,t.easing,function(){l.remove(),"function"==typeof e&&e()})}}),V.fx.step.clip=function(t){t.clipInit||(t.start=V(t.elem).cssClip(),"string"==typeof t.end&&(t.end=G(t.end,t.elem)),t.clipInit=!0),V(t.elem).cssClip({top:t.pos*(t.end.top-t.start.top)+t.start.top,right:t.pos*(t.end.right-t.start.right)+t.start.right,bottom:t.pos*(t.end.bottom-t.start.bottom)+t.start.bottom,left:t.pos*(t.end.left-t.start.left)+t.start.left})},Y={},V.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,t){Y[t]=function(t){return Math.pow(t,e+2)}}),V.extend(Y,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;t<((e=Math.pow(2,--i))-1)/11;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),V.each(Y,function(t,e){V.easing["easeIn"+t]=e,V.easing["easeOut"+t]=function(t){return 1-e(1-t)},V.easing["easeInOut"+t]=function(t){return t<.5?e(2*t)/2:1-e(-2*t+2)/2}});y=V.effects,V.effects.define("blind","hide",function(t,e){var i={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},s=V(this),n=t.direction||"up",o=s.cssClip(),a={clip:V.extend({},o)},r=V.effects.createPlaceholder(s);a.clip[i[n][0]]=a.clip[i[n][1]],"show"===t.mode&&(s.cssClip(a.clip),r&&r.css(V.effects.clipToBox(a)),a.clip=o),r&&r.animate(V.effects.clipToBox(a),t.duration,t.easing),s.animate(a,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),V.effects.define("bounce",function(t,e){var i,s,n=V(this),o=t.mode,a="hide"===o,r="show"===o,l=t.direction||"up",h=t.distance,c=t.times||5,o=2*c+(r||a?1:0),u=t.duration/o,d=t.easing,p="up"===l||"down"===l?"top":"left",f="up"===l||"left"===l,g=0,t=n.queue().length;for(V.effects.createPlaceholder(n),l=n.css(p),h=h||n["top"==p?"outerHeight":"outerWidth"]()/3,r&&((s={opacity:1})[p]=l,n.css("opacity",0).css(p,f?2*-h:2*h).animate(s,u,d)),a&&(h/=Math.pow(2,c-1)),(s={})[p]=l;g").css({position:"absolute",visibility:"visible",left:-s*p,top:-i*f}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:p,height:f,left:n+(u?a*p:0),top:o+(u?r*f:0),opacity:u?0:1}).animate({left:n+(u?0:a*p),top:o+(u?0:r*f),opacity:u?1:0},t.duration||500,t.easing,m)}),V.effects.define("fade","toggle",function(t,e){var i="show"===t.mode;V(this).css("opacity",i?0:1).animate({opacity:i?1:0},{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),V.effects.define("fold","hide",function(e,t){var i=V(this),s=e.mode,n="show"===s,o="hide"===s,a=e.size||15,r=/([0-9]+)%/.exec(a),l=!!e.horizFirst?["right","bottom"]:["bottom","right"],h=e.duration/2,c=V.effects.createPlaceholder(i),u=i.cssClip(),d={clip:V.extend({},u)},p={clip:V.extend({},u)},f=[u[l[0]],u[l[1]]],s=i.queue().length;r&&(a=parseInt(r[1],10)/100*f[o?0:1]),d.clip[l[0]]=a,p.clip[l[0]]=a,p.clip[l[1]]=0,n&&(i.cssClip(p.clip),c&&c.css(V.effects.clipToBox(p)),p.clip=u),i.queue(function(t){c&&c.animate(V.effects.clipToBox(d),h,e.easing).animate(V.effects.clipToBox(p),h,e.easing),t()}).animate(d,h,e.easing).animate(p,h,e.easing).queue(t),V.effects.unshift(i,s,4)}),V.effects.define("highlight","show",function(t,e){var i=V(this),s={backgroundColor:i.css("backgroundColor")};"hide"===t.mode&&(s.opacity=0),V.effects.saveStyle(i),i.css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(s,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),V.effects.define("size",function(s,e){var n,i=V(this),t=["fontSize"],o=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],a=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],r=s.mode,l="effect"!==r,h=s.scale||"both",c=s.origin||["middle","center"],u=i.css("position"),d=i.position(),p=V.effects.scaledDimensions(i),f=s.from||p,g=s.to||V.effects.scaledDimensions(i,0);V.effects.createPlaceholder(i),"show"===r&&(r=f,f=g,g=r),n={from:{y:f.height/p.height,x:f.width/p.width},to:{y:g.height/p.height,x:g.width/p.width}},"box"!==h&&"both"!==h||(n.from.y!==n.to.y&&(f=V.effects.setTransition(i,o,n.from.y,f),g=V.effects.setTransition(i,o,n.to.y,g)),n.from.x!==n.to.x&&(f=V.effects.setTransition(i,a,n.from.x,f),g=V.effects.setTransition(i,a,n.to.x,g))),"content"!==h&&"both"!==h||n.from.y!==n.to.y&&(f=V.effects.setTransition(i,t,n.from.y,f),g=V.effects.setTransition(i,t,n.to.y,g)),c&&(c=V.effects.getBaseline(c,p),f.top=(p.outerHeight-f.outerHeight)*c.y+d.top,f.left=(p.outerWidth-f.outerWidth)*c.x+d.left,g.top=(p.outerHeight-g.outerHeight)*c.y+d.top,g.left=(p.outerWidth-g.outerWidth)*c.x+d.left),delete f.outerHeight,delete f.outerWidth,i.css(f),"content"!==h&&"both"!==h||(o=o.concat(["marginTop","marginBottom"]).concat(t),a=a.concat(["marginLeft","marginRight"]),i.find("*[width]").each(function(){var t=V(this),e=V.effects.scaledDimensions(t),i={height:e.height*n.from.y,width:e.width*n.from.x,outerHeight:e.outerHeight*n.from.y,outerWidth:e.outerWidth*n.from.x},e={height:e.height*n.to.y,width:e.width*n.to.x,outerHeight:e.height*n.to.y,outerWidth:e.width*n.to.x};n.from.y!==n.to.y&&(i=V.effects.setTransition(t,o,n.from.y,i),e=V.effects.setTransition(t,o,n.to.y,e)),n.from.x!==n.to.x&&(i=V.effects.setTransition(t,a,n.from.x,i),e=V.effects.setTransition(t,a,n.to.x,e)),l&&V.effects.saveStyle(t),t.css(i),t.animate(e,s.duration,s.easing,function(){l&&V.effects.restoreStyle(t)})})),i.animate(g,{queue:!1,duration:s.duration,easing:s.easing,complete:function(){var t=i.offset();0===g.opacity&&i.css("opacity",f.opacity),l||(i.css("position","static"===u?"relative":u).offset(t),V.effects.saveStyle(i)),e()}})}),V.effects.define("scale",function(t,e){var i=V(this),s=t.mode,s=parseInt(t.percent,10)||(0===parseInt(t.percent,10)||"effect"!==s?0:100),s=V.extend(!0,{from:V.effects.scaledDimensions(i),to:V.effects.scaledDimensions(i,s,t.direction||"both"),origin:t.origin||["middle","center"]},t);t.fade&&(s.from.opacity=1,s.to.opacity=0),V.effects.effect.size.call(this,s,e)}),V.effects.define("puff","hide",function(t,e){t=V.extend(!0,{},t,{fade:!0,percent:parseInt(t.percent,10)||150});V.effects.effect.scale.call(this,t,e)}),V.effects.define("pulsate","show",function(t,e){var i=V(this),s=t.mode,n="show"===s,o=2*(t.times||5)+(n||"hide"===s?1:0),a=t.duration/o,r=0,l=1,s=i.queue().length;for(!n&&i.is(":visible")||(i.css("opacity",0).show(),r=1);l li > :first-child").add(t.find("> :not(li)").even())},heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=V(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),t.collapsible||!1!==t.active&&null!=t.active||(t.active=0),this._processPanels(),t.active<0&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():V()}},_createIcons:function(){var t,e=this.options.icons;e&&(t=V(""),this._addClass(t,"ui-accordion-header-icon","ui-icon "+e.header),t.prependTo(this.headers),t=this.active.children(".ui-accordion-header-icon"),this._removeClass(t,e.header)._addClass(t,null,e.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){"active"!==t?("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||!1!==this.options.active||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons())):this._activate(e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var e=V.ui.keyCode,i=this.headers.length,s=this.headers.index(t.target),n=!1;switch(t.keyCode){case e.RIGHT:case e.DOWN:n=this.headers[(s+1)%i];break;case e.LEFT:case e.UP:n=this.headers[(s-1+i)%i];break;case e.SPACE:case e.ENTER:this._eventHandler(t);break;case e.HOME:n=this.headers[0];break;case e.END:n=this.headers[i-1]}n&&(V(t.target).attr("tabIndex",-1),V(n).attr("tabIndex",0),V(n).trigger("focus"),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===V.ui.keyCode.UP&&t.ctrlKey&&V(t.currentTarget).prev().trigger("focus")},refresh:function(){var t=this.options;this._processPanels(),!1===t.active&&!0===t.collapsible||!this.headers.length?(t.active=!1,this.active=V()):!1===t.active?this._activate(0):this.active.length&&!V.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=V()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;"function"==typeof this.options.header?this.headers=this.options.header(this.element):this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var i,t=this.options,e=t.heightStyle,s=this.element.parent();this.active=this._findActive(t.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var t=V(this),e=t.uniqueId().attr("id"),i=t.next(),s=i.uniqueId().attr("id");t.attr("aria-controls",s),i.attr("aria-labelledby",e)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(t.event),"fill"===e?(i=s.height(),this.element.siblings(":visible").each(function(){var t=V(this),e=t.css("position");"absolute"!==e&&"fixed"!==e&&(i-=t.outerHeight(!0))}),this.headers.each(function(){i-=V(this).outerHeight(!0)}),this.headers.next().each(function(){V(this).height(Math.max(0,i-V(this).innerHeight()+V(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.headers.next().each(function(){var t=V(this).is(":visible");t||V(this).show(),i=Math.max(i,V(this).css("height","").height()),t||V(this).hide()}).height(i))},_activate:function(t){t=this._findActive(t)[0];t!==this.active[0]&&(t=t||this.active[0],this._eventHandler({target:t,currentTarget:t,preventDefault:V.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):V()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&V.each(t.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var e=this.options,i=this.active,s=V(t.currentTarget),n=s[0]===i[0],o=n&&e.collapsible,a=o?V():s.next(),r=i.next(),a={oldHeader:i,oldPanel:r,newHeader:o?V():s,newPanel:a};t.preventDefault(),n&&!e.collapsible||!1===this._trigger("beforeActivate",t,a)||(e.active=!o&&this.headers.index(s),this.active=n?V():s,this._toggle(a),this._removeClass(i,"ui-accordion-header-active","ui-state-active"),e.icons&&(i=i.children(".ui-accordion-header-icon"),this._removeClass(i,null,e.icons.activeHeader)._addClass(i,null,e.icons.header)),n||(this._removeClass(s,"ui-accordion-header-collapsed")._addClass(s,"ui-accordion-header-active","ui-state-active"),e.icons&&(n=s.children(".ui-accordion-header-icon"),this._removeClass(n,null,e.icons.header)._addClass(n,null,e.icons.activeHeader)),this._addClass(s.next(),"ui-accordion-content-active")))},_toggle:function(t){var e=t.newPanel,i=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=e,this.prevHide=i,this.options.animate?this._animate(e,i,t):(i.hide(),e.show(),this._toggleComplete(t)),i.attr({"aria-hidden":"true"}),i.prev().attr({"aria-selected":"false","aria-expanded":"false"}),e.length&&i.length?i.prev().attr({tabIndex:-1,"aria-expanded":"false"}):e.length&&this.headers.filter(function(){return 0===parseInt(V(this).attr("tabIndex"),10)}).attr("tabIndex",-1),e.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,i,e){var s,n,o,a=this,r=0,l=t.css("box-sizing"),h=t.length&&(!i.length||t.index()",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=V(t.target),i=V(V.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){V.contains(this.element[0],V.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=V(t.target).closest(".ui-menu-item"),i=V(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=V(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case V.ui.keyCode.PAGE_UP:this.previousPage(t);break;case V.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case V.ui.keyCode.HOME:this._move("first","first",t);break;case V.ui.keyCode.END:this._move("last","last",t);break;case V.ui.keyCode.UP:this.previous(t);break;case V.ui.keyCode.DOWN:this.next(t);break;case V.ui.keyCode.LEFT:this.collapse(t);break;case V.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case V.ui.keyCode.ENTER:case V.ui.keyCode.SPACE:this._activate(t);break;case V.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=V(this),e=t.prev(),i=V("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=V(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!V.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(V.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(V.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=V.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=V.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=V("