From daee48595f5bca9578fd9f382bf152b76ff82928 Mon Sep 17 00:00:00 2001 From: "Wang , Deng Ke" Date: Thu, 10 Nov 2022 07:51:13 +0000 Subject: [PATCH] DDS API 20221101 version Reviewed-by: Hasko, Vladimir Co-authored-by: Wang , Deng Ke Co-committed-by: Wang , Deng Ke --- doc-exports | 1 + docs/dds/api-ref/.placeholder | 0 docs/dds/api-ref/ALL_META.TXT.json | 242 ++++ docs/dds/api-ref/CLASS.TXT.json | 218 ++++ docs/dds/api-ref/PARAMETERS.txt | 3 + docs/dds/api-ref/dds_api_0006.html | 37 + docs/dds/api-ref/dds_api_0007.html | 12 + docs/dds/api-ref/dds_api_0010.html | 70 ++ docs/dds/api-ref/dds_api_0014.html | 15 + docs/dds/api-ref/dds_api_0015.html | 22 + docs/dds/api-ref/dds_api_0016.html | 171 +++ docs/dds/api-ref/dds_api_0017.html | 108 ++ docs/dds/api-ref/dds_api_0018.html | 142 +++ docs/dds/api-ref/dds_api_0019.html | 139 +++ docs/dds/api-ref/dds_api_0020.html | 614 ++++++++++ docs/dds/api-ref/dds_api_0022.html | 74 ++ docs/dds/api-ref/dds_api_0023.html | 774 ++++++++++++ docs/dds/api-ref/dds_api_description.html | 18 + docs/dds/api-ref/dds_api_reference.html | 41 + docs/dds/api-ref/dds_api_version.html | 18 + docs/dds/api-ref/dds_change_history.html | 38 + docs/dds/api-ref/dds_database_version.html | 77 ++ docs/dds/api-ref/dds_error_code.html | 1086 +++++++++++++++++ docs/dds/api-ref/dds_instance_mgmt.html | 19 + .../api-ref/dds_instance_specification.html | 339 +++++ docs/dds/api-ref/dds_metrics.html | 798 ++++++++++++ docs/dds/api-ref/dds_projectid.html | 50 + docs/dds/api-ref/dds_public_parameters.html | 18 + docs/dds/api-ref/dds_status_code.html | 140 +++ docs/dds/api-ref/en-us_image_0208249507.png | Bin 0 -> 11567 bytes docs/dds/api-ref/en-us_image_0208249570.jpg | Bin 0 -> 112824 bytes .../public_sys-resources/ExpandCollapse.js | 1 + .../caution_3.0-en-us.png | Bin 0 -> 2752 bytes .../public_sys-resources/commonltr.css | 1 + .../commonltr_ittmplate.css | 1 + .../public_sys-resources/commonltr_print.css | 1 + .../public_sys-resources/commonrtl.css | 1 + .../public_sys-resources/danger_3.0-en-us.png | Bin 0 -> 2771 bytes .../api-ref/public_sys-resources/delta.gif | Bin 0 -> 58 bytes .../api-ref/public_sys-resources/deltaend.gif | Bin 0 -> 56 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 -> 580 bytes .../public_sys-resources/icon-danger.gif | Bin 0 -> 580 bytes .../public_sys-resources/icon-huawei.gif | Bin 0 -> 2767 bytes .../public_sys-resources/icon-note.gif | Bin 0 -> 394 bytes .../public_sys-resources/icon-notice.gif | Bin 0 -> 1069 bytes .../api-ref/public_sys-resources/icon-tip.gif | Bin 0 -> 253 bytes .../public_sys-resources/icon-warning.gif | Bin 0 -> 580 bytes .../public_sys-resources/imageResize.js | 1 + .../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 .../public_sys-resources/jquery-1.11.1.min.js | 4 + .../jquery-migrate-1.2.1.min.js | 2 + .../public_sys-resources/jquery-ui.min.js | 13 + .../jquery.mousewheel.min.js | 8 + .../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 .../dds/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 65 files changed, 5327 insertions(+) create mode 160000 doc-exports delete mode 100644 docs/dds/api-ref/.placeholder create mode 100644 docs/dds/api-ref/ALL_META.TXT.json create mode 100644 docs/dds/api-ref/CLASS.TXT.json create mode 100644 docs/dds/api-ref/PARAMETERS.txt create mode 100644 docs/dds/api-ref/dds_api_0006.html create mode 100644 docs/dds/api-ref/dds_api_0007.html create mode 100644 docs/dds/api-ref/dds_api_0010.html create mode 100644 docs/dds/api-ref/dds_api_0014.html create mode 100644 docs/dds/api-ref/dds_api_0015.html create mode 100644 docs/dds/api-ref/dds_api_0016.html create mode 100644 docs/dds/api-ref/dds_api_0017.html create mode 100644 docs/dds/api-ref/dds_api_0018.html create mode 100644 docs/dds/api-ref/dds_api_0019.html create mode 100644 docs/dds/api-ref/dds_api_0020.html create mode 100644 docs/dds/api-ref/dds_api_0022.html create mode 100644 docs/dds/api-ref/dds_api_0023.html create mode 100644 docs/dds/api-ref/dds_api_description.html create mode 100644 docs/dds/api-ref/dds_api_reference.html create mode 100644 docs/dds/api-ref/dds_api_version.html create mode 100644 docs/dds/api-ref/dds_change_history.html create mode 100644 docs/dds/api-ref/dds_database_version.html create mode 100644 docs/dds/api-ref/dds_error_code.html create mode 100644 docs/dds/api-ref/dds_instance_mgmt.html create mode 100644 docs/dds/api-ref/dds_instance_specification.html create mode 100644 docs/dds/api-ref/dds_metrics.html create mode 100644 docs/dds/api-ref/dds_projectid.html create mode 100644 docs/dds/api-ref/dds_public_parameters.html create mode 100644 docs/dds/api-ref/dds_status_code.html create mode 100644 docs/dds/api-ref/en-us_image_0208249507.png create mode 100644 docs/dds/api-ref/en-us_image_0208249570.jpg create mode 100644 docs/dds/api-ref/public_sys-resources/ExpandCollapse.js create mode 100644 docs/dds/api-ref/public_sys-resources/caution_3.0-en-us.png create mode 100644 docs/dds/api-ref/public_sys-resources/commonltr.css create mode 100644 docs/dds/api-ref/public_sys-resources/commonltr_ittmplate.css create mode 100644 docs/dds/api-ref/public_sys-resources/commonltr_print.css create mode 100644 docs/dds/api-ref/public_sys-resources/commonrtl.css create mode 100644 docs/dds/api-ref/public_sys-resources/danger_3.0-en-us.png create mode 100644 docs/dds/api-ref/public_sys-resources/delta.gif create mode 100644 docs/dds/api-ref/public_sys-resources/deltaend.gif create mode 100644 docs/dds/api-ref/public_sys-resources/icon-arrowdn.gif create mode 100644 docs/dds/api-ref/public_sys-resources/icon-arrowrt.gif create mode 100644 docs/dds/api-ref/public_sys-resources/icon-caution.gif create mode 100644 docs/dds/api-ref/public_sys-resources/icon-danger.gif create mode 100644 docs/dds/api-ref/public_sys-resources/icon-huawei.gif create mode 100644 docs/dds/api-ref/public_sys-resources/icon-note.gif create mode 100644 docs/dds/api-ref/public_sys-resources/icon-notice.gif create mode 100644 docs/dds/api-ref/public_sys-resources/icon-tip.gif create mode 100644 docs/dds/api-ref/public_sys-resources/icon-warning.gif create mode 100644 docs/dds/api-ref/public_sys-resources/imageResize.js create mode 100644 docs/dds/api-ref/public_sys-resources/imageclose.gif create mode 100644 docs/dds/api-ref/public_sys-resources/imageclosehover.gif create mode 100644 docs/dds/api-ref/public_sys-resources/imagemax.gif create mode 100644 docs/dds/api-ref/public_sys-resources/imagemaxhover.gif create mode 100644 docs/dds/api-ref/public_sys-resources/jquery-1.11.1.min.js create mode 100644 docs/dds/api-ref/public_sys-resources/jquery-migrate-1.2.1.min.js create mode 100644 docs/dds/api-ref/public_sys-resources/jquery-ui.min.js create mode 100644 docs/dds/api-ref/public_sys-resources/jquery.mousewheel.min.js create mode 100644 docs/dds/api-ref/public_sys-resources/macFFBgHack.png create mode 100644 docs/dds/api-ref/public_sys-resources/note_3.0-en-us.png create mode 100644 docs/dds/api-ref/public_sys-resources/notice_3.0-en-us.png create mode 100644 docs/dds/api-ref/public_sys-resources/popup.js create mode 100644 docs/dds/api-ref/public_sys-resources/thickbox.css create mode 100644 docs/dds/api-ref/public_sys-resources/thickbox.js create mode 100644 docs/dds/api-ref/public_sys-resources/warning_3.0-en-us.png diff --git a/doc-exports b/doc-exports new file mode 160000 index 000000000..118a10979 --- /dev/null +++ b/doc-exports @@ -0,0 +1 @@ +Subproject commit 118a109795f9193fc0bab68fb222736a4d17142f diff --git a/docs/dds/api-ref/.placeholder b/docs/dds/api-ref/.placeholder deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/dds/api-ref/ALL_META.TXT.json b/docs/dds/api-ref/ALL_META.TXT.json new file mode 100644 index 000000000..b7e5c7a5a --- /dev/null +++ b/docs/dds/api-ref/ALL_META.TXT.json @@ -0,0 +1,242 @@ +[ + { + "uri":"dds_api_reference.html", + "product_code":"dds", + "code":"1", + "des":"This document describes application programming interfaces (APIs), syntax, parameters, and examples of Document Database Service (DDS). You can search for information you", + "doc_type":"api", + "kw":"Before You Start,API Reference", + "title":"Before You Start", + "githuburl":"" + }, + { + "uri":"dds_api_0006.html", + "product_code":"dds", + "code":"2", + "des":"DDS provides extension APIs, allowing you to perform specific operations using APIs.", + "doc_type":"api", + "kw":"API Overview,API Reference", + "title":"API Overview", + "githuburl":"" + }, + { + "uri":"dds_api_0007.html", + "product_code":"dds", + "code":"3", + "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":"Environment Preparations", + "title":"Environment Preparations", + "githuburl":"" + }, + { + "uri":"dds_api_0010.html", + "product_code":"dds", + "code":"4", + "des":"If you use a token for authentication, you must obtain the user's token and add X-Auth-Token to the request message header of the service API when making an API call.This", + "doc_type":"api", + "kw":"Token Authentication,Environment Preparations,API Reference", + "title":"Token Authentication", + "githuburl":"" + }, + { + "uri":"dds_api_0014.html", + "product_code":"dds", + "code":"5", + "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":"API Calling", + "title":"API Calling", + "githuburl":"" + }, + { + "uri":"dds_api_0015.html", + "product_code":"dds", + "code":"6", + "des":"DDS open APIs allow users to create, view, or delete DB instances, query API versions, DB engines, DB engine versions, and DB instance class supported by the system. The ", + "doc_type":"api", + "kw":"Scenarios,API Calling,API Reference", + "title":"Scenarios", + "githuburl":"" + }, + { + "uri":"dds_api_0016.html", + "product_code":"dds", + "code":"7", + "des":"API requests sent by third-party applications to public cloud services must be authenticated using signatures.Public cloud APIs follow RESTful API design rules.In REST, s", + "doc_type":"api", + "kw":"REST APIs,API Calling,API Reference", + "title":"REST APIs", + "githuburl":"" + }, + { + "uri":"dds_api_0017.html", + "product_code":"dds", + "code":"8", + "des":"This section describes how to create a cluster instance by calling APIs.The validity period of a token obtained from IAM is 24 hours. If you want to use a token for authe", + "doc_type":"api", + "kw":"Example,API Calling,API Reference", + "title":"Example", + "githuburl":"" + }, + { + "uri":"dds_api_description.html", + "product_code":"dds", + "code":"9", + "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":"API Description", + "title":"API Description", + "githuburl":"" + }, + { + "uri":"dds_api_version.html", + "product_code":"dds", + "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":"Querying the API Version", + "title":"Querying the API Version", + "githuburl":"" + }, + { + "uri":"dds_api_0018.html", + "product_code":"dds", + "code":"11", + "des":"This API is used to query the currently supported API version list.URI formatGET /GET /Parameter descriptionN/AN/ARequest headerGET https://DDS endpoint/Request bodyN/AN/", + "doc_type":"api", + "kw":"Querying the API Version List,Querying the API Version,API Reference", + "title":"Querying the API Version List", + "githuburl":"" + }, + { + "uri":"dds_api_0019.html", + "product_code":"dds", + "code":"12", + "des":"This API is used to query the specified API version.URI formatGET /v3Request headerGET https://DDS endpoint/v3Request bodyN/AN/AParameter descriptionParameter description", + "doc_type":"api", + "kw":"Querying API Version Information,Querying the API Version,API Reference", + "title":"Querying API Version Information", + "githuburl":"" + }, + { + "uri":"dds_database_version.html", + "product_code":"dds", + "code":"13", + "des":"This API is used to obtain database version information about a specified type of a DB instance.URI formatGET /v3/{project_id}/datastores/{datastore_name}/versionsGET /v3", + "doc_type":"api", + "kw":"Querying Database Version Information,API Description,API Reference", + "title":"Querying Database Version Information", + "githuburl":"" + }, + { + "uri":"dds_instance_specification.html", + "product_code":"", + "code":"14", + "des":"This API is used to query all DB instance specifications in a specified region.URI formatGET /v3/{project_id}/flavors?region={region}&engine_name={engine_name}GET /v3/{pr", + "doc_type":"", + "kw":"Querying All DB Instance Specifications,API Description,API Reference", + "title":"Querying All DB Instance Specifications", + "githuburl":"" + }, + { + "uri":"dds_instance_mgmt.html", + "product_code":"dds", + "code":"15", + "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":"DB Instance Management", + "title":"DB Instance Management", + "githuburl":"" + }, + { + "uri":"dds_api_0020.html", + "product_code":"dds", + "code":"16", + "des":"This API is used to create cluster, replica set, and single node instances.URI formatPOST /v3/{project_id}/instancesPOST /v3/{project_id}/instancesParameter descriptionPa", + "doc_type":"api", + "kw":"Creating a DB Instance,DB Instance Management,API Reference", + "title":"Creating a DB Instance", + "githuburl":"" + }, + { + "uri":"dds_api_0022.html", + "product_code":"dds", + "code":"17", + "des":"This API is used to delete a DB instance.URI formatDELETE /v3/{project_id}/instances/{instance_id}DELETE /v3/{project_id}/instances/{instance_id}Parameter descriptionPara", + "doc_type":"api", + "kw":"Deleting a DB Instance,DB Instance Management,API Reference", + "title":"Deleting a DB Instance", + "githuburl":"" + }, + { + "uri":"dds_api_0023.html", + "product_code":"", + "code":"18", + "des":"This API is used to query DB instances based on specified conditions.URI formatGET /v3/{project_id}/instances?id={id}&name={name}&mode={mode}&datastore_type={datastore_ty", + "doc_type":"", + "kw":"Querying DB Instances,DB Instance Management,API Reference", + "title":"Querying DB Instances", + "githuburl":"" + }, + { + "uri":"dds_public_parameters.html", + "product_code":"dds", + "code":"19", + "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":"Appendix", + "title":"Appendix", + "githuburl":"" + }, + { + "uri":"dds_status_code.html", + "product_code":"dds", + "code":"20", + "des":"NormalStatus CodeMessageDescription200OKRequest succeeded.202AcceptedAsynchronous request submitted successfully.AbnormalStatus CodeMessageDescription400Bad RequestInvali", + "doc_type":"api", + "kw":"Status Code,Appendix,API Reference", + "title":"Status Code", + "githuburl":"" + }, + { + "uri":"dds_error_code.html", + "product_code":"dds", + "code":"21", + "des":"If an error occurs in an API, no result is returned. You can locate the error cause based on the error codes of each API. When the invocation fails, an HTTP status code i", + "doc_type":"api", + "kw":"Error Code,Appendix,API Reference", + "title":"Error Code", + "githuburl":"" + }, + { + "uri":"dds_projectid.html", + "product_code":"", + "code":"22", + "des":"A project ID is required for some URLs when an API is called. Therefore, you need to obtain a project ID in advance. Two methods are available:Obtaining the Project ID by", + "doc_type":"", + "kw":"Obtaining a Project ID,Appendix,API Reference", + "title":"Obtaining a Project ID", + "githuburl":"" + }, + { + "uri":"dds_metrics.html", + "product_code":"dds", + "code":"23", + "des":"This section describes metrics reported by Document Database Service (DDS) to Cloud Eye as well as their namespaces and dimensions. You can use APIs provided by Cloud Eye", + "doc_type":"api", + "kw":"DDS Metrics,Appendix,API Reference", + "title":"DDS Metrics", + "githuburl":"" + }, + { + "uri":"dds_change_history.html", + "product_code":"", + "code":"24", + "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":"", + "kw":"Change History,API Reference", + "title":"Change History", + "githuburl":"" + } +] \ No newline at end of file diff --git a/docs/dds/api-ref/CLASS.TXT.json b/docs/dds/api-ref/CLASS.TXT.json new file mode 100644 index 000000000..18e36f113 --- /dev/null +++ b/docs/dds/api-ref/CLASS.TXT.json @@ -0,0 +1,218 @@ +[ + { + "desc":"This document describes application programming interfaces (APIs), syntax, parameters, and examples of Document Database Service (DDS). You can search for information you", + "product_code":"dds", + "title":"Before You Start", + "uri":"dds_api_reference.html", + "doc_type":"api", + "p_code":"", + "code":"1" + }, + { + "desc":"DDS provides extension APIs, allowing you to perform specific operations using APIs.", + "product_code":"dds", + "title":"API Overview", + "uri":"dds_api_0006.html", + "doc_type":"api", + "p_code":"", + "code":"2" + }, + { + "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":"dds", + "title":"Environment Preparations", + "uri":"dds_api_0007.html", + "doc_type":"api", + "p_code":"", + "code":"3" + }, + { + "desc":"If you use a token for authentication, you must obtain the user's token and add X-Auth-Token to the request message header of the service API when making an API call.This", + "product_code":"dds", + "title":"Token Authentication", + "uri":"dds_api_0010.html", + "doc_type":"api", + "p_code":"3", + "code":"4" + }, + { + "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":"dds", + "title":"API Calling", + "uri":"dds_api_0014.html", + "doc_type":"api", + "p_code":"", + "code":"5" + }, + { + "desc":"DDS open APIs allow users to create, view, or delete DB instances, query API versions, DB engines, DB engine versions, and DB instance class supported by the system. The ", + "product_code":"dds", + "title":"Scenarios", + "uri":"dds_api_0015.html", + "doc_type":"api", + "p_code":"5", + "code":"6" + }, + { + "desc":"API requests sent by third-party applications to public cloud services must be authenticated using signatures.Public cloud APIs follow RESTful API design rules.In REST, s", + "product_code":"dds", + "title":"REST APIs", + "uri":"dds_api_0016.html", + "doc_type":"api", + "p_code":"5", + "code":"7" + }, + { + "desc":"This section describes how to create a cluster instance by calling APIs.The validity period of a token obtained from IAM is 24 hours. If you want to use a token for authe", + "product_code":"dds", + "title":"Example", + "uri":"dds_api_0017.html", + "doc_type":"api", + "p_code":"5", + "code":"8" + }, + { + "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":"dds", + "title":"API Description", + "uri":"dds_api_description.html", + "doc_type":"api", + "p_code":"", + "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":"dds", + "title":"Querying the API Version", + "uri":"dds_api_version.html", + "doc_type":"api", + "p_code":"9", + "code":"10" + }, + { + "desc":"This API is used to query the currently supported API version list.URI formatGET /GET /Parameter descriptionN/AN/ARequest headerGET https://DDS endpoint/Request bodyN/AN/", + "product_code":"dds", + "title":"Querying the API Version List", + "uri":"dds_api_0018.html", + "doc_type":"api", + "p_code":"10", + "code":"11" + }, + { + "desc":"This API is used to query the specified API version.URI formatGET /v3Request headerGET https://DDS endpoint/v3Request bodyN/AN/AParameter descriptionParameter description", + "product_code":"dds", + "title":"Querying API Version Information", + "uri":"dds_api_0019.html", + "doc_type":"api", + "p_code":"10", + "code":"12" + }, + { + "desc":"This API is used to obtain database version information about a specified type of a DB instance.URI formatGET /v3/{project_id}/datastores/{datastore_name}/versionsGET /v3", + "product_code":"dds", + "title":"Querying Database Version Information", + "uri":"dds_database_version.html", + "doc_type":"api", + "p_code":"9", + "code":"13" + }, + { + "desc":"This API is used to query all DB instance specifications in a specified region.URI formatGET /v3/{project_id}/flavors?region={region}&engine_name={engine_name}GET /v3/{pr", + "product_code":"dds", + "title":"Querying All DB Instance Specifications", + "uri":"dds_instance_specification.html", + "doc_type":"api", + "p_code":"9", + "code":"14" + }, + { + "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":"dds", + "title":"DB Instance Management", + "uri":"dds_instance_mgmt.html", + "doc_type":"api", + "p_code":"9", + "code":"15" + }, + { + "desc":"This API is used to create cluster, replica set, and single node instances.URI formatPOST /v3/{project_id}/instancesPOST /v3/{project_id}/instancesParameter descriptionPa", + "product_code":"dds", + "title":"Creating a DB Instance", + "uri":"dds_api_0020.html", + "doc_type":"api", + "p_code":"15", + "code":"16" + }, + { + "desc":"This API is used to delete a DB instance.URI formatDELETE /v3/{project_id}/instances/{instance_id}DELETE /v3/{project_id}/instances/{instance_id}Parameter descriptionPara", + "product_code":"dds", + "title":"Deleting a DB Instance", + "uri":"dds_api_0022.html", + "doc_type":"api", + "p_code":"15", + "code":"17" + }, + { + "desc":"This API is used to query DB instances based on specified conditions.URI formatGET /v3/{project_id}/instances?id={id}&name={name}&mode={mode}&datastore_type={datastore_ty", + "product_code":"dds", + "title":"Querying DB Instances", + "uri":"dds_api_0023.html", + "doc_type":"api", + "p_code":"15", + "code":"18" + }, + { + "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":"dds", + "title":"Appendix", + "uri":"dds_public_parameters.html", + "doc_type":"api", + "p_code":"", + "code":"19" + }, + { + "desc":"NormalStatus CodeMessageDescription200OKRequest succeeded.202AcceptedAsynchronous request submitted successfully.AbnormalStatus CodeMessageDescription400Bad RequestInvali", + "product_code":"dds", + "title":"Status Code", + "uri":"dds_status_code.html", + "doc_type":"api", + "p_code":"19", + "code":"20" + }, + { + "desc":"If an error occurs in an API, no result is returned. You can locate the error cause based on the error codes of each API. When the invocation fails, an HTTP status code i", + "product_code":"dds", + "title":"Error Code", + "uri":"dds_error_code.html", + "doc_type":"api", + "p_code":"19", + "code":"21" + }, + { + "desc":"A project ID is required for some URLs when an API is called. Therefore, you need to obtain a project ID in advance. Two methods are available:Obtaining the Project ID by", + "product_code":"dds", + "title":"Obtaining a Project ID", + "uri":"dds_projectid.html", + "doc_type":"api", + "p_code":"19", + "code":"22" + }, + { + "desc":"This section describes metrics reported by Document Database Service (DDS) to Cloud Eye as well as their namespaces and dimensions. You can use APIs provided by Cloud Eye", + "product_code":"dds", + "title":"DDS Metrics", + "uri":"dds_metrics.html", + "doc_type":"api", + "p_code":"19", + "code":"23" + }, + { + "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":"dds", + "title":"Change History", + "uri":"dds_change_history.html", + "doc_type":"api", + "p_code":"", + "code":"24" + } +] \ No newline at end of file diff --git a/docs/dds/api-ref/PARAMETERS.txt b/docs/dds/api-ref/PARAMETERS.txt new file mode 100644 index 000000000..6da8d5f07 --- /dev/null +++ b/docs/dds/api-ref/PARAMETERS.txt @@ -0,0 +1,3 @@ +version="" +language="en-us" +type="" \ No newline at end of file diff --git a/docs/dds/api-ref/dds_api_0006.html b/docs/dds/api-ref/dds_api_0006.html new file mode 100644 index 000000000..11e8277f5 --- /dev/null +++ b/docs/dds/api-ref/dds_api_0006.html @@ -0,0 +1,37 @@ + + +

