diff --git a/docs/kms/api-ref/.placeholder b/docs/kms/api-ref/.placeholder deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/kms/api-ref/ALL_META.TXT.json b/docs/kms/api-ref/ALL_META.TXT.json new file mode 100644 index 000000000..0ed2b96ea --- /dev/null +++ b/docs/kms/api-ref/ALL_META.TXT.json @@ -0,0 +1,482 @@ +[ + { + "uri":"en-us_topic_00384375969.html", + "product_code":"kms", + "code":"1", + "des":"Public cloud APIs comply with the RESTful API design principles. REST-based Web services are organized into resources. Each resource is identified by one or more Uniform ", + "doc_type":"api", + "kw":"API Usage Guidelines,API Reference", + "title":"API Usage Guidelines", + "githuburl":"" + }, + { + "uri":"kms_02_0010.html", + "product_code":"kms", + "code":"2", + "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":"APIs", + "title":"APIs", + "githuburl":"" + }, + { + "uri":"kms_02_0012.html", + "product_code":"kms", + "code":"3", + "des":"This API is used to create customer master keys (CMKs) used to encrypt data encryption keys (DEKs).Default Master Keys are created by services integrated with KMS. Names ", + "doc_type":"api", + "kw":"Creating a CMK,APIs,API Reference", + "title":"Creating a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0013.html", + "product_code":"kms", + "code":"4", + "des":"This API allows you to enable a CMK. Only an enabled CMK can be used.Only a disabled CMK can be enabled.URI formatPOST /v1.0/{project_id}/kms/enable-keyPOST /v1.0/{projec", + "doc_type":"api", + "kw":"Enabling a CMK,APIs,API Reference", + "title":"Enabling a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0014.html", + "product_code":"kms", + "code":"5", + "des":"This API allows you to disable a CMK. A disabled CMK cannot be used.Only an enabled CMK can be disabled.URI formatPOST /v1.0/{project_id}/kms/disable-keyPOST /v1.0/{proje", + "doc_type":"api", + "kw":"Disabling a CMK,APIs,API Reference", + "title":"Disabling a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0015.html", + "product_code":"kms", + "code":"6", + "des":"This API enables you to schedule the deletion of a CMK. A CMK can be scheduled to be deleted after 7 to 1096 days.URI formatPOST /v1.0/{project_id}/kms/schedule-key-delet", + "doc_type":"api", + "kw":"Scheduling the Deletion of a CMK,APIs,API Reference", + "title":"Scheduling the Deletion of a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0016.html", + "product_code":"kms", + "code":"7", + "des":"This API enables you to cancel the scheduled deletion of a CMK.You can cancel the scheduled deletion for a CMK only when the CMK's status is Scheduled deletion.URI format", + "doc_type":"api", + "kw":"Canceling the Scheduled Deletion of a CMK,APIs,API Reference", + "title":"Canceling the Scheduled Deletion of a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0017.html", + "product_code":"kms", + "code":"8", + "des":"This API allows you to query the list of all CMKs.URI formatPOST /v1.0/{project_id}/kms/list-keysPOST /v1.0/{project_id}/kms/list-keysParameter descriptionParametersParam", + "doc_type":"api", + "kw":"Querying the List of CMKs,APIs,API Reference", + "title":"Querying the List of CMKs", + "githuburl":"" + }, + { + "uri":"kms_02_0018.html", + "product_code":"kms", + "code":"9", + "des":"This API allows you to query the details about a CMK.By default, the performance threshold for querying CMK details is 1000 TPS per customer. To apply for higher performa", + "doc_type":"api", + "kw":"Querying the Information About a CMK,APIs,API Reference", + "title":"Querying the Information About a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0019.html", + "product_code":"kms", + "code":"10", + "des":"This API generates a 512-bit random number.URI formatPOST /v1.0/{project_id}/kms/gen-randomPOST /v1.0/{project_id}/kms/gen-randomParameter descriptionParameter descriptio", + "doc_type":"api", + "kw":"Creating a Random Number,APIs,API Reference", + "title":"Creating a Random Number", + "githuburl":"" + }, + { + "uri":"kms_02_0020.html", + "product_code":"kms", + "code":"11", + "des":"This API allows you to create a DEK. A returned result includes the plaintext and the ciphertext of a DEK.By default, the performance threshold for creating DEKs is 1000 ", + "doc_type":"api", + "kw":"Creating a DEK,APIs,API Reference", + "title":"Creating a DEK", + "githuburl":"" + }, + { + "uri":"kms_02_0021.html", + "product_code":"kms", + "code":"12", + "des":"This API allows you to create a plaintext-free DEK, that is, the returned result of this API includes only the ciphertext of the DEK.By default, the performance threshold", + "doc_type":"api", + "kw":"Creating a Plaintext-Free DEK,APIs,API Reference", + "title":"Creating a Plaintext-Free DEK", + "githuburl":"" + }, + { + "uri":"kms_02_0022.html", + "product_code":"kms", + "code":"13", + "des":"This API enables you to encrypt a DEK using a specified CMK.By default, the performance threshold for encrypting DEKs is 1000 TPS per customer. To apply for higher perfor", + "doc_type":"api", + "kw":"Encrypting a DEK,APIs,API Reference", + "title":"Encrypting a DEK", + "githuburl":"" + }, + { + "uri":"kms_02_0023.html", + "product_code":"kms", + "code":"14", + "des":"This API enables you to decrypt a DEK using a specified CMK.Data encryption results are used for decryption.By default, the performance threshold for decrypting DEKs is 1", + "doc_type":"api", + "kw":"Decrypting a DEK,APIs,API Reference", + "title":"Decrypting a DEK", + "githuburl":"" + }, + { + "uri":"kms_02_0024.html", + "product_code":"kms", + "code":"15", + "des":"This API is used to query the number of instances, that is, the number of CMKs created.Default Master Keys are automatically created by services and are not included in t", + "doc_type":"api", + "kw":"Querying the Number of Instances,APIs,API Reference", + "title":"Querying the Number of Instances", + "githuburl":"" + }, + { + "uri":"kms_02_0025.html", + "product_code":"kms", + "code":"16", + "des":"This API is used to query the quota of a user, that is, the allocated total number of CMKs that can be created by a user and the number of CMKs that has been created by t", + "doc_type":"api", + "kw":"Querying the Quota of a User,APIs,API Reference", + "title":"Querying the Quota of a User", + "githuburl":"" + }, + { + "uri":"kms_02_0026.html", + "product_code":"kms", + "code":"17", + "des":"This API enables you to change the alias of a CMK.A Default Master Key (the alias suffix of which is /default) does not allow alias changes.A CMK in Scheduled deletion st", + "doc_type":"api", + "kw":"Changing the Alias of a CMK,APIs,API Reference", + "title":"Changing the Alias of a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0027.html", + "product_code":"kms", + "code":"18", + "des":"This API enables you to change the description of a CMK.A Default Master Key (the alias suffix of which is /default) does not allow alias changes.A CMK in Scheduled delet", + "doc_type":"api", + "kw":"Changing the Description of a CMK,APIs,API Reference", + "title":"Changing the Description of a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0028.html", + "product_code":"kms", + "code":"19", + "des":"This API enables you to create a grant to grant permissions on a CMK to a user so that the user can perform operations on the CMK.A Default Master Key (the alias suffix o", + "doc_type":"api", + "kw":"Creating a Grant,APIs,API Reference", + "title":"Creating a Grant", + "githuburl":"" + }, + { + "uri":"kms_02_0029.html", + "product_code":"kms", + "code":"20", + "des":"This API allows you to revoke a grant.Only the user who created the CMK can revoke a grant.URI formatPOST /v1.0/{project_id}/kms/revoke-grantPOST /v1.0/{project_id}/kms/r", + "doc_type":"api", + "kw":"Revoking a Grant,APIs,API Reference", + "title":"Revoking a Grant", + "githuburl":"" + }, + { + "uri":"kms_02_0030.html", + "product_code":"kms", + "code":"21", + "des":"This API enables users to retire a grant.For example, user A grants operation permissions on CMK A/key to user B and authorizes user C to retire the grant. By doing this,", + "doc_type":"api", + "kw":"Retiring a Grant,APIs,API Reference", + "title":"Retiring a Grant", + "githuburl":"" + }, + { + "uri":"kms_02_0031.html", + "product_code":"kms", + "code":"22", + "des":"This API enables you to query grants on a CMK.URI formatPOST /v1.0/{project_id}/kms/list-grantsPOST /v1.0/{project_id}/kms/list-grantsParameter descriptionParameter descr", + "doc_type":"api", + "kw":"Querying Grants on a CMK,APIs,API Reference", + "title":"Querying Grants on a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0032.html", + "product_code":"kms", + "code":"23", + "des":"This API enables you to query grants that can be retired.URI formatPOST /v1.0/{project_id}/kms/list-retirable-grantsPOST /v1.0/{project_id}/kms/list-retirable-grantsParam", + "doc_type":"api", + "kw":"Querying Grants That Can Be Retired,APIs,API Reference", + "title":"Querying Grants That Can Be Retired", + "githuburl":"" + }, + { + "uri":"kms_02_0035.html", + "product_code":"kms", + "code":"24", + "des":"This API enables you to obtain necessary parameters to import a CMK, including a CMK import token and a CMK encryption public key.The returned public key type is RSA_2048", + "doc_type":"api", + "kw":"Obtaining CMK Import Parameters,APIs,API Reference", + "title":"Obtaining CMK Import Parameters", + "githuburl":"" + }, + { + "uri":"kms_02_0036.html", + "product_code":"kms", + "code":"25", + "des":"This API allows you to import CMK material.URI formatPOST /v1.0/{project_id}/kms/import-key-materialPOST /v1.0/{project_id}/kms/import-key-materialParameter descriptionPa", + "doc_type":"api", + "kw":"Importing CMK Material,APIs,API Reference", + "title":"Importing CMK Material", + "githuburl":"" + }, + { + "uri":"kms_02_0037.html", + "product_code":"kms", + "code":"26", + "des":"This API allows you to delete CMK material.URI formatPOST /v1.0/{project_id}/kms/delete-imported-key-materialPOST /v1.0/{project_id}/kms/delete-imported-key-materialParam", + "doc_type":"api", + "kw":"Deleting CMK Material,APIs,API Reference", + "title":"Deleting CMK Material", + "githuburl":"" + }, + { + "uri":"kms_02_0038.html", + "product_code":"kms", + "code":"27", + "des":"This API allows you to enable rotation for a CMK.The default rotation interval is 365 days.CMKs created using imported key materials and Default Master Keys do not suppor", + "doc_type":"api", + "kw":"Enabling Rotation for a CMK,APIs,API Reference", + "title":"Enabling Rotation for a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0039.html", + "product_code":"kms", + "code":"28", + "des":"This API enables you to change the rotation interval for a CMK.URI formatPOST /v1.0/{project_id}/kms/update-key-rotation-intervalPOST /v1.0/{project_id}/kms/update-key-ro", + "doc_type":"api", + "kw":"Changing the Rotation Interval for a CMK,APIs,API Reference", + "title":"Changing the Rotation Interval for a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0040.html", + "product_code":"kms", + "code":"29", + "des":"This API allows you to disable rotation for a CMK.URI formatPOST /v1.0/{project_id}/kms/disable-key-rotationPOST /v1.0/{project_id}/kms/disable-key-rotationParameter desc", + "doc_type":"api", + "kw":"Disabling Rotation for a CMK,APIs,API Reference", + "title":"Disabling Rotation for a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0041.html", + "product_code":"kms", + "code":"30", + "des":"This API enables you to query the rotation status of a CMK.URI formatPOST /v1.0/{project_id}/kms/get-key-rotation-statusPOST /v1.0/{project_id}/kms/get-key-rotation-statu", + "doc_type":"api", + "kw":"Querying the Rotation Status of a CMK,APIs,API Reference", + "title":"Querying the Rotation Status of a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0042.html", + "product_code":"kms", + "code":"31", + "des":"This API allows you to query CMK instances.You can use the tag filtering function to query the detailed information about a specified CMK.URI formatPOST /v1.0/{project_id", + "doc_type":"api", + "kw":"Querying CMK Instances,APIs,API Reference", + "title":"Querying CMK Instances", + "githuburl":"" + }, + { + "uri":"kms_02_0043.html", + "product_code":"kms", + "code":"32", + "des":"This API allows you to query tags of a specified CMK.TMS may use this API to query all tags of a specified CMK.URI formatGET /v1.0/{project_id}/kms/{key_id}/tagsGET /v1.0", + "doc_type":"api", + "kw":"Querying CMK Tags,APIs,API Reference", + "title":"Querying CMK Tags", + "githuburl":"" + }, + { + "uri":"kms_02_0044.html", + "product_code":"kms", + "code":"33", + "des":"This API enables you to query all tag sets of a specified project.URI formatGET /v1.0/{project_id}/kms/tagsGET /v1.0/{project_id}/kms/tagsParameter descriptionParameter d", + "doc_type":"api", + "kw":"Querying Project Tags,APIs,API Reference", + "title":"Querying Project Tags", + "githuburl":"" + }, + { + "uri":"kms_02_0045.html", + "product_code":"kms", + "code":"34", + "des":"This API enables you to add or delete CMK tags in batches.URI formatPOST /v1.0/{project_id}/kms/{key_id}/tags/actionPOST /v1.0/{project_id}/kms/{key_id}/tags/actionParame", + "doc_type":"api", + "kw":"Adding or Deleting CMK Tags in Batches,APIs,API Reference", + "title":"Adding or Deleting CMK Tags in Batches", + "githuburl":"" + }, + { + "uri":"kms_02_0046.html", + "product_code":"kms", + "code":"35", + "des":"This API allows you to add a CMK tag.URI formatPOST /v1.0/{project_id}/kms/{key_id}/tagsPOST /v1.0/{project_id}/kms/{key_id}/tagsParameter descriptionParameter descriptio", + "doc_type":"api", + "kw":"Adding a CMK Tag,APIs,API Reference", + "title":"Adding a CMK Tag", + "githuburl":"" + }, + { + "uri":"kms_02_0047.html", + "product_code":"kms", + "code":"36", + "des":"This API enables you to delete a CMK tag.URI formatDELETE /v1.0/{project_id}/kms/{key_id}/tags/{key}DELETE /v1.0/{project_id}/kms/{key_id}/tags/{key}Parameter description", + "doc_type":"api", + "kw":"Deleting a CMK Tag,APIs,API Reference", + "title":"Deleting a CMK Tag", + "githuburl":"" + }, + { + "uri":"kms_02_0048.html", + "product_code":"kms", + "code":"37", + "des":"This API is used to query the API versions.URI formatGET /GET /Parameter descriptionNoneNoneNoneThe following describes how to query the version information.Example reque", + "doc_type":"api", + "kw":"Querying All API Versions,APIs,API Reference", + "title":"Querying All API Versions", + "githuburl":"" + }, + { + "uri":"kms_02_0049.html", + "product_code":"kms", + "code":"38", + "des":"This API is used to query the version of an API.URI formatGET /{version_id}GET /{version_id}Parameter descriptionParameter descriptionParameterMandatoryTypeDescriptionver", + "doc_type":"api", + "kw":"Querying a Specified API Version,APIs,API Reference", + "title":"Querying a Specified API Version", + "githuburl":"" + }, + { + "uri":"dew_02_0307.html", + "product_code":"kms", + "code":"39", + "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":"Permissions Policies and Supported Actions", + "title":"Permissions Policies and Supported Actions", + "githuburl":"" + }, + { + "uri":"dew_02_0308.html", + "product_code":"kms", + "code":"40", + "des":"This chapter describes fine-grained permissions management for your KMS. If your account does not need individual IAM users, then you may skip over this chapter.By defaul", + "doc_type":"api", + "kw":"Introduction,Permissions Policies and Supported Actions,API Reference", + "title":"Introduction", + "githuburl":"" + }, + { + "uri":"dew_02_0309.html", + "product_code":"kms", + "code":"41", + "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":"Encryption Key Management,Permissions Policies and Supported Actions,API Reference", + "title":"Encryption Key Management", + "githuburl":"" + }, + { + "uri":"kms_02_0300.html", + "product_code":"kms", + "code":"42", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Appendix", + "title":"Appendix", + "githuburl":"" + }, + { + "uri":"kms_02_0301.html", + "product_code":"kms", + "code":"43", + "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":"Status Codes,Appendix,API Reference", + "title":"Status Codes", + "githuburl":"" + }, + { + "uri":"kms_02_8888.html", + "product_code":"kms", + "code":"44", + "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":"Error Code,Appendix,API Reference", + "title":"Error Code", + "githuburl":"" + }, + { + "uri":"kms_02_0009.html", + "product_code":"kms", + "code":"45", + "des":"A project ID is required for some URLs when an API is called. To obtain a project ID, perform the following operations:Log in to the management console.Click the username", + "doc_type":"api", + "kw":"Obtaining a Project ID,Appendix,API Reference", + "title":"Obtaining a Project ID", + "githuburl":"" + }, + { + "uri":"kms_02_0305.html", + "product_code":"kms", + "code":"46", + "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 Permissions", + "title":"API Permissions", + "githuburl":"" + }, + { + "uri":"kms_02_0306.html", + "product_code":"kms", + "code":"47", + "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":"Encryption Key Management,API Permissions,API Reference", + "title":"Encryption Key Management", + "githuburl":"" + }, + { + "uri":"kms_02_0304.html", + "product_code":"kms", + "code":"48", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Change History,API Reference", + "title":"Change History", + "githuburl":"" + } +] \ No newline at end of file diff --git a/docs/kms/api-ref/CLASS.TXT.json b/docs/kms/api-ref/CLASS.TXT.json new file mode 100644 index 000000000..34f31c1f9 --- /dev/null +++ b/docs/kms/api-ref/CLASS.TXT.json @@ -0,0 +1,434 @@ +[ + { + "desc":"Public cloud APIs comply with the RESTful API design principles. REST-based Web services are organized into resources. Each resource is identified by one or more Uniform ", + "product_code":"kms", + "title":"API Usage Guidelines", + "uri":"en-us_topic_00384375969.html", + "doc_type":"api", + "p_code":"", + "code":"1" + }, + { + "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":"kms", + "title":"APIs", + "uri":"kms_02_0010.html", + "doc_type":"api", + "p_code":"", + "code":"2" + }, + { + "desc":"This API is used to create customer master keys (CMKs) used to encrypt data encryption keys (DEKs).Default Master Keys are created by services integrated with KMS. Names ", + "product_code":"kms", + "title":"Creating a CMK", + "uri":"kms_02_0012.html", + "doc_type":"api", + "p_code":"2", + "code":"3" + }, + { + "desc":"This API allows you to enable a CMK. Only an enabled CMK can be used.Only a disabled CMK can be enabled.URI formatPOST /v1.0/{project_id}/kms/enable-keyPOST /v1.0/{projec", + "product_code":"kms", + "title":"Enabling a CMK", + "uri":"kms_02_0013.html", + "doc_type":"api", + "p_code":"2", + "code":"4" + }, + { + "desc":"This API allows you to disable a CMK. A disabled CMK cannot be used.Only an enabled CMK can be disabled.URI formatPOST /v1.0/{project_id}/kms/disable-keyPOST /v1.0/{proje", + "product_code":"kms", + "title":"Disabling a CMK", + "uri":"kms_02_0014.html", + "doc_type":"api", + "p_code":"2", + "code":"5" + }, + { + "desc":"This API enables you to schedule the deletion of a CMK. A CMK can be scheduled to be deleted after 7 to 1096 days.URI formatPOST /v1.0/{project_id}/kms/schedule-key-delet", + "product_code":"kms", + "title":"Scheduling the Deletion of a CMK", + "uri":"kms_02_0015.html", + "doc_type":"api", + "p_code":"2", + "code":"6" + }, + { + "desc":"This API enables you to cancel the scheduled deletion of a CMK.You can cancel the scheduled deletion for a CMK only when the CMK's status is Scheduled deletion.URI format", + "product_code":"kms", + "title":"Canceling the Scheduled Deletion of a CMK", + "uri":"kms_02_0016.html", + "doc_type":"api", + "p_code":"2", + "code":"7" + }, + { + "desc":"This API allows you to query the list of all CMKs.URI formatPOST /v1.0/{project_id}/kms/list-keysPOST /v1.0/{project_id}/kms/list-keysParameter descriptionParametersParam", + "product_code":"kms", + "title":"Querying the List of CMKs", + "uri":"kms_02_0017.html", + "doc_type":"api", + "p_code":"2", + "code":"8" + }, + { + "desc":"This API allows you to query the details about a CMK.By default, the performance threshold for querying CMK details is 1000 TPS per customer. To apply for higher performa", + "product_code":"kms", + "title":"Querying the Information About a CMK", + "uri":"kms_02_0018.html", + "doc_type":"api", + "p_code":"2", + "code":"9" + }, + { + "desc":"This API generates a 512-bit random number.URI formatPOST /v1.0/{project_id}/kms/gen-randomPOST /v1.0/{project_id}/kms/gen-randomParameter descriptionParameter descriptio", + "product_code":"kms", + "title":"Creating a Random Number", + "uri":"kms_02_0019.html", + "doc_type":"api", + "p_code":"2", + "code":"10" + }, + { + "desc":"This API allows you to create a DEK. A returned result includes the plaintext and the ciphertext of a DEK.By default, the performance threshold for creating DEKs is 1000 ", + "product_code":"kms", + "title":"Creating a DEK", + "uri":"kms_02_0020.html", + "doc_type":"api", + "p_code":"2", + "code":"11" + }, + { + "desc":"This API allows you to create a plaintext-free DEK, that is, the returned result of this API includes only the ciphertext of the DEK.By default, the performance threshold", + "product_code":"kms", + "title":"Creating a Plaintext-Free DEK", + "uri":"kms_02_0021.html", + "doc_type":"api", + "p_code":"2", + "code":"12" + }, + { + "desc":"This API enables you to encrypt a DEK using a specified CMK.By default, the performance threshold for encrypting DEKs is 1000 TPS per customer. To apply for higher perfor", + "product_code":"kms", + "title":"Encrypting a DEK", + "uri":"kms_02_0022.html", + "doc_type":"api", + "p_code":"2", + "code":"13" + }, + { + "desc":"This API enables you to decrypt a DEK using a specified CMK.Data encryption results are used for decryption.By default, the performance threshold for decrypting DEKs is 1", + "product_code":"kms", + "title":"Decrypting a DEK", + "uri":"kms_02_0023.html", + "doc_type":"api", + "p_code":"2", + "code":"14" + }, + { + "desc":"This API is used to query the number of instances, that is, the number of CMKs created.Default Master Keys are automatically created by services and are not included in t", + "product_code":"kms", + "title":"Querying the Number of Instances", + "uri":"kms_02_0024.html", + "doc_type":"api", + "p_code":"2", + "code":"15" + }, + { + "desc":"This API is used to query the quota of a user, that is, the allocated total number of CMKs that can be created by a user and the number of CMKs that has been created by t", + "product_code":"kms", + "title":"Querying the Quota of a User", + "uri":"kms_02_0025.html", + "doc_type":"api", + "p_code":"2", + "code":"16" + }, + { + "desc":"This API enables you to change the alias of a CMK.A Default Master Key (the alias suffix of which is /default) does not allow alias changes.A CMK in Scheduled deletion st", + "product_code":"kms", + "title":"Changing the Alias of a CMK", + "uri":"kms_02_0026.html", + "doc_type":"api", + "p_code":"2", + "code":"17" + }, + { + "desc":"This API enables you to change the description of a CMK.A Default Master Key (the alias suffix of which is /default) does not allow alias changes.A CMK in Scheduled delet", + "product_code":"kms", + "title":"Changing the Description of a CMK", + "uri":"kms_02_0027.html", + "doc_type":"api", + "p_code":"2", + "code":"18" + }, + { + "desc":"This API enables you to create a grant to grant permissions on a CMK to a user so that the user can perform operations on the CMK.A Default Master Key (the alias suffix o", + "product_code":"kms", + "title":"Creating a Grant", + "uri":"kms_02_0028.html", + "doc_type":"api", + "p_code":"2", + "code":"19" + }, + { + "desc":"This API allows you to revoke a grant.Only the user who created the CMK can revoke a grant.URI formatPOST /v1.0/{project_id}/kms/revoke-grantPOST /v1.0/{project_id}/kms/r", + "product_code":"kms", + "title":"Revoking a Grant", + "uri":"kms_02_0029.html", + "doc_type":"api", + "p_code":"2", + "code":"20" + }, + { + "desc":"This API enables users to retire a grant.For example, user A grants operation permissions on CMK A/key to user B and authorizes user C to retire the grant. By doing this,", + "product_code":"kms", + "title":"Retiring a Grant", + "uri":"kms_02_0030.html", + "doc_type":"api", + "p_code":"2", + "code":"21" + }, + { + "desc":"This API enables you to query grants on a CMK.URI formatPOST /v1.0/{project_id}/kms/list-grantsPOST /v1.0/{project_id}/kms/list-grantsParameter descriptionParameter descr", + "product_code":"kms", + "title":"Querying Grants on a CMK", + "uri":"kms_02_0031.html", + "doc_type":"api", + "p_code":"2", + "code":"22" + }, + { + "desc":"This API enables you to query grants that can be retired.URI formatPOST /v1.0/{project_id}/kms/list-retirable-grantsPOST /v1.0/{project_id}/kms/list-retirable-grantsParam", + "product_code":"kms", + "title":"Querying Grants That Can Be Retired", + "uri":"kms_02_0032.html", + "doc_type":"api", + "p_code":"2", + "code":"23" + }, + { + "desc":"This API enables you to obtain necessary parameters to import a CMK, including a CMK import token and a CMK encryption public key.The returned public key type is RSA_2048", + "product_code":"kms", + "title":"Obtaining CMK Import Parameters", + "uri":"kms_02_0035.html", + "doc_type":"api", + "p_code":"2", + "code":"24" + }, + { + "desc":"This API allows you to import CMK material.URI formatPOST /v1.0/{project_id}/kms/import-key-materialPOST /v1.0/{project_id}/kms/import-key-materialParameter descriptionPa", + "product_code":"kms", + "title":"Importing CMK Material", + "uri":"kms_02_0036.html", + "doc_type":"api", + "p_code":"2", + "code":"25" + }, + { + "desc":"This API allows you to delete CMK material.URI formatPOST /v1.0/{project_id}/kms/delete-imported-key-materialPOST /v1.0/{project_id}/kms/delete-imported-key-materialParam", + "product_code":"kms", + "title":"Deleting CMK Material", + "uri":"kms_02_0037.html", + "doc_type":"api", + "p_code":"2", + "code":"26" + }, + { + "desc":"This API allows you to enable rotation for a CMK.The default rotation interval is 365 days.CMKs created using imported key materials and Default Master Keys do not suppor", + "product_code":"kms", + "title":"Enabling Rotation for a CMK", + "uri":"kms_02_0038.html", + "doc_type":"api", + "p_code":"2", + "code":"27" + }, + { + "desc":"This API enables you to change the rotation interval for a CMK.URI formatPOST /v1.0/{project_id}/kms/update-key-rotation-intervalPOST /v1.0/{project_id}/kms/update-key-ro", + "product_code":"kms", + "title":"Changing the Rotation Interval for a CMK", + "uri":"kms_02_0039.html", + "doc_type":"api", + "p_code":"2", + "code":"28" + }, + { + "desc":"This API allows you to disable rotation for a CMK.URI formatPOST /v1.0/{project_id}/kms/disable-key-rotationPOST /v1.0/{project_id}/kms/disable-key-rotationParameter desc", + "product_code":"kms", + "title":"Disabling Rotation for a CMK", + "uri":"kms_02_0040.html", + "doc_type":"api", + "p_code":"2", + "code":"29" + }, + { + "desc":"This API enables you to query the rotation status of a CMK.URI formatPOST /v1.0/{project_id}/kms/get-key-rotation-statusPOST /v1.0/{project_id}/kms/get-key-rotation-statu", + "product_code":"kms", + "title":"Querying the Rotation Status of a CMK", + "uri":"kms_02_0041.html", + "doc_type":"api", + "p_code":"2", + "code":"30" + }, + { + "desc":"This API allows you to query CMK instances.You can use the tag filtering function to query the detailed information about a specified CMK.URI formatPOST /v1.0/{project_id", + "product_code":"kms", + "title":"Querying CMK Instances", + "uri":"kms_02_0042.html", + "doc_type":"api", + "p_code":"2", + "code":"31" + }, + { + "desc":"This API allows you to query tags of a specified CMK.TMS may use this API to query all tags of a specified CMK.URI formatGET /v1.0/{project_id}/kms/{key_id}/tagsGET /v1.0", + "product_code":"kms", + "title":"Querying CMK Tags", + "uri":"kms_02_0043.html", + "doc_type":"api", + "p_code":"2", + "code":"32" + }, + { + "desc":"This API enables you to query all tag sets of a specified project.URI formatGET /v1.0/{project_id}/kms/tagsGET /v1.0/{project_id}/kms/tagsParameter descriptionParameter d", + "product_code":"kms", + "title":"Querying Project Tags", + "uri":"kms_02_0044.html", + "doc_type":"api", + "p_code":"2", + "code":"33" + }, + { + "desc":"This API enables you to add or delete CMK tags in batches.URI formatPOST /v1.0/{project_id}/kms/{key_id}/tags/actionPOST /v1.0/{project_id}/kms/{key_id}/tags/actionParame", + "product_code":"kms", + "title":"Adding or Deleting CMK Tags in Batches", + "uri":"kms_02_0045.html", + "doc_type":"api", + "p_code":"2", + "code":"34" + }, + { + "desc":"This API allows you to add a CMK tag.URI formatPOST /v1.0/{project_id}/kms/{key_id}/tagsPOST /v1.0/{project_id}/kms/{key_id}/tagsParameter descriptionParameter descriptio", + "product_code":"kms", + "title":"Adding a CMK Tag", + "uri":"kms_02_0046.html", + "doc_type":"api", + "p_code":"2", + "code":"35" + }, + { + "desc":"This API enables you to delete a CMK tag.URI formatDELETE /v1.0/{project_id}/kms/{key_id}/tags/{key}DELETE /v1.0/{project_id}/kms/{key_id}/tags/{key}Parameter description", + "product_code":"kms", + "title":"Deleting a CMK Tag", + "uri":"kms_02_0047.html", + "doc_type":"api", + "p_code":"2", + "code":"36" + }, + { + "desc":"This API is used to query the API versions.URI formatGET /GET /Parameter descriptionNoneNoneNoneThe following describes how to query the version information.Example reque", + "product_code":"kms", + "title":"Querying All API Versions", + "uri":"kms_02_0048.html", + "doc_type":"api", + "p_code":"2", + "code":"37" + }, + { + "desc":"This API is used to query the version of an API.URI formatGET /{version_id}GET /{version_id}Parameter descriptionParameter descriptionParameterMandatoryTypeDescriptionver", + "product_code":"kms", + "title":"Querying a Specified API Version", + "uri":"kms_02_0049.html", + "doc_type":"api", + "p_code":"2", + "code":"38" + }, + { + "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":"kms", + "title":"Permissions Policies and Supported Actions", + "uri":"dew_02_0307.html", + "doc_type":"api", + "p_code":"", + "code":"39" + }, + { + "desc":"This chapter describes fine-grained permissions management for your KMS. If your account does not need individual IAM users, then you may skip over this chapter.By defaul", + "product_code":"kms", + "title":"Introduction", + "uri":"dew_02_0308.html", + "doc_type":"api", + "p_code":"39", + "code":"40" + }, + { + "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":"kms", + "title":"Encryption Key Management", + "uri":"dew_02_0309.html", + "doc_type":"api", + "p_code":"39", + "code":"41" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"kms", + "title":"Appendix", + "uri":"kms_02_0300.html", + "doc_type":"api", + "p_code":"", + "code":"42" + }, + { + "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":"kms", + "title":"Status Codes", + "uri":"kms_02_0301.html", + "doc_type":"api", + "p_code":"42", + "code":"43" + }, + { + "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":"kms", + "title":"Error Code", + "uri":"kms_02_8888.html", + "doc_type":"api", + "p_code":"42", + "code":"44" + }, + { + "desc":"A project ID is required for some URLs when an API is called. To obtain a project ID, perform the following operations:Log in to the management console.Click the username", + "product_code":"kms", + "title":"Obtaining a Project ID", + "uri":"kms_02_0009.html", + "doc_type":"api", + "p_code":"42", + "code":"45" + }, + { + "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":"kms", + "title":"API Permissions", + "uri":"kms_02_0305.html", + "doc_type":"api", + "p_code":"42", + "code":"46" + }, + { + "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":"kms", + "title":"Encryption Key Management", + "uri":"kms_02_0306.html", + "doc_type":"api", + "p_code":"46", + "code":"47" + }, + { + "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":"kms", + "title":"Change History", + "uri":"kms_02_0304.html", + "doc_type":"api", + "p_code":"", + "code":"48" + } +] \ No newline at end of file diff --git a/docs/kms/api-ref/PARAMETERS.txt b/docs/kms/api-ref/PARAMETERS.txt new file mode 100644 index 000000000..6da8d5f07 --- /dev/null +++ b/docs/kms/api-ref/PARAMETERS.txt @@ -0,0 +1,3 @@ +version="" +language="en-us" +type="" \ No newline at end of file diff --git a/docs/kms/api-ref/dew_02_0307.html b/docs/kms/api-ref/dew_02_0307.html new file mode 100644 index 000000000..94f0572b0 --- /dev/null +++ b/docs/kms/api-ref/dew_02_0307.html @@ -0,0 +1,13 @@ + + +