API Overview

+

DDS provides extension APIs, allowing you to perform specific operations using APIs.

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

Type

+

Description

+

API Version Queries

+
  • Query all API versions.
  • Query a specified API version.
+

Database Version Information Queries

+

Obtain database version information about a specified instance type.

+

All DB Instance Specifications Queries

+

Query all DB instance specifications in a specified region.

+

DB Instance Management

+

Manage DB instances, including creating, deleting, and querying DB instances.

+
+
+
+
+ diff --git a/docs/dds/api-ref/dds_api_0007.html b/docs/dds/api-ref/dds_api_0007.html new file mode 100644 index 000000000..6cebcd442 --- /dev/null +++ b/docs/dds/api-ref/dds_api_0007.html @@ -0,0 +1,12 @@ + + +

Environment Preparations

+

+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_api_0010.html b/docs/dds/api-ref/dds_api_0010.html new file mode 100644 index 000000000..365daf8fa --- /dev/null +++ b/docs/dds/api-ref/dds_api_0010.html @@ -0,0 +1,70 @@ + + +

Token Authentication

+

Application Scenarios

If you use a token for authentication, you must obtain the user's token and add X-Auth-Token to the request message header of the service API when making an API call.

+

This section describes how to make an API call for token authentication.

+
+

Invoking an API

  1. Obtain the following information:

    1. To obtain the IAM endpoint and region name in the message body, see Regions and Endpoints.
    2. To obtain the project ID, see Obtaining a Project ID.
    +

  2. Send a POST https://IAM_Endpoint/v3/auth/tokens request to obtain the user token.

    +

    + + + + + + + + + + + +
    Table 1 Header description

    Name

    +

    Description

    +

    Mandatory

    +

    Example

    +

    Content-Type

    +

    Specifies the MIME type of the request body.

    +

    Yes

    +

    application/json

    +
    +
    +
    An example request message is as follows:
    {
    +    "auth": {
    +        "identity": {
    +            "methods": [
    +                "password"
    +            ],
    +            "password": {
    +                "user": {
    +                    "name": "username",
    +                    "password": "password",
    +                    "domain": {
    +                        "name": "domainname"
    +                    }
    +                }
    +            }
    +        },
    +        "scope": {
    +            "project": {
    +               "id": "project_id"
    +             }
    +        }
    +    }
    +}
    +
    +

    In the preceding command, replace parameter in italic with the actual values. For details, see the "Obtaining a User Token" section in the Identity and Access Management API Reference.

    +
    1. IAM_Endpoint: Replace it with the IAM endpoint obtained in 1.
    2. username and password: Replace them respectively with the username and password of the IAM server.
    3. project_id: Replace it with the project ID obtained in 1.
    +

    After the request is processed, the value of X-Subject-Token in the header is the token value.

    +
    X-Subject-Token:MIIDkgYJKoZIhvcNAQcCoIIDgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX...
    +

  3. Run the following command to set the token as an environment variable for subsequent operations:

    export Token={X-Subject-Token}

    +

    X-Subject-Token: Replace it with the token obtained in 2. An example command is as follows:

    +

    export Token=MIIDkgYJKoZIhvcNAQcCoIIDgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX...

    +

+
+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_api_0014.html b/docs/dds/api-ref/dds_api_0014.html new file mode 100644 index 000000000..29cc24465 --- /dev/null +++ b/docs/dds/api-ref/dds_api_0014.html @@ -0,0 +1,15 @@ + + +

API Calling

+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_api_0015.html b/docs/dds/api-ref/dds_api_0015.html new file mode 100644 index 000000000..48c0b99c5 --- /dev/null +++ b/docs/dds/api-ref/dds_api_0015.html @@ -0,0 +1,22 @@ + + +

Scenarios

+

DDS open APIs allow users to create, view, or delete DB instances, query API versions, DB engines, DB engine versions, and DB instance class supported by the system. The application scenarios are shown as follows.

+
Figure 1 Scenarios
+

Before creating a DB instance, you need to obtain the DB engines and versions, DB instance class, and AZs supported by the system.

+

After obtaining the information, you can use the returned results as invoked parameters to create a DB instance.

+

After a DB instance is created, you can query the instance list and delete the instance.

+
+
+ +
+ + + \ No newline at end of file diff --git a/docs/dds/api-ref/dds_api_0016.html b/docs/dds/api-ref/dds_api_0016.html new file mode 100644 index 000000000..121615747 --- /dev/null +++ b/docs/dds/api-ref/dds_api_0016.html @@ -0,0 +1,171 @@ + + +

REST APIs

+

API requests sent by third-party applications to public cloud services must be authenticated using signatures.

+

Public cloud APIs follow RESTful API design rules.

+

In REST, specific information or data on a network is represented by resources. REST allows users to access service resources by creating, querying, updating, and deleting resources.

+

A REST API request and response are divided into the following parts:

+
  • Request URI
  • Request header
  • Request body
  • Response header
  • Response body
+

Request URI

A request URI consists of the following:

+

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

+

Although a request URI is included in a request header, most programming languages or frameworks require the request URI to be separately transmitted, rather than being conveyed in a request message.

+ +
+ + + + + + + + + + + + + + + + +
Table 1 URI parameter description

Parameter

+

Description

+

URI-scheme

+

Specifies the protocol used for transmitting requests.

+

Endpoint

+

Specifies the domain name or IP address of the server bearing the REST service endpoint.

+

To obtain the parameter value, see Regions and Endpoints.

+

resource-path

+

Specifies the API access path for performing a specified operation. Obtain this value from the URI of the API, for example, v3/auth/tokens.

+

query-string

+

This parameter is optional. For example, you can set it to API version or resource selection criteria.

+
+
+
+

Request Methods

HTTP methods, which are also called operations or actions, specify the type of operations that you are requesting. +
+ + + + + + + + + + + + + +
Table 2 HTTP methods

Method

+

Description

+

GET

+

Requests a server to return the specified resources.

+

POST

+

Requests a server to add resources or perform special operations.

+

DELETE

+

Requests a server to delete specified resources, for example, an object.

+
+
+
+
+

Request Header

You can also add additional fields to the request header, for example, the fields required by a specified URI and an HTTP method. Table 3 lists common request header fields.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Common request headers

Name

+

Description

+

Mandatory

+

Example

+

Content-Type

+

Specifies the MIME type of the request body.

+

Yes

+

application/json

+

Content-Length

+

Specifies the length of the request body. The unit is byte.

+

This parameter is optional for POST requests, but must be left blank for GET requests.

+

3495

+

X-Project-Id

+

Specifies the project ID. For details about how to obtain the project ID, see Obtaining a Project ID.

+

No

+

e9993fc787d94b6c886cbaa340f9c0f4

+

X-Auth-Token

+

Specifies the user token.

+

Yes

+

-

+
+
+
+

(Optional) Request Body

A request body is generally sent in a structured format (for example, JSON or XML), corresponding to Content-Type in the request header, and is used to transfer content other than the request header.

+

If the request body contains Chinese characters, convert the Chinese characters into the UTF-8 encoding format.

+
+

Response Headers

A response header consists of the following two parts:

+
  • An HTTP status code, which is a service-defined status code indicating a success or an error
  • Additional fields, for example Content-Type
    Table 4 lists common response header fields. +
    + + + + + + + + + + + + + + + + + +
    Table 4 Common response headers

    Name

    +

    Description

    +

    Example

    +

    Date

    +

    Standard HTTP header field, which represents the date and time at which the message was originated. The format is defined by RFC 822.

    +

    Wed, 27 Dec 2018 06:49:46 GMT

    +

    Content-Length

    +

    Standard HTTP header field, which specifies the size of the entity body, in decimal number of bytes, sent to the recipient.

    +

    -

    +

    Content-Type

    +

    Standard HTTP header field, which specifies the media type of the entity body sent to the recipient.

    +

    application/json

    +
    +
    +
    +
+
+

(Optional) Response Body

A response body is generally returned in a structured format (for example, JSON or XML), corresponding to Content-Type in the response header, and is used to transfer content other than the response header.

+
+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_api_0017.html b/docs/dds/api-ref/dds_api_0017.html new file mode 100644 index 000000000..eb582e6bf --- /dev/null +++ b/docs/dds/api-ref/dds_api_0017.html @@ -0,0 +1,108 @@ + + +

Example

+

This section describes how to create a cluster instance by calling APIs.

+

The validity period of a token obtained from IAM is 24 hours. If you want to use a token for authentication, cache it to avoid frequent IAM API calling.

+
+

Involved APIs

If you use a token for authentication, you must obtain the user's token and add X-Auth-Token to the request message header of the service API when making an API call.

+
  • API for obtaining tokens from IAM
  • Creating a DDS DB instance using an open API
+
+

Procedure

  1. Obtain the token by following instructions in section Token Authentication.
  2. Send POST https://DDS endpoint/v3/{project_id}/instances.
  3. Add X-Auth-Token to the request header.
  4. Specify the following parameters in the request body:

    The values of region and availability_zone are used as examples.

    +

    For details about the API used for creating DB instances, see Creating a DB Instance.

    +
    +
    {
    +  "name": "test-cluster", //DB instance name
    +  "datastore": {
    +    "type": "DDS-Community", // Database type and version
    +     "version": "3.4", //Database version
    +     "storage_engine": "wiredTiger" //Storage engine
    +  },
    +    "region": "aaa", //Region name
    +    "availability_zone": "bbb", //AZ name
    +    "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961", //VPC ID
    +    "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b", //Subnet ID
    +   "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58", //Security group ID
    +   "password": "Test@123", //Administrator password
    +   "disk_encryption_id": "d4825f1b-5e47-4ff7-8ca9-0960da1770b1", //Key ID for encrypting disks
    +   "mode": "Sharding", //Sharded-cluster instance type
    +  "flavor": [
    +    {
    +       "type":"mongos", //mongos node
    +      "num": 2, //Quantity
    +      "spec_code": "dds.mongodb.s2.medium.4.mongos" //Node resource code
    +    },
    +    {
    +       "type":"shard", //shard node
    +      "num": 2, //Quantity
    +      "storage": "ULTRAHIGH", //Disk type
    +      "size": 20, //Disk size
    +      "spec_code": "dds.mongodb.s2.medium.4.shard" //Node resource code
    +    },
    +    {
    +       "type":"config", //config node
    +      "num": 1, //Quantity
    +      "storage": "ULTRAHIGH", //Disk type
    +      "size": 20, //Disk size
    +      "spec_code": "dds.mongodb.s2.large.2.config" //Node resource type
    +    }
    +  ],
    +  "backup_strategy": {
    +    "start_time": "08:15-09:15", //Backup time window
    +    "keep_days": "8"  //Retention days of backup files
    +  },
    +  "ssl_option":"1"
    +}
    +

    If the following information is displayed, the request is successful:

    +
    {
    +  "id": "46125c43ca4d424a9f5c97354223c4e0in02",
    +  "name": "test-cluster",
    +  "datastore": {
    +    "type": "DDS-Community",
    +    "version": "3.4",
    +    "storage_engine": "wiredTiger"
    +  },
    +  "created": "2019-01-14 08:50:27",
    +  "status": "creating",
    +  "region": "aaa",
    +  "availability_zone": "bbb",
    +  "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
    +  "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b",
    +  "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",
    +  "disk_encryption_id": "d4825f1b-5e47-4ff7-8ca9-0960da1770b1",
    +  "mode": "Sharding",
    +  "flavor": [
    +    {
    +      "type": "mongos",
    +      "num": 2,
    +      "spec_code": "dds.mongodb.s2.medium.4.mongos"
    +    },
    +    {
    +      "type": "shard",
    +      "num": 2,
    +      "size": 20,
    +      "spec_code": "dds.mongodb.s2.medium.4.shard"
    +    },
    +    {
    +      "type": "config",
    +      "num": 1,
    +      "size": 20,
    +      "spec_code": "dds.mongodb.s2.large.2.config"
    +    }
    +  ],
    +  "backup_strategy": {
    +    "start_time": "08:15-09:15",
    +    "keep_days": "8"
    +  },
    +  "ssl_option":"1",
    +  "job_id": "c0c606b6-470a-48c7-97a2-6c7f146014d4"
    +}
    +

    If the request fails, an error code and error information are returned. For details, see section Error Code.

    +
+
+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_api_0018.html b/docs/dds/api-ref/dds_api_0018.html new file mode 100644 index 000000000..6d31f210e --- /dev/null +++ b/docs/dds/api-ref/dds_api_0018.html @@ -0,0 +1,142 @@ + + +

Querying the API Version List

+

Function

This API is used to query the currently supported API version list.

+
+

URI

  • URI format

    GET /

    +
  • Parameter description

    N/A

    +
+
+

Requests

  • Request header
    GET https://DDS endpoint/
    +
  • Request body

    N/A

    +
+
+

Responses

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

    Name

    +

    Type

    +

    Description

    +

    versions

    +

    Array of objects

    +

    Indicates the list of detailed API version information. For more information, see Table 2.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2 versions field data structure description

    Name

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Indicates the API version.

    +

    links

    +

    Array of objects

    +

    Indicates the API link information. For more information, see Table 3.

    +
    NOTE:

    If the version is v3, the value is [].

    +
    +

    status

    +

    String

    +

    Indicates the version status.

    +

    version

    +

    String

    +

    Indicates the subversion of the API version.

    +

    min_version

    +

    String

    +

    Indicates the minimum API version.

    +

    updated

    +

    String

    +

    Indicates the version update time.

    +

    The format is yyyy-mm-ddThh:mm:ssZ.

    +

    T is the separator between the calendar and the hourly notation of time. Z indicates the UTC.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 3 links field data structure description

    Name

    +

    Type

    +

    Description

    +

    href

    +

    String

    +

    Indicates the API URL and the value is "".

    +

    rel

    +

    String

    +

    Its value is self, indicating that URL is a local link.

    +
    +
    +
+
  • Response example
    {
    +    "versions": [
    +        {
    +            "id": "v3",
    +            "links": [],
    +            "status": "CURRENT",
    +            "version": "",
    +            "min_version": "",
    +            "updated": "2017-02-07T17:34:02Z"
    +        }
    +    ]
    +}
    +
+
+

Status Code

For more information, see Status Code.

+
+

Error Code

For more information, see Error Code.

+
+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_api_0019.html b/docs/dds/api-ref/dds_api_0019.html new file mode 100644 index 000000000..de727d155 --- /dev/null +++ b/docs/dds/api-ref/dds_api_0019.html @@ -0,0 +1,139 @@ + + +

Querying API Version Information

+

Function

This API is used to query the specified API version.

+
+

URI

URI format

+

GET /v3

+
+

Requests

  • Request header
    GET https://DDS endpoint/v3
    +
  • Request body

    N/A

    +
+
+

Responses

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

    Name

    +

    Type

    +

    Description

    +

    version

    +

    Object

    +

    Indicates the list of detailed API version information. For more information, see Table 2.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2 version field data structure description

    Name

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Indicates the API version.

    +

    links

    +

    Array of objects

    +

    Indicates the API version link information. For more information, see Table 3.

    +
    NOTE:

    If the version is v3, the value is [].

    +
    +

    status

    +

    String

    +

    Indicates the version status. The value CURRENT indicates that the version has been released.

    +

    version

    +

    String

    +

    Indicates the subversion of the API version.

    +

    min_version

    +

    String

    +

    Indicates the minimum API version.

    +

    updated

    +

    String

    +

    Indicates the version update time.

    +

    The format is yyyy-mm-ddThh:mm:ssZ.

    +

    T is the separator between the calendar and the hourly notation of time. Z indicates the UTC.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 3 links field data structure description

    Name

    +

    Type

    +

    Description

    +

    href

    +

    String

    +

    Indicates the API URL and the value is "".

    +

    rel

    +

    String

    +

    Its value is self, indicating that URL is a local link.

    +
    +
    +
+
  • Response example
    {
    +    "version": {
    +        "id": "v3",
    +        "links": [],
    +        "status": "CURRENT",
    +        "version": "",
    +        "min_version": "",
    +        "updated": "2017-02-07T17:34:02Z"
    +    }
    +}
    +
+
+

Status Code

For more information, see Status Code.

+
+

Error Code

For more information, see Error Code.

+
+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_api_0020.html b/docs/dds/api-ref/dds_api_0020.html new file mode 100644 index 000000000..a8a429ea1 --- /dev/null +++ b/docs/dds/api-ref/dds_api_0020.html @@ -0,0 +1,614 @@ + + +

Creating a DB Instance

+

Function

This API is used to create cluster, replica set instances.

+
+

URI

  • URI format

    POST /v3/{project_id}/instances

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

    Name

    +

    Mandatory

    +

    Description

    +

    project_id

    +

    Yes

    +

    Specifies the project ID of a tenant in a region.

    +
    +
    +
+
+

Requests

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

    Name

    +

    Mandatory

    +

    Type

    +

    Description

    +

    name

    +

    Yes

    +

    String

    +

    Specifies the DB instance name. The DB instance name of the same DB engine is unique for the same tenant.

    +

    The value must be 4 to 64 characters in length and start with a letter (from A to Z or from a to z). It is case-sensitive and can contain only letters, digits (from 0 to 9), hyphens (-), and underscores (_).

    +

    datastore

    +

    Yes

    +

    Object

    +

    Specifies the database information. For more information, see Table 3.

    +

    region

    +

    Yes

    +

    String

    +

    Specifies the region ID.

    +

    The value cannot be empty. For details about how to obtain this parameter value, see Regions and Endpoints.

    +

    availability_zone

    +

    Yes

    +

    String

    +

    Specifies the AZ ID.

    +

    The value cannot be empty. For details about how to obtain this parameter value, see Regions and Endpoints.

    +

    vpc_id

    +

    Yes

    +

    String

    +

    Specifies the VPC ID. For details about how to obtain this parameter value, see section "Virtual Private Cloud" in the Virtual Private Cloud API Reference.

    +

    The value cannot be empty. The string length and whether the string complying with UUID regular expression rules are verified.

    +

    subnet_id

    +

    Yes

    +

    String

    +

    Specifies the subnet ID. For details about how to obtain this parameter value, see section "Subnet" in the Virtual Private Cloud API Reference.

    +

    security_group_id

    +

    Yes

    +

    String

    +

    Specifies the ID of the security group where a specified DB instance belongs to.

    +

    For details about how to obtain this parameter value, see section "Security Group" in the Virtual Private Cloud API Reference.

    +

    password

    +

    Yes

    +

    String

    +

    Specifies the database password.

    +

    The value must be 8 to 32 characters in length and contain uppercase letters (A to Z), lowercase letters (a to z), digits (0 to 9), and special characters, such as ~!@#%^*-_=+?

    +

    You are advised to enter a strong password to improve security, preventing security risks such as brute force cracking.

    +

    disk_encryption_id

    +

    No

    +

    String

    +

    Specifies the key ID used for disk encryption. The string must comply with UUID regular expression rules.

    +

    If this parameter is not transferred, disk encryption is not performed.

    +

    mode

    +

    Yes

    +

    String

    +

    Specifies the instance type. Cluster, replica set instances are supported.

    +

    Valid value:

    +
    • Sharding
    • ReplicaSet
    +

    flavor

    +

    Yes

    +

    Array of objects

    +

    Specifies the instance specifications. For more information, see Table 4.

    +

    For details about how to obtain the value, see the response values of flavor in Querying All DB Instance Specifications.

    +

    backup_strategy

    +

    No

    +

    Object

    +

    Specifies the advanced backup policy. For more information, see Table 5.

    +

    ssl_option

    +

    No

    +

    String

    +

    Specifies whether to enable SSL.

    +

    Valid value:

    +
    • The value 0 indicates that SSL is disabled by default.
    • The value 1 indicates that SSL is enabled by default.
    • If this parameter is not transferred, SSL is enabled by default.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + +
    Table 3 datastore field data structure description

    Name

    +

    Mandatory

    +

    Type

    +

    Description

    +

    type

    +

    Yes

    +

    String

    +

    +

    Specifies the database type. DDS Community Edition is supported. The value is DDS-Community.

    +

    version

    +

    Yes

    +

    String

    +

    +

    Specifies the database version. The value is 3.2 or 3.4.

    +

    storage_engine

    +

    Yes

    +

    String

    +

    Specifies the storage engine. Currently, DDS supports the WiredTiger storage engine. The value is wiredTiger.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 4 flavor field data structure description

    Name

    +

    Mandatory

    +

    Type

    +

    Description

    +

    type

    +

    Yes

    +

    String

    +

    Specifies the node type.

    +

    Valid value:

    +
    • For a cluster instance, the value can be mongos, shard, or config.
    • For a replica set instance, the value is replica.
    +

    num

    +

    Yes

    +

    Integer

    +

    Specifies node quantity.

    +

    Valid value:

    +
    • mongos: The value ranges from 2 to 16.
    • shard: The value ranges from 2 to 16.
    • config: The value is 1.
    • replica: The value is 1.
    +

    storage

    +

    This parameter is optional for all nodes except mongos. This parameter is invalid for the mongos nodes.

    +

    String

    +

    Specifies the disk type.

    +

    Valid value: ULTRAHIGH, which indicates the type SSD.

    +

    This parameter is valid for the shard and config nodes of a community edition cluster instance, replica set instances. This parameter is invalid for mongos nodes. Therefore, you do not need to specify the storage space for mongos nodes.

    +

    size

    +

    This parameter is mandatory for all nodes except mongos. This parameter is invalid for the mongos nodes.

    +

    Integer

    +

    Specifies the disk size.

    +

    The value must be a multiple of 10. The unit is GB.

    +
    • For a cluster instance, the storage space of a shard node can be 10 to 1000 GB, and the config storage space is 20 GB. This parameter is invalid for mongos nodes. Therefore, you do not need to specify the storage space for mongos nodes.
    • For a replica set instance, the value ranges from 10 to 2000.
    +

    spec_code

    +

    Yes

    +

    String

    +

    Specifies the resource specification code. For details about how to obtain the value, see the response values of spec_code in Querying All DB Instance Specifications.

    +
    +
    + +
    + + + + + + + + + + + + + + + + +
    Table 5 backup_strategy field data structure description

    Name

    +

    Mandatory

    +

    Type

    +

    Description

    +

    start_time

    +

    Yes

    +

    String

    +

    Specifies the backup time window. Automated backups will be triggered during the backup time window.

    +

    The value cannot be empty. It must be a valid value in the "hh:mm-HH:MM" format. The current time is in the UTC format.

    +
    • The HH value must be 1 greater than the hh value.
    • The values of mm and MM must be the same and must be set to any of the following: 00, 15, 30, or 45.
    +

    Example value:

    +
    • 08:15-09:15
    • 23:00-00:00
    +

    keep_days

    +

    No

    +

    String

    +

    Specifies the number of days to retain the generated backup files.

    +

    The value range is from 0 to 732.

    +
    • If this parameter is set to 0, the automated backup policy is not set.
    • If this parameter is not transferred, the automated backup policy is enabled by default. Backup files are stored for seven days by default.
    +
    +
    +
+

The values of region and availability_zone are used as examples.

+
+
  • Request header
    POST https://DDS endpoint/v3/{project_id}/instances.
    +
  • Example request
    Create a cluster instance.
    {
    +  "name": "test-cluster-01",
    +  "datastore": {
    +    "type": "DDS-Community",
    +    "version": "3.4",
    +    "storage_engine": "wiredTiger"
    +  },
    +  "region": "aaa",
    +  "availability_zone": "bbb",
    +  "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
    +  "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b",
    +  "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",
    +  "password": "Test@123",
    +  "mode": "Sharding",
    +  "flavor": [
    +    {
    +      "type": "mongos",
    +      "num": 2,
    +      "spec_code": "dds.mongodb.s2.medium.4.mongos"
    +    },
    +    {
    +      "type": "shard",
    +      "num": 2,
    +      "storage": "ULTRAHIGH",
    +      "size": 20,
    +      "spec_code": "dds.mongodb.s2.medium.4.shard"
    +    },
    +    {
    +      "type": "config",
    +      "num": 1,
    +      "storage": "ULTRAHIGH",
    +      "size": 20,
    +      "spec_code": "dds.mongodb.s2.large.2.config"
    +    }
    +  ],
    +  "backup_strategy": {
    +    "start_time": "08:15-09:15",
    +    "keep_days": "8"
    +  },
    +  "ssl_option":"1"
    +}
    +
    +
    Create a replica set instance.
    {
    +  "name": "test-replicaset",
    +  "datastore": {
    +    "type": "DDS-Community",
    +    "version": "3.4",
    +    "storage_engine": "wiredTiger"
    +  },
    +  "region": "aaa",
    +  "availability_zone": "bbb",
    +  "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
    +  "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b",
    +  "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",
    +  "password": "Test@123",
    +  "mode": "ReplicaSet",
    +  "flavor": [
    +    {
    +      "type": "replica",
    +      "num": 1,
    +      "storage": "ULTRAHIGH",
    +      "size": 30,
    +      "spec_code": "dds.mongodb.s2.medium.4.repset"
    +    }
    +  ],
    +  "backup_strategy": {
    +    "start_time": "08:15-09:15",
    +    "keep_days": "8"
    +  },
    +  "ssl_option":"1"
    +}
    +
    +
+
+

Responses

  • Parameter description +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 6 Parameter description

    Name

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Indicates the DB instance ID.

    +

    name

    +

    String

    +

    Same as the request parameter.

    +

    datastore

    +

    Object

    +

    Indicates the database information, which is the same as the request parameter. For more information, see Table 3.

    +

    created

    +

    String

    +

    Indicates the creation time in the following format: yyyy-mm-dd hh:mm:ss.

    +

    status

    +

    String

    +

    Indicates the DB instance status. The value is creating.

    +

    region

    +

    String

    +

    Indicates the region ID, which is the same as the request parameter.

    +

    availability_zone

    +

    String

    +

    Indicates the AZ ID, which is the same as the request parameter.

    +

    vpc_id

    +

    String

    +

    Indicates the VPC ID, which is the same as the request parameter.

    +

    subnet_id

    +

    String

    +

    Indicates the subnet ID, which is the same as the request parameter.

    +

    security_group_id

    +

    String

    +

    Indicates the ID of the security group to which the instance belongs, which is the same as the request parameter.

    +

    disk_encryption_id

    +

    String

    +

    Indicates the ID of the disk encryption key, which is the same as the request parameter.

    +

    mode

    +

    String

    +

    Indicates the instance type, which is the same as the request parameter.

    +

    flavor

    +

    Array of objects

    +

    Indicates the instance specification, which is the same as the request parameter. For more information, see Table 4.

    +

    backup_strategy

    +

    Object

    +

    Indicates the advanced backup policy, which is the same as the request parameter. For more information, see Table 5.

    +

    ssl_option

    +

    String

    +

    Indicates whether to enable SSL, which functions the same as the request parameter.

    +

    job_id

    +

    String

    +

    Indicates the ID of the workflow for creating a DB instance.

    +
    +
    +
+

The values of region and availability_zone are used as examples.

+
+
  • Response example
    Cluster instance:
    { 
    +    "id": "39b6a1a278844ac48119d86512e0000bin02",
    +    "name": "test-cluster-01",
    +    "datastore": {
    +        "type": "DDS-Community",
    +        "version": "3.4",
    +        "storage_engine": "wiredTiger"
    +    },
    +    "created": "2019-01-16 09:34:36",
    +    "status": "creating",
    +    "region": "aaa",
    +    "availability_zone": "bbb",
    +    "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
    +    "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b",
    +    "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",
    +    "disk_encryption_id": "",
    +    "mode": "Sharding",
    +    "flavor": [
    +        {
    +            "type": "mongos",
    +            "num": 2,
    +            "spec_code": "dds.mongodb.s2.medium.4.mongos"
    +        },
    +        {
    +            "type": "shard",
    +            "num": 2,
    +            "spec_code": "dds.mongodb.s2.medium.4.shard",
    +            "size": 20
    +        },
    +        {
    +            "type": "config",
    +            "num": 1,
    +            "spec_code": "dds.mongodb.s2.large.2.config",
    +            "size": 20
    +        }
    +    ],
    +    "backup_strategy": {
    +        "start_time": "08:15-09:15",
    +        "keep_days": "8"
    +    },
    +    "ssl_option":"1",
    +    "job_id": "c010abd0-48cf-4fa8-8cbc-090f093eaa2f"
    +}
    +
    +
    Replica set instance:
    {
    +    "id": "46dfadfd2b674585a430217f23606cd7in02",
    +    "name": "test-replicaset",
    +    "datastore": {
    +        "type": "DDS-Community",
    +        "version": "3.4",
    +        "storage_engine": "wiredTiger"
    +    },
    +    "created": "2019-01-16 09:33:08",
    +    "status": "creating",
    +    "region": "aaa",
    +    "availability_zone": "bbb",
    +    "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
    +    "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b",
    +    "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",
    +    "disk_encryption_id": "",
    +    "mode": "ReplicaSet",
    +    "flavor": [
    +        {
    +            "type": "replica",
    +            "num": 1,
    +            "spec_code": "dds.mongodb.s2.medium.4.repset",
    +            "size": 30
    +        }
    +    ],
    +    "backup_strategy": {
    +        "start_time": "08:15-09:15",
    +        "keep_days": "7"
    +    },
    +    "ssl_option":"1",
    +    "job_id": "2408417d-fd4b-40ae-bec6-e09ce594eb5f"
    +}
    +
    +
+
+

Status Code

For more information, see Status Code.

+
+

Error Code

For more information, see Error Code.

+
+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_api_0022.html b/docs/dds/api-ref/dds_api_0022.html new file mode 100644 index 000000000..289b56fc9 --- /dev/null +++ b/docs/dds/api-ref/dds_api_0022.html @@ -0,0 +1,74 @@ + + +

Deleting a DB Instance

+

Function

This API is used to delete a DB instance.

+
+

URI

  • URI format

    DELETE /v3/{project_id}/instances/{instance_id}

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

    Name

    +

    Mandatory

    +

    Description

    +

    project_id

    +

    Yes

    +

    Specifies the project ID of a tenant in a region.

    +

    instance_id

    +

    Yes

    +

    Specifies the DB instance ID.

    +
    +
    +
+
+