Permissions Policies and Supported Actions

+
+
+ +
+ diff --git a/docs/kms/api-ref/dew_02_0308.html b/docs/kms/api-ref/dew_02_0308.html new file mode 100644 index 000000000..b22a2ebf6 --- /dev/null +++ b/docs/kms/api-ref/dew_02_0308.html @@ -0,0 +1,23 @@ + + +

Introduction

+

This chapter describes fine-grained permissions management for your KMS. If your account does not need individual IAM users, then you may skip over this chapter.

+

By default, new IAM users do not have permissions assigned. You need to add a user to one or more groups, and attach permissions policies or roles to these groups. Users inherit permissions from the groups to which they are added and can perform specified operations on cloud services based on the permissions.

+

You can grant users permissions by using roles and policies. Roles are a type of coarse-grained authorization mechanism that defines permissions related to user responsibilities. Policies define API-based permissions for operations on specific resources under certain conditions, allowing for more fine-grained, secure access control of cloud resources.

+

Policy-based authorization is useful if you want to allow or deny the access to an API.

+
+

An account has all of the permissions required to call all APIs, but IAM users must have the required permissions specifically assigned. The permissions required for calling an API are determined by the actions supported by the API. Only users who have been granted permissions allowing the actions can call the API successfully.

+

Supported Actions

You can use system-defined policies provided in IAM, or create custom policies to supplement the system-defined policies, implementing refined access control. Operations supported by policies are specific to APIs. The following are common concepts related to policies:

+ +

KMS supports the following actions that can be defined in custom policies:

+

Manage keys, such as creating keys and querying keys.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/dew_02_0309.html b/docs/kms/api-ref/dew_02_0309.html new file mode 100644 index 000000000..c552d9392 --- /dev/null +++ b/docs/kms/api-ref/dew_02_0309.html @@ -0,0 +1,499 @@ + + +

Encryption Key Management

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

Permission

+

API

+

Action

+

Dependent Permission

+

+

IAM Project

+

(Project)

+

Enterprise Project

+

(Enterprise Project)

+

Creating a CMK

+

POST /v1.0/{project_id}/kms/create-key

+

kms:cmk:create

+

-

+

+

+

Enabling a CMK

+

POST /v1.0/{project_id}/kms/enable-key

+

kms:cmk:enable

+

-

+

+

+

Disabling a CMK

+

POST /v1.0/{project_id}/kms/disable-key

+

kms:cmk:disable

+

-

+

+

+

Scheduling the deletion of a CMK

+

POST /v1.0/{project_id}/kms/schedule-key-deletion

+

kms:cmk:update

+

-

+

+

+

Canceling the scheduled deletion of a CMK

+

POST /v1.0/{project_id}/kms/cancel-key-deletion

+

kms:cmk:update

+

-

+

+

+

Querying the list of CMKs

+

POST /v1.0/{project_id}/kms/list-keys

+

kms:cmk:list

+

-

+

+

+

Queries the CMK information.

+

POST /v1.0/{project_id}/kms/describe-key

+

kms:cmk:get

+

-

+

+

+

Generating a random number

+

POST /v1.0/{project_id}/kms/gen-random

+

kms:cmk:generate

+

-

+

+

+

Creating a DEK

+

POST /v1.0/{project_id}/kms/create-datakey

+

kms:dek:create

+

-

+

+

+

Creating a plaintext-free DEK

+

POST /v1.0/{project_id}/kms/create-datakey-without-plaintext

+

kms:dek:create

+

-

+

+

+

Encrypting a DEK

+

POST /v1.0/{project_id}/kms/encrypt-datakey

+

kms:dek:crypto

+

-

+

+

+

Decrypting a DEK

+

POST /v1.0/{project_id}/kms/decrypt-datakey

+

kms:dek:crypto

+

-

+

+

+

Querying the number of instances

+

GET /v1.0/{project_id}/kms/user-instances

+

kms:cmk:getInstance

+

-

+

+

+

Querying the user quota

+

GET /v1.0/{project_id}/kms/user-quotas

+

kms:cmk:getQuota

+

-

+

+

+

Modifying the CMK alias

+

POST /v1.0/{project_id}/kms/update-key-alias

+

kms:cmk:update

+

-

+

+

+

Modifying the description of a CMK

+

POST /v1.0/{project_id}/kms/update-key-description

+

kms:cmk:update

+

-

+

+

+

Creating a grant

+

POST /v1.0/{project_id}/kms/create-grant

+

kms:grant:create

+

-

+

+

+

Revoking a grant

+

POST /v1.0/{project_id}/kms/revoke-grant

+

kms:grant:revoke

+

-

+

+

+

Retiring a grant

+