Requests

  • Request header
    DELETE https://DDS endpoint/v3/{project_id}/instances/{instance_id}
    +
  • Request body

    N/A

    +
+
+

Responses

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

    Name

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Indicates the workflow ID.

    +
    +
    +
+
  • Response example
    {
    +      "job_id": "252f11f1-2912-4c06-be55-1999bde659c5"
    +}
    +
+
+

Status Code

For more information, see Status Code.

+
+

Error Code

For more information, see Error Code.

+
+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_api_0023.html b/docs/dds/api-ref/dds_api_0023.html new file mode 100644 index 000000000..97f531461 --- /dev/null +++ b/docs/dds/api-ref/dds_api_0023.html @@ -0,0 +1,774 @@ + + +

Querying DB Instances

+

Function

This API is used to query DB instances based on specified conditions.

+
+

URI

  • URI format

    GET /v3/{project_id}/instances?id={id}&name={name}&mode={mode}&datastore_type={datastore_type}&vpc_id={vpc_id}&subnet_id={subnet_id}&offset={offset}&limit={limit}

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

    Name

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID of a tenant in a region.

    +

    id

    +

    No

    +

    String

    +

    Specifies the DB instance ID.

    +

    name

    +

    No

    +

    String

    +

    Specifies the DB instance name.

    +

    If you use asterisk (*) at the beginning of the name, fuzzy search results are returned. Otherwise, the exact results are returned.

    +
    NOTE:

    The asterisk (*) is a reserved character in the system and cannot be used alone.

    +
    +

    mode

    +

    No

    +

    String

    +

    Specifies the instance type.

    +
    • Sharding indicates the cluster instance.
    • ReplicaSet indicate the replica set instance.
    +

    datastore_type

    +

    No

    +

    String

    +

    Specifies the database type. The value is DDS-Community.

    +

    vpc_id

    +

    No

    +

    String

    +

    Specifies the VPC ID. You can log in to the VPC console and obtain the ID of the VPC where the DDS instance is located.

    +

    subnet_id

    +

    No

    +

    String

    +

    Specifies the network ID of the subnet. You can log in to the VPC console and obtain the network ID of the subnet in the VPC where the DDS instance is located.

    +

    offset

    +

    No

    +

    Integer

    +

    Specifies the index position. The query starts from the next instance creation time indexed by this parameter under a specified project. If offset is set to N, the resource query starts from the N+1 piece of data

    +

    The value must be greater than or equal to 0. If this parameter is not transferred, offset is set to 0 by default, indicating that the query starts from the latest created DB instance.

    +

    limit

    +

    No

    +

    Integer

    +

    Specifies the maximum allowed number of DB instances.

    +

    The value ranges from 1 to 100. If this parameter is not transferred, the first 100 DB instances are queried by default.

    +
    +
    +
+
+

Requests

  • Request header
    Query all DB instances.
    GET https://DDS endpoint/v3/0483b6b16e954cb88930a360d2c4e663/instances
    +
    +
    Query DB instances based on specified conditions.
    GET https://DDS endpoint/v3/0483b6b16e954cb88930a360d2c4e663/instances?offset=0&limit=10&id=ed7cc6166ec24360a5ed5c5c9c2ed726in02&name=hy&mode=ReplicaSet&datastore_type=DDS-Community&vpc_id=19e5d45d-70fd-4a91-87e9-b27e71c9891f&subnet_id=bd51fb45-2dcb-4296-8783-8623bfe89bb7
    +
    +
+
  • Request body

    N/A

    +
+
+

Responses

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

    Name

    +

    Type

    +

    Description

    +

    instances

    +

    Array of objects

    +

    Indicates the DB instance information. For more information, see Table 3.

    +

    total_count

    +

    Integer

    +

    Indicates the total number of queried records.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 3 instances field data structure description

    Name

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Indicates the DB instance ID.

    +

    name

    +

    String

    +

    Indicates the DB instance name.

    +

    status

    +

    String

    +

    Indicates the DB instance status.

    +

    Valid value:

    +
    • normal: indicates that the instance is running properly.
    • abnormal: indicates that the instance is abnormal.
    • creating: indicates that the instance is being created.
    • data_disk_full: indicates that the instance disk is full.
    • createfail: indicates that the instance failed to be created.
    • enlargefail: indicates that nodes failed to be added to the instance.
    +

    port

    +

    Integer

    +

    Indicates the database port number. The port range is 2100 to 9500.

    +

    mode

    +

    String

    +

    Indicates the instance type, which is the same as the request parameter.

    +

    region

    +

    String

    +

    Indicates the region where the DB instance is deployed.

    +

    datastore

    +

    Object

    +

    Indicates the database information. For more information, see Table 4.

    +

    engine

    +

    String

    +

    Indicates the storage engine. The value is wiredTiger.

    +

    created

    +

    String

    +

    Indicates the DB instance creation time.

    +

    updated

    +

    String

    +

    Indicates the time when a DB instance is updated.

    +

    db_user_name

    +

    String

    +

    Indicates the default username. The value is rwuser.

    +

    ssl

    +

    Integer

    +

    Indicates that SSL is enabled or not.

    +
    • 1: indicate that SSL is enabled.
    • 0: indicate that SSL is disabled.
    +

    vpc_id

    +

    String

    +

    Indicates the VPC ID.

    +

    subnet_id

    +

    String

    +

    Indicates the subnet ID.

    +

    security_group_id

    +

    String

    +

    Indicates the security group ID.

    +

    backup_strategy

    +

    Object

    +

    Indicates the backup policy. For more information, see Table 5.

    +

    pay_mode

    +

    String

    +

    Indicates the billing mode. 0: indicates the pay-per-use billing mode.

    +

    maintenance_window

    +

    String

    +

    Indicates the maintenance time window.

    +

    groups

    +

    Array of objects

    +

    Indicates group information. For more information, see Table 6.

    +

    disk_encryption_id

    +

    String

    +

    Indicates the disk encryption key ID. This parameter is returned only when the instance disk is encrypted.

    +

    time_zone

    +

    String

    +

    Indicates the time zone.

    +

    actions

    +

    Array of strings

    +

    Indicates the operation that is executed on the DB instance.

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

    Name

    +

    Type

    +

    Description

    +

    type

    +

    String

    +

    Indicates the DB engine.

    +

    version

    +

    String

    +

    Indicates the database version.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 5 backup_strategy field data structure description

    Name

    +

    Type

    +

    Description

    +

    start_time

    +

    String

    +

    Indicates the backup time window. Automated backups will be triggered during the backup time window. The current time is the UTC time.

    +

    keep_days

    +

    Integer

    +

    Indicates the number of days to retain the generated backup files. The value range is from 0 to 732.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 6 groups field data structure description

    Name

    +

    Type

    +

    Description

    +

    type

    +

    String

    +

    Indicates the node type.

    +

    Valid value:

    +
    • shard
    • config
    • mongos
    • replica
    +

    id

    +

    String

    +

    Indicates the group ID. This parameter is valid only when the node type is shard or config.

    +

    name

    +

    String

    +

    Indicates the group name. This parameter is valid only when the node type is shard or config.

    +

    status

    +

    String

    +

    Indicates the group status. This parameter is valid only when the node type is shard or config.

    +

    volume

    +

    Object

    +

    Indicates the volume information. For more information, see Table 7. This parameter is valid only when the node type is shard, config, replica.

    +

    nodes

    +

    Array of objects

    +

    Indicates node information. For more information, see Table 8.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 7 volume field data structure description

    Name

    +

    Type

    +

    Description

    +

    size

    +

    String

    +

    Indicates the disk size. Unit: GB

    +

    used

    +

    String

    +

    Indicates the disk usage. Unit: GB

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 8 nodes field data structure description

    Name

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Indicates the node ID.

    +

    name

    +

    String

    +

    Indicates the node name.

    +

    status

    +

    String

    +

    Indicates the node status.

    +

    role

    +

    String

    +

    Indicates the node role.

    +
    Valid value:
    • master: This value is returned for the mongos node.
    • Primary: This value is returned for the primary node of shards, primary node of configs, primary node of a replica set.
    • Secondary: This value is returned for the secondary node of shards, secondary node of configs, and secondary node of a replica set.
    • Hidden: This value is returned for the hidden node of shards, hidden node of configs, and hidden node of a replica set.
    • unknown. This value is returned when the node is abnormal.
    +
    +

    private_ip

    +

    String

    +

    Indicates the private IP address of a node. This parameter is valid only for mongos nodes, replica set instances. The value exists only after ECSs are created successfully. Otherwise, the value is "".

    +

    public_ip

    +

    String

    +

    Indicates the EIP that has been bound. This parameter is valid only for mongos nodes of cluster instances, primary nodes and secondary nodes of replica set instances.

    +

    spec_code

    +

    String

    +

    Indicates the resource specifications code. For details about the instance specifications, see the value of the flavors.spec_code parameter in Querying All DB Instance Specifications.

    +

    availability_zone

    +

    String

    +

    Indicates the AZ.

    +
    +
    +

    The values of region and availability_zone are used as examples.

    +
    +
+
+
  • Response example
    Query all DB instances.
    { 
    +    "instances": [
    +        {
    +            "id": "8436a91546294036b75931e879882200in02",
    +            "name": "dds-efa6",
    +            "status": "normal",
    +            "port": "8635",
    +            "mode": "ReplicaSet",
    +            "region": "aaa",
    +            "datastore": {
    +                "type": "DDS-Community",
    +                "version": "3.4"
    +            },
    +            "engine": "wiredTiger",
    +            "created": "2019-01-17T07:05:52",
    +            "updated": "2019-01-17T07:05:47",
    +            "db_user_name": "rwuser",
    +            "ssl": "1",
    +            "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
    +            "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b",
    +            "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",
    +            "backup_strategy": {
    +                "start_time": "16:00-17:00",
    +                "keep_days": 7
    +            },
    +            "pay_mode": "0",
    +            "maintenance_window": "02:00-06:00",
    +            "groups": [
    +                {
    +                    "type": "replica",
    +                    "volume": {
    +                        "size": "10",
    +                        "used": "0.33"
    +                    },
    +                    "nodes": [
    +                        {
    +                            "id": "233eaac9c6f245c0bb9c2d21eea12d1bno02",
    +                            "name": "dds-efa6_replica_node_2",
    +                            "status": "normal",
    +                            "role": "Primary",
    +                            "private_ip": "192.168.0.174",
    +                            "public_ip": "",
    +                            "spec_code": "dds.mongodb.s2.medium.4.repset",
    +                            "availability_zone": "bbb"
    +                        },
    +                        {
    +                            "id": "d57d76d6320a4a7b86db82c317550c4ano02",
    +                            "name": "dds-efa6_replica_node_1",
    +                            "status": "normal",
    +                            "role": "Hidden",
    +                            "private_ip": "192.168.0.39",
    +                            "public_ip": "",
    +                            "spec_code": "dds.mongodb.s2.medium.4.repset",
    +                            "availability_zone": "bbb"
    +                        },
    +                        {
    +                            "id": "f46b0a1cf4d9400e9fd7af17f8742d37no02",
    +                            "name": "dds-efa6_replica_node_3",
    +                            "status": "normal",
    +                            "role": "Secondary",
    +                            "private_ip": "192.168.0.176",
    +                            "public_ip": "",
    +                            "spec_code": "dds.mongodb.s2.medium.4.repset",
    +                            "availability_zone": "bbb"
    +                        }
    +                    ]
    +                }
    +            ],
    +            "time_zone": "",
    +            "actions": [
    +              "CREATE"
    +             ]
    +        },
    +        {
    +            "id": "9136fd2a9fcd405ea4674276ce36dae8in02",
    +            "name": "dds-32f4",
    +            "status": "normal",
    +            "port": "8635",
    +            "mode": "Sharding",
    +            "region": "aaa",
    +            "datastore": {
    +                "type": "DDS-Community",
    +                "version": "3.4"
    +            },
    +            "engine": "wiredTiger",
    +            "created": "2019-01-17T07:04:37",
    +            "updated": "2019-01-17T07:04:31",
    +            "db_user_name": "rwuser",
    +            "ssl": "1",
    +            "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
    +            "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b",
    +            "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",
    +            "backup_strategy": {
    +                "start_time": "19:00-20:00",
    +                "keep_days": 7
    +            },
    +            "pay_mode": "0",
    +            "maintenance_window": "02:00-06:00",
    +            "groups": [
    +                {
    +                    "type": "mongos",
    +                    "nodes": [
    +                        {
    +                            "id": "a742c13a284949adad177672e8a0f01cno02",
    +                            "name": "dds-32f4_mongos_node_1",
    +                            "status": "normal",
    +                            "role": "master",
    +                            "private_ip": "192.168.0.56",
    +                            "public_ip": "",
    +                            "spec_code": "dds.mongodb.s2.medium.4.mongos",
    +                            "availability_zone": "bbb"
    +                        },
    +                        {
    +                            "id": "d4f66666b1d64ab28719da0526341c7eno02",
    +                            "name": "dds-32f4_mongos_node_2",
    +                            "status": "normal",
    +                            "role": "master",
    +                            "private_ip": "192.168.0.185",
    +                            "public_ip": "",
    +                            "spec_code": "dds.mongodb.s2.medium.4.mongos",
    +                            "availability_zone": "bbb"
    +                        }
    +                    ]
    +                },
    +                {
    +                    "type": "shard",
    +                    "id": "d1b92d2cbd544e85ac7ce6a7f33ba205gr02",
    +                    "name": "shard_2",
    +                    "status": "normal",
    +                    "volume": {
    +                        "size": "10",
    +                        "used": "0.33"
    +                    },
    +                    "nodes": [
    +                        {
    +                            "id": "0e9abaebe5974b63a5b221de6ee34cfeno02",
    +                            "name": "dds-32f4_shard_2_node_3",
    +                            "status": "normal",
    +                            "role": "Primary",
    +                            "spec_code": "dds.mongodb.s2.medium.4.shard",
    +                            "availability_zone": "bbb"
    +                        },
    +                        {
    +                            "id": "1d7f4c5476c04cc187f920925c2b601fno02",
    +                            "name": "dds-32f4_shard_2_node_2",
    +                            "status": "normal",
    +                            "role": "Hidden",
    +                            "spec_code": "dds.mongodb.s2.medium.4.shard",
    +                            "availability_zone": "bbb"
    +                        },
    +                        {
    +                            "id": "3dd2cce03da54fc08f10651cbfea778dno02",
    +                            "name": "dds-32f4_shard_2_node_1",
    +                            "status": "normal",
    +                            "role": "Secondary",
    +                            "spec_code": "dds.mongodb.s2.medium.4.shard",
    +                            "availability_zone": "bbb"
    +                        }
    +                    ]
    +                },
    +                {
    +                    "type": "shard",
    +                    "id": "06439baa35c146d3a8965af59d370908gr02",
    +                    "name": "shard_1",
    +                    "status": "normal",
    +                    "volume": {
    +                        "size": "10",
    +                        "used": "0.33"
    +                    },
    +                    "nodes": [
    +                        {
    +                            "id": "0f6744d7e29f42ff80fc1a36cc145042no02",
    +                            "name": "dds-32f4_shard_1_node_1",
    +                            "status": "normal",
    +                            "role": "Primary",
    +                            "spec_code": "dds.mongodb.s2.medium.4.shard",
    +                            "availability_zone": "bbb"
    +                        },
    +                        {
    +                            "id": "3abcb399113b4512bd5a906da54e8753no02",
    +                            "name": "dds-32f4_shard_1_node_3",
    +                            "status": "normal",
    +                            "role": "Hidden",
    +                            "spec_code": "dds.mongodb.s2.medium.4.shard",
    +                            "availability_zone": "bbb"
    +                        },
    +                        {
    +                            "id": "c149f70563494501b5706cad225a8ebdno02",
    +                            "name": "dds-32f4_shard_1_node_2",
    +                            "status": "normal",
    +                            "role": "Secondary",
    +                            "spec_code": "dds.mongodb.s2.medium.4.shard",
    +                            "availability_zone": "bbb"
    +                        }
    +                    ]
    +                },
    +                {
    +                    "type": "config",
    +                    "id": "84e7c96b82aa4fedb3b00f98edd71ba4gr02",
    +                    "name": "config",
    +                    "status": "normal",
    +                    "volume": {
    +                        "size": "20",
    +                        "used": "0.33"
    +                    },
    +                    "nodes": [
    +                        {
    +                            "id": "7422f7331b714ac39aa647a1ec968d33no02",
    +                            "name": "dds-32f4_config_node_2",
    +                            "status": "normal",
    +                            "role": "Primary",
    +                            "spec_code": "dds.mongodb.s2.large.2.config",
    +                            "availability_zone": "bbb"
    +                        },
    +                        {
    +                            "id": "9e3b343151044eda91ddb8a42ae5cbefno02",
    +                            "name": "dds-32f4_config_node_3",
    +                            "status": "normal",
    +                            "role": "Hidden",
    +                            "spec_code": "dds.mongodb.s2.large.2.config",
    +                            "availability_zone": "bbb"
    +                        },
    +                        {
    +                            "id": "c0053ca460ac4889841ffb14a886ec54no02",
    +                            "name": "dds-32f4_config_node_1",
    +                            "status": "normal",
    +                            "role": "Secondary",
    +                            "spec_code": "dds.mongodb.s2.large.2.config",
    +                            "availability_zone": "bbb"
    +                        }
    +                    ]
    +                }
    +            ],
    +            "time_zone": "",
    +            "actions": [
    +              "CREATE"
    +             ]
    +        }
    +    ],
    +    "total_count": 2
    +}
    +
    +
+

Status Code

For more information, see Status Code.

+
+

Error Code

For more information, see Error Code.

+
+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_api_description.html b/docs/dds/api-ref/dds_api_description.html new file mode 100644 index 000000000..423ed65dc --- /dev/null +++ b/docs/dds/api-ref/dds_api_description.html @@ -0,0 +1,18 @@ + + +

API Description

+

+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_api_reference.html b/docs/dds/api-ref/dds_api_reference.html new file mode 100644 index 000000000..3622eff36 --- /dev/null +++ b/docs/dds/api-ref/dds_api_reference.html @@ -0,0 +1,41 @@ + + +

Before You Start

+

This document describes application programming interfaces (APIs), syntax, parameters, and examples of Document Database Service (DDS). You can search for information you need according to Table 1.

+ +
+ + + + + + + + + + + + + + + + + + + +
Table 1 Documentation guide

Section

+

Description

+

API Overview

+

DDS API components and API list

+

Environment Preparations

+

Preparations before using the APIs, including obtaining the request authentication and project ID

+

API Calling

+

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

+

API Description

+

DDS APIs, including APIs used for querying information about API version, database version, and DB instance specifications, and managing DB instances.

+

Appendix

+

Understand the status codes and error codes about DDS APIs.

+
+
+
+ diff --git a/docs/dds/api-ref/dds_api_version.html b/docs/dds/api-ref/dds_api_version.html new file mode 100644 index 000000000..ea2cff0dd --- /dev/null +++ b/docs/dds/api-ref/dds_api_version.html @@ -0,0 +1,18 @@ + + +

Querying the API Version

+

+
+
+ + + +
+ diff --git a/docs/dds/api-ref/dds_change_history.html b/docs/dds/api-ref/dds_change_history.html new file mode 100644 index 000000000..e5e5414d0 --- /dev/null +++ b/docs/dds/api-ref/dds_change_history.html @@ -0,0 +1,38 @@ + + +

Change History

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

Date

+

Description

+

2020-10-15

+

Modified the following content:

+ +

2019-11-07

+

Modified the following content:

+ +

2019-09-25

+

Modified the following content:

+ +

2019-08-19

+

This issue is the first official release.

+
+
+
+ diff --git a/docs/dds/api-ref/dds_database_version.html b/docs/dds/api-ref/dds_database_version.html new file mode 100644 index 000000000..b73767c53 --- /dev/null +++ b/docs/dds/api-ref/dds_database_version.html @@ -0,0 +1,77 @@ + + +

Querying Database Version Information

+

Function

This API is used to obtain database version information about a specified type of a DB instance.

+
+

URI

  • URI format

    GET /v3/{project_id}/datastores/{datastore_name}/versions

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

    Name

    +

    Mandatory

    +

    Description

    +

    project_id

    +

    Yes

    +

    Specifies the project ID of a tenant in a region.

    +

    datastore_name

    +

    Yes

    +

    Specifies the database type. DDS Community Edition is supported. The value is DDS-Community.

    +
    +
    +
+
+

Requests

  • Request header
    GET https://DDS endpoint/v3/{project_id}/datastores/{datastore_name}/versions
    +
  • Request body

    N/A

    +
+
+

Responses

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

    Name

    +

    Type

    +

    Description

    +

    versions

    +

    Array of strings

    +

    Indicates the database version. Currently, versions 3.2 and 3.4 are supported.

    +
    +
    +
+
  • Response example
    {
    +    "versions": [
    +        "3.2",
    +        "3.4"
    +    ]
    +}
    +
+
+

Status Code

For more information, see Status Code.

+
+

Error Code

For more information, see Error Code.

+
+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_error_code.html b/docs/dds/api-ref/dds_error_code.html new file mode 100644 index 000000000..36027f8d8 --- /dev/null +++ b/docs/dds/api-ref/dds_error_code.html @@ -0,0 +1,1086 @@ + + +

Error Code

+

If an error occurs in an API, no result is returned. You can locate the error cause based on the error codes of each API. When the invocation fails, an HTTP status code is returned. The returned message body contains the specific error code and information.

+

Error Response Body Format

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

    Name

    +

    Type

    +

    Description

    +

    error_code

    +

    String

    +

    Specifies the error returned when a task submission exception occurs.

    +

    error_msg

    +

    String

    +

    Specifies the description of the error returned when a task submission exception occurs.

    +
    +
    +
  • Response example
    { 
    +    "error_code": "DBS.200001",
    +    "error_msg": "Parameter error"
    +}
    +
+
+

Error Code Description

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Error code description

HTTP Status Code

+

Error Code

+

Error Information

+

Handling Measure

+

400

+

DBS.200001

+

Parameter error.

+

Check whether the transferred parameters or URLs are correct.

+

404

+

DBS.200002

+

The DB instance does not exist.

+

Check whether the DB instance and its ID are correct and whether the DB instance exists.

+

400

+

DBS.200010

+

Authentication failed

+

Check whether the tenant and instance match.

+

403

+

DBS.200011

+

Operation cannot be executed in current state of the DB instance.

+

Check whether the instance status or the ongoing operation on the instance conflicts with the request.

+

404

+

DBS.200013

+

The node does not exist

+

Check whether the node ID or group ID is correct.

+

403

+

DBS.200018

+

This DB instance is not available.

+

Check whether the instance status or the ongoing operation on the instance conflicts with the request.

+

403

+

DBS.200019

+

Operation cannot be executed in current state of the DB instance.

+

Check whether the instance status or the ongoing operation on the instance conflicts with the request.

+

400

+

DBS.200024

+

The region is unavailable.

+

Check whether the region name is correct and whether the region is available.

+

400

+

DBS.200022

+

The DB instance name already exists.

+

Check whether the DB instance name exists.

+

400

+

DBS.200025

+

Invalid AZ.

+

Check whether the AZ name is correct and whether the AZ is available.

+

403

+

DBS.200028

+

The maximum storage space has been reached.

+

Check whether the storage space exceeds the upper limit.

+

404

+

DBS.200042

+

Invalid DB engine.

+

Check whether the DB engine is supported by DDS.

+

400

+

DBS.200029

+

Invalid username and password.

+

Check whether the username and password match and whether the password meets the password strength requirements.

+

400

+

DBS.200047

+

Operation cannot be executed in current state of the DB instance or node.

+

Check whether the instance status or the ongoing operation on the instance conflicts with the request.

+

400

+

DBS.200048

+

Invalid VPC.

+

Check whether the VPC ID and name are correct and meet the requirements.

+

400

+

DBS.200049

+

Invalid subnet.

+

Check whether the subnet ID and name are correct and meet the requirements.

+

400

+

DBS.200050

+

Invalid security group.

+

Check whether the security group ID and name are correct and meet the requirements.

+

400

+

DBS.200052

+

Invalid password.

+

Check whether the username and password match and whether the password meets the password strength requirements.

+

400

+

DBS.200053

+

The DB instance specifications do not exist.

+

Check whether the specifications are correct and supported in the current AZ.

+

400

+

DBS.200054

+

Invalid DB instance specifications.

+

Check whether the specifications are correct and supported in the current AZ.

+

400

+

DBS.200057

+

Invalid parameter group.

+

Check whether the parameter group is correct, whether the parameter group exists, and whether the parameter group matches the instance type.

+

400

+

DBS.200075

+

Invalid node role.

+

Check whether the role of the node meets the requirements and whether the instance is normal.

+

403

+

DBS.200076

+

Operation cannot be executed in current state of the DB instance.

+

Check whether the instance status or the ongoing operation on the instance conflicts with the request.

+

400

+

DBS.200095

+

Parameter error.

+

Check whether the parameters in the request and URLs are correct.

+

400

+

DBS.200302

+

The storage space must be a multiple of 10.

+

Check whether the storage space is a multiple of 10.

+

400

+

DBS.200303

+

The maximum number of times that the storage space can be scaled up has been reached.

+

The maximum number of times that the storage space can be scaled up has been reached. To continue to scale up the storage space, contact technical support.

+

400

+

DBS.200304

+

The storage space can be scaled up a maximum of four times.

+

Check whether the instance has been scaled up for multiple times.

+

400

+

DBS.200306

+

Invalid storage space.

+

Check whether the storage space is correct and meets the requirements.

+

400

+

DBS.200311

+

Scaling up the storage space is not allowed in current state of the node.

+

Check whether the node type, instance type, and node ID are correct.

+

400

+

DBS.200434

+

Failed to restart the DB instance.

+

Check whether the DB instance status is normal and whether other operations are being performed on the DB instance.

+

400

+

DBS.200470

+

Invalid AZ.

+

Check whether the AZ is correct.

+

400

+

DBS.200501

+

The subnet does not exist.

+

Check whether the subnet ID and name exist and match the VPC.

+

400

+

DBS.200502

+

The security group does not exist.

+

Check whether the security group ID and name exist and match the VPC.

+

400

+

DBS.200503

+

The VPC does not exist.

+

Check whether the tenant has the VPC.

+

400

+

DBS.200506

+

The encryption key does not exist.

+

Check whether the disk encryption key ID exists.

+

400

+

DBS.200507

+

The encryption key is not available.

+

Check whether the disk encryption key is available.

+

403

+

DBS.201000

+

Operation cannot be executed in current state of the DB instance.

+

Check whether the instance status or the ongoing operation on the instance conflicts with the request.

+

400

+

DBS.201006

+

Parameter error.

+

Check whether the transferred parameters or URLs are correct.

+

403

+

DBS.201014

+

Operation cannot be executed in current state of the DB instance.

+

Check whether the instance status or the ongoing operation on the instance conflicts with the request.

+

403

+

DBS.201015

+

This operation cannot be performed because another operation is being performed.

+

Check whether the instance status or the ongoing operation on the instance conflicts with the request.

+

400

+

DBS.201020

+

Invalid DB engine.

+

Check whether the DB engine is supported by DDS.

+

403

+

DBS.201028

+

The DB instance does not exist.

+

Check whether the DB instance belongs to the tenant and whether the DB instance exists.

+

400

+

DBS.201201

+

The backup already exists.

+

Check whether the backup name or ID already exists.

+

400

+

DBS.201202

+

Operation cannot be executed in current state of the DB instance.

+

Check whether the instance status or the ongoing operation on the instance conflicts with the request.

+

400

+

DBS.201204

+

The backup file does not exist.

+

Check whether the backup file exists and matches the instance.

+

400

+

DBS.201214

+

The backup file does not exist.

+

Check whether the backup exists and matches the instance.

+

400

+

DBS.201319

+

Deleting backup file is not allowed because a restoration task is currently in progress. Please wait.

+

Check whether the backup is being used to restore instances.

+

400

+

DBS.201501

+

The DB instance does not exist.

+

Check whether the tenant has the DB instance, whether the DB instance name or ID is correct, and whether the DB instance exists.

+

400

+

DBS.201502

+

The DB instance does not exist.

+

Check whether the tenant has the DB instance, whether the DB instance name or ID is correct, and whether the DB instance exists.

+

404

+

DBS.212001

+

The security group does not exist or has been deleted.

+

Check whether the parameter group exists.

+

400

+

DBS.212003

+

This operation is not permitted.

+

Check whether the instance status or the ongoing operation on the instance conflicts with the request.

+

400

+

DBS.212006

+

The node associated with this parameter group is not available.

+

Check whether the node that is associated with the parameter group is normal.

+

400

+

DBS.212008

+

The database type is not supported.

+

Check whether the database type is supported

+

400

+

DBS.212013

+

This parameter group does not exist.

+

Check whether the parameter exists.

+

400

+

DBS.212017

+

Invalid parameter.

+

Check whether the transferred parameters or URLs are correct and meet the requirements.

+

400

+

DBS.212019

+

Invalid parameter.

+

Check whether the transferred parameters or URLs are correct and meet the requirements.

+

400

+

DBS.212028

+

Invalid parameter group description.

+

Check whether the parameter group description is valid.

+

400

+

DBS.212030

+

The parameter group name already exists.

+

Check whether the parameter group name is correct and whether the tenant has created the parameter group.

+

400

+

DBS.212031

+

Invalid parameter group name.

+

Check whether the parameter group name meets the requirements:

+

400

+

DBS.212032

+

The operation cannot be performed because this parameter group is applied to one or more DB instance nodes.

+

Check whether the parameter group has been applied to the instance.

+

400

+

DBS.280001

+

Parameter error.

+

Check whether the transferred parameters or URLs are correct and meet the requirements.

+

500

+

DBS.280005

+

Server error. Try again later.

+

Contact technical support engineers.

+

400

+

DBS.280015

+

Permission denied.

+

Check whether the token expires and whether the instance matches the tenant.

+

400

+

DBS.280016

+

Resource not found.

+

Check whether the transferred parameters are correct and whether the instance exists.

+

403

+

DBS.280019

+

Account suspended.

+

Check the account balance.

+

403

+

DBS.280032

+

Permission denied.

+

Check whether the rights of the user group to which the current user belongs allow the corresponding operation.

+

403

+

DBS.280042

+

Invalid request.

+

Check whether the request is allowed by the current instance status and the operations being performed on the instance and whether the request is valid.

+

401

+

DBS.280056

+

Invalid token.

+

Check whether the instance belongs to the tenant and whether the token has been obtained again.

+

403

+

DBS.280063

+

Permission denied. Contact the account administrator for authorization

+
NOTE:

xxx indicates the fine-grained configuration item corresponding to an operation performed on the DDS DB instance.

+
+

Check whether the user group to which the current user belongs has the corresponding operation permission.

+

500

+

DBS.280064

+

Fine-grained authentication failed.

+

Contact the customer service.

+

400

+

DBS.200072

+

Invalid storage space.

+

Check whether the storage space exceeds the upper limit.

+

400

+

DBS.280110

+

The DB instance does not exist.

+

Check whether the tenant has the DB instance, whether the DB instance name or ID is correct, and whether the DB instance exists.

+

400

+

DBS.280122

+

Invalid DB engine.

+

Check whether the storage engine matches the instance engine.

+

400

+

DBS.280123

+

Invalid node number.

+

Check whether the number of nodes to be added to the instance meets the requirements.

+

400

+

DBS.280124

+

Invalid backup.

+

Check whether the backup ID is correct and meets the requirements.

+

400

+

DBS.280127

+

Invalid backup description.

+

Check whether the backup description is correct and meets the requirements.

+

400

+

DBS.280200

+

The password contains invalid characters.

+

Check whether the password is correct and meets the requirements.

+

400

+

DBS.280214

+

Invalid retention period.

+

Check whether the backup retention period is correct.

+

400

+

DBS.280215

+

Invalid backup period.

+

Check whether the backup start time, end time, and backup cycle are correct and meet the requirements.

+

400

+

DBS.280216

+

Invalid backup start time.

+

Check whether the backup start time meets the requirements and whether the relationship between the backup start time and end time is correct.

+

400

+

DBS.280234

+

Invalid DB instance name.

+

Check whether the instance name is correct and whether the instance exists.

+

400

+

DBS.280235

+

Invalid DB engine.

+

Check whether the DB engine information is correct.

+

400

+

DBS.280236

+

Invalid database version.

+

Check whether the database version is supported.

+

400

+

DBS.280239

+

Invalid specifications.

+

Check whether the specification code is correct, whether the specification exists in the current AZ, and whether the specification is supported.

+

400

+

DBS.280241

+

Invalid storage type.

+

Check whether the storage type is correct and meets the requirements.

+

400

+

DBS.280242

+

The storage space is out of range.

+

Check whether the disk size is correct.

+

400

+

DBS.280244

+

Invalid AZ.

+

Check whether the parameters of the AZ are correct, whether the AZ exists, and whether the AZ matches the specifications.

+

400

+

DBS.280247

+

Invalid VPC.

+

Check whether the VPC ID is correct and whether the VPC exists.

+

400

+

DBS.280248

+

Invalid subnet.

+

Check whether the subnet ID is correct and whether the subnet exists.

+

400

+

DBS.280249

+

Invalid security group.

+

Check whether the security group ID is correct and whether the security group exists.

+

400

+

DBS.280266

+

Invalid storage space.

+

Check whether the storage space is correct and meets the requirements.

+

400

+

DBS.280267

+

Specifications not match.

+

Check whether the specification information is correct and whether the specification matches the instance.

+

400

+

DBS.280277

+

Invalid backup name.

+

Check whether the backup name is correct and meets the requirements.

+

400

+

DBS.280280

+

Invalid DB instance number.

+

Check whether the number of DB instances is correct and meets the requirements.

+

400

+

DBS.280284

+

Invalid IP address.

+

Check whether the IP address is correct and meets the requirements.

+

400

+

DBS.280292

+

Invalid username.

+

Check whether the username is correct and meets the requirements.

+

400

+

DBS.280311

+

Invalid storage space.

+

Check whether the storage space is correct and meets the requirements.

+

400

+

DBS.280314

+

Invalid storage type.

+

Check whether the storage type is correct and whether the instance supports the disk type.

+

400

+

DBS.280327

+

Invalid node type.

+

Check whether the node type is correct, whether the node type matches the instance, and whether the node type matches the group ID and node ID.

+

400

+

DBS.280342

+

Invalid DB instance mode.

+

Check whether the instance mode is correct and whether the instance mode matches the instance ID.

+

400

+

DBS.280365

+

Invalid payment mode.

+

Check whether the payment mode is correct and meets the requirements.

+

400

+

DBS.280404

+

Invalid DB instance ID.

+

Check whether the instance ID is correct and meets the requirements.

+

403

+

DBS.280406

+

The DB instance cannot be deleted.

+

Check whether the DB engine and billing mode support direct deletion of instances.

+

400

+

DBS.280408

+

Unauthorized tenant ID

+

Check whether the tenant ID is correct and meets the requirements.

+

400

+

DBS.280414

+

Invalid group type.

+

Check whether the group type is correct, whether the group type matches the instance, and whether the node type matches the group ID.

+

400

+

DBS.280434

+

Invalid resource specifications code.

+

Check whether the resource specifications code exists and meets the requirements.

+

400

+

DBS.280446

+

The database information does not exist.

+

Check whether the datastore field exists.

+

400

+

DBS.280438

+

Invalid encryption key ID.

+

Check whether the disk encryption key ID in the request is created and available, and whether the current DB engine supports disk encryption.

+

400

+

DBS.280439

+

Invalid query limit.

+

Check whether the value of the limit parameter is valid.

+

400

+

DBS.280440

+

Invalid offset.

+

Check whether the value of the offset parameter is valid.

+

400

+

DBS.280441

+

Invalid key.

+

Check whether the tag key is valid.

+

429

+

DBS.280443

+

The maximum number of connections has been reached.

+

APIs are frequently called by the same tenant. Reduce the frequency of API calls.

+

400

+

DBS.280445

+

The DB instance class is not available.

+

The current DB instance class is unavailable. Select another one.

+

400

+

DBS.290000

+

Parameter error.

+

Check whether the transferred parameters or URLs are correct and meet the requirements.

+
+
+
+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_instance_mgmt.html b/docs/dds/api-ref/dds_instance_mgmt.html new file mode 100644 index 000000000..005dbacc7 --- /dev/null +++ b/docs/dds/api-ref/dds_instance_mgmt.html @@ -0,0 +1,19 @@ + + +

DB Instance Management