POST /v1.0/{project_id}/kms/retire-grant

+

kms:grant:retire

+

-

+

+

+

Querying the grant list of a CMK

+

POST /v1.0/{project_id}/kms/list-grants

+

kms:grant:list

+

-

+

+

+

Querying the list of grants that can be retired

+

POST /v1.0/{project_id}/kms/list-retirable-grants

+

kms:grant:list

+

-

+

+

+

Encrypting data

+

POST /v1.0/{project_id}/kms/encrypt-data

+

kms:cmk:crypto

+

-

+

+

+

Decrypting data

+

POST /v1.0/{project_id}/kms/decrypt-data

+

kms:cmk:crypto

+

-

+

+

+

Obtaining parameters for importing a key

+

POST /v1.0/{project_id}/kms/get-parameters-for-import

+

kms:cmk:getMaterial

+

-

+

+

+

Importing key material

+

POST /v1.0/{project_id}/kms/import-key-material

+

kms:cmk:importMaterial

+

-

+

+

+

Deleting key material

+

POST /v1.0/{project_id}/kms/delete-imported-key-material

+

kms:cmk:deleteMaterial

+

-

+

+

+

Enabling key rotation

+

POST /v1.0/{project_id}/kms/enable-key-rotation

+

kms:cmk:enableRotation

+

-

+

+

+

Modifying the rotation interval

+

POST /v1.0/{project_id}/kms/update-key-rotation-interval

+

kms:cmk:updateRotation

+

-

+

+

+

Disabling key rotation

+

POST /v1.0/{project_id}/kms/disable-key-rotation

+

kms:cmk:disableRotation

+

-

+

+

+

Querying the key rotation status

+

POST /v1.0/{project_id}/kms/get-key-rotation-status

+

kms:cmk:getRotation

+

-

+

+

+

Querying key resource instances

+

POST /v1.0/{project_id}/kms/resource_instances/action

+

kms:cmkTag:listInstance

+

-

+

+

+

Querying tags of a key

+

GET /v1.0/{project_id}/kms/{key_id}/tags

+

kms:cmkTag:list

+

-

+

+

+

Querying the project tags

+

GET /v1.0/{project_id}/kms/tags

+

kms:cmkTag:list

+

-

+

+

+

Adding or deleting key tags in batches

+

POST /v1.0/{project_id}/kms/{key_id}/tags/action

+

kms:cmkTag:batch

+

-

+

+

+

Adding tags to a key

+

POST /v1.0/{project_id}/kms/{key_id}/tags

+

kms:cmkTag:create

+

-

+

+

+

Deleting tags of a key

+

POST /v1.0/{project_id}/kms/{ key_id }/tags/{key}

+

kms:cmkTag:delete

+

-

+

+

+
+
+
+
+ +
+ diff --git a/docs/kms/api-ref/en-us_image_0218728478.jpg b/docs/kms/api-ref/en-us_image_0218728478.jpg new file mode 100644 index 000000000..b0e263d9b Binary files /dev/null and b/docs/kms/api-ref/en-us_image_0218728478.jpg differ diff --git a/docs/kms/api-ref/en-us_topic_00384375969.html b/docs/kms/api-ref/en-us_topic_00384375969.html new file mode 100644 index 000000000..3e778c8fb --- /dev/null +++ b/docs/kms/api-ref/en-us_topic_00384375969.html @@ -0,0 +1,8 @@ + + +

API Usage Guidelines

+

Public cloud APIs comply with the RESTful API design principles. REST-based Web services are organized into resources. Each resource is identified by one or more Uniform Resource Identifiers (URIs). An application accesses a resource based on the resource's Unified Resource Locator (URL). A URL is usually in the following format: https://Endpoint/uri. In the URL, uri indicates the resource path, that is, the API access path.

+

Public cloud APIs use HTTPS as the transmission protocol. Requests/Responses are transmitted by using JSON messages, with media type represented by Application/json.

+

For details about how to use APIs, see API Usage Guidelines.

+
+ diff --git a/docs/kms/api-ref/kms_02_0009.html b/docs/kms/api-ref/kms_02_0009.html new file mode 100644 index 000000000..4afb31c95 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0009.html @@ -0,0 +1,22 @@ + + +

Obtaining a Project ID

+

Obtaining a Project ID from the Console

A project ID is required for some URLs when an API is called. To obtain a project ID, perform the following operations:

+
  1. Log in to the management console.
  2. Click the username and choose My Credential from the drop-down list.

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

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

APIs

+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0012.html b/docs/kms/api-ref/kms_02_0012.html new file mode 100644 index 000000000..292c38a27 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0012.html @@ -0,0 +1,190 @@ + + +

Creating a CMK

+

Function

This API is used to create customer master keys (CMKs) used to encrypt data encryption keys (DEKs).

+

Default Master Keys are created by services integrated with KMS. Names of Default Master Keys end with /default. Therefore, in naming your CMKs, do not choose those ending with /default.

+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_alias

+

Yes

+

String

+