+
+
+ + + +
+ diff --git a/docs/dds/api-ref/dds_instance_specification.html b/docs/dds/api-ref/dds_instance_specification.html new file mode 100644 index 000000000..e3fa0dc10 --- /dev/null +++ b/docs/dds/api-ref/dds_instance_specification.html @@ -0,0 +1,339 @@ + + +

Querying All DB Instance Specifications

+

Function

This API is used to query all DB instance specifications in a specified region.

+
+

URI

  • URI format

    GET /v3/{project_id}/flavors?region={region}&engine_name={engine_name}

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

    Name

    +

    Mandatory

    +

    Description

    +

    project_id

    +

    Yes

    +

    Specifies the project ID of a tenant in a region.

    +

    region

    +

    Yes

    +

    Specifies the region where the DB instance exists.

    +

    Valid value:

    +

    The value cannot be empty. For details about how to obtain this parameter value, see Regions and Endpoints.

    +

    engine_name

    +

    No

    +

    Specifies the database type. The value is DDS-Community.

    +
    +
    +
+
+

Requests

  • Request header

    The value of region in the following is used as an example.

    +
    +
    GET https://DDS endpoint/v3/375d8d8fad1f43039e23d3b6c0f60a19/flavors?region=aaa&engine_name=DDS-Community
    +
  • Request body

    N/A

    +
+
+

Responses

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

    Name

    +

    Type

    +

    Description

    +

    flavors

    +

    Array of objects

    +

    Indicates the DB instance specifications information list. For more information, see Table 3.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 3 flavors field data structure description

    Name

    +

    Type

    +

    Description

    +

    engine_name

    +

    String

    +

    Indicates the engine name.

    +

    type

    +

    String

    +

    Indicates the node type. DDS contains the following types of nodes:

    +
    • mongos
    • shard
    • config
    • replica
    +

    vcpus

    +

    String

    +

    Number of vCPUs.

    +

    ram

    +

    String

    +

    Indicates the memory size in gigabyte (GB).

    +

    spec_code

    +

    String

    +

    Indicates the resource specifications code.

    +

    Example: dds.mongodb.s2.xlarge.4.shard

    +
    NOTE:
    • dds.mongodb: indicates the DDS service.
    • s2.xlarge.4: indicates the performance specification, which is high memory.
    • shard: indicates the node type.
    +
    +

    az_status

    +

    Object

    +

    Indicates the status of specifications in an AZ. Its value can be any of the following:

    +
    • normal: indicates that the specifications are on sale.
    • unsupported: indicates that the DB instance specifications are not supported.
    • sellout: indicates the specifications are sold out.
    +
    +
    +
+

The value of az_status is used as an example.

+
+
  • Response example
    {
    +   "flavors": [
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "mongos",
    +    "vcpus": "1",
    +    "ram": "4",
    +    "spec_code": "dds.mongodb.s2.medium.4.mongos",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "mongos",
    +    "vcpus": "2",
    +    "ram": "8",
    +    "spec_code": "dds.mongodb.s2.large.4.mongos",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "mongos",
    +    "vcpus": "4",
    +    "ram": "16",
    +    "spec_code": "dds.mongodb.s2.xlarge.4.mongos",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "mongos",
    +    "vcpus": "8",
    +    "ram": "32",
    +    "spec_code": "dds.mongodb.s2.2xlarge.4.mongos",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "mongos",
    +    "vcpus": "16",
    +    "ram": "64",
    +    "spec_code": "dds.mongodb.s2.4xlarge.4.mongos",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "shard",
    +    "vcpus": "1",
    +    "ram": "4",
    +    "spec_code": "dds.mongodb.s2.medium.4.shard",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "shard",
    +    "vcpus": "2",
    +    "ram": "8",
    +    "spec_code": "dds.mongodb.s2.large.4.shard",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "shard",
    +    "vcpus": "4",
    +    "ram": "16",
    +    "spec_code": "dds.mongodb.s2.xlarge.4.shard",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "shard",
    +    "vcpus": "8",
    +    "ram": "32",
    +    "spec_code": "dds.mongodb.s2.2xlarge.4.shard",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "shard",
    +    "vcpus": "16",
    +    "ram": "64",
    +    "spec_code": "dds.mongodb.s2.4xlarge.4.shard",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "config",
    +    "vcpus": "2",
    +    "ram": "4",
    +    "spec_code": "dds.mongodb.s2.large.2.config",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "replica",
    +    "vcpus": "1",
    +    "ram": "4",
    +    "spec_code": "dds.mongodb.s2.medium.4.repset",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "replica",
    +    "vcpus": "2",
    +    "ram": "8",
    +    "spec_code": "dds.mongodb.s2.large.4.repset",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "replica",
    +    "vcpus": "4",
    +    "ram": "16",
    +    "spec_code": "dds.mongodb.s2.xlarge.4.repset",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "replica",
    +    "vcpus": "8",
    +    "ram": "32",
    +    "spec_code": "dds.mongodb.s2.2xlarge.4.repset",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  },
    +  {
    +    "engine_name": "DDS-Community",
    +    "type": "replica",
    +    "vcpus": "16",
    +    "ram": "64",
    +    "spec_code": "dds.mongodb.s2.4xlarge.4.repset",
    +    "az_status": [
    +      "eu-de-01": "normal",
    +      "eu-de-02": "normal",
    +      "eu-de-03": "normal"
    +    ]
    +  }
    +]
    +} 
    +
+
+

Status Code

For more information, see Status Code.

+
+

Error Code

For more information, see Error Code.

+
+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_metrics.html b/docs/dds/api-ref/dds_metrics.html new file mode 100644 index 000000000..06782acf0 --- /dev/null +++ b/docs/dds/api-ref/dds_metrics.html @@ -0,0 +1,798 @@ + + +

DDS Metrics

+

Function

This section describes metrics reported by Document Database Service (DDS) to Cloud Eye as well as their namespaces and dimensions. You can use APIs provided by Cloud Eye to query the metrics of the monitored object and alarms generated for DDS.

+
+

Namespace

SYS.DDS

+
+

Monitoring Metrics

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

Metrics

+

Metrics Name

+

Description

+

Value Range

+

Remarks

+

mongo001_command_ps

+

COMMAND Statements per Second

+

Number of COMMAND statements executed per second

+

≥ 0 Count/s

+

Monitored object: database

+

Monitored object type:

+
  • DDS DB instance
  • mongos node
  • Primary node
  • Secondary node
+

mongo002_delete_ps

+

DELETE Statements per Second

+

Number of DELETE statements executed per second

+

≥ 0 Count/s

+

Monitored object: database

+

Monitored object type:

+
  • DDS DB instance
  • mongos node
  • Primary node
  • Secondary node
+

mongo003_insert_ps

+

INSERT Statements per Second

+

Number of INSERT statements executed per second

+

≥ 0 Count/s

+

Monitored object: database

+

Monitored object type:

+
  • DDS DB instance
  • mongos node
  • Primary node
  • Secondary node
+

mongo004_query_ps

+

QUERY Statements per Second

+

Number of QUERY statements executed per second

+

≥ 0 Count/s

+

Monitored object: database

+

Monitored object type:

+
  • DDS DB instance
  • mongos node
  • Primary node
  • Secondary node
+

mongo005_update_ps

+

UPDATE Statements per Second

+

Number of UPDATE statements executed per second

+

≥ 0 Count/s

+

Monitored object: database

+

Monitored object type:

+
  • DDS DB instance
  • mongos node
  • Primary node
  • Secondary node
+

mongo006_getmore_ps

+

GETMORE Statements per Second

+

Number of GETMORE statements executed per second

+

≥ 0 Count/s

+

Monitored object: database

+

Monitored object type:

+
  • DDS DB instance
  • mongos node
  • Primary node
  • Secondary node
+

mongo007_chunk_num1

+

Chunks of Shard 1

+

Number of chunks in shard 1

+

0–64 Counts

+

Monitored object: database

+

Monitored object type: DDS DB instance

+

mongo007_chunk_num2

+

Chunks of Shard 2

+

Number of chunks in shard 2

+

0–64 Counts

+

Monitored object: database

+

Monitored object type: DDS DB instance

+

mongo007_chunk_num3

+

Chunks of Shard 3

+

Number of chunks in shard 3

+

0–64 Counts

+

Monitored object: database

+

Monitored object type: DDS DB instance

+

mongo007_chunk_num4

+

Chunks of Shard 4

+

Number of chunks in shard 4

+

0–64 Counts

+

Monitored object: database

+

Monitored object type: DDS DB instance

+

mongo007_chunk_num5

+

Chunks of Shard 5

+

Number of chunks in shard 5

+

0–64 Counts

+

Monitored object: database

+

Monitored object type: DDS DB instance

+

mongo007_chunk_num6

+

Chunks of Shard 6

+

Number of chunks in shard 6

+

0–64 Counts

+

Monitored object: database

+

Monitored object type: DDS DB instance

+

mongo007_chunk_num7

+

Chunks of Shard 7

+

Number of chunks in shard 7

+

0–64 Counts

+

Monitored object: database

+

Monitored object type: DDS DB instance

+

mongo007_chunk_num8

+

Chunks of Shard 8

+

Number of chunks in shard 8

+

0–64 Counts

+

Monitored object: database

+

Monitored object type: DDS DB instance

+

mongo007_chunk_num9

+

Chunks of Shard 9

+

Number of chunks in shard 9

+

0–64 Counts

+

Monitored object: database

+

Monitored object type: DDS DB instance

+

mongo007_chunk_num10

+

Chunks of Shard 10

+

Number of chunks in shard 10

+

0–64 Counts

+

Monitored object: database

+

Monitored object type: DDS DB instance

+

mongo007_chunk_num11

+

Chunks of Shard 11

+

Number of chunks in shard 11

+

0–64 Counts

+

Monitored object: database

+

Monitored object type: DDS DB instance

+

mongo007_chunk_num12

+

Chunks of Shard 12

+

Number of chunks in shard 12

+

0–64 Counts

+

Monitored object: database

+

Monitored object type: DDS DB instance

+

mongo008_connections

+

Active Instance Connections

+

Total number of connections attempting to connect to a DDS DB instance

+

0–200 Counts

+

Monitored object: database

+

Monitored object type: DDS DB instance

+

mongo009_migFail_num

+

Chunk Migration Failures in Last 24 hrs

+

Number of chunk migration failures in the last 24 hours

+

≥ 0 Counts

+

Monitored object: database

+

Monitored object type: DDS DB instance

+

mongo007_connections

+

Active Node Connections

+

Total number of connections attempting to connect to a DDS DB instance node

+

0–200 Counts

+

Monitored object: database

+

Monitored object type:

+
  • mongos node
  • Primary node
  • Secondary node
+

mongo008_mem_resident

+

Resident Memory

+

Size of resident memory in MB

+

≥ 0 MB

+

Monitored object: database

+

Monitored object type:

+
  • mongos node
  • Primary node
  • Secondary node
+

mongo009_mem_virtual

+

Virtual Memory

+

Size of virtual memory in MB

+

≥ 0 MB

+

Monitored object: database

+

Monitored object type:

+
  • mongos node
  • Primary node
  • Secondary node
+

mongo010_regular_asserts_ps

+

Regular Asserts per Second

+

Number of regular asserts per second

+

≥ 0 Count/s

+

Monitored object: database

+

Monitored object type:

+
  • mongos node
  • Primary node
  • Secondary node
+

mongo011_warning_asserts_ps

+

Warning Asserts per Second

+

Number of warning asserts per second

+

≥ 0 Count/s

+

Monitored object: database

+

Monitored object type:

+
  • mongos node
  • Primary node
  • Secondary node
+

mongo012_msg_asserts_ps

+

Message Asserts per Second

+

Number of message asserts per second

+

≥ 0 Count/s

+

Monitored object: database

+

Monitored object type:

+
  • mongos node
  • Primary node
  • Secondary node
+

mongo013_user_asserts_ps

+

User Asserts per Second

+

Number of user asserts per second

+

≥ 0 Count/s

+

Monitored object: database

+

Monitored object type:

+
  • mongos node
  • Primary node
  • Secondary node
+

mongo014_queues_total

+

Operations Queued Waiting for a Lock

+

Number of operations queued waiting for a lock

+

≥ 0 Counts

+

Monitored object: database

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo015_queues_readers

+

Operations Queued Waiting for a Read Lock

+

Number of operations queued waiting for a read lock

+

≥ 0 Counts

+

Monitored object: database

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo016_queues_writers

+

Operations Queued Waiting for a Write Lock

+

Number of operations queued waiting for a write lock

+

≥ 0 Counts

+

Monitored object: database

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo017_page_faults

+

Page Faults

+

Number of page faults on the monitored nodes

+

≥ 0 Counts

+

Monitored object: database

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo018_porfling_num

+

Slow Queries

+

Number of slow queries on the monitored nodes

+

≥ 0 Counts

+

Monitored object: database

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo019_cursors_open

+

Current Maintained Cursors

+

Number of maintained cursors on the monitored nodes

+

≥ 0 Counts

+

Monitored object: database

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo020_cursors_timeOut

+

Timeout Cursors

+

Number of timed out cursors on the monitored nodes

+

≥ 0 Counts

+

Monitored object: database

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo021_wt_cahe_usage

+

Bytes in WiredTiger Cache

+

Size of data in the WiredTiger cache in MB

+

≥ 0 MB

+

Monitored object: database

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo022_wt_cahe_dirty

+

Tracked Dirty Bytes in WiredTiger Cache

+

Size of tracked dirty data in the WiredTiger cache in MB

+

≥ 0 MB

+

Monitored object: database

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo023_wInto_wtCache

+

Bytes Written Into Cache per Second

+

Bytes written into WiredTiger cache per second

+

≥ 0 bytes/s

+

Monitored object: database

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo024_wFrom_wtCache

+

Bytes Written From Cache per Second

+

Bytes written from the WiredTiger cache to the disk per second

+

≥ 0 bytes/s

+

Monitored object: database

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo025_repl_oplog_win

+

Oplog Window

+

Available time in hour in the monitored primary node's oplog

+

≥ 0 Hours

+

Monitored object: database

+

Monitored object type: primary node

+

mongo026_oplog_size_ph

+

Oplog Growth Rate

+

Speed in MB/hour at which oplogs are generated on the monitored primary node

+

≥ 0 MB/Hour

+

Monitored object: database

+

Monitored object type: primary node

+

mongo025_repl_headroom

+

Replication Headroom

+

Time difference in seconds between the primary's oplog window and the replication lag of the secondary

+

≥ 0 Seconds

+

Monitored object: database

+

Monitored object type: secondary node

+

mongo026_repl_lag

+

Replication Lag

+

A delay in seconds between an operation on the primary and the application of that operation from the oplog to the secondary

+

≥ 0 Seconds

+

Monitored object: database

+

Monitored object type: secondary node

+

mongo027_repl_command_ps

+

Replicated COMMAND Statements per Second

+

Number of replicated COMMAND statements executed on the secondary node per second

+

≥ 0 Count/s

+

Monitored object: database

+

Monitored object type: secondary node

+

mongo028_repl_update_ps

+

Replicated UPDATE Statements per Second

+

Number of replicated UPDATE statements executed on the secondary node per second

+

≥ 0 Count/s

+

Monitored object: database

+

Monitored object type: secondary node

+

mongo029_repl_delete_ps

+

Replicated DELETE Statements per Second

+

Number of replicated DELETE statements executed on the secondary node per second

+

≥ 0 Count/s

+

Monitored object: database

+

Monitored object type: secondary node

+

mongo030_repl_insert_ps

+

Replicated INSERT Statements per Second

+

Number of replicated INSERT statements executed on the secondary node per second

+

≥ 0 Count/s

+

Monitored object: database

+

Monitored object type: secondary node

+

mongo031_cpu_usage

+

CPU Usage

+

CPU usage of the monitored object

+

0–1

+

Monitored object: ECS

+

Monitored object type:

+
  • mongos node
  • Primary node
  • Secondary node
+

mongo032_mem_usage

+

Memory Usage

+

Memory usage of the monitored object

+

0–1

+

Monitored object: ECS

+
Monitored object type:
  • mongos node
+
+
  • Primary node
  • Secondary node
+

mongo033_bytes_out

+

Network Output Throughput

+

Outgoing traffic in bytes per second

+

≥ 0 bytes/s

+

Monitored object: ECS

+

Monitored object type:

+
  • mongos node
  • Primary node
  • Secondary node
+

mongo034_bytes_in

+

Network Input Throughput

+

Incoming traffic in bytes per second

+

≥ 0 bytes/s

+

Monitored object: ECS

+

Monitored object type:

+
  • mongos node
  • Primary node
  • Secondary node
+

mongo035_disk_usage

+

Disk Utilization

+

Disk usage of the monitored object

+

0–1

+

Monitored object: ECS

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo036_iops

+

IOPS

+

Average number of I/O requests processed by the system in a specified period

+

≥ 0 Count/s

+

Monitored object: ECS

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo037_read_throughput

+

Disk Read Throughput

+

Number of bytes read from the disk per second

+

≥ 0 bytes/s

+

Monitored object: ECS

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo038_write_throughput

+

Disk Write Throughput

+

Number of bytes written into the disk per second

+

≥ 0 bytes/s

+

Monitored object: ECS

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo039_avg_disk_sec_per_read

+

Disk Read Time

+

Average time required for each disk read in a specified period

+

≥ 0 Seconds

+

Monitored object: ECS

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo040_avg_disk_sec_per_write

+

Disk Write Time

+

Average time required for each disk write in a specified period

+

≥ 0 Seconds

+

Monitored object: ECS

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo042_disk_total_size

+

Total Storage Space

+

Total storage space of the monitored object

+

0–1000 GB

+

Monitored object: ECS

+

Monitored object type:

+
  • Primary node
  • Secondary node
+

mongo043_disk_used_size

+

Used Storage Space

+

Used storage space of the monitored object

+

0–1000 GB

+

Monitored object: ECS

+

Monitored object type:

+
  • Primary node
  • Secondary node
+
+
+
+

Dimension

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

Key

+

Value

+

mongodb_cluster_id

+

DDS DB instance ID

+

Supports cluster and replica set instances.

+

mongos_instance_id

+

mongos node ID

+

mongod_primary_instance_id

+

Primary node ID

+

Includes the config and shard primary nodes of cluster instances and the primary nodes of replica set instances.

+

mongod_secondary_instance_id

+

Secondary node ID

+

Includes the config and shard secondary nodes of cluster instances and the secondary nodes of replica set instances.

+
+
+
+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_projectid.html b/docs/dds/api-ref/dds_projectid.html new file mode 100644 index 000000000..3c08b5b85 --- /dev/null +++ b/docs/dds/api-ref/dds_projectid.html @@ -0,0 +1,50 @@ + + +

Obtaining a Project ID

+

Scenarios

A project ID is required for some URLs when an API is called. Therefore, you need to obtain a project ID in advance. Two methods are available:

+ +
+

Obtaining the Project ID by Calling an API

The API used to obtain a project ID is GET https://{Endpoint}/v3/projects. {Endpoint} is the IAM endpoint and can be obtained from Regions and Endpoints For details about API authentication, see Token Authentication.

+

The following is an example response. The value of id is the project ID.

+
{
+    "projects": [
+        {
+            "domain_id": "65382450e8f64ac0870cd180d14e684b",
+            "is_domain": false,
+            "parent_id": "65382450e8f64ac0870cd180d14e684b",
+            "name": "project_name",
+            "description": "",
+            "links": {
+                "next": null,
+                "previous": null,
+                "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99"
+            },
+            "id": "a4a5d4098fb4474fa22cd05f897d6b99",
+            "enabled": true
+        }
+    ],
+    "links": {
+        "next": null,
+        "previous": null,
+        "self": "https://www.example.com/v3/projects"
+    }
+}
+
+

Obtain a Project ID from the Console

  1. Register yourself on the management console and log in to it.
  2. Move your pointer over the username and select My Credential in the displayed drop-down list.

    On the My Credential page, view the project ID in the project list.

    +
    Figure 1 Viewing project IDs
    +
+
+
+
+ +
+ + + \ No newline at end of file diff --git a/docs/dds/api-ref/dds_public_parameters.html b/docs/dds/api-ref/dds_public_parameters.html new file mode 100644 index 000000000..1cfa498ea --- /dev/null +++ b/docs/dds/api-ref/dds_public_parameters.html @@ -0,0 +1,18 @@ + + +

Appendix

+

+
+
+ +
+ diff --git a/docs/dds/api-ref/dds_status_code.html b/docs/dds/api-ref/dds_status_code.html new file mode 100644 index 000000000..bb9fdb31a --- /dev/null +++ b/docs/dds/api-ref/dds_status_code.html @@ -0,0 +1,140 @@ + + +

Status Code

+
  • Normal +
    + + + + + + + + + + + + + +

    Status Code

    +

    Message

    +

    Description

    +

    200

    +

    OK

    +

    Request succeeded.

    +

    202

    +

    Accepted

    +

    Asynchronous request submitted successfully.

    +
    +
    +
+
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Status Code

    +

    Message

    +

    Description

    +

    400

    +

    Bad Request

    +

    Invalid request.

    +

    The client should not repeat the request without modifications.

    +

    401

    +

    Unauthorized

    +

    The authorization information provided by the client is incorrect or invalid. Check the username and password.

    +

    403

    +

    Forbidden

    +

    The request is rejected.

    +

    The server has received and understood the request; yet it refused to respond, because the request is set to deny access. Do not retry the request before modification.

    +

    404

    +

    Not Found

    +

    The requested resource cannot be found.

    +

    The client should not repeat the request without modifications.

    +

    405

    +

    Method Not Allowed

    +

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

    +

    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.

    +

    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 temporarily cannot process the request, the response will contain a Retry-After header field.

    +

    415

    +

    Unsupported Media Type

    +

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

    +

    422

    +

    Unprocessable Entity

    +

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

    +

    500

    +

    Internal Server Error

    +

    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.

    +

    503

    +

    Service Unavailable

    +

    The requested service is invalid.

    +

    The client should not repeat the request without modifications.

    +
    +
    +