Alias of a non-default master key (The alias's length ranges from 1 to 255 characters and matches the regular expression ^[a-zA-Z0-9:/_-]{1,255}$. In addition, it must be different from the alias of a Default Master Key created by the system.)

+

key_description

+

No

+

String

+

CMK description (The value ranges from 0 to 255 characters.)

+

origin

+

No

+

String

+
Origin of a CMK. The default value is kms. The following values are enumerated:
  • kms indicates that the CMK material is generated by KMS.
  • external indicates that the CMK material is imported.
+
+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

key_info

+

Yes

+

Array of objects

+

Information about keys. For details, see Table 4.

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 4 key_info field description

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

CMK ID

+

domain_id

+

Yes

+

String

+

User domain ID

+
+
+
+

Examples

The following example describes how to create a CMK with an alias of test.

+ +
+

Status Codes

Table 5 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 5 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0013.html b/docs/kms/api-ref/kms_02_0013.html new file mode 100644 index 000000000..612b17968 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0013.html @@ -0,0 +1,174 @@ + + +

Enabling a CMK

+

Function

This API allows you to enable a CMK. Only an enabled CMK can be used.

+

Only a disabled CMK can be enabled.

+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

key_info

+

Yes

+

Array of objects

+

Information about keys. For details, see Table 4.

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 4 key_info field description

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

CMK ID

+

key_state

+

Yes

+

String

+

CMK status:

+
  • 2 indicates that the CMK is enabled.
  • 3 indicates that the CMK is disabled.
  • 4 indicates that the CMK is scheduled for deletion.
+
+
+
+

Examples

The following example describes how to enable a CMK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f.

+ + +
+

Status Codes

Table 5 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 5 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0014.html b/docs/kms/api-ref/kms_02_0014.html new file mode 100644 index 000000000..c82b42060 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0014.html @@ -0,0 +1,173 @@ + + +

Disabling a CMK

+

Function

This API allows you to disable a CMK. A disabled CMK cannot be used.

+

Only an enabled CMK can be disabled.

+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

key_info

+

Yes

+

Array of objects

+

Information about keys. For details, see Table 4.

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 4 key_info field description

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

CMK ID

+

key_state

+

Yes

+

String

+

CMK status:

+
  • 2 indicates that the CMK is enabled.
  • 3 indicates that the CMK is disabled.
  • 4 indicates that the CMK is scheduled for deletion.
+
+
+
+

Examples

The following example describes how to disable a CMK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f.

+ +
+

Status Codes

Table 5 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 5 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0015.html b/docs/kms/api-ref/kms_02_0015.html new file mode 100644 index 000000000..e7fd6dd56 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0015.html @@ -0,0 +1,156 @@ + + +

Scheduling the Deletion of a CMK

+

Function

This API enables you to schedule the deletion of a CMK. A CMK can be scheduled to be deleted after 7 to 1096 days.

+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

pending_days

+

Yes

+

String

+

Number of days after which a CMK is scheduled to be deleted (The value ranges from 7 to 1096.)

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

CMK ID

+

key_state

+

Yes

+

String

+

CMK status:

+
  • 2 indicates that the CMK is enabled.
  • 3 indicates that the CMK is disabled.
  • 4 indicates that the CMK is scheduled for deletion.
+
+
+
+

Examples

The following example describes how to schedule deletion of a CMK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f.

+ +
+

Status Codes

Table 4 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 4 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0016.html b/docs/kms/api-ref/kms_02_0016.html new file mode 100644 index 000000000..fbdf65b0f --- /dev/null +++ b/docs/kms/api-ref/kms_02_0016.html @@ -0,0 +1,149 @@ + + +

Canceling the Scheduled Deletion of a CMK

+

Function

This API enables you to cancel the scheduled deletion of a CMK.

+

You can cancel the scheduled deletion for a CMK only when the CMK's status is Scheduled deletion.

+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

CMK ID

+

key_state

+

Yes

+

String

+

CMK status:

+
  • 2 indicates that the CMK is enabled.
  • 3 indicates that the CMK is disabled.
  • 4 indicates that the CMK is scheduled for deletion.
+
+
+
+

Examples

The following example describes how to cancel the scheduled deletion of a CMK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f.

+ + +
+

Status Codes

Table 4 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 4 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0017.html b/docs/kms/api-ref/kms_02_0017.html new file mode 100644 index 000000000..f7a564c5c --- /dev/null +++ b/docs/kms/api-ref/kms_02_0017.html @@ -0,0 +1,227 @@ + + +

Querying the List of CMKs

+

Function

This API allows you to query the list of all CMKs.

+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

limit

+

No

+

String

+

This parameter specifies the number of entries returned. If the specified number is smaller than the actual number of existing entries, true will be returned for the response parameter truncated, indicating that the query results will be displayed in separate pages. The value is within the range of the maximum number of CMKs, for example, 100.

+

marker

+

No

+

String

+

This parameter marks the starting location in a pagination query. If the truncated value is true, you can send consecutive requests to obtain more record entries. The marker value must be set to the next_marker value in the response, for example, 10.

+

key_state

+

No

+

String

+
State of a CMK that matches the regular expression ^[1-5]{1}$. The following values are enumerated:
  • 1 indicates that the CMK is waiting to be activated.
  • 2 indicates that the CMK is enabled.
  • 3 indicates that the CMK is disabled.
  • 4 indicates that the CMK is scheduled for deletion.
  • 5 indicates that the CMK is waiting to be imported.
+
+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

keys

+

Yes

+

Array of strings

+

List of CMK IDs

+

key_details

+

Yes

+

Array of objects

+

Key details list. For details, see Table 4.

+

next_marker

+

Yes

+

String

+

This parameter indicates the marker value required for obtaining the next page of query results. If the truncated value is false, the next_marker parameter is left blank.

+

total

+

Yes

+

Integer

+

Total number of keys.

+

truncated

+

Yes

+

String

+
This parameter indicates whether there are more results displayed in another page.
  • If the value is true, there are more results.
  • If the value is false, the current page is the last page.
+
+
+
+
+

Examples

The following shows an example when limit is set to 2 and marker is set to 1.

+ +
+

Status Codes

Table 4 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 4 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0018.html b/docs/kms/api-ref/kms_02_0018.html new file mode 100644 index 000000000..4ca732da0 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0018.html @@ -0,0 +1,275 @@ + + +

Querying the Information About a CMK

+

Function

This API allows you to query the details about a CMK.

+

By default, the performance threshold for querying CMK details is 1000 TPS per customer. To apply for higher performance, submit a service ticket.

+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

key_info

+

Yes

+

Array of objects

+

Information about keys. For details, see Table 4.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 key_info field description

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

CMK ID

+

domain_id

+

Yes

+

String

+

User domain ID

+

key_alias

+

Yes

+

String

+

Alias of a CMK

+

realm

+

Yes

+

String

+

Region where a CMK resides

+

key_description

+

Yes

+

String

+

Description of a CMK

+

creation_date

+

Yes

+

String

+

Time when a key is created. The value is a timestamp expressed in the number of seconds since 00:00:00 UTC on January 1, 1970.

+

scheduled_deletion_date

+

Yes

+

String

+

Time when a key will be deleted as scheduled. The value is a timestamp expressed in the number of seconds since 00:00:00 UTC on January 1, 1970.

+

key_state

+

Yes

+

String

+
State of a CMK:
  • 1 indicates that the CMK is waiting to be activated.
  • 2 indicates that the CMK is enabled.
  • 3 indicates that the CMK is disabled.
  • 4 indicates that the CMK is scheduled for deletion.
  • 5 indicates that the CMK is waiting to be imported.
+
+

default_key_flag

+

Yes

+

String

+

Identification of a Master Key. The value 1 indicates a Default Master Key, and the value 0 indicates a CMK.

+

key_type

+

Yes

+

String

+

Type of a CMK

+

expiration_time

+

Yes

+

String

+

Expiration time of the key material. It is expressed in the form of a time stamp, the total number of seconds since January 1, 1970.

+

origin

+

Yes

+

String

+

Origin of a CMK. The default value is kms. The following values are enumerated:

+
  • kms indicates that the CMK material is generated by KMS.
  • external indicates that the CMK material is imported.
+
+
+
+

Examples

The following example describes how to query the information of a CMK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f.

+ +
+

Status Codes

Table 5 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 5 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0019.html b/docs/kms/api-ref/kms_02_0019.html new file mode 100644 index 000000000..69ba02fe1 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0019.html @@ -0,0 +1,134 @@ + + +

Creating a Random Number

+

Function

This API generates a 512-bit random number.

+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

random_data_length

+

Yes

+

String

+

Number of bits of a random number. The value is 512.

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

random_data

+

Yes

+

String

+

Random numbers are expressed in hexadecimal format. Two characters indicate one byte. Length of a random number must be consistent with the random_data_length value entered by a user.

+
+
+
+

Examples

The following example describes how to create a random number with the length of 512 bits.

+ +
+

Status Codes

Table 4 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 4 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0020.html b/docs/kms/api-ref/kms_02_0020.html new file mode 100644 index 000000000..8e0a67708 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0020.html @@ -0,0 +1,177 @@ + + +

Creating a DEK

+

Function

This API allows you to create a DEK. A returned result includes the plaintext and the ciphertext of a DEK.

+

By default, the performance threshold for creating DEKs is 1000 TPS per customer. To apply for higher performance, submit a service ticket.

+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

encryption_context

+

No

+

Object

+

Key-value pairs with a maximum length of 8192 characters. This parameter is used to record resource context information, excluding sensitive information, to ensure data integrity.

+

If this parameter is specified during encryption, it is also required for decryption.

+

Example: {"Key1":"Value1","Key2":"Value2"}

+

datakey_length

+

Yes

+

String

+

Number of bits of a key. The value is 512.

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

CMK ID

+

plain_text

+

Yes

+

String

+

The plaintext of a DEK is expressed in hexadecimal format, and two characters indicate one byte.

+

cipher_text

+

Yes

+

String

+

The ciphertext of a DEK is expressed in hexadecimal format, and two characters indicate one byte.

+
+
+
+

Examples

The following example describes how to create a DEK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f and length is 512 bits.

+ +
+

Status Codes

Table 4 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 4 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0021.html b/docs/kms/api-ref/kms_02_0021.html new file mode 100644 index 000000000..6b273e55f --- /dev/null +++ b/docs/kms/api-ref/kms_02_0021.html @@ -0,0 +1,168 @@ + + +

Creating a Plaintext-Free DEK

+

Function

This API allows you to create a plaintext-free DEK, that is, the returned result of this API includes only the ciphertext of the DEK.

+

By default, the performance threshold for creating plaintext-free DEKs is 1000 TPS per customer. To apply for higher performance, submit a service ticket.

+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

encryption_context

+

No

+

Object

+

Key-value pairs with a maximum length of 8192 characters. This parameter is used to record resource context information, excluding sensitive information, to ensure data integrity.

+

If this parameter is specified during encryption, it is also required for decryption.

+

Example: {"Key1":"Value1","Key2":"Value2"}

+

datakey_length

+

Yes

+

String

+

Number of bits of a key. The value is 512.

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

CMK ID

+

cipher_text

+

Yes

+

String

+

The ciphertext of a DEK is expressed in hexadecimal format, and two characters indicate one byte.

+
+
+
+

Examples

The following example describes how to create a plaintext free DEK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f.

+ +
+

Status Codes

Table 4 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 4 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0022.html b/docs/kms/api-ref/kms_02_0022.html new file mode 100644 index 000000000..1b134023c --- /dev/null +++ b/docs/kms/api-ref/kms_02_0022.html @@ -0,0 +1,207 @@ + + +

Encrypting a DEK

+

Function

This API enables you to encrypt a DEK using a specified CMK.

+

By default, the performance threshold for encrypting DEKs is 1000 TPS per customer. To apply for higher performance, submit a service ticket.

+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

encryption_context

+

No

+

Object

+

Key-value pairs with a maximum length of 8192 characters. This parameter is used to record resource context information, excluding sensitive information, to ensure data integrity.

+

If this parameter is specified during encryption, it is also required for decryption.

+

Example: {"Key1":"Value1","Key2":"Value2"}

+

plain_text

+

Yes

+

String

+

Hexadecimal character string concatenated from plaintext of a DEK and the plaintext digest (32-byte character string generated using SHA256)

+

For details, see Examples.

+

datakey_plain_length

+

Yes

+

String

+

Number of bytes of a DEK in plaintext. The value is 64.

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

CMK ID

+

cipher_text

+

Yes

+

String

+

The ciphertext of a DEK is expressed in hexadecimal format, and two characters indicate one byte.

+

datakey_length

+

Yes

+

String

+

Number of bytes in the length of a DEK

+
+
+
+

Examples

In the following example, the 512-bit plaintext DEK (7549d9aea901767bf3c0b3e14b10722eaf6f59053bbd82045d04e075e809a0fe6ccab48f8e5efe74e4b18ff0512525e527b10331100f357bf42125d8d5ced94f) generated from the customer master key whose key ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f can be obtained through the API in Creating a DEK.

+

The digest of the plaintext DEK is fbc8ac72b0785ca7fe33eb6776ce3990b11e32b299d9c0a9ee0305fb9540f797. The method for calculating the digest is as follows:

+
//Digest calculation
+public static byte[] sha256(byte[] cmkData) { 
+    byte[] digest = new byte[0];  
+   try {  
+       MessageDigest md = MessageDigest.getInstance("SHA-256");
+         md.update(cmkData); 
+        digest = md.digest();
+     } catch (Exception e) { 
+        System.out.println("calculate digest failure, exception is " + e.toString()); 
+    } 
+     return digest; 
+}
+//Convert the obtained digest into a hexadecimal character string.
+public static String bytesToHexString(byte[] digest) {
+        ...
+}
+
+

The value of plain_text (a hexadecimal character string concatenated from plaintext of the DEK and the plaintext digest) is 7549d9aea901767bf3c0b3e14b10722eaf6f59053bbd82045d04e075e809a0fe6ccab48f8e5efe74e4b18ff0512525e527b10331100f357bf42125d8d5ced94f fbc8ac72b0785ca7fe33eb6776ce3990b11e32b299d9c0a9ee0305fb9540f797.

+ +

Status Codes

Table 4 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 4 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0023.html b/docs/kms/api-ref/kms_02_0023.html new file mode 100644 index 000000000..d6b67f492 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0023.html @@ -0,0 +1,190 @@ + + +

Decrypting a DEK

+

Function

This API enables you to decrypt a DEK using a specified CMK.

+

Data encryption results are used for decryption.

+

By default, the performance threshold for decrypting DEKs is 1000 TPS per customer. To apply for higher performance, submit a service ticket.

+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

encryption_context

+

No

+

Object

+

Key-value pairs with a maximum length of 8192 characters. This parameter is used to record resource context information, excluding sensitive information, to ensure data integrity.

+

If this parameter is specified during encryption, it is also required for decryption.

+

Example: {"Key1":"Value1","Key2":"Value2"}

+

cipher_text

+

Yes

+

String

+

This parameter indicates the hexadecimal character string of the DEK ciphertext and the metadata. The value is the cipher_text value in the encryption result of a DEK.

+

datakey_cipher_length

+

Yes

+

String

+

Number of bytes of a key. The value is 64.

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

data_key

+

Yes

+

String

+

Hexadecimal character string of the plaintext of a DEK

+

datakey_length

+

Yes

+

String

+

Number of bytes in the length of the plaintext of a DEK

+

datakey_dgst

+

Yes

+

String

+

Hexadecimal character string corresponding to the SHA-256 hash value of the plaintext of a DEK

+
+
+
+

Examples

The following is an example about how to use a CMK (ID: 0d0466b0-e727-4d9c-b35d-f84bb474a37f) to decrypt a DEK (ciphertext: 020098005273E14E6E8E95F5463BECDC27E80AF820B9FC086CB47861899149F67CF07DAFF2810B7D27BDF19AB7632488E0926A48DB2FC85BEA905119411B46244C5E6B8036C60A0B0B4842FFE6994518E89C19B1C1D688D9043BCD6053EA7BA0652642CE59F2543C80669139F4F71ABB9BD9A24330643034363662302D653732372D346439632D623335642D66383462623437346133376600000000D34457984F9730D57F228C210FD22CA6017913964B21D4ECE45D81092BB9112E; length: 64 bits).

+ + +
+

Status Codes

Table 4 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 4 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0024.html b/docs/kms/api-ref/kms_02_0024.html new file mode 100644 index 000000000..4b7f6a454 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0024.html @@ -0,0 +1,101 @@ + + +

Querying the Number of Instances

+

Function

This API is used to query the number of instances, that is, the number of CMKs created.

+

Default Master Keys are automatically created by services and are not included in this query.

+
+
+

URI

+
+

Requests

None

+
+

Responses

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

Parameter

+

Mandatory

+

Type

+

Description

+

instance_num

+

Yes

+

Integer

+

Number of non-default CMKs

+
+
+
+

Examples

+
+

Status Codes

Table 3 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 3 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0025.html b/docs/kms/api-ref/kms_02_0025.html new file mode 100644 index 000000000..7abab325d --- /dev/null +++ b/docs/kms/api-ref/kms_02_0025.html @@ -0,0 +1,181 @@ + + +

Querying the Quota of a User

+

Function

This API is used to query the quota of a user, that is, the allocated total number of CMKs that can be created by a user and the number of CMKs that has been created by the user.

+

The quota does not include Default Master Keys.

+
+
+

URI

+
+

Requests

None

+
+

Responses

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

Parameter

+

Mandatory

+

Type

+

Description

+

quotas

+

Yes

+

Object

+

Quota list. For details, see Table 3.

+
+
+ +
+ + + + + + + + + + + +
Table 3 quotas field description

Parameter

+

Mandatory

+

Type

+

Description

+

resources

+

Yes

+

Array of objects

+

Resource quota list. For details, see Table 4.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 4 resources field description

Parameter

+

Mandatory

+

Type

+

Description

+

type

+

Yes

+

String

+

Quota type.

+

Enumerated values:

+
  • CMK indicates a Customer Master Key.
  • grant_per_CMK indicates the number of grants that can be created on a CMK.
+

used

+

Yes

+

Integer

+

Used quota

+

quota

+

Yes

+

Integer

+

Total quota

+
+
+
+

Examples

+
+

Status Codes

Table 5 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 5 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0026.html b/docs/kms/api-ref/kms_02_0026.html new file mode 100644 index 000000000..c02624dd1 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0026.html @@ -0,0 +1,182 @@ + + +

Changing the Alias of a CMK

+

Function

This API enables you to change the alias of a CMK.

+
  • A Default Master Key (the alias suffix of which is /default) does not allow alias changes.
  • A CMK in Scheduled deletion status does not allow alias changes.
+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

key_alias

+

Yes

+

String

+

Alias of a CMK whose length is 1 to 255 characters and which matches the regular expression ^[a-zA-Z0-9:/_-]{1,255}$. Suffix of the alias cannot be /default.

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

key_info

+

Yes

+

Array of objects

+

Information about keys. For details, see Table 4.

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 4 key_info field description

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

CMK ID

+

key_alias

+

Yes

+

String

+

Alias of a CMK

+
+
+
+

Examples

The following is an example about how to modify a CMK whose alias ID is bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e and alias is test.

+ +
+

Status Codes

Table 5 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 5 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0027.html b/docs/kms/api-ref/kms_02_0027.html new file mode 100644 index 000000000..81e8680cb --- /dev/null +++ b/docs/kms/api-ref/kms_02_0027.html @@ -0,0 +1,182 @@ + + +

Changing the Description of a CMK

+

Function

This API enables you to change the description of a CMK.

+
  • A Default Master Key (the alias suffix of which is /default) does not allow alias changes.
  • A CMK in Scheduled deletion status does not allow description changes.
+
+
+

URI

+
+

Requests

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

Parameter

+

Type

+

Mandatory

+

Description

+

key_id

+

String

+

Yes

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

key_description

+

String

+

Yes

+

CMK description (The value ranges from 0 to 255 characters.)

+

sequence

+

String

+

No

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

key_info

+

Yes

+

Array of objects

+

Information about keys. For details, see Table 4.

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 4 key_info field description

Parameter

+

Type

+

Mandatory

+

Description

+

key_id

+

String

+

Yes

+

CMK ID

+

key_description

+

String

+

Yes

+

Description of a CMK

+
+
+
+

Examples

The following is an example about how to modify a CMK whose alias ID is bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e and description is test.

+ +
+

Status Codes

Table 5 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 5 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0028.html b/docs/kms/api-ref/kms_02_0028.html new file mode 100644 index 000000000..9e1f94f4e --- /dev/null +++ b/docs/kms/api-ref/kms_02_0028.html @@ -0,0 +1,185 @@ + + +

Creating a Grant

+

Function

This API enables you to create a grant to grant permissions on a CMK to a user so that the user can perform operations on the CMK.

+

A Default Master Key (the alias suffix of which is /default) does not allow permission granting.

+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

grantee_principal

+

Yes

+

String

+

Indicates the ID of the authorized user. The value is between 1 to 64 bytes and meets the regular expression "^[a-zA-Z0-9]{1,64}$".

+

Example: 0d0466b00d0466b00d0466b00d0466b0

+

operations

+

Yes

+

Array of strings

+

Permissions that can be granted

+

Values: create-datakey, create-datakey-without-plaintext, encrypt-datakey, decrypt-datakey, describe-key, create-grant, retire-grant

+

create-grant cannot be the only value.

+

name

+

No

+

String

+

Name of a grant which can be 1 to 255 characters in length and matches the regular expression ^[a-zA-Z0-9:/_-]{1,255}$

+

retiring_principal

+

No

+

String

+

Indicates the ID of the retiring user. The value is between 1 to 64 bytes and meets the regular expression "^[a-zA-Z0-9]{1,64}$".

+

Example: 0d0466b00d0466b00d0466b00d0466b0

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

grant_id

+

Yes

+

String

+

64-byte ID of a grant

+
+
+
+

Examples

The following example shows how to grant the describe-key, create-datakey, and encrypt-datakey permissions of CMK (ID: bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e) to the user whose ID is 13gg44z4g2sglzk0egw0u726zoyzvrs8. The authorization name is my_grant, and the user (ID: 13gg44z4g2sglzk0egw0u726zoyzvrs8) can retire a grant.

+ +
+

Status Codes

Table 4 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 4 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0029.html b/docs/kms/api-ref/kms_02_0029.html new file mode 100644 index 000000000..aa22324f5 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0029.html @@ -0,0 +1,125 @@ + + +

Revoking a Grant

+

Function

This API allows you to revoke a grant.

+

Only the user who created the CMK can revoke a grant.

+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

grant_id

+

Yes

+

String

+

64-byte ID of a grant that meets the regular expression ^[A-Fa-f0-9]{64}$

+

Example: 7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

None

+
+

Examples

The following example describes how to revoke a grant whose grant ID is 7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d and the CMK ID is bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e.

+ +
+

Status Codes

Table 3 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 3 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0030.html b/docs/kms/api-ref/kms_02_0030.html new file mode 100644 index 000000000..b2be476fc --- /dev/null +++ b/docs/kms/api-ref/kms_02_0030.html @@ -0,0 +1,127 @@ + + +

Retiring a Grant

+

Function

This API enables users to retire a grant.

+

For example, user A grants operation permissions on CMK A/key to user B and authorizes user C to retire the grant. By doing this, users A, B, and C all can cancel the permissions. After the canceling, user B does not have permissions on CMK A/key anymore.

+

The following are allowed to call this API:

+
  • The user who granted the permissions
  • The user indicated by parameter retiring_principal
  • The user indicated by parameter grantee_principal when retire-grant has been selected
+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

grant_id

+

Yes

+

String

+

64-byte ID of a grant that meets the regular expression ^[A-Fa-f0-9]{64}$

+

Example: 7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

None

+
+

Examples

The following example describes how to retire a grant whose grant ID is 7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d and the CMK ID is bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e.

+ +
+

Status Codes

Table 3 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 3 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0031.html b/docs/kms/api-ref/kms_02_0031.html new file mode 100644 index 000000000..9c716de7c --- /dev/null +++ b/docs/kms/api-ref/kms_02_0031.html @@ -0,0 +1,292 @@ + + +

Querying Grants on a CMK

+

Function

This API enables you to query grants on a CMK.

+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

limit

+

No

+

String

+

This parameter specifies the number of entries returned. If the specified number is smaller than the actual number of existing entries, true will be returned for the response parameter truncated, indicating that the query results will be displayed in separate pages.

+

The value is within the range of the maximum number of grants, for example, 100.

+

marker

+

No

+

String

+

This parameter marks the starting location in a pagination query.

+

If the truncated value is true, you can send consecutive requests to obtain more record entries. The marker value must be set to the next_marker value in the response, for example, 10.

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

grants

+

Yes

+

Array of objects

+

Grant list. For details, see Table 4.

+

next_marker

+

Yes

+

String

+

This parameter indicates the marker value required for obtaining the next page of query results.

+

If the truncated value is false, the next_marker parameter is left blank.

+

truncated

+

Yes

+

String

+
This parameter indicates whether there are more results displayed in another page.
  • If the value is true, there are more results.
  • If the value is false, the current page is the last page.
+
+

total

+

Yes

+

Integer

+

This parameter indicates the total number of grants.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 grants field description

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

grant_id

+

Yes

+

String

+

64-byte ID of a grant that meets the regular expression ^[A-Fa-f0-9]{64}$

+

Example: 7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d

+

grantee_principal

+

Yes

+

String

+

Indicates the ID of the authorized user. The value is between 1 to 64 bytes and meets the regular expression "^[a-zA-Z0-9]{1,64}$".

+

Example: 0d0466b00d0466b00d0466b00d0466b0

+

operations

+

Yes

+

Array of strings

+

Permissions that can be granted. Values: create-datakey, create-datakey-without-plaintext, encrypt-datakey, decrypt-datakey, describe-key, create-grant, retire-grant

+

create-grant cannot be the only value.

+

issuing_principal

+

Yes

+

String

+

Indicates the ID of the user who created the grant. The value is between 1 to 64 bytes and meets the regular expression "^[a-zA-Z0-9]{1,64}$".

+

Example: 0d0466b00d0466b00d0466b00d0466b0

+

creation_date

+

Yes

+

String

+

Creation time. The value is a timestamp expressed in the number of seconds since 00:00:00 UTC on January 1, 1970.

+

Example: 1497341531000

+

name

+

No

+

String

+

Name of a grant which can be 1 to 255 characters in length and matches the regular expression ^[a-zA-Z0-9:/_-]{1,255}$

+

retiring_principal

+

No

+

String

+

Indicates the ID of the retiring user. The value is between 1 to 64 bytes and meets the regular expression "^[a-zA-Z0-9]{1,64}$".

+

Example: 0d0466b00d0466b00d0466b00d0466b0

+
+
+
+

Examples

The following example describes how to query the grant list of a CMK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f.

+ +
+

Status Codes

Table 5 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 5 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0032.html b/docs/kms/api-ref/kms_02_0032.html new file mode 100644 index 000000000..d47aad4d9 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0032.html @@ -0,0 +1,188 @@ + + +

Querying Grants That Can Be Retired

+

Function

This API enables you to query grants that can be retired.

+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

limit

+

No

+

String

+

This parameter specifies the number of entries returned. If the specified number is smaller than the actual number of existing entries, true will be returned for the response parameter truncated, indicating that the query results will be displayed in separate pages.

+

The value is within the range of the maximum number of grants, for example, 100.

+

marker

+

No

+

String

+

This parameter marks the starting location in a pagination query.

+

If the truncated value is true, you can send consecutive requests to obtain more record entries. The marker value must be set to the next_marker value in the response, for example, 10.

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

grants

+

Yes

+

Array of objects

+

Grant list. For details, see Table 4.

+

next_marker

+

Yes

+

String

+

This parameter indicates the marker value required for obtaining the next page of query results.

+

If the truncated value is false, the next_marker parameter is left blank.

+

truncated

+

Yes

+

String

+
This parameter indicates whether there are more results displayed in another page.
  • If the value is true, there are more results.
  • If the value is false, the current page is the last page.
+
+

total

+

Yes

+

Integer

+

This parameter indicates the total number of grants.

+
+
+
+

Examples

The following example describes how to query the list of grants that can be retired.

+ +
+

Status Codes

Table 4 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 4 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0035.html b/docs/kms/api-ref/kms_02_0035.html new file mode 100644 index 000000000..1be6068cc --- /dev/null +++ b/docs/kms/api-ref/kms_02_0035.html @@ -0,0 +1,178 @@ + + +

Obtaining CMK Import Parameters

+

Function

This API enables you to obtain necessary parameters to import a CMK, including a CMK import token and a CMK encryption public key.

+

The returned public key type is RSA_2048 by default.

+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

wrapping_algorithm

+

Yes

+

String

+
Encryption algorithm for CMK material. The following values are enumerated:
  • RSAES_PKCS1_V1_5
  • RSAES_OAEP_SHA_1
  • RSAES_OAEP_SHA_256
+
+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

ID of a CMK in Base64 format

+

import_token

+

Yes

+

String

+

CMK import token

+

expiration_time

+

Yes

+

String

+

Expiration time of the import parameter. The value is a timestamp expressed in the number of seconds since 00:00:00 UTC on January 1, 1970.

+

public_key

+

Yes

+

String

+

Public key (in Base64 format) used to encrypt CMK material

+
+
+
+

Examples

The following example describes how to obtain the imported parameter of a CMK (ID: bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e; encryption algorithm: RSAES_OAEP_SHA_1).

+ +
+

Status Codes

Table 4 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 4 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0036.html b/docs/kms/api-ref/kms_02_0036.html new file mode 100644 index 000000000..e3a2fcf4e --- /dev/null +++ b/docs/kms/api-ref/kms_02_0036.html @@ -0,0 +1,143 @@ + + +

Importing CMK Material

+

Function

This API allows you to import CMK material.

+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

import_token

+

Yes

+

String

+

CMK import token in Base64 format that matches the regular expression ^[0-9a-zA-Z+/=]{200,6144}$

+

encrypted_key_material

+

Yes

+

String

+

Encrypted CMK material in Base64 format that matches the regular expression ^[0-9a-zA-Z+/=]{344,360}$

+

expiration_time

+

No

+

String

+

Expiration time of the key material. The value is a timestamp expressed in the number of seconds since 00:00:00 UTC on January 1, 1970. KMS will delete the key material within 24 hours after the expiration.

+

Example: 1550291833

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

None

+
+

Examples

The following example describes how to import the CMK material and the import-token to the CMK whose ID is bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e, and set the expiration time of the CMK material to 1521578672.

+ +
+

Status Codes

Table 3 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 3 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0037.html b/docs/kms/api-ref/kms_02_0037.html new file mode 100644 index 000000000..58d505369 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0037.html @@ -0,0 +1,109 @@ + + +

Deleting CMK Material

+

Function

This API allows you to delete CMK material.

+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

None

+
+

Examples

The following example describes how to delete the material of a CMK (ID: 0d0466b0-e727-4d9c-b35d-f84bb474a37f).

+ +
+

Status Codes

Table 3 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 3 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0038.html b/docs/kms/api-ref/kms_02_0038.html new file mode 100644 index 000000000..674b53d29 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0038.html @@ -0,0 +1,114 @@ + + +

Enabling Rotation for a CMK

+

Function

This API allows you to enable rotation for a CMK.

+
  • The default rotation interval is 365 days.
  • CMKs created using imported key materials and Default Master Keys do not support rotation.
+
+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

sequence

+

No

+

string

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

None

+
+

Examples

The following example describes how to enable rotation for a CMK (ID: 0d0466b0-e727-4d9c-b35d-f84bb474a37f).

+ +
+

Status Codes

Table 3 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 3 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0039.html b/docs/kms/api-ref/kms_02_0039.html new file mode 100644 index 000000000..b6b26f17a --- /dev/null +++ b/docs/kms/api-ref/kms_02_0039.html @@ -0,0 +1,123 @@ + + +

Changing the Rotation Interval for a CMK

+

Function

This API enables you to change the rotation interval for a CMK.

+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

rotation_interval

+

Yes

+

Integer

+

Rotation interval. The value is an integer ranging from 30 to 365.

+

Set the interval based on how often a CMK is used. If it is frequently used, set a short interval; otherwise, set a long one.

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

None

+
+

Examples

The following example describes how to change the rotation interval to 30 for a CMK (ID: 0d0466b0-e727-4d9c-b35d-f84bb474a37f).

+ +
+

Status Codes

Table 3 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 3 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0040.html b/docs/kms/api-ref/kms_02_0040.html new file mode 100644 index 000000000..d46301feb --- /dev/null +++ b/docs/kms/api-ref/kms_02_0040.html @@ -0,0 +1,112 @@ + + +

Disabling Rotation for a CMK

+

Function

This API allows you to disable rotation for a CMK.

+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

None

+
+

Examples

The following example describes how to disable rotation for a CMK (ID: 0d0466b0-e727-4d9c-b35d-f84bb474a37f).

+ +
+

Status Codes

Table 3 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 3 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0041.html b/docs/kms/api-ref/kms_02_0041.html new file mode 100644 index 000000000..745a5a86b --- /dev/null +++ b/docs/kms/api-ref/kms_02_0041.html @@ -0,0 +1,165 @@ + + +

Querying the Rotation Status of a CMK

+

Function

This API enables you to query the rotation status of a CMK.

+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

key_id

+

Yes

+

String

+

36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

+

Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

key_rotation_enabled

+

Yes

+

String

+

Key rotation status. The default value is false, indicating that key rotation is disabled.

+

rotation_interval

+

Yes

+

Integer

+

Rotation interval. The value is an integer ranging from 30 to 365.

+

Set the interval based on how often a CMK is used. If it is frequently used, set a short interval; otherwise, set a long one.

+

last_rotation_time

+

Yes

+

String

+

Last key rotation time. The value is a timestamp expressed in the number of seconds since 00:00:00 UTC on January 1, 1970.

+

number_of_rotations

+

Yes

+

String

+

Number of key rotations

+
+
+
+

Examples

+
+

Status Codes

Table 4 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 4 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0042.html b/docs/kms/api-ref/kms_02_0042.html new file mode 100644 index 000000000..499fc119d --- /dev/null +++ b/docs/kms/api-ref/kms_02_0042.html @@ -0,0 +1,297 @@ + + +

Querying CMK Instances

+

Function

This API allows you to query CMK instances.

+

You can use the tag filtering function to query the detailed information about a specified CMK.

+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

tags

+

No

+

Array of objects

+
list of tags, including tag keys and tag values.
  • key indicates the tag key. A CMK can have a maximum of 10 keys, and each of them is unique and cannot be empty. A key cannot have duplicate values. The value of key contains a maximum of 36 characters.
  • value indicates the tag value. Each tag value can contain a maximum of 43 characters. The relationship between values is AND.
+
+

limit

+

No

+

String

+

Number of queried records. If action is set to count, this parameter does not need to be set. If action is set to filter, the default value is 10.

+

The value ranges from 1 to 1000.

+

offset

+

No

+

String

+

Index location. The query starts from the next piece of data indexed by this parameter. When data on the first page is queried, the value of this parameter queried on previous page is contained. If action is count, this parameter does not need to be set. If action is set to filter, the default value is 0.

+

The value must be a numeral and cannot be a negative number.

+

action

+

Yes

+

String

+

Operation ID, which can be set to filter or count.

+
  • filter: indicates filtering.
  • count: indicates the number of queried records.
+

matches

+

No

+

Array of objects

+

Search field.

+
  • key indicates the field to be matched, for example, resource_name.
  • value indicates the value to be matched, which contains a maximum of 255 characters and cannot be empty.
+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

+
+ + + + + + + + + + + + + + + + +
Table 3 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

resources

+

Yes

+

Array of objects

+

Resource instance list. For details, see Table 4.

+

total_count

+

Yes

+

Integer

+

Total number of records

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 resource field description

Parameter

+

Mandatory

+

Type

+

Description

+

resource_id

+

Yes

+

String

+

Resource ID

+

resource_detail

+

Yes

+

Object

+

Resource details. For details, see Table 4.

+

tags

+

Yes

+

Array of objects

+

Lists of tags. If there is no tag, the array is empty by default.

+

resource_name

+

Yes

+

String

+

Resource name. This parameter is an empty string by default.

+
+
+
+

Examples

The following example describes how to query key instances.

+ +
+

Status Codes

Table 5 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 5 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0043.html b/docs/kms/api-ref/kms_02_0043.html new file mode 100644 index 000000000..85ee9f29e --- /dev/null +++ b/docs/kms/api-ref/kms_02_0043.html @@ -0,0 +1,130 @@ + + +

Querying CMK Tags

+

Function

This API allows you to query tags of a specified CMK.

+
+

TMS may use this API to query all tags of a specified CMK.

+

URI

+
+

Requests

None

+
+

Responses

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

Parameter

+

Mandatory

+

Type

+

Description

+

tags

+

Yes

+

Array of objects

+
list of tags, including tag keys and tag values.
  • key indicates the tag key. A CMK can have a maximum of 10 keys, and each of them is unique and cannot be empty. A key cannot have duplicate values. The value of key contains a maximum of 36 characters.
  • value indicates the tag value. Each tag value can contain a maximum of 43 characters. The relationship between values is AND.
+
+

existTagNum

+

Yes

+

Integer

+

Number of key tags.

+
+
+
+

Examples

The following example describes how to query CMK tags.

+ +
+

Status Codes

Table 3 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 3 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0044.html b/docs/kms/api-ref/kms_02_0044.html new file mode 100644 index 000000000..deb1e4248 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0044.html @@ -0,0 +1,115 @@ + + +

Querying Project Tags

+

Function

This API enables you to query all tag sets of a specified project.

+
+

URI

+
+

Requests

None

+
+

Responses

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

Parameter

+

Mandatory

+

Type

+

Description

+

tags

+

Yes

+

Array of objects

+
list of tags, including tag keys and tag values.
  • key indicates the tag key. A CMK can have a maximum of 10 keys, and each of them is unique and cannot be empty. A key cannot have duplicate values. The value of key contains a maximum of 36 characters.
  • value indicates the tag value. Each tag value can contain a maximum of 43 characters. The relationship between values is AND.
+
+
+
+
+

Examples

The following example describes how to query project tags.

+ +
+

Status Codes

Table 3 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 3 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0045.html b/docs/kms/api-ref/kms_02_0045.html new file mode 100644 index 000000000..cd1068469 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0045.html @@ -0,0 +1,157 @@ + + +

Adding or Deleting CMK Tags in Batches

+

Function

This API enables you to add or delete CMK tags in batches.

+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

tags

+

Yes

+

Array of objects

+
list of tags, including tag keys and tag values.
  • key indicates the tag key. A CMK can have a maximum of 10 keys, and each of them is unique and cannot be empty. A key cannot have duplicate values. The value of key contains a maximum of 36 characters.
  • value indicates the tag value. Each tag value can contain a maximum of 43 characters. The relationship between values is AND.
+
+

action

+

Yes

+

String

+

Operation ID.

+

The value can be create or delete.

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

None

+
+

Examples

The following example describes how to add tags, the keys and values of which are key1, key, value1, and value3 respectively.

+ +
+ +

Status Codes

Table 3 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 3 Status codes

Status Code

+

Status

+

Description

+

204

+

No Content

+

The request is processed successfully and no content is returned.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0046.html b/docs/kms/api-ref/kms_02_0046.html new file mode 100644 index 000000000..f2b97e112 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0046.html @@ -0,0 +1,159 @@ + + +

Adding a CMK Tag

+

Function

This API allows you to add a CMK tag.

+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

tag

+

Yes

+

Array of object

+

Tag. For details, see Table 3.

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 3 tag field description

Parameter

+

Mandatory

+

Type

+

Description

+

key

+

Yes

+

String

+

Key.

+

The value contains a maximum of 36 Unicode characters. The value of key cannot be empty, and cannot contain the following characters: ASCII (0-31) and *<>\=

+

value

+

Yes

+

String

+

Value.

+

Each value contains a maximum of 43 Unicode characters and can be an empty string. The value cannot contain the following characters: ASCII (0-31) and *<>\=

+
+
+
+

Responses

None

+
+

Examples

The following example describes how to add a tag, the key and value of which are DEV and DEV1 respectively.

+ +
+

Status Codes

Table 4 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 4 Status codes

Status Code

+

Status

+

Description

+

204

+

No Content

+

The request is processed successfully and no content is returned.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0047.html b/docs/kms/api-ref/kms_02_0047.html new file mode 100644 index 000000000..e6e629caf --- /dev/null +++ b/docs/kms/api-ref/kms_02_0047.html @@ -0,0 +1,117 @@ + + +

Deleting a CMK Tag

+

Function

This API enables you to delete a CMK tag.

+
+

URI

+
+

Requests

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

Parameter

+

Mandatory

+

Type

+

Description

+

sequence

+

No

+

String

+

36-byte serial number of a request message

+

Example: 919c82d4-8046-4722-9094-35c3c6524cff

+
+
+
+

Responses

None

+
+

Examples

Example response

+
{ 
+}
+
or
{    
+       "error": {        
+              "error_code": "KMS.XXXX",        
+              "error_msg": "XXX"     
+     } 
+}
+
+
+

Status Codes

Table 3 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 3 Status codes

Status Code

+

Status

+

Description

+

204

+

No Content

+

The request is processed successfully and no content is returned.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0048.html b/docs/kms/api-ref/kms_02_0048.html new file mode 100644 index 000000000..434b5d57a --- /dev/null +++ b/docs/kms/api-ref/kms_02_0048.html @@ -0,0 +1,196 @@ + + +

Querying All API Versions

+

Function

This API is used to query the API versions.

+
+

URI

+
+

Requests

None

+
+

Responses

+
+ + + + + + + + + + + +
Table 1 Response parameters

Parameter

+

Mandatory

+

Type

+

Description

+

versions

+

Yes

+

Array of objects

+

Version object list. For details, see Table 2.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 versions field description

Parameter

+

Mandatory

+

Type

+

Description

+

id

+

Yes

+

String

+

Version number, for example, v1.0

+

links

+

Yes

+

Array of objects

+

JSON object. For details, see Table 3.

+

version

+

Yes

+

String

+

If the APIs of this version support microversions, the supported maximum microversion is returned. If the microversion is not supported, empty character string is returned.

+

status

+

Yes

+

String

+

Version status. Valid values are as follows:

+
  • CURRENT: widely used version
  • SUPPORTED: earlier version which is still supported
  • DEPRECATED: deprecated version which may be deleted later
+

updated

+

Yes

+

String

+

Version release time, which must be UTC time. For example, the release time of v1 is 2014-06-28T12:20:21Z.

+

min_version

+

No

+

String

+

If the APIs of this version support microversions, the supported minimum microversion is returned. If the microversion is not supported, empty character string is returned.

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 3 links field description

Parameter

+

Mandatory

+

Type

+

Description

+

href

+

Yes

+

String

+

API URL

+

rel

+

Yes

+

String

+

The default value is self.

+
+
+
+

Examples

The following describes how to query the version information.

+ +
+

Status Codes

Table 4 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 4 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0049.html b/docs/kms/api-ref/kms_02_0049.html new file mode 100644 index 000000000..bc030105d --- /dev/null +++ b/docs/kms/api-ref/kms_02_0049.html @@ -0,0 +1,216 @@ + + +

Querying a Specified API Version

+

Function

This API is used to query the version of an API.

+
+

URI

+
+

Requests

None

+
+

Responses

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

Parameter

+

Mandatory

+

Type

+

Description

+

version

+

Yes

+

Array of objects

+

Version information. For details, see Table 3.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 version field data structure description

Parameter

+

Mandatory

+

Type

+

Description

+

id

+

Yes

+

String

+

Version number, for example, v1.0

+

links

+

Yes

+

Array of objects

+

JSON object. For details, see Table 4.

+

version

+

Yes

+

String

+

If the APIs of this version support microversions, the supported maximum microversion is returned. If the microversion is not supported, empty character string is returned.

+

status

+

Yes

+

String

+

Version status. Valid values are as follows:

+
  • CURRENT: widely used version
  • SUPPORTED: earlier version which is still supported
  • DEPRECATED: deprecated version which may be deleted later
+

updated

+

Yes

+

String

+

Version release time, which must be UTC time. For example, the release time of v1.0 is 2014-06-28T12:20:21Z.

+

min_version

+

No

+

String

+

If the APIs of this version support microversions, the supported minimum microversion is returned. If the microversion is not supported, empty character string is returned.

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 4 links field data structure description

Parameter

+

Mandatory

+

Type

+

Description

+

href

+

Yes

+

String

+

API URL

+

rel

+

Yes

+

String

+

The default value is self.

+
+
+
+

Examples

The following uses the v1.0 version as an example.

+ +
+

Status Codes

Table 5 lists the normal status code returned by the response. +
+ + + + + + + + + +
Table 5 Status codes

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+
+
+
+

Exception status code. For details, see Status Codes.

+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0300.html b/docs/kms/api-ref/kms_02_0300.html new file mode 100644 index 000000000..09bc64190 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0300.html @@ -0,0 +1,17 @@ + + +

Appendix

+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0301.html b/docs/kms/api-ref/kms_02_0301.html new file mode 100644 index 000000000..95a8b45e9 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0301.html @@ -0,0 +1,64 @@ + + +

Status Codes

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

Status Code

+

Status

+

Description

+

200

+

OK

+

Request processed successfully.

+

204

+

No Content

+

The request is processed successfully and no content is returned.

+

400

+

Bad Request

+

The request parameter is incorrect.

+

403

+

Forbidden

+

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

+

404

+

Not Found

+

The requested resource does not exist or not found.

+

500

+

Internal Server Error

+

Internal service error.

+
+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_0304.html b/docs/kms/api-ref/kms_02_0304.html new file mode 100644 index 000000000..ecc1b8bd4 --- /dev/null +++ b/docs/kms/api-ref/kms_02_0304.html @@ -0,0 +1,96 @@ + + +

Change History

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

Release Date

+

Description

+

2022-09-30

+

This issue is the thirteenth official release.

+

Optimized descriptions in sections "Permissions Policies and Supported Actions".

+

2021-10-20

+

This issue is the twelfth official release.

+
  • Added section "Permissions and Supported Actions".
  • Added description about default KMS performance thresholds in "CMK Management".
+

2021-09-22

+

This issue is the eleventh official release.

+

Modified the error code format in the "Error Codes" section.

+

2019-12-10

+

This is the tenth official release.

+
  • Added the section "Enabling Rotation for a CMK".
  • Added the section "Changing the Rotation Interval for a CMK".
  • Added the section "Disabling Rotation for a CMK".
  • Added the section "Querying the Rotation Status of a CMK".
+

2019-03-13

+

This is the ninth official release.

+

Added the section "API Permissions".

+

2018-09-30

+

This is the eighth official release.

+
  • Added the section "Querying All API Versions."
  • Added the section "Querying a Specified API Version."
+

2018-07-30

+

This is the seventh official release.

+
  • Modified the section "Error Codes": added error codes KMS.0417, KMS.0418, and their descriptions.
  • Modified the descriptions about status codes returned following each request. The normal status codes and exception status codes are described separately.
  • Modified section "Status Codes": added status code 204 and its description.
  • Modified the description of the resource_detail parameter in the section "Querying CMK Instances".
+

2018-03-30

+

This issue is the sixth official release.

+
  • Added the section "Obtaining CMK Import Parameters".
  • Added the section "Importing CMK Material".
  • Added the section "Deleting CMK Material".
  • Added the section "Querying CMK Instances".
  • Added the section "Querying CMK Tags".
  • Added the section "Querying Project Tags".
  • Added the section "Adding or Deleting CMK Tags in Batches".
  • Added the section "Adding a CMK Tag".
  • Added the section "Deleting a CMK Tag".
  • Optimized error codes and modified the section "Error Codes".
    • Added error codes KMS.0309, KMS.0310, and KMS.0401-KMS.0413 to the common error codes.
    • Added error codes and their description for importing CMK material.
    • Added error codes and their description for deleting CMK material.
    +
+

2017-10-30

+

This is the fifth official release.

+
  • Added the section "Creating a Grant".
  • Added the section "Revoking a Grant".
  • Added the section "Retiring a Grant".
  • Added the section "Querying Grants on a CMK".
  • Added the section "Querying Grants That Can Be Retired".
  • Optimized request parameter description in the section "Creating a CMK".
  • Optimized request and response parameter description in the section "Querying the List of CMKs".
  • Optimized response parameter description in the section "Querying the Information About a CMK".
  • Optimized response parameter description in the section "Creating a Random Number".
  • Optimized response parameter description in the section "Querying the Quota of a User".
  • Optimized error codes and modified the section "Error Codes".
    • Added public error code KMS.0308 and its description.
    • Added error codes and their description for creating a grant.
    • Added error codes and their description for querying grants on a CMK.
    • Added error codes and their description for querying grants that can be retired.
    • Added error codes and their description for revoking a grant.
    • Added error codes and their description for retiring a grant.
    +
+

2017-06-30

+

This is the fourth official release.

+
  • Added sections "Changing the Alias of a CMK" and "Changing the Description of a CMK".
  • Optimized the type of parameter keys in the section "Querying the List of CMKs".
  • Optimized response parameter tables in sections "Querying the Number of Instances" and "Querying Quotas".
  • Optimized error codes and modified the section "Error Code".
    • Added error codes and their description for changing the alias of a CMK.
    • Added error codes and their description for changing the description of a CMK.
    +
+

2017-02-08

+

This is the third official release.

+

Added sections "Querying the Number of Instances" and "Querying Quotas".

+

2016-12-30

+

This is the second official release.

+
  • Optimized error codes and modified the section "Error Codes".
  • Added description about parameter encryption_context to the following sections:
    • "Creating a DEK"
    • "Creating a Plaintext-Free DEK"
    • "Encrypting a DEK"
    • "Decrypting a DEK"
    +
+

2016-10-29

+

This is the first official release.

+
+
+
+ diff --git a/docs/kms/api-ref/kms_02_0305.html b/docs/kms/api-ref/kms_02_0305.html new file mode 100644 index 000000000..f865945ae --- /dev/null +++ b/docs/kms/api-ref/kms_02_0305.html @@ -0,0 +1,15 @@ + + +

API Permissions

+
+
+ + + +
+ diff --git a/docs/kms/api-ref/kms_02_0306.html b/docs/kms/api-ref/kms_02_0306.html new file mode 100644 index 000000000..6b113504e --- /dev/null +++ b/docs/kms/api-ref/kms_02_0306.html @@ -0,0 +1,274 @@ + + +

Encryption Key Management

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

API

+

API Function

+

Permission

+

POST /v1.0/{project_id}/kms/create-key

+

Creates a CMK.

+

kms:cmk:create

+

POST /v1.0/{project_id}/kms/enable-key

+

Enables a CMK.

+

kms:cmk:enable

+

POST /v1.0/{project_id}/kms/disable-key

+

Disables a CMK.

+

kms:cmk:disable

+

POST /v1.0/{project_id}/kms/schedule-key-deletion

+

Schedules the deletion of a CMK.

+

kms:cmk:update

+

POST /v1.0/{project_id}/kms/cancel-key-deletion

+

Cancels the scheduled deletion of a CMK.

+

kms:cmk:update

+

POST /v1.0/{project_id}/kms/list-keys

+

Queries the list of CMKs.

+

kms:cmk:list

+

POST /v1.0/{project_id}/kms/describe-key

+

Queries the CMK information.

+

kms:cmk:get

+

POST /v1.0/{project_id}/kms/gen-random

+

Generates a random number.

+

kms:cmk:generate

+

POST /v1.0/{project_id}/kms/create-datakey

+

Creates a DEK.

+

kms:dek:create

+

POST /v1.0/{project_id}/kms/create-datakey-without-plaintext

+

Creates a plaintext-free DEK.

+

kms:dek:create

+

POST /v1.0/{project_id}/kms/encrypt-datakey

+

Encrypts a DEK.

+

kms:dek:crypto

+

POST /v1.0/{project_id}/kms/decrypt-datakey

+

Decrypts a DEK.

+

kms:dek:crypto

+

GET /v1.0/{project_id}/kms/user-instances

+

Queries the number of instances.

+

kms:cmk:getInstance

+

GET /v1.0/{project_id}/kms/user-quotas

+

Queries the user quota.

+

kms:cmk:getQuota

+

POST /v1.0/{project_id}/kms/update-key-alias

+

Modifies the CMK alias.

+

kms:cmk:update

+

POST /v1.0/{project_id}/kms/update-key-description

+

Modifies the description of a CMK.

+

kms:cmk:update

+

POST /v1.0/{project_id}/kms/create-grant

+

Creates a grant.

+

kms:grant:create

+

POST /v1.0/{project_id}/kms/revoke-grant

+

Revokes a grant.

+

kms:grant:revoke

+

POST /v1.0/{project_id}/kms/retire-grant

+

Retires a grant.

+

kms:grant:retire

+

POST /v1.0/{project_id}/kms/list-grants

+

Queries the grant list of a CMK.

+

kms:grant:list

+

POST /v1.0/{project_id}/kms/list-retirable-grants

+

Queries the list of grants that can be retired.

+

kms:grant:list

+

POST /v1.0/{project_id}/kms/encrypt-data

+

Encrypts data.

+

kms:cmk:crypto

+

POST /v1.0/{project_id}/kms/decrypt-data

+

Decrypts data.

+

kms:cmk:crypto

+

POST /v1.0/{project_id}/kms/get-parameters-for-import

+

Obtains parameters for importing a key.

+

kms:cmk:getMaterial

+

POST /v1.0/{project_id}/kms/import-key-material

+

Imports key material.

+

kms:cmk:importMaterial

+

POST /v1.0/{project_id}/kms/delete-imported-key-material

+

Deletes key material.

+

kms:cmk:deleteMaterial

+

POST /v1.0/{project_id}/kms/enable-key-rotation

+

Enables key rotation.

+

kms:cmk:enableRotation

+

POST /v1.0/{project_id}/kms/update-key-rotation-interval

+

Modifies the rotation interval.

+

kms:cmk:updateRotation

+

POST /v1.0/{project_id}/kms/disable-key-rotation

+

Disables key rotation.

+

kms:cmk:disableRotation

+

POST /v1.0/{project_id}/kms/get-key-rotation-status

+

Queries the key rotation status.

+

kms:cmk:getRotation

+

POST /v1.0/{project_id}/kms/resource_instances/action

+

Queries key resource instances.

+

kms:cmkTag:listInstance

+

GET /v1.0/{project_id}/kms/{key_id}/tags

+

Queries tags of a key.

+

kms:cmkTag:list

+

GET /v1.0/{project_id}/kms/tags

+

Queries the project tags.

+

kms:cmkTag:list

+

POST /v1.0/{project_id}/kms/{key_id}/tags/action

+

Adds or deletes key tags in batches.

+

kms:cmkTag:batch

+

POST /v1.0/{project_id}/kms/{key_id}/tags

+

Adds tags to a key.

+

kms:cmkTag:create

+

POST /v1.0/{project_id}/kms/{ key_id }/tags/{key}

+

Deletes tags of a key.

+

kms:cmkTag:delete

+
+
+
+
+ +
+ diff --git a/docs/kms/api-ref/kms_02_8888.html b/docs/kms/api-ref/kms_02_8888.html new file mode 100644 index 000000000..96786b220 --- /dev/null +++ b/docs/kms/api-ref/kms_02_8888.html @@ -0,0 +1,950 @@ + + +

Error Code

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

Status Code

+

Error Code

+

Error Message

+

Description

+

Measure

+

400

+

KMS.0201

+

Invalid request URL.

+

Invalid request URL.

+

Enter a valid URL.

+

400

+

KMS.0202

+

Invalid JSON format of the request message.

+

Invalid JSON format of the request message.

+

Enter a valid message.

+

400

+

KMS.0203

+

Request message too long.

+

Request message too long.

+

Enter a valid message.

+

400

+

KMS.0204

+

Parameters missing in the request message.

+

Parameters missing in the request message.

+

Enter a valid message.

+

400

+

KMS.0205

+

Invalid key ID.

+

Invalid key ID.

+

Enter a valid key ID.

+

400

+

KMS.0206

+

Invalid sequence number.

+

Invalid sequence number.

+

Enter a valid sequence number.

+

400

+

KMS.0208

+

Invalid value of value encryption_context.

+

Invalid value of value encryption_context.

+

Enter a valid value of encryption_context.

+

400

+

KMS.0209

+

The key has been disabled.

+

The key has been disabled.

+

Enable the key.

+

400

+

KMS.0210

+

The key is in Scheduled deletion state and cannot be used.

+

The key is in Pending deletion state and cannot be used.

+

Enable the key.

+

400

+

KMS.0211

+

Cannot perform this operation on Default Master Keys.

+

Cannot perform this operation on Default Master Keys.

+

Perform this operation on a common CMK.

+

400

+

KMS.0308

+

Invalid parameter.

+

Invalid parameter.

+

Enter valid parameters.

+

400

+

KMS.0309

+

External keys required.

+

External keys required.

+

Use an imported key.

+

400

+

KMS.0310

+

The key is not in Pending import state.

+

The key is not in Pending import state.

+

Ensure the key is in Pending import state.

+

400

+

KMS.0401

+

Tag list cannot be empty.

+

Tag list cannot be empty.

+

Enter valid parameters.

+

400

+

KMS.0402

+

Invalid match value.

+

Invalid match value.

+

Enter valid parameters.

+

400

+

KMS.0403

+

Invalid match key.

+

Invalid match key.

+

Enter valid parameters.

+

400

+

KMS.0201

+

Invalid request URL.

+

Invalid request URL.

+

Enter a valid URL.

+

400

+

KMS.0202

+

Invalid JSON format of the request message.

+

Invalid JSON format of the request message.

+

Enter a valid message.

+

400

+

KMS.0203

+

Request message too long.

+

Request message too long.

+

Enter a valid message.

+

400

+

KMS.0204

+

Parameters missing in the request message.

+

Parameters missing in the request message.

+

Enter a valid message.

+

400

+

KMS.0205

+

Invalid key ID.

+

Invalid key ID.

+

Enter a valid key ID.

+

400

+

KMS.0206

+

Invalid sequence number.

+

Invalid sequence number.

+

Enter a valid sequence number.

+

400

+

KMS.0208

+

Invalid value of value encryption_context.

+

Invalid value of value encryption_context.

+

Enter a valid value of encryption_context.

+

400

+

KMS.0209

+

The key has been disabled.

+

The key has been disabled.

+

Enable the key.

+

400

+

KMS.0210

+

The key is in Scheduled deletion state and cannot be used.

+

The key is in Pending deletion state and cannot be used.

+

Enable the key.

+

400

+

KMS.0211

+

Cannot perform this operation on Default Master Keys.

+

Cannot perform this operation on Default Master Keys.

+

Perform this operation on a common CMK.

+

400

+

KMS.0308

+

Invalid parameter.

+

Invalid parameter.

+

Enter valid parameters.

+

400

+

KMS.0309

+

External keys required.

+

External keys required.

+

Use an imported key.

+

400

+

KMS.0310

+

The key is not in Pending import state.

+

The key is not in Pending import state.

+

Ensure the key is in Pending import state.

+

400

+

KMS.0311

+

Failed to decrypt data using the RSA private key.

+

Failed to decrypt data using the RSA private key.

+

Ensure the input ciphertext is correct and try again, or contact customer service.

+

400

+

KMS.0312

+

External keys cannot be rotated.

+

External keys cannot be rotated.

+

Use a common CMK.

+

400

+

KMS.0313

+

Key rotation is not enabled.

+

Key rotation is not enabled.

+

Enable key rotation.

+

400

+

KMS.0401

+

Tag list cannot be empty.

+

Tag list cannot be empty.

+

Enter valid parameters.

+

400

+

KMS.0402

+

Invalid match value.

+

Invalid match value.

+

Enter valid parameters.

+

400

+

KMS.0403

+

Invalid match key.

+

Invalid match key.

+

Enter valid parameters.

+

400

+

KMS.0404

+

Invalid action.

+

Invalid action.

+

Enter valid parameters.

+

400

+

KMS.0405

+

Invalid tag value.

+

Invalid tag value.

+

Enter valid parameters.

+

400

+

KMS.0406

+

Invalid tag key.

+

Invalid tag key.

+

Enter valid parameters.

+

400

+

KMS.0407

+

Invalid tag list size.

+

Invalid tag list size.

+

Enter valid parameters.

+

400

+

KMS.0408

+

Invalid resourceType.

+

Invalid resourceType.

+

Enter valid parameters.

+

400

+

KMS.0409

+

Too many tags.

+

Too many tags.

+

Delete unnecessary tags and try again.

+

400

+

KMS.0410

+

Invalid tag value length.

+

Invalid tag value length.

+

Enter valid parameters.

+

400

+

KMS.0411

+

Invalid tag key length.

+

Invalid tag key length.

+

Enter valid parameters.

+

400

+

KMS.0412

+

Invalid tag list.

+

Invalid tag list.

+

Enter valid parameters.

+

400

+

KMS.0413

+

Too many tag values.

+

Too many tag values.

+

Enter valid parameters.

+

400

+

KMS.0415

+

Invalid matches.

+

Invalid matches.

+

Enter valid parameters.

+

400

+

KMS.0417

+

Invalid offset.

+

Invalid offset.

+

Enter valid parameters.

+

400

+

KMS.1101

+

Invalid key_alias.

+

Invalid key_alias.

+

Enter valid parameters.

+

400

+

KMS.1102

+

Invalid realm.

+

Invalid realm.

+

Enter valid parameters.

+

400

+

KMS.1103

+

Invalid key_description.

+

Invalid key_description.

+

Enter valid parameters.

+

400

+

KMS.1104

+

Duplicate key aliases.

+

Duplicate key aliases.

+

Use another alias.

+

400

+

KMS.1105

+

Too many keys.

+

Too many keys.

+

Increase key quota or delete unnecessary keys.

+

400

+

KMS.1201

+

The key is not disabled.

+

The key is not disabled.

+

Disable the key.

+

400

+

KMS.1301

+

The key is not enabled.

+

The key is not enabled.

+

Enable the key.

+

400

+

KMS.1401

+

Set the pending deletion period between 7 to 1096 days.

+

Set the pending deletion period between 7 to 1096 days.

+

Enter valid parameters.

+

400

+

KMS.1402

+

The key is already in Pending deletion state.

+

The key is already in Pending deletion state.

+

No further operation required.

+

400

+

KMS.1501

+

The key is not in Pending deletion state.

+

The key is not in Pending deletion state.

+

Schedule deletion the key.

+

400

+

KMS.1601

+

Invalid limit.

+

Invalid limit.

+

Enter valid parameters.

+

400

+

KMS.1602

+

marker must be greater than or equals 0.

+

marker must be greater than or equals 0.

+

Enter valid parameters.

+

400

+

KMS.1801

+

random_data_length must be 512 bits.

+

random_data_length must be 512 bits.

+

Enter valid parameters.

+

400

+

KMS.1901

+

datakey_length must be in the range 8 bits to 8,192 bits.

+

datakey_length must be in the range 8 bits to 8,192 bits.

+

Enter valid parameters.

+

400

+

KMS.2001

+

datakey_length must be 512 bits.

+

datakey_length must be 512 bits.

+

Enter valid parameters.

+

400

+

KMS.2101

+

Invalid plain_text.

+

Invalid plain_text.

+

Enter valid parameters.

+

400

+

KMS.2102

+

datakey_plain_length must be 64 bytes.

+

datakey_plain_length must be 64 bytes.

+

Enter valid parameters.

+

400

+

KMS.2103

+

Failed to verify the DEK hash.

+

Failed to verify the DEK hash.

+

Ensure the DEK is valid and try again, or contact customer service.

+

400

+

KMS.2201

+

Invalid cipher_text.

+

invalid cipher_text.

+

Enter valid parameters.

+

400

+

KMS.2202

+

datakey_cipher_length must be 64 bytes.

+

datakey_cipher_length must be 64 bytes.

+

Enter valid parameters.

+

400

+

KMS.2203

+

Failed to verify the DEK hash.

+

Failed to verify the DEK hash.

+

Ensure the DEK is valid and try again, or contact customer service.

+

400

+

KMS.2401

+

Specify an operation in addition to create-grant.

+

Specify an operation in addition to create-grant.

+

Enter valid parameters.

+

400

+

KMS.2402

+

Invalid user ID.

+

Invalid user ID.

+

Enter valid parameters.

+

400

+

KMS.2403

+

Failed to create the grant.

+

Failed to create the grant.

+

Try again later or contact customer service.

+

400

+

KMS.2404

+

Too many CMK grants.

+

Too many CMK grants.

+

Increase grant quota or delete unnecessary grants.

+

400

+

KMS.2405

+

Too many grants.

+

Too many grants.

+

Increase grant quota or delete unnecessary grants.

+

400

+

KMS.2501

+

Invalid grant ID.

+

Invalid grant ID.

+

Enter a valid grant ID.

+

400

+

KMS.2502

+

grant_id and key_id do not match.

+

grant_id and key_id do not match.

+

Ensure input grant_id matches key_id.

+

400

+

KMS.2601

+

Token expired.

+

Token expired.

+

Obtain a new token.

+

400

+

KMS.2602

+

Key expiration time must be later than the current time.

+

Key expiration time must be later than the current time.

+

Set a valid key expiration time.

+

400

+

KMS.2603

+

Key IDs in the imported key and token do not match.

+

Key IDs in the imported key and token do not match.

+

Ensure the key ID in the imported key matches that in the token.

+

400

+

KMS.2604

+

The external key plaintext length must be 32 bits.

+

The external key plaintext length must be 32 bits.

+

Enter valid parameters.

+

400

+

KMS.2605

+

Token verification failed.

+

Token verification failed.

+

Obtain a new token.

+

400

+

KMS.2606

+

You are importing a deleted key again. The imported plaintext must be the same as the deleted key plaintext.

+

You are importing a deleted key again. The imported plaintext must be the same as the deleted key plaintext.

+

Ensure the plaintext of the imported key is the same as that of the deleted key.

+

400

+

KMS.2701

+

Key material is not in Enabled or Disabled state and cannot be deleted.

+

Key material is not in Enabled or Disabled state and cannot be deleted.

+

Ensure that the key is in Enabled or Disabled state.

+

500

+

KMS.0101

+

KMS error.

+

KMS error.

+

Try again later or contact customer service.

+

500

+

KMS.0102

+

Abnormal KMS I/O.

+

Abnormal KMS I/O.

+

Try again later or contact customer service.

+
+
+
+
+ +
+ diff --git a/docs/kms/api-ref/public_sys-resources/ExpandCollapse.js b/docs/kms/api-ref/public_sys-resources/ExpandCollapse.js new file mode 100644 index 000000000..116ddaabf --- /dev/null +++ b/docs/kms/api-ref/public_sys-resources/ExpandCollapse.js @@ -0,0 +1 @@ +var expandClassName="dropdownexpand";var collapseClassName="dropdowncollapse";var collapseTableClassName="dropdowncollapsetable";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(a.substring(a.lastIndexOf("#")+1))}}catch(c){}}; \ No newline at end of file diff --git a/docs/kms/api-ref/public_sys-resources/caution_3.0-en-us.png b/docs/kms/api-ref/public_sys-resources/caution_3.0-en-us.png new file mode 100644 index 000000000..60f607621 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/caution_3.0-en-us.png differ diff --git a/docs/kms/api-ref/public_sys-resources/commonltr.css b/docs/kms/api-ref/public_sys-resources/commonltr.css new file mode 100644 index 000000000..c5480b0ab --- /dev/null +++ b/docs/kms/api-ref/public_sys-resources/commonltr.css @@ -0,0 +1 @@ +body{font-size:10pt;font-family:Arial;margin:1.5em;border-top:2pt;padding-top:1em;padding-bottom:2em}.msgph{font-family:Courier New}.rowlinecopyright{color:red;margin-top:10pt}.unresolved{background-color:skyblue}.noTemplate{background-color:yellow}.base{background-color:#fff}.nested0{margin-top:1em}.p{margin-top:.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}.notice p{margin-top:.5em;margin-bottom:.5em}.warning 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:#ffc}.notetitle{font-weight:bold}.notelisttitle{font-weight:bold}.tip{margin-top:1em;margin-bottom:1em;background-color:#ffc}.tiptitle{font-weight:bold}.fastpath{margin-top:1em;margin-bottom:1em;background-color:#ffc}.fastpathtitle{font-weight:bold}.important{margin-top:1em;margin-bottom:1em;background-color:#ffc}.importanttitle{font-weight:bold}.remember{margin-top:1em;margin-bottom:1em;background-color:#ffc}.remembertitle{font-weight:bold}.restriction{margin-top:1em;margin-bottom:1em;background-color:#ffc}.restrictiontitle{font-weight:bold}.attention{margin-top:1em;margin-bottom:1em;background-color:#ffc}.attentiontitle{font-weight:bold}.dangertitle{font-weight:bold}.danger{margin-top:1em;margin-bottom:1em;background-color:#ffc}.noticetitle{font-weight:bold}.notice{margin-top:1em;margin-bottom:1em;background-color:#ffc}.warningtitle{font-weight:bold}.warning{margin-top:1em;margin-bottom:1em;background-color:#ffc}.cautiontitle{font-weight:bold}.caution{margin-top:1em;margin-bottom:1em;background-color:#ffc}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}ol{margin-top:1em;margin-bottom:1em;margin-left:2.4em;padding-left:0}ul{margin-top:1em;margin-bottom:1em;margin-left:2.0em;padding-left: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}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:.3em;margin-bottom:.3em}.substepexpand{margin-top:.3em;margin-bottom:.3em}div.imageleft{text-align:left}div.imagecenter{text-align:center}div.imageright{text-align:right}div.imagejustify{text-align:justify}div.noblankline{text-align:center}div.noblankline img{margin-top:0}pre.screen{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;background-color:#ddd;white-space:pre}pre.codeblock{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;background-color:#ddd;white-space:pre}.hrcopyright{color:#3f4e5d;margin-top:18pt}.hwcopyright{text-align:center}.comment{margin:2px 2px 2px 2px;font-family:Arial;font-size:10pt;background-color:#bfb;color:#000}.dropdownAllButtonexpand{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}.dropdownAllButtoncollapse{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;text-decoration:underline;color:#007af4}.dropdowntitle{background-repeat:no-repeat;background-position:0 4px;padding-left:15px;cursor:pointer;text-decoration:underline;color:#007af4}.dropdownexpand .dropdowntitle{background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.dropdowncollapse .dropdowncontext{display:none}.dropdowncollapse .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}.dropdowncollapsetable{border:0}.dropdowncollapsetable .dropdowncontext{display:none}.dropdowncollapsetable .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}pre{font-size:10pt;font-weight:normal;margin-left:9;margin-top:2;margin-bottom:2}.termcolor{color:blue;cursor:pointer}#dhtmlgoodies_tooltip{background-color:#f0f0d2;border:1px solid #000;position:absolute;display:none;z-index:20000;padding:2px;font-size:.9em;-moz-border-radius:6px;font-family:"Trebuchet MS","Lucida Sans Unicode",Arial,sans-serif}#dhtmlgoodies_tooltipShadow{position:absolute;background-color:#555;display:none;z-index:10000;opacity:.7;filter:alpha(opacity=70);-khtml-opacity:.7;-moz-opacity:.7;-moz-border-radius:6px}.freeze{position:fixed;_position:absolute;_top:expression(eval(document.documentElement.scrollTop));left:10;top:0} \ No newline at end of file diff --git a/docs/kms/api-ref/public_sys-resources/commonltr_print.css b/docs/kms/api-ref/public_sys-resources/commonltr_print.css new file mode 100644 index 000000000..a59823141 --- /dev/null +++ b/docs/kms/api-ref/public_sys-resources/commonltr_print.css @@ -0,0 +1 @@ +body{font-size:12.0pt;margin:1.5em;margin-left:1.6cm}.msgph{font-family:Courier New}.rowlinecopyright{color:red;margin-top:10pt}.unresolved{background-color:skyblue}.noTemplate{background-color:yellow}.base{background-color:#fff}.nested0{margin-top:1em}.p{margin-top:1em}p{margin-top:.5em;margin-bottom:.5em}.note p{margin-top:.5em;margin-bottom:.5em}.tip p{margin-top:.5em;margin-bottom:.5em}.danger p{margin-top:.5em;margin-bottom:.5em}.warning p{margin-top:.5em;margin-bottom:.5em}.notice p{margin-top:.5em;margin-bottom:.5em}.caution p{margin-top:.5em;margin-bottom:.5em}.attention p{margin-top:.5em;margin-bottom:.5em}table p{margin-top:.2em;margin-bottom:.2em}table .p{margin-top:.4em;margin-bottom:.2em}.covertable{border:0;width:100% cellpadding:8pt;cellspacing:8pt}.cover_productname{font-size:15.0pt;font-family:"Arial"}.cover_manualtitle{font-size:24.0pt;font-weight:bold;font-family:"Arial"}.cover_manualsubtitle{font-size:18.0pt;font-weight:bold;font-family:"Arial"}.cover_heading{font-size:12.0pt;font-weight:bold;font-family:"Arial"}.cover_text{font-size:9.0pt;font-family:"Arial"}.tocheading,.heading1,.topictitle1{margin-top:40.0pt;margin-right:0;margin-bottom:20.0pt;margin-left:-1cm;text-align:left;border:0;border-bottom:solid windowtext .5pt;font-size:22.0pt;font-family:"Arial";font-weight:bold}.topictitlenumber1{font-size:72.0pt;font-family:"Book Antiqua";font-weight:bold}.topictitle2{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:-1cm;text-indent:0;font-size:18.0pt;font-family:"Arial";font-weight:bold}.topictitle3{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:0;text-indent:0;font-size:16.0pt;font-family:"Book Antiqua";font-weight:bold}.topictitle4{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:0;text-indent:0;font-size:14.0pt;font-family:"Book Antiqua";font-weight:bold}.topictitle5{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:0;text-indent:0;font-size:13.0pt;font-family:"Book Antiqua";font-weight:bold}.blocklabel,.topictitle6{margin-top:15.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;text-indent:0;font-size:13.0pt;font-family:"Book Antiqua";font-weight:bold}.sectiontitle{margin-top:15.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:-1cm;text-indent:0;font-size:13.0pt;font-family:"Arial";font-weight:bold}.tocentry1{margin-top:8.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:12.0pt;font-family:"Book Antiqua";font-weight:bold}.tocentry2{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tocentry3{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tocentry4{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tocentry5{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tofentry1{margin-top:8.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman";font-weight:normal}.totentry1{margin-top:8.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman";font-weight:normal}.indexheading{margin-top:15.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;text-indent:0;font-size:13.0pt;font-family:"Book Antiqua";font-weight:bold}.indexentry1{margin-top:4pt;margin-right:0;margin-bottom:0;margin-left:0;line-height:12.0pt;font-size:12.0pt;font-family:"Times New Roman"}.indexentry2{margin-top:0;margin-right:0;margin-bottom:0;margin-left:24.0pt;line-height:12.0pt;font-size:12.0pt}.indexentry3{margin-top:0;margin-right:0;margin-bottom:0;margin-left:48pt;line-height:12.0pt;font-size:12.0pt}.figurenumber{font-weight:bold}.tablenumber{font-weight:bold}.familylinks{margin-top:1.5em;margin-bottom:1em}.figcap{font-size:11.0pt}.tablecap{font-size:11.0pt}.figdesc{font-style:normal}.fignone{margin-top:8.0pt}.figborder{border-style:solid;padding-left:3px;border-width:2px;padding-right:3px;margin-top:1em;border-color:Silver}.figsides{border-left:2px solid;padding-left:3px;border-right:2px solid;padding-right:3px;margin-top:1em;border-color:Silver}.figtop{border-top:2px solid;margin-top:1em;border-color:Silver}.figbottom{border-bottom:2px solid;border-color:Silver}.figtopbot{border-top:2px solid;border-bottom:2px solid;margin-top:1em;border-color:Silver}.ullinks{margin-left:0;list-style-type:none}.ulchildlink{margin-top:1em;margin-bottom:1em}.olchildlink{margin-top:1em;margin-bottom:1em;margin-left:1em}.linklist{margin-bottom:1em}.linklistwithchild{margin-left:1.5em;margin-bottom:1em}.sublinklist{margin-left:1.5em;margin-bottom:1em}.relconcepts{margin-left:1cm;margin-top:1em;margin-bottom:1em}.reltasks{margin-left:1cm;margin-top:1em;margin-bottom:1em}.relref{margin-left:1cm;margin-top:1em;margin-bottom:1em}.relinfo{margin-top:1em;margin-bottom:1em}.breadcrumb{font-size:smaller;margin-bottom:1em}.prereq{margin-left:0}.parentlink{margin-top:.6em;margin-bottom:.6em}.nextlink{margin-top:.6em;margin-bottom:.6em}.previouslink{margin-top:.6em;margin-bottom:.6em}.section{margin-top:1em;margin-bottom:1em}.example{margin-top:1em;margin-bottom:1em}table .note{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.note{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.notetitle{font-weight:bold;font-size:11.0pt}.notelisttitle{font-weight:bold}table .tip{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.tip{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.tiptitle{font-weight:bold;font-size:11.0pt}table .fastpath{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.fastpath{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.fastpathtitle{font-weight:bold;font-size:11.0pt}table .important{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman";font-style:italic}.important{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.importanttitle{font-weight:bold;font-size:11.0pt}table .remember{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman";font-style:italic}.remember{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.remembertitle{font-weight:bold;font-size:11.0pt}table .restriction{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman";font-style:italic}.restriction{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.restrictiontitle{font-weight:bold;font-size:11.0pt}table .attention{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.attention{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}.attentiontitle{font-weight:bold}table .danger{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.dangertitle{font-weight:bold}.danger{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}table .notice{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.noticetitle{font-weight:bold}.notice{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}table .warning{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.warningtitle{font-weight:bold}.warning{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}table .caution{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}table caption{margin-top:8pt;text-align:left;font-weight:bold}.tablenoborder{margin-top:8pt}.cautiontitle{font-weight:bold}.caution{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}ul.simple{list-style-type:none}li ul{margin-top:.6em}li{margin-top:.6em;margin-bottom:.6em}.note li{margin-top:.2em;margin-bottom:.2em}.tip li{margin-top:.2em;margin-bottom:.2em}.danger li{margin-top:.2em;margin-bottom:.2em}.warning li{margin-top:.2em;margin-bottom:.2em}.notice li{margin-top:.2em;margin-bottom:.2em}.caution li{margin-top:.2em;margin-bottom:.2em}.attention li{margin-top:.2em;margin-bottom:.2em}table li{margin-top:.2em;margin-bottom:.2em}.firstcol{font-weight:bold}th{background-color:#cfcfcf}.bold{font-weight:bold}.boldItalic{font-weight:bold;font-style:italic}.italic{font-style:italic}.underlined{text-decoration:underline}.var{font-style:italic}.shortcut{text-decoration:underline}.dlterm{font-weight:bold}dd{margin-top:.5em;margin-bottom:.5em}.dltermexpand{font-weight:bold;margin-top:1em}*[compact="yes"]>li{margin-top:0}*[compact="no"]>li{margin-top:.53em}.liexpand{margin-top:1em;margin-bottom:1em}.sliexpand{margin-top:1em;margin-bottom:1em}.dlexpand{margin-top:1em;margin-bottom:1em}.ddexpand{margin-top:1em;margin-bottom:1em}.stepexpand{margin-top:1em;margin-bottom:1em}.substepexpand{margin-top:1em;margin-bottom:1em}table{margin-top:8pt;margin-bottom:10.0pt;width:100%}thead{font-size:10.0pt;font-family:"Book Antiqua";font-weight:bold}tbody{font-size:11.0pt}ol{margin-top:1em;margin-bottom:1em;margin-left:1.7em;-webkit-padding-start:0}ul{margin-top:1em;margin-bottom:1em;margin-left:1.2em;-webkit-padding-start:0}ol ul{list-style:disc}ul ul{list-style:square}ol ol{list-style-type:lower-alpha}table ol{margin-top:.4em;margin-bottom:.4em;list-style:decimal}table ul{margin-top:.4em;margin-bottom:.4em;list-style:disc}table ul ul{margin-top:.4em;margin-bottom:.4em;list-style:square}table ol ol{margin-top:.4em;margin-bottom:.4em;list-style:lower-alpha}table ol ul{margin-top:.4em;margin-bottom:.4em;list-style:disc}table ul ol{margin-top:.4em;margin-bottom:.4em;list-style:decimal}.substepthirdol{list-style-type:lower-roman}div.imageleft{text-align:left}div.imagecenter{text-align:center}div.imageright{text-align:right}div.imagejustify{text-align:justify}div.noblankline{text-align:center}div.noblankline img{margin-top:0}pre{font-size:10.0pt;border-width:2px;padding:2px;margin-top:5px;margin-bottom:5px;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}pre.screen{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;white-space:pre}pre.codeblock{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;white-space:pre}.dropdownAllButtonexpand{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}.dropdownAllButtoncollapse{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;text-decoration:underline;color:#007af4}.dropdowntitle{background-repeat:no-repeat;background-position:0 4px;padding-left:15px;cursor:pointer;text-decoration:underline;color:#007af4}.dropdownexpand .dropdowntitle{background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.dropdowncollapse .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.dropdowncollapsetable .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.prefacesectiontitle1{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:-1cm;text-indent:0;font-size:18.0pt;font-family:"Book Antiqua";font-weight:bold;overflow:auto}.termcolor{color:blue;cursor:pointer}#dhtmlgoodies_tooltip{background-color:#f0f0d2;border:1px solid #000;position:absolute;display:none;z-index:20000;padding:2px;font-size:.9em;-moz-border-radius:6px;font-family:"Trebuchet MS","Lucida Sans Unicode",Arial,sans-serif}#dhtmlgoodies_tooltipShadow{position:absolute;background-color:#555;display:none;z-index:10000;opacity:.7;filter:alpha(opacity=70);-khtml-opacity:.7;-moz-opacity:.7;-moz-border-radius:6px}.freeze{position:fixed;_position:absolute;_top:expression(eval(document.documentElement.scrollTop));left:10;top:0}.hrcopyright{color:#3f4e5d;margin-top:18pt;margin-left:-1cm}.hwcopyright{text-align:center;font-family:Arial;margin-left:-1cm} \ No newline at end of file diff --git a/docs/kms/api-ref/public_sys-resources/commonrtl.css b/docs/kms/api-ref/public_sys-resources/commonrtl.css new file mode 100644 index 000000000..f261da752 --- /dev/null +++ b/docs/kms/api-ref/public_sys-resources/commonrtl.css @@ -0,0 +1,2 @@ +/*! Copyright (c) Huawei Technologies Co., Ltd. 2020-2022. All rights reserved. */.msgph{font-family:Courier New}.unresolved{background-color:#87ceeb}.noTemplate{background-color:#ff0}.base{background-color:#fff}/*! Add space for top level topics */.nested0,.p{margin-top:1em}/*! div with class=p is used for paragraphs that contain blocks, to keep the XHTML valid *//*! Default of italics to set apart figure captions */.figcap,.italic,.var{font-style:italic}.figdesc{font-style:normal}/*! Use @frame to create frames on figures */.figborder{padding-left:3px;padding-right:3px;margin-top:1em;border:2px solid Silver}.figsides{margin-top:1em;padding-left:3px;padding-right:3px;border-left:2px solid Silver;border-right:2px solid Silver}.figtop{border-top:2px solid Silver;margin-top:1em}.figbottom{border-bottom:2px solid Silver}.figtopbot{border-top:2px solid Silver;border-bottom:2px solid Silver;margin-top:1em}/*! Most link groups are created with
. Ensure they have space before and after. */.ullinks,ul.simple{list-style-type:none}.attention,.danger,.ddexpand,.dlexpand,.example,.fastpath,.important,.liexpand,.linklist,.note,.notice,.olchildlink,.relconcepts,.relinfo,.relref,.reltasks,.remember,.restriction,.section,.sliexpand,.stepexpand,.substepexpand,.tip,.ulchildlink,.warning{margin-top:1em;margin-bottom:1em}.linklistwithchild,.sublinklist{margin-top:1em;margin-right:1.5em;margin-bottom:1em}.breadcrumb{font-size:smaller;margin-bottom:1em}.prereq{margin-right:20px}/*! Set heading sizes, getting smaller for deeper nesting */.topictitle1{font-size:1.34em;margin-top:0;margin-bottom:.1em}.topictitle2,.topictitle3,.topictitle4,.topictitle5,.topictitle6,.sectiontitle{font-size:1.17em}.topictitle2{margin-top:1pc;margin-bottom:.45em}.topictitle3{margin-top:1pc;margin-bottom:.17em;font-weight:700}.topictitle4{margin-top:.83em;font-weight:700}.topictitle5{font-weight:700}.topictitle6{font-style:italic}.sectiontitle{margin-top:1em;margin-bottom:0;color:#000;font-weight:700}/*! All note formats have the same default presentation */.attentiontitle,.bold,.cautiontitle,.dangertitle,.dlterm,.fastpathtitle,.firstcol,.importanttitle,.notelisttitle,.notetitle,.noticetitle,.parmname,.remembertitle,.restrictiontitle,.tiptitle,.uicontrol,.warningtitle{font-weight:700}.caution{font-weight:700;margin-bottom:1em}/*! Simple lists do not get a bullet *//*! Used on the first column of a table, when rowheader="firstcol" is used *//*! Various basic phrase styles */.boldItalic{font-weight:700;font-style:italic}.shortcut,.underlined{text-decoration:underline}/*! 2008-10-27 keyword采用跟随上下文的样式 +*//*! Default of bold for definition list terms *//*! Use CSS to expand lists with @compact="no" */.dltermexpand{font-weight:700;margin-top:1em}[compact="yes"]>li{margin-top:0}[compact="no"]>li{margin-top:.53em}/*! Align images based on @align on topic/image */div.imageleft,.text-align-left{text-align:left}div.imagecenter,.text-align-center{text-align:center}div.imageright,.text-align-right{text-align:right}div.imagejustify,.text-align-justify{text-align:justify}.cellrowborder{border-right:0;border-top:0;border-left:1px solid;border-bottom:1px solid}.row-nocellborder{border-left:hidden;border-right:0;border-top:0;border-bottom:1px solid}.cell-norowborder{border-top:0;border-bottom:hidden;border-right:0;border-left:1px solid}.nocellnorowborder{border:0;border-left:hidden;border-bottom:hidden}pre.codeblock,pre.screen{padding:5px;border:outset;background-color:#ccc;margin-top:2px;margin-bottom:2px;white-space:pre} \ No newline at end of file diff --git a/docs/kms/api-ref/public_sys-resources/danger_3.0-en-us.png b/docs/kms/api-ref/public_sys-resources/danger_3.0-en-us.png new file mode 100644 index 000000000..47a9c7235 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/danger_3.0-en-us.png differ diff --git a/docs/kms/api-ref/public_sys-resources/delta.gif b/docs/kms/api-ref/public_sys-resources/delta.gif new file mode 100644 index 000000000..0d1b1f674 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/delta.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/deltaend.gif b/docs/kms/api-ref/public_sys-resources/deltaend.gif new file mode 100644 index 000000000..cc7da0fc8 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/deltaend.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/icon-arrowdn.gif b/docs/kms/api-ref/public_sys-resources/icon-arrowdn.gif new file mode 100644 index 000000000..84eec9be2 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/icon-arrowdn.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/icon-arrowrt.gif b/docs/kms/api-ref/public_sys-resources/icon-arrowrt.gif new file mode 100644 index 000000000..39583d168 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/icon-arrowrt.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/icon-caution.gif b/docs/kms/api-ref/public_sys-resources/icon-caution.gif new file mode 100644 index 000000000..079c79b26 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/icon-caution.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/icon-danger.gif b/docs/kms/api-ref/public_sys-resources/icon-danger.gif new file mode 100644 index 000000000..079c79b26 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/icon-danger.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/icon-huawei.gif b/docs/kms/api-ref/public_sys-resources/icon-huawei.gif new file mode 100644 index 000000000..a31d60f89 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/icon-huawei.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/icon-note.gif b/docs/kms/api-ref/public_sys-resources/icon-note.gif new file mode 100644 index 000000000..31be2b039 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/icon-note.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/icon-notice.gif b/docs/kms/api-ref/public_sys-resources/icon-notice.gif new file mode 100644 index 000000000..409070650 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/icon-notice.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/icon-tip.gif b/docs/kms/api-ref/public_sys-resources/icon-tip.gif new file mode 100644 index 000000000..c47bae05c Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/icon-tip.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/icon-warning.gif b/docs/kms/api-ref/public_sys-resources/icon-warning.gif new file mode 100644 index 000000000..079c79b26 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/icon-warning.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/imageResize.js b/docs/kms/api-ref/public_sys-resources/imageResize.js new file mode 100644 index 000000000..37309ce3b --- /dev/null +++ b/docs/kms/api-ref/public_sys-resources/imageResize.js @@ -0,0 +1,18 @@ +/** IDP renames $ to $$$,jQueryHW2 */ +var $$$, jQueryHW2; +jQueryHW2 = $$$ = $; + +function image_size(a) { + $$$(window).on('load', function () { + $$$(a).each(function () { + var e = $$$(this); + var f = e.width(); + var d = e.height(); + var b = f; + var c = d; + e.click(function () { + tb_show("", this.src, false) + }) + }) + }) +}; \ No newline at end of file diff --git a/docs/kms/api-ref/public_sys-resources/imageclose.gif b/docs/kms/api-ref/public_sys-resources/imageclose.gif new file mode 100644 index 000000000..3a3344af4 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/imageclose.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/imageclosehover.gif b/docs/kms/api-ref/public_sys-resources/imageclosehover.gif new file mode 100644 index 000000000..8699d5e36 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/imageclosehover.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/imagemax.gif b/docs/kms/api-ref/public_sys-resources/imagemax.gif new file mode 100644 index 000000000..99c07dc25 Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/imagemax.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/imagemaxhover.gif b/docs/kms/api-ref/public_sys-resources/imagemaxhover.gif new file mode 100644 index 000000000..d01d77d6e Binary files /dev/null and b/docs/kms/api-ref/public_sys-resources/imagemaxhover.gif differ diff --git a/docs/kms/api-ref/public_sys-resources/jquery-migrate-1.2.1.min.js b/docs/kms/api-ref/public_sys-resources/jquery-migrate-1.2.1.min.js new file mode 100644 index 000000000..88f4844bf --- /dev/null +++ b/docs/kms/api-ref/public_sys-resources/jquery-migrate-1.2.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */ +jQueryHW2.migrateMute===void 0&&(jQueryHW2.migrateMute=!0),function(e,t,n){function r(n){}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute,e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQueryHW2 is not compatible with Quirks Mode");var o=e("",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQueryHW2.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQueryHW2.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQueryHW2.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQueryHW2.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQueryHW2.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQueryHW2.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQueryHW2.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQueryHW2.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQueryHW2.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQueryHW2.fn.andSelf() replaced by jQueryHW2.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQueryHW2.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].concat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQueryHW2.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQueryHW2.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQueryHW2.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQueryHW2.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQueryHW2.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQueryHW2,window); \ No newline at end of file diff --git a/docs/kms/api-ref/public_sys-resources/jquery-ui.min.js b/docs/kms/api-ref/public_sys-resources/jquery-ui.min.js new file mode 100644 index 000000000..50b036f4d --- /dev/null +++ b/docs/kms/api-ref/public_sys-resources/jquery-ui.min.js @@ -0,0 +1,6 @@ +/*! jQuery UI - v1.13.2 - 2022-07-14 +* http://jqueryui.com +* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(V){"use strict";V.ui=V.ui||{};V.ui.version="1.13.2";var n,i=0,a=Array.prototype.hasOwnProperty,r=Array.prototype.slice;V.cleanData=(n=V.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=V._data(i,"events"))&&e.remove&&V(i).triggerHandler("remove");n(t)}),V.widget=function(t,i,e){var s,n,o,a={},r=t.split(".")[0],l=r+"-"+(t=t.split(".")[1]);return e||(e=i,i=V.Widget),Array.isArray(e)&&(e=V.extend.apply(null,[{}].concat(e))),V.expr.pseudos[l.toLowerCase()]=function(t){return!!V.data(t,l)},V[r]=V[r]||{},s=V[r][t],n=V[r][t]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},V.extend(n,s,{version:e.version,_proto:V.extend({},e),_childConstructors:[]}),(o=new i).options=V.widget.extend({},o.options),V.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)}function o(t){return i.prototype[e].apply(this,t)}a[e]="function"==typeof s?function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}:s}),n.prototype=V.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},a,{constructor:n,namespace:r,widgetName:t,widgetFullName:l}),s?(V.each(s._childConstructors,function(t,e){var i=e.prototype;V.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),V.widget.bridge(t,n),n},V.widget.extend=function(t){for(var e,i,s=r.call(arguments,1),n=0,o=s.length;n",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=V(e||this.defaultElement||this)[0],this.element=V(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=V(),this.hoverable=V(),this.focusable=V(),this.classesElementLookup={},e!==this&&(V.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=V(e.style?e.ownerDocument:e.document||e),this.window=V(this.document[0].defaultView||this.document[0].parentWindow)),this.options=V.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:V.noop,_create:V.noop,_init:V.noop,destroy:function(){var i=this;this._destroy(),V.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:V.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return V.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=V.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return V("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(k(s),k(n))?o.important="horizontal":o.important="vertical",u.using.call(this,t,o)}),a.offset(V.extend(h,{using:t}))})},V.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,a=s-o,r=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0")[0],w=d.each;function P(t){return null==t?t+"":"object"==typeof t?p[e.call(t)]||"object":typeof t}function M(t,e,i){var s=v[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:Math.min(s.max,Math.max(0,t)))}function S(s){var n=m(),o=n._rgba=[];return s=s.toLowerCase(),w(g,function(t,e){var i=e.re.exec(s),i=i&&e.parse(i),e=e.space||"rgba";if(i)return i=n[e](i),n[_[e].cache]=i[_[e].cache],o=n._rgba=i._rgba,!1}),o.length?("0,0,0,0"===o.join()&&d.extend(o,B.transparent),n):B[s]}function H(t,e,i){return 6*(i=(i+1)%1)<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}y.style.cssText="background-color:rgba(1,1,1,.5)",b.rgba=-1o.mod/2?s+=o.mod:s-n>o.mod/2&&(s-=o.mod)),l[i]=M((n-s)*a+s,e)))}),this[e](l)},blend:function(t){if(1===this._rgba[3])return this;var e=this._rgba.slice(),i=e.pop(),s=m(t)._rgba;return m(d.map(e,function(t,e){return(1-i)*s[e]+i*t}))},toRgbaString:function(){var t="rgba(",e=d.map(this._rgba,function(t,e){return null!=t?t:2").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:i.width(),height:i.height()},n=document.activeElement;try{n.id}catch(t){n=document.body}return i.wrap(t),i[0]!==n&&!V.contains(i[0],n)||V(n).trigger("focus"),t=i.parent(),"static"===i.css("position")?(t.css({position:"relative"}),i.css({position:"relative"})):(V.extend(s,{position:i.css("position"),zIndex:i.css("z-index")}),V.each(["top","left","bottom","right"],function(t,e){s[e]=i.css(e),isNaN(parseInt(s[e],10))&&(s[e]="auto")}),i.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),i.css(e),t.css(s).show()},removeWrapper:function(t){var e=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),t[0]!==e&&!V.contains(t[0],e)||V(e).trigger("focus")),t}}),V.extend(V.effects,{version:"1.13.2",define:function(t,e,i){return i||(i=e,e="effect"),V.effects.effect[t]=i,V.effects.effect[t].mode=e,i},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,e="vertical"!==i?(e||100)/100:1;return{height:t.height()*e,width:t.width()*s,outerHeight:t.outerHeight()*e,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();1").insertAfter(t).css({display:/^(inline|ruby)/.test(t.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:t.css("marginTop"),marginBottom:t.css("marginBottom"),marginLeft:t.css("marginLeft"),marginRight:t.css("marginRight"),float:t.css("float")}).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).addClass("ui-effects-placeholder"),t.data(j+"placeholder",e)),t.css({position:i,left:s.left,top:s.top}),e},removePlaceholder:function(t){var e=j+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(t){V.effects.restoreStyle(t),V.effects.removePlaceholder(t)},setTransition:function(s,t,n,o){return o=o||{},V.each(t,function(t,e){var i=s.cssUnit(e);0");l.appendTo("body").addClass(t.className).css({top:s.top-a,left:s.left-r,height:i.innerHeight(),width:i.innerWidth(),position:n?"fixed":"absolute"}).animate(o,t.duration,t.easing,function(){l.remove(),"function"==typeof e&&e()})}}),V.fx.step.clip=function(t){t.clipInit||(t.start=V(t.elem).cssClip(),"string"==typeof t.end&&(t.end=G(t.end,t.elem)),t.clipInit=!0),V(t.elem).cssClip({top:t.pos*(t.end.top-t.start.top)+t.start.top,right:t.pos*(t.end.right-t.start.right)+t.start.right,bottom:t.pos*(t.end.bottom-t.start.bottom)+t.start.bottom,left:t.pos*(t.end.left-t.start.left)+t.start.left})},Y={},V.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,t){Y[t]=function(t){return Math.pow(t,e+2)}}),V.extend(Y,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;t<((e=Math.pow(2,--i))-1)/11;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),V.each(Y,function(t,e){V.easing["easeIn"+t]=e,V.easing["easeOut"+t]=function(t){return 1-e(1-t)},V.easing["easeInOut"+t]=function(t){return t<.5?e(2*t)/2:1-e(-2*t+2)/2}});y=V.effects,V.effects.define("blind","hide",function(t,e){var i={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},s=V(this),n=t.direction||"up",o=s.cssClip(),a={clip:V.extend({},o)},r=V.effects.createPlaceholder(s);a.clip[i[n][0]]=a.clip[i[n][1]],"show"===t.mode&&(s.cssClip(a.clip),r&&r.css(V.effects.clipToBox(a)),a.clip=o),r&&r.animate(V.effects.clipToBox(a),t.duration,t.easing),s.animate(a,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),V.effects.define("bounce",function(t,e){var i,s,n=V(this),o=t.mode,a="hide"===o,r="show"===o,l=t.direction||"up",h=t.distance,c=t.times||5,o=2*c+(r||a?1:0),u=t.duration/o,d=t.easing,p="up"===l||"down"===l?"top":"left",f="up"===l||"left"===l,g=0,t=n.queue().length;for(V.effects.createPlaceholder(n),l=n.css(p),h=h||n["top"==p?"outerHeight":"outerWidth"]()/3,r&&((s={opacity:1})[p]=l,n.css("opacity",0).css(p,f?2*-h:2*h).animate(s,u,d)),a&&(h/=Math.pow(2,c-1)),(s={})[p]=l;g").css({position:"absolute",visibility:"visible",left:-s*p,top:-i*f}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:p,height:f,left:n+(u?a*p:0),top:o+(u?r*f:0),opacity:u?0:1}).animate({left:n+(u?0:a*p),top:o+(u?0:r*f),opacity:u?1:0},t.duration||500,t.easing,m)}),V.effects.define("fade","toggle",function(t,e){var i="show"===t.mode;V(this).css("opacity",i?0:1).animate({opacity:i?1:0},{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),V.effects.define("fold","hide",function(e,t){var i=V(this),s=e.mode,n="show"===s,o="hide"===s,a=e.size||15,r=/([0-9]+)%/.exec(a),l=!!e.horizFirst?["right","bottom"]:["bottom","right"],h=e.duration/2,c=V.effects.createPlaceholder(i),u=i.cssClip(),d={clip:V.extend({},u)},p={clip:V.extend({},u)},f=[u[l[0]],u[l[1]]],s=i.queue().length;r&&(a=parseInt(r[1],10)/100*f[o?0:1]),d.clip[l[0]]=a,p.clip[l[0]]=a,p.clip[l[1]]=0,n&&(i.cssClip(p.clip),c&&c.css(V.effects.clipToBox(p)),p.clip=u),i.queue(function(t){c&&c.animate(V.effects.clipToBox(d),h,e.easing).animate(V.effects.clipToBox(p),h,e.easing),t()}).animate(d,h,e.easing).animate(p,h,e.easing).queue(t),V.effects.unshift(i,s,4)}),V.effects.define("highlight","show",function(t,e){var i=V(this),s={backgroundColor:i.css("backgroundColor")};"hide"===t.mode&&(s.opacity=0),V.effects.saveStyle(i),i.css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(s,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),V.effects.define("size",function(s,e){var n,i=V(this),t=["fontSize"],o=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],a=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],r=s.mode,l="effect"!==r,h=s.scale||"both",c=s.origin||["middle","center"],u=i.css("position"),d=i.position(),p=V.effects.scaledDimensions(i),f=s.from||p,g=s.to||V.effects.scaledDimensions(i,0);V.effects.createPlaceholder(i),"show"===r&&(r=f,f=g,g=r),n={from:{y:f.height/p.height,x:f.width/p.width},to:{y:g.height/p.height,x:g.width/p.width}},"box"!==h&&"both"!==h||(n.from.y!==n.to.y&&(f=V.effects.setTransition(i,o,n.from.y,f),g=V.effects.setTransition(i,o,n.to.y,g)),n.from.x!==n.to.x&&(f=V.effects.setTransition(i,a,n.from.x,f),g=V.effects.setTransition(i,a,n.to.x,g))),"content"!==h&&"both"!==h||n.from.y!==n.to.y&&(f=V.effects.setTransition(i,t,n.from.y,f),g=V.effects.setTransition(i,t,n.to.y,g)),c&&(c=V.effects.getBaseline(c,p),f.top=(p.outerHeight-f.outerHeight)*c.y+d.top,f.left=(p.outerWidth-f.outerWidth)*c.x+d.left,g.top=(p.outerHeight-g.outerHeight)*c.y+d.top,g.left=(p.outerWidth-g.outerWidth)*c.x+d.left),delete f.outerHeight,delete f.outerWidth,i.css(f),"content"!==h&&"both"!==h||(o=o.concat(["marginTop","marginBottom"]).concat(t),a=a.concat(["marginLeft","marginRight"]),i.find("*[width]").each(function(){var t=V(this),e=V.effects.scaledDimensions(t),i={height:e.height*n.from.y,width:e.width*n.from.x,outerHeight:e.outerHeight*n.from.y,outerWidth:e.outerWidth*n.from.x},e={height:e.height*n.to.y,width:e.width*n.to.x,outerHeight:e.height*n.to.y,outerWidth:e.width*n.to.x};n.from.y!==n.to.y&&(i=V.effects.setTransition(t,o,n.from.y,i),e=V.effects.setTransition(t,o,n.to.y,e)),n.from.x!==n.to.x&&(i=V.effects.setTransition(t,a,n.from.x,i),e=V.effects.setTransition(t,a,n.to.x,e)),l&&V.effects.saveStyle(t),t.css(i),t.animate(e,s.duration,s.easing,function(){l&&V.effects.restoreStyle(t)})})),i.animate(g,{queue:!1,duration:s.duration,easing:s.easing,complete:function(){var t=i.offset();0===g.opacity&&i.css("opacity",f.opacity),l||(i.css("position","static"===u?"relative":u).offset(t),V.effects.saveStyle(i)),e()}})}),V.effects.define("scale",function(t,e){var i=V(this),s=t.mode,s=parseInt(t.percent,10)||(0===parseInt(t.percent,10)||"effect"!==s?0:100),s=V.extend(!0,{from:V.effects.scaledDimensions(i),to:V.effects.scaledDimensions(i,s,t.direction||"both"),origin:t.origin||["middle","center"]},t);t.fade&&(s.from.opacity=1,s.to.opacity=0),V.effects.effect.size.call(this,s,e)}),V.effects.define("puff","hide",function(t,e){t=V.extend(!0,{},t,{fade:!0,percent:parseInt(t.percent,10)||150});V.effects.effect.scale.call(this,t,e)}),V.effects.define("pulsate","show",function(t,e){var i=V(this),s=t.mode,n="show"===s,o=2*(t.times||5)+(n||"hide"===s?1:0),a=t.duration/o,r=0,l=1,s=i.queue().length;for(!n&&i.is(":visible")||(i.css("opacity",0).show(),r=1);l li > :first-child").add(t.find("> :not(li)").even())},heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=V(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),t.collapsible||!1!==t.active&&null!=t.active||(t.active=0),this._processPanels(),t.active<0&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():V()}},_createIcons:function(){var t,e=this.options.icons;e&&(t=V(""),this._addClass(t,"ui-accordion-header-icon","ui-icon "+e.header),t.prependTo(this.headers),t=this.active.children(".ui-accordion-header-icon"),this._removeClass(t,e.header)._addClass(t,null,e.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){"active"!==t?("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||!1!==this.options.active||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons())):this._activate(e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var e=V.ui.keyCode,i=this.headers.length,s=this.headers.index(t.target),n=!1;switch(t.keyCode){case e.RIGHT:case e.DOWN:n=this.headers[(s+1)%i];break;case e.LEFT:case e.UP:n=this.headers[(s-1+i)%i];break;case e.SPACE:case e.ENTER:this._eventHandler(t);break;case e.HOME:n=this.headers[0];break;case e.END:n=this.headers[i-1]}n&&(V(t.target).attr("tabIndex",-1),V(n).attr("tabIndex",0),V(n).trigger("focus"),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===V.ui.keyCode.UP&&t.ctrlKey&&V(t.currentTarget).prev().trigger("focus")},refresh:function(){var t=this.options;this._processPanels(),!1===t.active&&!0===t.collapsible||!this.headers.length?(t.active=!1,this.active=V()):!1===t.active?this._activate(0):this.active.length&&!V.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=V()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;"function"==typeof this.options.header?this.headers=this.options.header(this.element):this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var i,t=this.options,e=t.heightStyle,s=this.element.parent();this.active=this._findActive(t.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var t=V(this),e=t.uniqueId().attr("id"),i=t.next(),s=i.uniqueId().attr("id");t.attr("aria-controls",s),i.attr("aria-labelledby",e)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(t.event),"fill"===e?(i=s.height(),this.element.siblings(":visible").each(function(){var t=V(this),e=t.css("position");"absolute"!==e&&"fixed"!==e&&(i-=t.outerHeight(!0))}),this.headers.each(function(){i-=V(this).outerHeight(!0)}),this.headers.next().each(function(){V(this).height(Math.max(0,i-V(this).innerHeight()+V(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.headers.next().each(function(){var t=V(this).is(":visible");t||V(this).show(),i=Math.max(i,V(this).css("height","").height()),t||V(this).hide()}).height(i))},_activate:function(t){t=this._findActive(t)[0];t!==this.active[0]&&(t=t||this.active[0],this._eventHandler({target:t,currentTarget:t,preventDefault:V.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):V()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&V.each(t.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var e=this.options,i=this.active,s=V(t.currentTarget),n=s[0]===i[0],o=n&&e.collapsible,a=o?V():s.next(),r=i.next(),a={oldHeader:i,oldPanel:r,newHeader:o?V():s,newPanel:a};t.preventDefault(),n&&!e.collapsible||!1===this._trigger("beforeActivate",t,a)||(e.active=!o&&this.headers.index(s),this.active=n?V():s,this._toggle(a),this._removeClass(i,"ui-accordion-header-active","ui-state-active"),e.icons&&(i=i.children(".ui-accordion-header-icon"),this._removeClass(i,null,e.icons.activeHeader)._addClass(i,null,e.icons.header)),n||(this._removeClass(s,"ui-accordion-header-collapsed")._addClass(s,"ui-accordion-header-active","ui-state-active"),e.icons&&(n=s.children(".ui-accordion-header-icon"),this._removeClass(n,null,e.icons.header)._addClass(n,null,e.icons.activeHeader)),this._addClass(s.next(),"ui-accordion-content-active")))},_toggle:function(t){var e=t.newPanel,i=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=e,this.prevHide=i,this.options.animate?this._animate(e,i,t):(i.hide(),e.show(),this._toggleComplete(t)),i.attr({"aria-hidden":"true"}),i.prev().attr({"aria-selected":"false","aria-expanded":"false"}),e.length&&i.length?i.prev().attr({tabIndex:-1,"aria-expanded":"false"}):e.length&&this.headers.filter(function(){return 0===parseInt(V(this).attr("tabIndex"),10)}).attr("tabIndex",-1),e.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,i,e){var s,n,o,a=this,r=0,l=t.css("box-sizing"),h=t.length&&(!i.length||t.index()",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=V(t.target),i=V(V.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){V.contains(this.element[0],V.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=V(t.target).closest(".ui-menu-item"),i=V(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=V(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case V.ui.keyCode.PAGE_UP:this.previousPage(t);break;case V.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case V.ui.keyCode.HOME:this._move("first","first",t);break;case V.ui.keyCode.END:this._move("last","last",t);break;case V.ui.keyCode.UP:this.previous(t);break;case V.ui.keyCode.DOWN:this.next(t);break;case V.ui.keyCode.LEFT:this.collapse(t);break;case V.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case V.ui.keyCode.ENTER:case V.ui.keyCode.SPACE:this._activate(t);break;case V.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=V(this),e=t.prev(),i=V("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=V(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!V.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(V.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(V.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=V.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=V.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=V("