+
+
+ +
+ diff --git a/docs/dds/api-ref/en-us_image_0208249507.png b/docs/dds/api-ref/en-us_image_0208249507.png new file mode 100644 index 0000000000000000000000000000000000000000..6dfc7ca41716330fe27cdd9713dd05c2a4d15316 GIT binary patch literal 11567 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 ABme*a literal 0 HcmV?d00001 diff --git a/docs/dds/api-ref/en-us_image_0208249570.jpg b/docs/dds/api-ref/en-us_image_0208249570.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b0e263d9b79bf2d87a08575ce6509555ca60d44c GIT binary patch literal 112824 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 literal 0 HcmV?d00001 diff --git a/docs/dds/api-ref/public_sys-resources/ExpandCollapse.js b/docs/dds/api-ref/public_sys-resources/ExpandCollapse.js new file mode 100644 index 000000000..201888082 --- /dev/null +++ b/docs/dds/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/dds/api-ref/public_sys-resources/caution_3.0-en-us.png b/docs/dds/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:none;background-color:#DDDDDD;white-space:pre;}pre.codeblock{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:none;background-color:#DDDDDD;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:#BBFFBB;color:#000000;}.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/dds/api-ref/public_sys-resources/commonltr_ittmplate.css b/docs/dds/api-ref/public_sys-resources/commonltr_ittmplate.css new file mode 100644 index 000000000..9cff4e47d --- /dev/null +++ b/docs/dds/api-ref/public_sys-resources/commonltr_ittmplate.css @@ -0,0 +1 @@ + body{font-family:Arial,"Microsoft Yahei","Hiragino Sans GB",sans-serif;font-size:14px;line-height:1.42857;color:#333;background-color:#fff;}.msgph{font-family:楷体;}.rowlinecopyright{color:red;margin-top:10pt;}.unresolved{background-color:skyblue;}.noTemplate{background-color:yellow;}.base{background-color:#ffffff;}.nested0{margin-top:1em;}.p{margin-top:.6em;margin-bottom:.6em;}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;}.figcap{font-size:10pt;}img{margin-top:.3em;}.figdesc{font-style:normal;}.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;}.fignone{font-size:10pt;margin-top:8pt;margin-bottom:8pt;}.familylinks{margin-top:1.5em;margin-bottom:1em;}.ullinks{list-style-type:none;}.linklist{margin-bottom:1em;}.linklistwithchild{margin-left:1.5em;margin-bottom:1em;}.sublinklist{margin-left:1.5em;margin-bottom:1em;}.relconcepts{margin-top:.6em;margin-bottom:.6em;}.reltasks{margin-top:.6em;margin-bottom:.6em;}.relref{margin-top:.6em;margin-bottom:.6em;}.relinfo{margin-top:.6em;margin-bottom:.6em;}.breadcrumb{font-size:smaller;margin-bottom:.6em;}.prereq{margin-left:20px;}.parentlink{margin-top:.6em;margin-bottom:.6em;}.nextlink{margin-top:.6em;margin-bottom:.6em;}.previouslink{margin-top:.6em;margin-bottom:.6em;}.topictitle1{margin-top:0;margin-bottom:1em;font-size:14pt;color:#007af4;}.topictitle2{margin-top:1pc;margin-bottom:.45em;font-size:1.17em;color:#007af4;}.topictitle3{margin-top:1pc;margin-bottom:.17em;font-size:1.17em;font-weight:bold;color:#007af4;}.topictitle4{margin-top:.83em;font-size:1.17em;font-weight:bold;}.topictitle5{font-size:1.17em;font-weight:bold;}.topictitle6{font-size:1.17em;font-style:italic;}.sectiontitle{margin-top:1em;margin-bottom:1em;color:black;font-size:10.5pt;font-weight:bold;color:#007af4;overflow:auto;}.section{margin-top:1em;margin-bottom:1em;}.example{margin-top:1em;margin-bottom:1em;}.sectiontitle2contents:link{color:#007af4;}.sectiontitle2contents:visited{color:#800080;}.note{margin-top:1em;margin-bottom:1em;background-color:#ffffcc;}.notetitle{font-weight:bold;}.notelisttitle{font-weight:bold;}.tip{margin-top:1em;margin-bottom:1em;background-color:#ffffcc;}.tiptitle{font-weight:bold;}.fastpath{margin-top:1em;margin-bottom:1em;background-color:#ffffcc;}.fastpathtitle{font-weight:bold;}.important{margin-top:1em;margin-bottom:1em;background-color:#ffffcc;}.importanttitle{font-weight:bold;}.remember{margin-top:1em;margin-bottom:1em;background-color:#ffffcc;}.remembertitle{font-weight:bold;}.restriction{margin-top:1em;margin-bottom:1em;background-color:#ffffcc;}.restrictiontitle{font-weight:bold;}.attention{margin-top:1em;margin-bottom:1em;background-color:#ffffcc;}.attentiontitle{font-weight:bold;}.dangertitle{font-weight:bold;}.danger{margin-top:1em;margin-bottom:1em;background-color:#ffffcc;}.noticetitle{font-weight:bold;}.notice{margin-top:1em;margin-bottom:1em;background-color:#ffffcc;}.warningtitle{font-weight:bold;}.warning{margin-top:1em;margin-bottom:1em;background-color:#ffffcc;}.cautiontitle{font-weight:bold;}.caution{margin-top:1em;margin-bottom:1em;background-color:#ffffcc;}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;}.notice li{margin-top:.2em;margin-bottom:.2em;}.warning 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;}ol{margin-top:1em;margin-bottom:1em;margin-left:2.4em;-webkit-padding-start:0;}ul{margin-top:1em;margin-bottom:1em;margin-left:2.0em;-webkit-padding-start:0;}ol ul{list-style:disc;}ul ul{list-style:square;}ol ul ul{list-style:square;}ol ul{list-style-type:disc;}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;}.firstcol{font-weight:bold;}th{background-color:#cfcfcf;}table{margin-top:8pt;margin-bottom:12pt;width:100%;}table caption{margin-top:8pt;text-align:left;}.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;}.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:.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:none;background-color:#DDDDDD;white-space:pre;}pre.codeblock{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:none;background-color:#DDDDDD;white-space:pre;}.hrcopyright{color:#3f4e5d;margin-top:18pt;}.hwcopyright{text-align:center;font-family:Arial;}.comment{margin:2px 2px 2px 2px;font-family:宋体;font-size:10pt;background-color:#BBFFBB;color:#000000;}.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;}.dropdowntitle{background-repeat:no-repeat;background-position:0 4px;padding-left:15px;cursor:pointer;}.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-family:新宋体;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;}div.section{border-left:1px solid #ddd;margin-left:30px;}a.sectiontitle2contents{font-weight:normal;font-size:12px;position:absolute;border-radius:50%;border:1px solid #ccc;width:30px;height:30px;color:#e22835;text-align:center;line-height:30px;left:-15px;background:#fff;top:-6px;}h4.sectiontitle{position:relative;}.trems_list{margin-left:25px;padding-left:15px;padding-bottom:8px;margin-bottom:6px;border-bottom:1px dashed #ccc;}.trems_list.last{border:0;}.trems_list dt{font-weight:700;}.trems_list dd{text-indent:2.3em;margin-left:0;} \ No newline at end of file diff --git a/docs/dds/api-ref/public_sys-resources/commonltr_print.css b/docs/dds/api-ref/public_sys-resources/commonltr_print.css new file mode 100644 index 000000000..532b46502 --- /dev/null +++ b/docs/dds/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:#ffffff;}.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:none;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:none;font-size:10.0pt;font-family:"Times New Roman";}.note{margin-top:1em;margin-bottom:1em;border:none;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:none;font-size:10.0pt;font-family:"Times New Roman";}.tip{margin-top:1em;margin-bottom:1em;border:none;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:none;font-size:10.0pt;font-family:"Times New Roman";}.fastpath{margin-top:1em;margin-bottom:1em;border:none;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:none;font-size:10.0pt;font-family:"Times New Roman";font-style:italic;}.important{margin-top:1em;margin-bottom:1em;border:none;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:none;font-size:10.0pt;font-family:"Times New Roman";font-style:italic;}.remember{margin-top:1em;margin-bottom:1em;border:none;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:none;font-size:10.0pt;font-family:"Times New Roman";font-style:italic;}.restriction{margin-top:1em;margin-bottom:1em;border:none;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:none;font-size:10.0pt;font-family:"Times New Roman";}.attention{margin-top:1em;margin-bottom:1em;border:none;border-top:solid .5pt;border-bottom:solid .5pt;}.attentiontitle{font-weight:bold;}table .danger{margin-top:1em;margin-bottom:1em;border:none;font-size:10.0pt;font-family:"Times New Roman";}.dangertitle{font-weight:bold;}.danger{margin-top:1em;margin-bottom:1em;border:none;border-top:solid .5pt;border-bottom:solid .5pt;}table .notice{margin-top:1em;margin-bottom:1em;border:none;font-size:10.0pt;font-family:"Times New Roman";}.noticetitle{font-weight:bold;}.notice{margin-top:1em;margin-bottom:1em;border:none;border-top:solid .5pt;border-bottom:solid .5pt;}table .warning{margin-top:1em;margin-bottom:1em;border:none;font-size:10.0pt;font-family:"Times New Roman";}.warningtitle{font-weight:bold;}.warning{margin-top:1em;margin-bottom:1em;border:none;border-top:solid .5pt;border-bottom:solid .5pt;}table .caution{margin-top:1em;margin-bottom:1em;border:none;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:none;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:none;white-space:pre;}pre.codeblock{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:none;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/dds/api-ref/public_sys-resources/commonrtl.css b/docs/dds/api-ref/public_sys-resources/commonrtl.css new file mode 100644 index 000000000..b3f683a85 --- /dev/null +++ b/docs/dds/api-ref/public_sys-resources/commonrtl.css @@ -0,0 +1 @@ +.msgph{font-family:Courier New;}.unresolved{background-color:skyblue;}.noTemplate{background-color:yellow;}.base{background-color:#ffffff;}.nested0{margin-top:1em;}.p{margin-top:1em;}.figcap{font-style:italic;}.figdesc{font-style:normal;}.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{list-style-type:none;}.ulchildlink{margin-top:1em;margin-bottom:1em;}.olchildlink{margin-top:1em;margin-bottom:1em;}.linklist{margin-top:1em;margin-bottom:1em;}.linklistwithchild{margin-top:1em;margin-right:1.5em;margin-bottom:1em;}.sublinklist{margin-top:1em;margin-right:1.5em;margin-bottom:1em;}.relconcepts{margin-top:1em;margin-bottom:1em;}.reltasks{margin-top:1em;margin-bottom:1em;}.relref{margin-top:1em;margin-bottom:1em;}.relinfo{margin-top:1em;margin-bottom:1em;}.breadcrumb{font-size:smaller;margin-bottom:1em;}.prereq{margin-right:20px;}.topictitle1{margin-top:0;margin-bottom:.1em;font-size:1.34em;}.topictitle2{margin-top:1pc;margin-bottom:.45em;font-size:1.17em;}.topictitle3{margin-top:1pc;margin-bottom:.17em;font-size:1.17em;font-weight:bold;}.topictitle4{margin-top:.83em;font-size:1.17em;font-weight:bold;}.topictitle5{font-size:1.17em;font-weight:bold;}.topictitle6{font-size:1.17em;font-style:italic;}.sectiontitle{margin-top:1em;margin-bottom:0;color:black;font-size:1.17em;font-weight:bold;}.section{margin-top:1em;margin-bottom:1em;}.example{margin-top:1em;margin-bottom:1em;}.note{margin-top:1em;margin-bottom:1em;}.notetitle{font-weight:bold;}.notelisttitle{font-weight:bold;}.tip{margin-top:1em;margin-bottom:1em;}.tiptitle{font-weight:bold;}.fastpath{margin-top:1em;margin-bottom:1em;}.fastpathtitle{font-weight:bold;}.important{margin-top:1em;margin-bottom:1em;}.importanttitle{font-weight:bold;}.remember{margin-top:1em;margin-bottom:1em;}.remembertitle{font-weight:bold;}.restriction{margin-top:1em;margin-bottom:1em;}.restrictiontitle{font-weight:bold;}.attention{margin-top:1em;margin-bottom:1em;}.attentiontitle{font-weight:bold;}.dangertitle{font-weight:bold;}.danger{margin-top:1em;margin-bottom:1em;}.warningtitle{font-weight:bold;}.warning{margin-top:1em;margin-bottom:1em;}.noticetitle{font-weight:bold;}.notice{margin-top:1em;margin-bottom:1em;}.cautiontitle{font-weight:bold;}.caution{font-weight:bold;margin-bottom:1em;}ul.simple{list-style-type:none;}.firstcol{font-weight:bold;}.bold{font-weight:bold;}.boldItalic{font-weight:bold;font-style:italic;}.italic{font-style:italic;}.underlined{text-decoration:underline;}.uicontrol{font-weight:bold;}.parmname{font-weight:bold;}.var{font-style:italic;}.shortcut{text-decoration:underline;}.dlterm{font-weight:bold;}.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;}div.imageleft{text-align:left;}div.imagecenter{text-align:center;}div.imageright{text-align:right;}div.imagejustify{text-align:justify;}.cellrowborder{border-right:none;border-top:none;border-left:solid 1px;border-bottom:solid 1px;}.row-nocellborder{border-left:none;border-right:none;border-top:none;border-left:hidden;border-bottom:solid 1px;}.cell-norowborder{border-top:none;border-bottom:none;border-right:none;border-bottom:hidden;border-left:solid 1px;}.nocellnorowborder{border:none;border-left:hidden;border-bottom:hidden;}pre.screen{padding:5px 5px 5px 5px;border:outset;background-color:#CCCCCC;margin-top:2px;margin-bottom:2px;white-space:pre;}pre.codeblock{padding:5px 5px 5px 5px;border:outset;background-color:#CCCCCC;margin-top:2px;margin-bottom:2px;white-space:pre;} \ No newline at end of file diff --git a/docs/dds/api-ref/public_sys-resources/danger_3.0-en-us.png b/docs/dds/api-ref/public_sys-resources/danger_3.0-en-us.png new file mode 100644 index 0000000000000000000000000000000000000000..47a9c723532a0ac410285e5152684262127922bf GIT binary patch literal 2771 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 HFjxZssyz>} literal 0 HcmV?d00001 diff --git a/docs/dds/api-ref/public_sys-resources/deltaend.gif b/docs/dds/api-ref/public_sys-resources/deltaend.gif new file mode 100644 index 0000000000000000000000000000000000000000..c79293760198b9a8bb91e127d3113f325e4a0c1f GIT binary patch literal 56 zcmZ?wbhEHb|3IMllZ91;fssK6Bmk0OVB+s#PS`bvcj9creZ}ijxy2c* E0fV~^4*&oF literal 0 HcmV?d00001 diff --git a/docs/dds/api-ref/public_sys-resources/icon-arrowdn.gif b/docs/dds/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/dds/api-ref/public_sys-resources/icon-arrowrt.gif b/docs/dds/api-ref/public_sys-resources/icon-arrowrt.gif new file mode 100644 index 0000000000000000000000000000000000000000..39583d168d6db303b366b5b8c1780698a6bb6017 GIT binary patch literal 70 zcmZ?wbhEHbfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/docs/dds/api-ref/public_sys-resources/icon-danger.gif b/docs/dds/api-ref/public_sys-resources/icon-danger.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 GIT binary patch literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/docs/dds/api-ref/public_sys-resources/icon-huawei.gif b/docs/dds/api-ref/public_sys-resources/icon-huawei.gif new file mode 100644 index 0000000000000000000000000000000000000000..a31d60f895af919d33855217ca02daf4093136d7 GIT binary patch literal 2767 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 Vyd?-=a{xfJ@}LjB=qC{f06U7uUF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> literal 0 HcmV?d00001 diff --git a/docs/dds/api-ref/public_sys-resources/icon-notice.gif b/docs/dds/api-ref/public_sys-resources/icon-notice.gif new file mode 100644 index 0000000000000000000000000000000000000000..3f4e40cec18575b5ed04ee804732d34a476ff360 GIT binary patch literal 1069 zcmZ?wbhEHblwpu!_|5#>V#c_6iCL zii(PAYHE6VdYYP=;o;#yK|vlK9=^W5j*gDO!NGxnfgvFwo}Qi=85wD5X$1uZ_4W0g zot-mh&TMaQpFVwhQ&UrOb8};3*-O!NFz@UN(;t9~Q7P z$VqvLa4dLqq)m{ahC$$=l9LRB&<_s=hIaR6E(VS>j1C7qn+zE;J}@3S&ca+m71$P8l8F>;am>k-h6c`q0++aM= z*%HV(X+w@d@xgXYo<4>JhZ49t*coLUb}&6;+{SGD$>PK#$KGZe3!yiR49thRI0TXy zE+i|k++dAn*w851bU>QHXorU5UaL}Z{e+0^@06Guq&>8`yX5`%*;KMwNwTppSOWkW Cxwm}) literal 0 HcmV?d00001 diff --git a/docs/dds/api-ref/public_sys-resources/icon-tip.gif b/docs/dds/api-ref/public_sys-resources/icon-tip.gif new file mode 100644 index 0000000000000000000000000000000000000000..93aa72053b510e456b149f36a0972703ea9999b7 GIT binary patch literal 253 zcmZ?wbhEHblw=TLXklRZ^Y2ejUyqBEOG;8oNm0q3eS4NHTOuMPA|oZUW!n}NC6zVn z)|eQXym|NL$+IUmRyH+tH8oW=Ep07l&Yj`m;>pR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/docs/dds/api-ref/public_sys-resources/imageResize.js b/docs/dds/api-ref/public_sys-resources/imageResize.js new file mode 100644 index 000000000..9c1950e1b --- /dev/null +++ b/docs/dds/api-ref/public_sys-resources/imageResize.js @@ -0,0 +1 @@ +function image_size(a){$$$(window).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/dds/api-ref/public_sys-resources/imageclose.gif b/docs/dds/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/dds/api-ref/public_sys-resources/imageclosehover.gif b/docs/dds/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/dds/api-ref/public_sys-resources/imagemax.gif b/docs/dds/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/dds/api-ref/public_sys-resources/imagemaxhover.gif b/docs/dds/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/dds/api-ref/public_sys-resources/jquery-1.11.1.min.js b/docs/dds/api-ref/public_sys-resources/jquery-1.11.1.min.js new file mode 100644 index 000000000..e9f163eee --- /dev/null +++ b/docs/dds/api-ref/public_sys-resources/jquery-1.11.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQueryHW2 requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQueryHW2"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$$$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$$$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$$$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$$$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$$$.test(o.compareDocumentPosition),t=b||$$$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h; +if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$$$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$$$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$$$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:k.htmlSerialize?[0,"",""]:[1,"X
","
"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("
");$$$("#TB_overlay").click(tb_remove)}}else{if(document.getElementById("TB_overlay")===null){$$$("body").append("
");$$$("#TB_overlay").click(tb_remove)}}if(tb_detectMacXFF()){$$$("#TB_overlay").addClass("TB_overlayMacFFBGHack")}else{$$$("#TB_overlay").addClass("TB_overlayBG")}if(j===null){j=""}$$$("body").append("
");$$$("#TB_load").show();var c;if(b.indexOf("?")!==-1){c=b.substr(0,b.indexOf("?"))}else{c=b}var f=/\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;var k=c.toLowerCase().match(f);if(k==".jpg"||k==".jpeg"||k==".png"||k==".gif"||k==".bmp"){TB_PrevCaption="";TB_PrevURL="";TB_PrevHTML="";TB_NextCaption="";TB_NextURL="";TB_NextHTML="";TB_imageCount="";TB_FoundURL=false;if(h){TB_TempArray=$$$("a[@rel="+h+"]").get();for(TB_Counter=0;((TB_Counter  Next >"}else{TB_PrevCaption=TB_TempArray[TB_Counter].title;TB_PrevURL=TB_TempArray[TB_Counter].href;TB_PrevHTML="  < Prev"}}else{TB_FoundURL=true;TB_imageCount="Image "+(TB_Counter+1)+" of "+(TB_TempArray.length)}}}imgPreloader=new Image();imgPreloader.onload=function(){imgPreloader.onload=null;var e=tb_getPageSize();var v=e[0]-150;var s=e[1]-150;var r=imgPreloader.width;var o=imgPreloader.height;var t=r;var l=o;if(r>v){o=o*(v/r);r=v;if(o>s){r=r*(s/o);o=s}}else{if(o>s){r=r*(s/o);o=s;if(r>v){o=o*(v/r);r=v}}}var m=r;var n=o;$$$("#TB_window").bind("mousewheel",function(y,A){var x=Math.abs(A);var w=m;var z=n;if(A>0){m*=(x/10+1);n*=(x/10+1)}else{m*=(1-x/10);n*=(1-x/10);if(t<=v){}else{if(m<=r){n=l*(m/t)}}}if(m<210){m=w;n=z}$$$("#TB_Image").attr("width",m).attr("height",n);TB_WIDTH=m+30;TB_HEIGHT=o+60;tb_position();return false});TB_WIDTH=r+30;TB_HEIGHT=o+60;var q="
";$$$("#TB_window").append(q+""+j+"
"+j+"
"+TB_imageCount+TB_PrevHTML+TB_NextHTML+"
");$$$("#TB_window").addClass("ui-draggable");$$$("#TB_closeWindowButton").click(tb_remove);$$$(".imgadjust").click(function(){$$$("#TB_Image").attr("width",t).attr("height",l);TB_WIDTH=t+30;m=t;n=l;tb_position();return false});$$$("#TB_window").draggable();if(!(TB_PrevHTML==="")){function p(){if($$$(document).unbind("click",p)){$$$(document).unbind("click",p)}$$$("#TB_window").remove();$$$("body").append("
");tb_show(TB_PrevCaption,TB_PrevURL,h);return false}$$$("#TB_prev").click(p)}if(!(TB_NextHTML==="")){function u(){$$$("#TB_window").remove();$$$("body").append("
");tb_show(TB_NextCaption,TB_NextURL,h);return false}$$$("#TB_next").click(u)}document.onkeydown=function(w){if(w==null){keycode=event.keyCode}else{keycode=w.which}if(keycode==27){tb_remove()}else{if(keycode==190){if(!(TB_NextHTML=="")){document.onkeydown="";u()}}else{if(keycode==188){if(!(TB_PrevHTML=="")){document.onkeydown="";p()}}}}};tb_position();$$$("#TB_load").remove();$$$("#TB_ImageOff").click(tb_remove);$$$("#TB_window").css({display:"block"})};imgPreloader.src=b}else{var a=b.replace(/^[^\?]+\??/,"");var d=tb_parseQuery(a);TB_WIDTH=(d.width*1)+30||630;TB_HEIGHT=(d.height*1)+40||440;ajaxContentW=TB_WIDTH-30;ajaxContentH=TB_HEIGHT-45;if(b.indexOf("TB_iframe")!=-1){urlNoQuery=b.split("TB_");$$$("#TB_iframeContent").remove();if(d.modal!="true"){$$$("#TB_window").append("
"+j+"
close or Esc Key
")}else{$$$("#TB_overlay").unbind();$$$("#TB_window").append("")}}else{if($$$("#TB_window").css("display")!="block"){if(d.modal!="true"){$$$("#TB_window").append("
"+j+"
close or Esc Key
")}else{$$$("#TB_overlay").unbind();$$$("#TB_window").append("
")}}else{$$$("#TB_ajaxContent")[0].style.width=ajaxContentW+"px";$$$("#TB_ajaxContent")[0].style.height=ajaxContentH+"px";$$$("#TB_ajaxContent")[0].scrollTop=0;$$$("#TB_ajaxWindowTitle").html(j)}}$$$("#TB_closeWindowButton").click(tb_remove);if(b.indexOf("TB_inline")!=-1){$$$("#TB_ajaxContent").append($$$("#"+d.inlineId).children());$$$("#TB_window").unload(function(){$$$("#"+d.inlineId).append($$$("#TB_ajaxContent").children())});tb_position();$$$("#TB_load").remove();$$$("#TB_window").css({display:"block"})}else{if(b.indexOf("TB_iframe")!=-1){tb_position();if($$$.browser.safari){$$$("#TB_load").remove();$$$("#TB_window").css({display:"block"})}}else{$$$("#TB_ajaxContent").load(b+="&random="+(new Date().getTime()),function(){tb_position();$$$("#TB_load").remove();tb_init("#TB_ajaxContent a.thickbox");$$$("#TB_window").css({display:"block"})})}}}if(!d.modal){document.onkeyup=function(l){if(l==null){keycode=event.keyCode}else{keycode=l.which}if(keycode==27){tb_remove()}}}}catch(i){}}function tb_showIframe(){$$$("#TB_load").remove();$$$("#TB_window").css({display:"block"})}function tb_remove(){$$$("#TB_imageOff").unbind("click");$$$("#TB_closeWindowButton").unbind("click");$$$("#TB_window").fadeOut("fast",function(){$$$("#TB_window,#TB_overlay,#TB_HideSelect").trigger("unload").unbind().remove()});$$$("#TB_load").remove();if(typeof document.body.style.maxHeight=="undefined"){$$$("body","html").css({height:"auto",width:"auto"});$$$("html").css("overflow","")}document.onkeydown="";document.onkeyup="";return false}function tb_position(){if(TB_WIDTH<210){TB_WIDTH=210}$$$("#TB_window").css({marginLeft:"-"+parseInt((TB_WIDTH/2),10)+"px",width:TB_WIDTH+"px"});if(!(jQueryHW2.browser.msie&&jQueryHW2.browser.version<7)){$$$("#TB_window").css({marginTop:"-"+parseInt((TB_HEIGHT/2),10)+"px"})}}function tb_parseQuery(d){var e={};if(!d){return e}var a=d.split(/[;&]/);for(var c=0;c
");$$$("#TB_overlay").click(tb_remove)}}else{if(document.getElementById("TB_overlay")===null){$$$("body").append("
");$$$("#TB_overlay").click(tb_remove)}}if(tb_detectMacXFF()){$$$("#TB_overlay").addClass("TB_overlayMacFFBGHack")}else{$$$("#TB_overlay").addClass("TB_overlayBG")}if(j===null){j=""}$$$("body").append("
");$$$("#TB_load").show();var c;if(b.indexOf("?")!==-1){c=b.substr(0,b.indexOf("?"))}else{c=b}var f=/\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;var k=c.toLowerCase().match(f);if(k==".jpg"||k==".jpeg"||k==".png"||k==".gif"||k==".bmp"){TB_PrevCaption="";TB_PrevURL="";TB_PrevHTML="";TB_NextCaption="";TB_NextURL="";TB_NextHTML="";TB_imageCount="";TB_FoundURL=false;if(h){TB_TempArray=$$$("a[@rel="+h+"]").get();for(TB_Counter=0;((TB_Counter  Next >"}else{TB_PrevCaption=TB_TempArray[TB_Counter].title;TB_PrevURL=TB_TempArray[TB_Counter].href;TB_PrevHTML="  < Prev"}}else{TB_FoundURL=true;TB_imageCount="Image "+(TB_Counter+1)+" of "+(TB_TempArray.length)}}}imgPreloader=new Image();imgPreloader.onload=function(){imgPreloader.onload=null;var e=tb_getPageSize();var v=e[0]-150;var s=e[1]-150;var r=imgPreloader.width;var o=imgPreloader.height;var t=r;var l=o;if(r>v){o=o*(v/r);r=v;if(o>s){r=r*(s/o);o=s}}else{if(o>s){r=r*(s/o);o=s;if(r>v){o=o*(v/r);r=v}}}var m=r;var n=o;$$$("#TB_window").bind("mousewheel",function(y,A){var x=Math.abs(A);var w=m;var z=n;if(A>0){m*=(x/10+1);n*=(x/10+1)}else{m*=(1-x/10);n*=(1-x/10);if(t<=v){}else{if(m<=r){n=l*(m/t)}}}if(m<210){m=w;n=z}$$$("#TB_Image").attr("width",m).attr("height",n);TB_WIDTH=m+30;TB_HEIGHT=o+60;tb_position();return false});TB_WIDTH=r+30;TB_HEIGHT=o+60;var q="
";$$$("#TB_window").append(q+""+j+"
"+j+"
"+TB_imageCount+TB_PrevHTML+TB_NextHTML+"
");$$$("#TB_window").addClass("ui-draggable");$$$("#TB_closeWindowButton").click(tb_remove);$$$(".imgadjust").click(function(){$$$("#TB_Image").attr("width",t).attr("height",l);TB_WIDTH=t+30;m=t;n=l;tb_position();return false});$$$("#TB_window").draggable();if(!(TB_PrevHTML==="")){function p(){if($$$(document).unbind("click",p)){$$$(document).unbind("click",p)}$$$("#TB_window").remove();$$$("body").append("
");tb_show(TB_PrevCaption,TB_PrevURL,h);return false}$$$("#TB_prev").click(p)}if(!(TB_NextHTML==="")){function u(){$$$("#TB_window").remove();$$$("body").append("
");tb_show(TB_NextCaption,TB_NextURL,h);return false}$$$("#TB_next").click(u)}document.onkeydown=function(w){if(w==null){keycode=event.keyCode}else{keycode=w.which}if(keycode==27){tb_remove()}else{if(keycode==190){if(!(TB_NextHTML=="")){document.onkeydown="";u()}}else{if(keycode==188){if(!(TB_PrevHTML=="")){document.onkeydown="";p()}}}}};tb_position();$$$("#TB_load").remove();$$$("#TB_ImageOff").click(tb_remove);$$$("#TB_window").css({display:"block"})};imgPreloader.src=b}else{var a=b.replace(/^[^\?]+\??/,"");var d=tb_parseQuery(a);TB_WIDTH=(d.width*1)+30||630;TB_HEIGHT=(d.height*1)+40||440;ajaxContentW=TB_WIDTH-30;ajaxContentH=TB_HEIGHT-45;if(b.indexOf("TB_iframe")!=-1){urlNoQuery=b.split("TB_");$$$("#TB_iframeContent").remove();if(d.modal!="true"){$$$("#TB_window").append("
"+j+"
close or Esc Key
")}else{$$$("#TB_overlay").unbind();$$$("#TB_window").append("")}}else{if($$$("#TB_window").css("display")!="block"){if(d.modal!="true"){$$$("#TB_window").append("
"+j+"
close or Esc Key
")}else{$$$("#TB_overlay").unbind();$$$("#TB_window").append("
")}}else{$$$("#TB_ajaxContent")[0].style.width=ajaxContentW+"px";$$$("#TB_ajaxContent")[0].style.height=ajaxContentH+"px";$$$("#TB_ajaxContent")[0].scrollTop=0;$$$("#TB_ajaxWindowTitle").html(j)}}$$$("#TB_closeWindowButton").click(tb_remove);if(b.indexOf("TB_inline")!=-1){$$$("#TB_ajaxContent").append($$$("#"+d.inlineId).children());$$$("#TB_window").unload(function(){$$$("#"+d.inlineId).append($$$("#TB_ajaxContent").children())});tb_position();$$$("#TB_load").remove();$$$("#TB_window").css({display:"block"})}else{if(b.indexOf("TB_iframe")!=-1){tb_position();if($$$.browser.safari){$$$("#TB_load").remove();$$$("#TB_window").css({display:"block"})}}else{$$$("#TB_ajaxContent").load(b+="&random="+(new Date().getTime()),function(){tb_position();$$$("#TB_load").remove();tb_init("#TB_ajaxContent a.thickbox");$$$("#TB_window").css({display:"block"})})}}}if(!d.modal){document.onkeyup=function(l){if(l==null){keycode=event.keyCode}else{keycode=l.which}if(keycode==27){tb_remove()}}}}catch(i){}}function tb_showIframe(){$$$("#TB_load").remove();$$$("#TB_window").css({display:"block"})}function tb_remove(){$$$("#TB_imageOff").unbind("click");$$$("#TB_closeWindowButton").unbind("click");$$$("#TB_window").fadeOut("fast",function(){$$$("#TB_window,#TB_overlay,#TB_HideSelect").trigger("unload").unbind().remove()});$$$("#TB_load").remove();if(typeof document.body.style.maxHeight=="undefined"){$$$("body","html").css({height:"auto",width:"auto"});$$$("html").css("overflow","")}document.onkeydown="";document.onkeyup="";return false}function tb_position(){if(TB_WIDTH<210){TB_WIDTH=210}$$$("#TB_window").css({marginLeft:"-"+parseInt((TB_WIDTH/2),10)+"px",width:TB_WIDTH+"px"});if(!(jQueryHW2.browser.msie&&jQueryHW2.browser.version<7)){$$$("#TB_window").css({marginTop:"-"+parseInt((TB_HEIGHT/2),10)+"px"})}}function tb_parseQuery(d){var e={};if(!d){return e}var a=d.split(/[;&]/);for(var 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