tencentcloud-sdk-kms 3.0.1073 → 3.0.1089

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 92623d33be2c7fd955b71f7d55c9467c503296f8
4
- data.tar.gz: 6dad354ca2bdb698530232548fa3d87d1927ea9f
3
+ metadata.gz: 87b85714f39419ec8a46865573cb9300a1d4d5e3
4
+ data.tar.gz: df2780da3621d85a021b0bbe04493da3743c33e2
5
5
  SHA512:
6
- metadata.gz: de4c1e988a64cf1213e6b87b327af720f11c7d304fba662b3e75fb1930cfba582be2af01db805c0ca18b14a526bf8c337aa1a082896b5e4cdaac9772a4d4aad4
7
- data.tar.gz: dc60b8c7564540b622f27bdd93efccec4b9f8a0d7adf5a0d0c1d05ff0c5af4698012ecd2cf7884190b9c1bcb959246ab357e07ab6a4017a513594bc492441421
6
+ metadata.gz: 58f4fc713d2a80a3f7a6660365806abc0d3a357c7a6c75d977ba0a0501beef0665e6035d98aad2da1e2dc0d796be9764279518cfeb79f91c159134e425329ee6
7
+ data.tar.gz: bb0c40ee5a5b3c1b5d2abc04d4b7a93b193c0771525e64964314399307fab3388e7d070ec689892e061d747b4668642abf0fa6269bb93785fc9a98f2411ed0bd
data/lib/VERSION CHANGED
@@ -1 +1 @@
1
- 3.0.1073
1
+ 3.0.1089
@@ -125,6 +125,30 @@ module TencentCloud
125
125
  raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
126
126
  end
127
127
 
128
+ # 取消计划删除数据密钥
129
+
130
+ # @param request: Request instance for CancelDataKeyDeletion.
131
+ # @type request: :class:`Tencentcloud::kms::V20190118::CancelDataKeyDeletionRequest`
132
+ # @rtype: :class:`Tencentcloud::kms::V20190118::CancelDataKeyDeletionResponse`
133
+ def CancelDataKeyDeletion(request)
134
+ body = send_request('CancelDataKeyDeletion', request.serialize)
135
+ response = JSON.parse(body)
136
+ if response['Response'].key?('Error') == false
137
+ model = CancelDataKeyDeletionResponse.new
138
+ model.deserialize(response['Response'])
139
+ model
140
+ else
141
+ code = response['Response']['Error']['Code']
142
+ message = response['Response']['Error']['Message']
143
+ reqid = response['Response']['RequestId']
144
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
145
+ end
146
+ rescue TencentCloud::Common::TencentCloudSDKException => e
147
+ raise e
148
+ rescue StandardError => e
149
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
150
+ end
151
+
128
152
  # 取消密钥归档,取消后密钥的状态变为Enabled。
129
153
 
130
154
  # @param request: Request instance for CancelKeyArchive.
@@ -293,6 +317,54 @@ module TencentCloud
293
317
  raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
294
318
  end
295
319
 
320
+ # 获取数据密钥的详情
321
+
322
+ # @param request: Request instance for DescribeDataKey.
323
+ # @type request: :class:`Tencentcloud::kms::V20190118::DescribeDataKeyRequest`
324
+ # @rtype: :class:`Tencentcloud::kms::V20190118::DescribeDataKeyResponse`
325
+ def DescribeDataKey(request)
326
+ body = send_request('DescribeDataKey', request.serialize)
327
+ response = JSON.parse(body)
328
+ if response['Response'].key?('Error') == false
329
+ model = DescribeDataKeyResponse.new
330
+ model.deserialize(response['Response'])
331
+ model
332
+ else
333
+ code = response['Response']['Error']['Code']
334
+ message = response['Response']['Error']['Message']
335
+ reqid = response['Response']['RequestId']
336
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
337
+ end
338
+ rescue TencentCloud::Common::TencentCloudSDKException => e
339
+ raise e
340
+ rescue StandardError => e
341
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
342
+ end
343
+
344
+ # 返回数据密钥属性信息列表
345
+
346
+ # @param request: Request instance for DescribeDataKeys.
347
+ # @type request: :class:`Tencentcloud::kms::V20190118::DescribeDataKeysRequest`
348
+ # @rtype: :class:`Tencentcloud::kms::V20190118::DescribeDataKeysResponse`
349
+ def DescribeDataKeys(request)
350
+ body = send_request('DescribeDataKeys', request.serialize)
351
+ response = JSON.parse(body)
352
+ if response['Response'].key?('Error') == false
353
+ model = DescribeDataKeysResponse.new
354
+ model.deserialize(response['Response'])
355
+ model
356
+ else
357
+ code = response['Response']['Error']['Code']
358
+ message = response['Response']['Error']['Message']
359
+ reqid = response['Response']['RequestId']
360
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
361
+ end
362
+ rescue TencentCloud::Common::TencentCloudSDKException => e
363
+ raise e
364
+ rescue StandardError => e
365
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
366
+ end
367
+
296
368
  # 用于获取指定KeyId的主密钥属性详情信息。
297
369
 
298
370
  # @param request: Request instance for DescribeKey.
@@ -461,6 +533,54 @@ module TencentCloud
461
533
  raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
462
534
  end
463
535
 
536
+ # 禁用数据密钥
537
+
538
+ # @param request: Request instance for DisableDataKey.
539
+ # @type request: :class:`Tencentcloud::kms::V20190118::DisableDataKeyRequest`
540
+ # @rtype: :class:`Tencentcloud::kms::V20190118::DisableDataKeyResponse`
541
+ def DisableDataKey(request)
542
+ body = send_request('DisableDataKey', request.serialize)
543
+ response = JSON.parse(body)
544
+ if response['Response'].key?('Error') == false
545
+ model = DisableDataKeyResponse.new
546
+ model.deserialize(response['Response'])
547
+ model
548
+ else
549
+ code = response['Response']['Error']['Code']
550
+ message = response['Response']['Error']['Message']
551
+ reqid = response['Response']['RequestId']
552
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
553
+ end
554
+ rescue TencentCloud::Common::TencentCloudSDKException => e
555
+ raise e
556
+ rescue StandardError => e
557
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
558
+ end
559
+
560
+ # 批量禁用数据密钥
561
+
562
+ # @param request: Request instance for DisableDataKeys.
563
+ # @type request: :class:`Tencentcloud::kms::V20190118::DisableDataKeysRequest`
564
+ # @rtype: :class:`Tencentcloud::kms::V20190118::DisableDataKeysResponse`
565
+ def DisableDataKeys(request)
566
+ body = send_request('DisableDataKeys', request.serialize)
567
+ response = JSON.parse(body)
568
+ if response['Response'].key?('Error') == false
569
+ model = DisableDataKeysResponse.new
570
+ model.deserialize(response['Response'])
571
+ model
572
+ else
573
+ code = response['Response']['Error']['Code']
574
+ message = response['Response']['Error']['Message']
575
+ reqid = response['Response']['RequestId']
576
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
577
+ end
578
+ rescue TencentCloud::Common::TencentCloudSDKException => e
579
+ raise e
580
+ rescue StandardError => e
581
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
582
+ end
583
+
464
584
  # 本接口用于禁用一个主密钥,处于禁用状态的Key无法用于加密、解密操作。
465
585
 
466
586
  # @param request: Request instance for DisableKey.
@@ -581,6 +701,54 @@ module TencentCloud
581
701
  raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
582
702
  end
583
703
 
704
+ # 启用数据密钥
705
+
706
+ # @param request: Request instance for EnableDataKey.
707
+ # @type request: :class:`Tencentcloud::kms::V20190118::EnableDataKeyRequest`
708
+ # @rtype: :class:`Tencentcloud::kms::V20190118::EnableDataKeyResponse`
709
+ def EnableDataKey(request)
710
+ body = send_request('EnableDataKey', request.serialize)
711
+ response = JSON.parse(body)
712
+ if response['Response'].key?('Error') == false
713
+ model = EnableDataKeyResponse.new
714
+ model.deserialize(response['Response'])
715
+ model
716
+ else
717
+ code = response['Response']['Error']['Code']
718
+ message = response['Response']['Error']['Message']
719
+ reqid = response['Response']['RequestId']
720
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
721
+ end
722
+ rescue TencentCloud::Common::TencentCloudSDKException => e
723
+ raise e
724
+ rescue StandardError => e
725
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
726
+ end
727
+
728
+ # 批量启用数据密钥
729
+
730
+ # @param request: Request instance for EnableDataKeys.
731
+ # @type request: :class:`Tencentcloud::kms::V20190118::EnableDataKeysRequest`
732
+ # @rtype: :class:`Tencentcloud::kms::V20190118::EnableDataKeysResponse`
733
+ def EnableDataKeys(request)
734
+ body = send_request('EnableDataKeys', request.serialize)
735
+ response = JSON.parse(body)
736
+ if response['Response'].key?('Error') == false
737
+ model = EnableDataKeysResponse.new
738
+ model.deserialize(response['Response'])
739
+ model
740
+ else
741
+ code = response['Response']['Error']['Code']
742
+ message = response['Response']['Error']['Message']
743
+ reqid = response['Response']['RequestId']
744
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
745
+ end
746
+ rescue TencentCloud::Common::TencentCloudSDKException => e
747
+ raise e
748
+ rescue StandardError => e
749
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
750
+ end
751
+
584
752
  # 用于启用一个指定的CMK。
585
753
 
586
754
  # @param request: Request instance for EnableKey.
@@ -797,6 +965,54 @@ module TencentCloud
797
965
  raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
798
966
  end
799
967
 
968
+ # 下载数据密钥密文
969
+
970
+ # @param request: Request instance for GetDataKeyCiphertextBlob.
971
+ # @type request: :class:`Tencentcloud::kms::V20190118::GetDataKeyCiphertextBlobRequest`
972
+ # @rtype: :class:`Tencentcloud::kms::V20190118::GetDataKeyCiphertextBlobResponse`
973
+ def GetDataKeyCiphertextBlob(request)
974
+ body = send_request('GetDataKeyCiphertextBlob', request.serialize)
975
+ response = JSON.parse(body)
976
+ if response['Response'].key?('Error') == false
977
+ model = GetDataKeyCiphertextBlobResponse.new
978
+ model.deserialize(response['Response'])
979
+ model
980
+ else
981
+ code = response['Response']['Error']['Code']
982
+ message = response['Response']['Error']['Message']
983
+ reqid = response['Response']['RequestId']
984
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
985
+ end
986
+ rescue TencentCloud::Common::TencentCloudSDKException => e
987
+ raise e
988
+ rescue StandardError => e
989
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
990
+ end
991
+
992
+ # 获取数据密钥明文
993
+
994
+ # @param request: Request instance for GetDataKeyPlaintext.
995
+ # @type request: :class:`Tencentcloud::kms::V20190118::GetDataKeyPlaintextRequest`
996
+ # @rtype: :class:`Tencentcloud::kms::V20190118::GetDataKeyPlaintextResponse`
997
+ def GetDataKeyPlaintext(request)
998
+ body = send_request('GetDataKeyPlaintext', request.serialize)
999
+ response = JSON.parse(body)
1000
+ if response['Response'].key?('Error') == false
1001
+ model = GetDataKeyPlaintextResponse.new
1002
+ model.deserialize(response['Response'])
1003
+ model
1004
+ else
1005
+ code = response['Response']['Error']['Code']
1006
+ message = response['Response']['Error']['Message']
1007
+ reqid = response['Response']['RequestId']
1008
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1009
+ end
1010
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1011
+ raise e
1012
+ rescue StandardError => e
1013
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1014
+ end
1015
+
800
1016
  # 查询指定的CMK是否开启了密钥轮换功能。
801
1017
 
802
1018
  # @param request: Request instance for GetKeyRotationStatus.
@@ -917,6 +1133,30 @@ module TencentCloud
917
1133
  raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
918
1134
  end
919
1135
 
1136
+ # 数据密钥导入接口,并托管到KMS
1137
+
1138
+ # @param request: Request instance for ImportDataKey.
1139
+ # @type request: :class:`Tencentcloud::kms::V20190118::ImportDataKeyRequest`
1140
+ # @rtype: :class:`Tencentcloud::kms::V20190118::ImportDataKeyResponse`
1141
+ def ImportDataKey(request)
1142
+ body = send_request('ImportDataKey', request.serialize)
1143
+ response = JSON.parse(body)
1144
+ if response['Response'].key?('Error') == false
1145
+ model = ImportDataKeyResponse.new
1146
+ model.deserialize(response['Response'])
1147
+ model
1148
+ else
1149
+ code = response['Response']['Error']['Code']
1150
+ message = response['Response']['Error']['Message']
1151
+ reqid = response['Response']['RequestId']
1152
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1153
+ end
1154
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1155
+ raise e
1156
+ rescue StandardError => e
1157
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1158
+ end
1159
+
920
1160
  # 用于导入密钥材料。只有类型为EXTERNAL 的CMK 才可以导入,导入的密钥材料使用 GetParametersForImport 获取的密钥进行加密。可以为指定的 CMK 重新导入密钥材料,并重新指定过期时间,但必须导入相同的密钥材料。CMK 密钥材料导入后不可以更换密钥材料。导入的密钥材料过期或者被删除后,指定的CMK将无法使用,需要再次导入相同的密钥材料才能正常使用。CMK是独立的,同样的密钥材料可导入不同的 CMK 中,但使用其中一个 CMK 加密的数据无法使用另一个 CMK解密。
921
1161
  # 只有Enabled 和 PendingImport状态的CMK可以导入密钥材料。
922
1162
 
@@ -966,6 +1206,54 @@ module TencentCloud
966
1206
  raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
967
1207
  end
968
1208
 
1209
+ # 根据指定Offset和Limit获取数据密钥列表详情。
1210
+
1211
+ # @param request: Request instance for ListDataKeyDetail.
1212
+ # @type request: :class:`Tencentcloud::kms::V20190118::ListDataKeyDetailRequest`
1213
+ # @rtype: :class:`Tencentcloud::kms::V20190118::ListDataKeyDetailResponse`
1214
+ def ListDataKeyDetail(request)
1215
+ body = send_request('ListDataKeyDetail', request.serialize)
1216
+ response = JSON.parse(body)
1217
+ if response['Response'].key?('Error') == false
1218
+ model = ListDataKeyDetailResponse.new
1219
+ model.deserialize(response['Response'])
1220
+ model
1221
+ else
1222
+ code = response['Response']['Error']['Code']
1223
+ message = response['Response']['Error']['Message']
1224
+ reqid = response['Response']['RequestId']
1225
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1226
+ end
1227
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1228
+ raise e
1229
+ rescue StandardError => e
1230
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1231
+ end
1232
+
1233
+ # 用于查询数据密钥的列表
1234
+
1235
+ # @param request: Request instance for ListDataKeys.
1236
+ # @type request: :class:`Tencentcloud::kms::V20190118::ListDataKeysRequest`
1237
+ # @rtype: :class:`Tencentcloud::kms::V20190118::ListDataKeysResponse`
1238
+ def ListDataKeys(request)
1239
+ body = send_request('ListDataKeys', request.serialize)
1240
+ response = JSON.parse(body)
1241
+ if response['Response'].key?('Error') == false
1242
+ model = ListDataKeysResponse.new
1243
+ model.deserialize(response['Response'])
1244
+ model
1245
+ else
1246
+ code = response['Response']['Error']['Code']
1247
+ message = response['Response']['Error']['Message']
1248
+ reqid = response['Response']['RequestId']
1249
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1250
+ end
1251
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1252
+ raise e
1253
+ rescue StandardError => e
1254
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1255
+ end
1256
+
969
1257
  # 根据指定Offset和Limit获取主密钥列表详情。
970
1258
 
971
1259
  # @param request: Request instance for ListKeyDetail.
@@ -1158,6 +1446,30 @@ module TencentCloud
1158
1446
  raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1159
1447
  end
1160
1448
 
1449
+ # 计划删除数据密钥
1450
+
1451
+ # @param request: Request instance for ScheduleDataKeyDeletion.
1452
+ # @type request: :class:`Tencentcloud::kms::V20190118::ScheduleDataKeyDeletionRequest`
1453
+ # @rtype: :class:`Tencentcloud::kms::V20190118::ScheduleDataKeyDeletionResponse`
1454
+ def ScheduleDataKeyDeletion(request)
1455
+ body = send_request('ScheduleDataKeyDeletion', request.serialize)
1456
+ response = JSON.parse(body)
1457
+ if response['Response'].key?('Error') == false
1458
+ model = ScheduleDataKeyDeletionResponse.new
1459
+ model.deserialize(response['Response'])
1460
+ model
1461
+ else
1462
+ code = response['Response']['Error']['Code']
1463
+ message = response['Response']['Error']['Message']
1464
+ reqid = response['Response']['RequestId']
1465
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1466
+ end
1467
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1468
+ raise e
1469
+ rescue StandardError => e
1470
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1471
+ end
1472
+
1161
1473
  # CMK计划删除接口,用于指定CMK删除的时间,可选时间区间为[7,30]天
1162
1474
 
1163
1475
  # @param request: Request instance for ScheduleKeyDeletion.
@@ -1255,6 +1567,54 @@ module TencentCloud
1255
1567
  raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1256
1568
  end
1257
1569
 
1570
+ # 修改数据密钥描述
1571
+
1572
+ # @param request: Request instance for UpdateDataKeyDescription.
1573
+ # @type request: :class:`Tencentcloud::kms::V20190118::UpdateDataKeyDescriptionRequest`
1574
+ # @rtype: :class:`Tencentcloud::kms::V20190118::UpdateDataKeyDescriptionResponse`
1575
+ def UpdateDataKeyDescription(request)
1576
+ body = send_request('UpdateDataKeyDescription', request.serialize)
1577
+ response = JSON.parse(body)
1578
+ if response['Response'].key?('Error') == false
1579
+ model = UpdateDataKeyDescriptionResponse.new
1580
+ model.deserialize(response['Response'])
1581
+ model
1582
+ else
1583
+ code = response['Response']['Error']['Code']
1584
+ message = response['Response']['Error']['Message']
1585
+ reqid = response['Response']['RequestId']
1586
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1587
+ end
1588
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1589
+ raise e
1590
+ rescue StandardError => e
1591
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1592
+ end
1593
+
1594
+ # 修改数据密钥名称
1595
+
1596
+ # @param request: Request instance for UpdateDataKeyName.
1597
+ # @type request: :class:`Tencentcloud::kms::V20190118::UpdateDataKeyNameRequest`
1598
+ # @rtype: :class:`Tencentcloud::kms::V20190118::UpdateDataKeyNameResponse`
1599
+ def UpdateDataKeyName(request)
1600
+ body = send_request('UpdateDataKeyName', request.serialize)
1601
+ response = JSON.parse(body)
1602
+ if response['Response'].key?('Error') == false
1603
+ model = UpdateDataKeyNameResponse.new
1604
+ model.deserialize(response['Response'])
1605
+ model
1606
+ else
1607
+ code = response['Response']['Error']['Code']
1608
+ message = response['Response']['Error']['Message']
1609
+ reqid = response['Response']['RequestId']
1610
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1611
+ end
1612
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1613
+ raise e
1614
+ rescue StandardError => e
1615
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1616
+ end
1617
+
1258
1618
  # 该接口用于对指定的cmk修改描述信息。对于处于PendingDelete状态的CMK禁止修改。
1259
1619
 
1260
1620
  # @param request: Request instance for UpdateKeyDescription.
@@ -201,6 +201,42 @@ module TencentCloud
201
201
  end
202
202
  end
203
203
 
204
+ # CancelDataKeyDeletion请求参数结构体
205
+ class CancelDataKeyDeletionRequest < TencentCloud::Common::AbstractModel
206
+ # @param DataKeyId: 数据密钥的唯一标志符
207
+ # @type DataKeyId: String
208
+
209
+ attr_accessor :DataKeyId
210
+
211
+ def initialize(datakeyid=nil)
212
+ @DataKeyId = datakeyid
213
+ end
214
+
215
+ def deserialize(params)
216
+ @DataKeyId = params['DataKeyId']
217
+ end
218
+ end
219
+
220
+ # CancelDataKeyDeletion返回参数结构体
221
+ class CancelDataKeyDeletionResponse < TencentCloud::Common::AbstractModel
222
+ # @param DataKeyId: 唯一标志被计划删除的数据密钥
223
+ # @type DataKeyId: String
224
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
225
+ # @type RequestId: String
226
+
227
+ attr_accessor :DataKeyId, :RequestId
228
+
229
+ def initialize(datakeyid=nil, requestid=nil)
230
+ @DataKeyId = datakeyid
231
+ @RequestId = requestid
232
+ end
233
+
234
+ def deserialize(params)
235
+ @DataKeyId = params['DataKeyId']
236
+ @RequestId = params['RequestId']
237
+ end
238
+ end
239
+
204
240
  # CancelKeyArchive请求参数结构体
205
241
  class CancelKeyArchiveRequest < TencentCloud::Common::AbstractModel
206
242
  # @param KeyId: CMK唯一标识符
@@ -435,6 +471,86 @@ module TencentCloud
435
471
  end
436
472
  end
437
473
 
474
+ # 数据密钥属性
475
+ class DataKey < TencentCloud::Common::AbstractModel
476
+ # @param DataKeyId: DataKey的全局唯一标识。
477
+ # @type DataKeyId: String
478
+
479
+ attr_accessor :DataKeyId
480
+
481
+ def initialize(datakeyid=nil)
482
+ @DataKeyId = datakeyid
483
+ end
484
+
485
+ def deserialize(params)
486
+ @DataKeyId = params['DataKeyId']
487
+ end
488
+ end
489
+
490
+ # 数据密钥属性信息
491
+ class DataKeyMetadata < TencentCloud::Common::AbstractModel
492
+ # @param DataKeyId: DataKey的全局唯一标识
493
+ # @type DataKeyId: String
494
+ # @param KeyId: CMK的全局唯一标识
495
+ # @type KeyId: String
496
+ # @param DataKeyName: 作为密钥更容易辨识,更容易被人看懂的数据密钥名称
497
+ # @type DataKeyName: String
498
+ # @param NumberOfBytes: 数据密钥的长度,单位字节
499
+ # @type NumberOfBytes: Integer
500
+ # @param CreateTime: 密钥创建时间
501
+ # @type CreateTime: Integer
502
+ # @param Description: DataKey的描述
503
+ # @type Description: String
504
+ # @param KeyState: DataKey的状态, 取值为:Enabled | Disabled | PendingDelete
505
+ # @type KeyState: String
506
+ # @param CreatorUin: 创建者
507
+ # @type CreatorUin: Integer
508
+ # @param Owner: 数据密钥的创建者,用户创建的为 user,授权各云产品自动创建的为对应的产品名
509
+ # @type Owner: String
510
+ # @param DeletionDate: 计划删除的时间
511
+ # @type DeletionDate: Integer
512
+ # @param Origin: DataKey 密钥材料类型,由KMS创建的为: TENCENT_KMS, 由用户导入的类型为:EXTERNAL
513
+ # @type Origin: String
514
+ # @param HsmClusterId: HSM 集群 ID(仅对 KMS 独占版/托管版服务实例有效)
515
+ # @type HsmClusterId: String
516
+ # @param ResourceId: 资源ID,格式:creatorUin/$creatorUin/$dataKeyId
517
+ # @type ResourceId: String
518
+
519
+ attr_accessor :DataKeyId, :KeyId, :DataKeyName, :NumberOfBytes, :CreateTime, :Description, :KeyState, :CreatorUin, :Owner, :DeletionDate, :Origin, :HsmClusterId, :ResourceId
520
+
521
+ def initialize(datakeyid=nil, keyid=nil, datakeyname=nil, numberofbytes=nil, createtime=nil, description=nil, keystate=nil, creatoruin=nil, owner=nil, deletiondate=nil, origin=nil, hsmclusterid=nil, resourceid=nil)
522
+ @DataKeyId = datakeyid
523
+ @KeyId = keyid
524
+ @DataKeyName = datakeyname
525
+ @NumberOfBytes = numberofbytes
526
+ @CreateTime = createtime
527
+ @Description = description
528
+ @KeyState = keystate
529
+ @CreatorUin = creatoruin
530
+ @Owner = owner
531
+ @DeletionDate = deletiondate
532
+ @Origin = origin
533
+ @HsmClusterId = hsmclusterid
534
+ @ResourceId = resourceid
535
+ end
536
+
537
+ def deserialize(params)
538
+ @DataKeyId = params['DataKeyId']
539
+ @KeyId = params['KeyId']
540
+ @DataKeyName = params['DataKeyName']
541
+ @NumberOfBytes = params['NumberOfBytes']
542
+ @CreateTime = params['CreateTime']
543
+ @Description = params['Description']
544
+ @KeyState = params['KeyState']
545
+ @CreatorUin = params['CreatorUin']
546
+ @Owner = params['Owner']
547
+ @DeletionDate = params['DeletionDate']
548
+ @Origin = params['Origin']
549
+ @HsmClusterId = params['HsmClusterId']
550
+ @ResourceId = params['ResourceId']
551
+ end
552
+ end
553
+
438
554
  # Decrypt请求参数结构体
439
555
  class DecryptRequest < TencentCloud::Common::AbstractModel
440
556
  # @param CiphertextBlob: 待解密的密文数据
@@ -552,6 +668,88 @@ module TencentCloud
552
668
  end
553
669
  end
554
670
 
671
+ # DescribeDataKey请求参数结构体
672
+ class DescribeDataKeyRequest < TencentCloud::Common::AbstractModel
673
+ # @param DataKeyId: 数据密钥全局唯一标识符
674
+ # @type DataKeyId: String
675
+
676
+ attr_accessor :DataKeyId
677
+
678
+ def initialize(datakeyid=nil)
679
+ @DataKeyId = datakeyid
680
+ end
681
+
682
+ def deserialize(params)
683
+ @DataKeyId = params['DataKeyId']
684
+ end
685
+ end
686
+
687
+ # DescribeDataKey返回参数结构体
688
+ class DescribeDataKeyResponse < TencentCloud::Common::AbstractModel
689
+ # @param DataKeyMetadata: 数据密钥属性信息
690
+ # @type DataKeyMetadata: :class:`Tencentcloud::Kms.v20190118.models.DataKeyMetadata`
691
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
692
+ # @type RequestId: String
693
+
694
+ attr_accessor :DataKeyMetadata, :RequestId
695
+
696
+ def initialize(datakeymetadata=nil, requestid=nil)
697
+ @DataKeyMetadata = datakeymetadata
698
+ @RequestId = requestid
699
+ end
700
+
701
+ def deserialize(params)
702
+ unless params['DataKeyMetadata'].nil?
703
+ @DataKeyMetadata = DataKeyMetadata.new
704
+ @DataKeyMetadata.deserialize(params['DataKeyMetadata'])
705
+ end
706
+ @RequestId = params['RequestId']
707
+ end
708
+ end
709
+
710
+ # DescribeDataKeys请求参数结构体
711
+ class DescribeDataKeysRequest < TencentCloud::Common::AbstractModel
712
+ # @param DataKeyIds: 查询DataKey的ID列表,批量查询一次最多支持100个DataKeyId
713
+ # @type DataKeyIds: Array
714
+
715
+ attr_accessor :DataKeyIds
716
+
717
+ def initialize(datakeyids=nil)
718
+ @DataKeyIds = datakeyids
719
+ end
720
+
721
+ def deserialize(params)
722
+ @DataKeyIds = params['DataKeyIds']
723
+ end
724
+ end
725
+
726
+ # DescribeDataKeys返回参数结构体
727
+ class DescribeDataKeysResponse < TencentCloud::Common::AbstractModel
728
+ # @param DataKeyMetadatas: 返回数据密钥属性信息列表
729
+ # @type DataKeyMetadatas: Array
730
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
731
+ # @type RequestId: String
732
+
733
+ attr_accessor :DataKeyMetadatas, :RequestId
734
+
735
+ def initialize(datakeymetadatas=nil, requestid=nil)
736
+ @DataKeyMetadatas = datakeymetadatas
737
+ @RequestId = requestid
738
+ end
739
+
740
+ def deserialize(params)
741
+ unless params['DataKeyMetadatas'].nil?
742
+ @DataKeyMetadatas = []
743
+ params['DataKeyMetadatas'].each do |i|
744
+ datakeymetadata_tmp = DataKeyMetadata.new
745
+ datakeymetadata_tmp.deserialize(i)
746
+ @DataKeyMetadatas << datakeymetadata_tmp
747
+ end
748
+ end
749
+ @RequestId = params['RequestId']
750
+ end
751
+ end
752
+
555
753
  # DescribeKey请求参数结构体
556
754
  class DescribeKeyRequest < TencentCloud::Common::AbstractModel
557
755
  # @param KeyId: CMK全局唯一标识符
@@ -869,6 +1067,70 @@ module TencentCloud
869
1067
  end
870
1068
  end
871
1069
 
1070
+ # DisableDataKey请求参数结构体
1071
+ class DisableDataKeyRequest < TencentCloud::Common::AbstractModel
1072
+ # @param DataKeyId: 数据密钥唯一标识符
1073
+ # @type DataKeyId: String
1074
+
1075
+ attr_accessor :DataKeyId
1076
+
1077
+ def initialize(datakeyid=nil)
1078
+ @DataKeyId = datakeyid
1079
+ end
1080
+
1081
+ def deserialize(params)
1082
+ @DataKeyId = params['DataKeyId']
1083
+ end
1084
+ end
1085
+
1086
+ # DisableDataKey返回参数结构体
1087
+ class DisableDataKeyResponse < TencentCloud::Common::AbstractModel
1088
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
1089
+ # @type RequestId: String
1090
+
1091
+ attr_accessor :RequestId
1092
+
1093
+ def initialize(requestid=nil)
1094
+ @RequestId = requestid
1095
+ end
1096
+
1097
+ def deserialize(params)
1098
+ @RequestId = params['RequestId']
1099
+ end
1100
+ end
1101
+
1102
+ # DisableDataKeys请求参数结构体
1103
+ class DisableDataKeysRequest < TencentCloud::Common::AbstractModel
1104
+ # @param DataKeyIds: 需要批量禁用的DataKey Id 列表,数据密钥数量最大支持100
1105
+ # @type DataKeyIds: Array
1106
+
1107
+ attr_accessor :DataKeyIds
1108
+
1109
+ def initialize(datakeyids=nil)
1110
+ @DataKeyIds = datakeyids
1111
+ end
1112
+
1113
+ def deserialize(params)
1114
+ @DataKeyIds = params['DataKeyIds']
1115
+ end
1116
+ end
1117
+
1118
+ # DisableDataKeys返回参数结构体
1119
+ class DisableDataKeysResponse < TencentCloud::Common::AbstractModel
1120
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
1121
+ # @type RequestId: String
1122
+
1123
+ attr_accessor :RequestId
1124
+
1125
+ def initialize(requestid=nil)
1126
+ @RequestId = requestid
1127
+ end
1128
+
1129
+ def deserialize(params)
1130
+ @RequestId = params['RequestId']
1131
+ end
1132
+ end
1133
+
872
1134
  # DisableKey请求参数结构体
873
1135
  class DisableKeyRequest < TencentCloud::Common::AbstractModel
874
1136
  # @param KeyId: CMK唯一标识符
@@ -1029,6 +1291,70 @@ module TencentCloud
1029
1291
  end
1030
1292
  end
1031
1293
 
1294
+ # EnableDataKey请求参数结构体
1295
+ class EnableDataKeyRequest < TencentCloud::Common::AbstractModel
1296
+ # @param DataKeyId: 数据密钥唯一标识符
1297
+ # @type DataKeyId: String
1298
+
1299
+ attr_accessor :DataKeyId
1300
+
1301
+ def initialize(datakeyid=nil)
1302
+ @DataKeyId = datakeyid
1303
+ end
1304
+
1305
+ def deserialize(params)
1306
+ @DataKeyId = params['DataKeyId']
1307
+ end
1308
+ end
1309
+
1310
+ # EnableDataKey返回参数结构体
1311
+ class EnableDataKeyResponse < TencentCloud::Common::AbstractModel
1312
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
1313
+ # @type RequestId: String
1314
+
1315
+ attr_accessor :RequestId
1316
+
1317
+ def initialize(requestid=nil)
1318
+ @RequestId = requestid
1319
+ end
1320
+
1321
+ def deserialize(params)
1322
+ @RequestId = params['RequestId']
1323
+ end
1324
+ end
1325
+
1326
+ # EnableDataKeys请求参数结构体
1327
+ class EnableDataKeysRequest < TencentCloud::Common::AbstractModel
1328
+ # @param DataKeyIds: 需要批量启用的DataKey Id 列表, 数据密钥数量最大支持100
1329
+ # @type DataKeyIds: Array
1330
+
1331
+ attr_accessor :DataKeyIds
1332
+
1333
+ def initialize(datakeyids=nil)
1334
+ @DataKeyIds = datakeyids
1335
+ end
1336
+
1337
+ def deserialize(params)
1338
+ @DataKeyIds = params['DataKeyIds']
1339
+ end
1340
+ end
1341
+
1342
+ # EnableDataKeys返回参数结构体
1343
+ class EnableDataKeysResponse < TencentCloud::Common::AbstractModel
1344
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
1345
+ # @type RequestId: String
1346
+
1347
+ attr_accessor :RequestId
1348
+
1349
+ def initialize(requestid=nil)
1350
+ @RequestId = requestid
1351
+ end
1352
+
1353
+ def deserialize(params)
1354
+ @RequestId = params['RequestId']
1355
+ end
1356
+ end
1357
+
1032
1358
  # EnableKey请求参数结构体
1033
1359
  class EnableKeyRequest < TencentCloud::Common::AbstractModel
1034
1360
  # @param KeyId: CMK唯一标识符
@@ -1323,16 +1649,30 @@ module TencentCloud
1323
1649
  # @type EncryptionPublicKey: String
1324
1650
  # @param EncryptionAlgorithm: 非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。
1325
1651
  # @type EncryptionAlgorithm: String
1652
+ # @param IsHostedByKms: 表示生成的数据密钥是否被KMS托管。1:表示被KMS托管保存,0:表示KMS不托管。表示生成的数据密钥是否被KMS托管。1:表示被KMS托管保存,0:表示KMS不托管。
1653
+ # @type IsHostedByKms: Integer
1654
+ # @param DataKeyName: 数据密钥的名称,当IsHostedByKms为1时,必须填写。当IsHostedByKms为0时,可以不填,KMS不托管。
1655
+ # @type DataKeyName: String
1656
+ # @param Description: 数据密钥 的描述,最大100字节
1657
+ # @type Description: String
1658
+ # @param HsmClusterId: KMS 独享版对应的 HSM 集群 ID。
1659
+ # 当KeyId 没有传入时有效,如果指定HsmClusterId,会默认在此集群下生成根密钥,然后利用创建的根密钥产生数据密钥。
1660
+ # 如果没有指定HsmClusterId,则会在公有云共享集群下创建一个根密钥,然后利用创建的根密钥产生数据密钥。
1661
+ # @type HsmClusterId: String
1326
1662
 
1327
- attr_accessor :KeyId, :KeySpec, :NumberOfBytes, :EncryptionContext, :EncryptionPublicKey, :EncryptionAlgorithm
1663
+ attr_accessor :KeyId, :KeySpec, :NumberOfBytes, :EncryptionContext, :EncryptionPublicKey, :EncryptionAlgorithm, :IsHostedByKms, :DataKeyName, :Description, :HsmClusterId
1328
1664
 
1329
- def initialize(keyid=nil, keyspec=nil, numberofbytes=nil, encryptioncontext=nil, encryptionpublickey=nil, encryptionalgorithm=nil)
1665
+ def initialize(keyid=nil, keyspec=nil, numberofbytes=nil, encryptioncontext=nil, encryptionpublickey=nil, encryptionalgorithm=nil, ishostedbykms=nil, datakeyname=nil, description=nil, hsmclusterid=nil)
1330
1666
  @KeyId = keyid
1331
1667
  @KeySpec = keyspec
1332
1668
  @NumberOfBytes = numberofbytes
1333
1669
  @EncryptionContext = encryptioncontext
1334
1670
  @EncryptionPublicKey = encryptionpublickey
1335
1671
  @EncryptionAlgorithm = encryptionalgorithm
1672
+ @IsHostedByKms = ishostedbykms
1673
+ @DataKeyName = datakeyname
1674
+ @Description = description
1675
+ @HsmClusterId = hsmclusterid
1336
1676
  end
1337
1677
 
1338
1678
  def deserialize(params)
@@ -1342,6 +1682,10 @@ module TencentCloud
1342
1682
  @EncryptionContext = params['EncryptionContext']
1343
1683
  @EncryptionPublicKey = params['EncryptionPublicKey']
1344
1684
  @EncryptionAlgorithm = params['EncryptionAlgorithm']
1685
+ @IsHostedByKms = params['IsHostedByKms']
1686
+ @DataKeyName = params['DataKeyName']
1687
+ @Description = params['Description']
1688
+ @HsmClusterId = params['HsmClusterId']
1345
1689
  end
1346
1690
  end
1347
1691
 
@@ -1354,15 +1698,18 @@ module TencentCloud
1354
1698
  # @type Plaintext: String
1355
1699
  # @param CiphertextBlob: 数据密钥DataKey加密后的密文,用户需要自行保存该密文,KMS不托管用户的数据密钥。可以通过Decrypt接口从CiphertextBlob中获取数据密钥DataKey明文
1356
1700
  # @type CiphertextBlob: String
1701
+ # @param DataKeyId: DataKey的全局唯一标识,当KMS托管数据密钥时返回。
1702
+ # @type DataKeyId: String
1357
1703
  # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
1358
1704
  # @type RequestId: String
1359
1705
 
1360
- attr_accessor :KeyId, :Plaintext, :CiphertextBlob, :RequestId
1706
+ attr_accessor :KeyId, :Plaintext, :CiphertextBlob, :DataKeyId, :RequestId
1361
1707
 
1362
- def initialize(keyid=nil, plaintext=nil, ciphertextblob=nil, requestid=nil)
1708
+ def initialize(keyid=nil, plaintext=nil, ciphertextblob=nil, datakeyid=nil, requestid=nil)
1363
1709
  @KeyId = keyid
1364
1710
  @Plaintext = plaintext
1365
1711
  @CiphertextBlob = ciphertextblob
1712
+ @DataKeyId = datakeyid
1366
1713
  @RequestId = requestid
1367
1714
  end
1368
1715
 
@@ -1370,6 +1717,7 @@ module TencentCloud
1370
1717
  @KeyId = params['KeyId']
1371
1718
  @Plaintext = params['Plaintext']
1372
1719
  @CiphertextBlob = params['CiphertextBlob']
1720
+ @DataKeyId = params['DataKeyId']
1373
1721
  @RequestId = params['RequestId']
1374
1722
  end
1375
1723
  end
@@ -1410,6 +1758,86 @@ module TencentCloud
1410
1758
  end
1411
1759
  end
1412
1760
 
1761
+ # GetDataKeyCiphertextBlob请求参数结构体
1762
+ class GetDataKeyCiphertextBlobRequest < TencentCloud::Common::AbstractModel
1763
+ # @param DataKeyId: 数据密钥的唯一标志符
1764
+ # @type DataKeyId: String
1765
+
1766
+ attr_accessor :DataKeyId
1767
+
1768
+ def initialize(datakeyid=nil)
1769
+ @DataKeyId = datakeyid
1770
+ end
1771
+
1772
+ def deserialize(params)
1773
+ @DataKeyId = params['DataKeyId']
1774
+ end
1775
+ end
1776
+
1777
+ # GetDataKeyCiphertextBlob返回参数结构体
1778
+ class GetDataKeyCiphertextBlobResponse < TencentCloud::Common::AbstractModel
1779
+ # @param CiphertextBlob: 数据密钥的密文
1780
+ # @type CiphertextBlob: String
1781
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
1782
+ # @type RequestId: String
1783
+
1784
+ attr_accessor :CiphertextBlob, :RequestId
1785
+
1786
+ def initialize(ciphertextblob=nil, requestid=nil)
1787
+ @CiphertextBlob = ciphertextblob
1788
+ @RequestId = requestid
1789
+ end
1790
+
1791
+ def deserialize(params)
1792
+ @CiphertextBlob = params['CiphertextBlob']
1793
+ @RequestId = params['RequestId']
1794
+ end
1795
+ end
1796
+
1797
+ # GetDataKeyPlaintext请求参数结构体
1798
+ class GetDataKeyPlaintextRequest < TencentCloud::Common::AbstractModel
1799
+ # @param DataKeyId: 数据密钥的唯一标志符
1800
+ # @type DataKeyId: String
1801
+ # @param EncryptionPublicKey: PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。
1802
+ # @type EncryptionPublicKey: String
1803
+ # @param EncryptionAlgorithm: 非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。
1804
+ # @type EncryptionAlgorithm: String
1805
+
1806
+ attr_accessor :DataKeyId, :EncryptionPublicKey, :EncryptionAlgorithm
1807
+
1808
+ def initialize(datakeyid=nil, encryptionpublickey=nil, encryptionalgorithm=nil)
1809
+ @DataKeyId = datakeyid
1810
+ @EncryptionPublicKey = encryptionpublickey
1811
+ @EncryptionAlgorithm = encryptionalgorithm
1812
+ end
1813
+
1814
+ def deserialize(params)
1815
+ @DataKeyId = params['DataKeyId']
1816
+ @EncryptionPublicKey = params['EncryptionPublicKey']
1817
+ @EncryptionAlgorithm = params['EncryptionAlgorithm']
1818
+ end
1819
+ end
1820
+
1821
+ # GetDataKeyPlaintext返回参数结构体
1822
+ class GetDataKeyPlaintextResponse < TencentCloud::Common::AbstractModel
1823
+ # @param Plaintext: 若调用时未提供 EncryptionPublicKey,该字段值为 Base64 编码的明文,需进行 Base64 解码以获取明文。 若调用时提供了 EncryptionPublicKey,则该字段值为使用 EncryptionPublicKey 公钥进行非对称加密后的 Base64 编码的密文。需在 Base64 解码后,使用用户上传的公钥对应的私钥进行进一步解密,以获取明文。
1824
+ # @type Plaintext: String
1825
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
1826
+ # @type RequestId: String
1827
+
1828
+ attr_accessor :Plaintext, :RequestId
1829
+
1830
+ def initialize(plaintext=nil, requestid=nil)
1831
+ @Plaintext = plaintext
1832
+ @RequestId = requestid
1833
+ end
1834
+
1835
+ def deserialize(params)
1836
+ @Plaintext = params['Plaintext']
1837
+ @RequestId = params['RequestId']
1838
+ end
1839
+ end
1840
+
1413
1841
  # GetKeyRotationStatus请求参数结构体
1414
1842
  class GetKeyRotationStatusRequest < TencentCloud::Common::AbstractModel
1415
1843
  # @param KeyId: CMK唯一标识符
@@ -1600,7 +2028,7 @@ module TencentCloud
1600
2028
  # @type ProExpireTime: Integer
1601
2029
  # @param ProRenewFlag: 旗舰版是否自动续费:0-不自动续费,1-自动续费
1602
2030
  # @type ProRenewFlag: Integer
1603
- # @param ProResourceId: 旗舰版购买记录的唯一性标识。如果为开通旗舰版,则返回值为空
2031
+ # @param ProResourceId: 旗舰版购买记录的唯一性标识。如果未开通旗舰版,则返回值为空
1604
2032
  # @type ProResourceId: String
1605
2033
  # @param ExclusiveVSMEnabled: 是否开通 KMS 托管版
1606
2034
  # @type ExclusiveVSMEnabled: Boolean
@@ -1614,12 +2042,20 @@ module TencentCloud
1614
2042
  # @type CmkLimit: Integer
1615
2043
  # @param ExclusiveHSMList: 返回独享集群组
1616
2044
  # @type ExclusiveHSMList: Array
2045
+ # @param IsAllowedDataKeyHosted: 是否支持数据密钥托管。1:支持,0:不支持。
2046
+ # @type IsAllowedDataKeyHosted: Boolean
2047
+ # @param DataKeyLimit: IsAllowedDataKeyHosted为1时有效,数据密钥的购买额度
2048
+ # @type DataKeyLimit: Integer
2049
+ # @param FreeDataKeyLimit: IsAllowedDataKeyHosted为1时有效,数据密钥免费额度。
2050
+ # @type FreeDataKeyLimit: Integer
2051
+ # @param DataKeyUsedCount: IsAllowedDataKeyHosted为1时有效,已使用的数据密钥数量。
2052
+ # @type DataKeyUsedCount: Integer
1617
2053
  # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
1618
2054
  # @type RequestId: String
1619
2055
 
1620
- attr_accessor :ServiceEnabled, :InvalidType, :UserLevel, :ProExpireTime, :ProRenewFlag, :ProResourceId, :ExclusiveVSMEnabled, :ExclusiveHSMEnabled, :SubscriptionInfo, :CmkUserCount, :CmkLimit, :ExclusiveHSMList, :RequestId
2056
+ attr_accessor :ServiceEnabled, :InvalidType, :UserLevel, :ProExpireTime, :ProRenewFlag, :ProResourceId, :ExclusiveVSMEnabled, :ExclusiveHSMEnabled, :SubscriptionInfo, :CmkUserCount, :CmkLimit, :ExclusiveHSMList, :IsAllowedDataKeyHosted, :DataKeyLimit, :FreeDataKeyLimit, :DataKeyUsedCount, :RequestId
1621
2057
 
1622
- def initialize(serviceenabled=nil, invalidtype=nil, userlevel=nil, proexpiretime=nil, prorenewflag=nil, proresourceid=nil, exclusivevsmenabled=nil, exclusivehsmenabled=nil, subscriptioninfo=nil, cmkusercount=nil, cmklimit=nil, exclusivehsmlist=nil, requestid=nil)
2058
+ def initialize(serviceenabled=nil, invalidtype=nil, userlevel=nil, proexpiretime=nil, prorenewflag=nil, proresourceid=nil, exclusivevsmenabled=nil, exclusivehsmenabled=nil, subscriptioninfo=nil, cmkusercount=nil, cmklimit=nil, exclusivehsmlist=nil, isalloweddatakeyhosted=nil, datakeylimit=nil, freedatakeylimit=nil, datakeyusedcount=nil, requestid=nil)
1623
2059
  @ServiceEnabled = serviceenabled
1624
2060
  @InvalidType = invalidtype
1625
2061
  @UserLevel = userlevel
@@ -1632,6 +2068,10 @@ module TencentCloud
1632
2068
  @CmkUserCount = cmkusercount
1633
2069
  @CmkLimit = cmklimit
1634
2070
  @ExclusiveHSMList = exclusivehsmlist
2071
+ @IsAllowedDataKeyHosted = isalloweddatakeyhosted
2072
+ @DataKeyLimit = datakeylimit
2073
+ @FreeDataKeyLimit = freedatakeylimit
2074
+ @DataKeyUsedCount = datakeyusedcount
1635
2075
  @RequestId = requestid
1636
2076
  end
1637
2077
 
@@ -1655,6 +2095,75 @@ module TencentCloud
1655
2095
  @ExclusiveHSMList << exclusivehsm_tmp
1656
2096
  end
1657
2097
  end
2098
+ @IsAllowedDataKeyHosted = params['IsAllowedDataKeyHosted']
2099
+ @DataKeyLimit = params['DataKeyLimit']
2100
+ @FreeDataKeyLimit = params['FreeDataKeyLimit']
2101
+ @DataKeyUsedCount = params['DataKeyUsedCount']
2102
+ @RequestId = params['RequestId']
2103
+ end
2104
+ end
2105
+
2106
+ # ImportDataKey请求参数结构体
2107
+ class ImportDataKeyRequest < TencentCloud::Common::AbstractModel
2108
+ # @param DataKeyName: 数据密钥的名称
2109
+ # @type DataKeyName: String
2110
+ # @param ImportKeyMaterial: 如果导入的是明文数据密钥,则是base64 转换后的明文数据密钥, 如果导入的是密文数据密钥,则是由KMS GenerateDataKey接口生成的密文数据密钥。
2111
+ # @type ImportKeyMaterial: String
2112
+ # @param ImportType: 1:密文导入(由KMS接口生成的密文数据密钥),2:明文导入。
2113
+ # @type ImportType: Integer
2114
+ # @param Description: 数据密钥 的描述,最大100字节
2115
+ # @type Description: String
2116
+ # @param KeyId: 当导入密文数据密钥时,无需传入根密钥,如果传入也会忽略。
2117
+ # 当KeyId 为空,如果指定了独享集群HsmClusterId,则会在独享集群下创建一个根密钥,根据生成的根密钥加密数据密钥。
2118
+ # 如果没有指定独享集群HsmClusterId,则会在公有云共享集群下创建一个根密钥,根据生成的根密钥加密数据密钥。
2119
+ # 如果KeyId 不为空,根据指定的根密钥加密数据密钥。
2120
+ # @type KeyId: String
2121
+ # @param HsmClusterId: KMS 独享版对应的 HSM 集群 ID。
2122
+ # 当KeyId 没有传入时有效,如果指定了独享集群HsmClusterId,则会在独享集群下创建一个根密钥,根据产生的根密钥加密数据密钥。
2123
+ # 如果没有指定独享集群HsmClusterId,则会在公有云共享集群下创建一个根密钥,根据产生的根密钥加密数据密钥。
2124
+ # @type HsmClusterId: String
2125
+
2126
+ attr_accessor :DataKeyName, :ImportKeyMaterial, :ImportType, :Description, :KeyId, :HsmClusterId
2127
+
2128
+ def initialize(datakeyname=nil, importkeymaterial=nil, importtype=nil, description=nil, keyid=nil, hsmclusterid=nil)
2129
+ @DataKeyName = datakeyname
2130
+ @ImportKeyMaterial = importkeymaterial
2131
+ @ImportType = importtype
2132
+ @Description = description
2133
+ @KeyId = keyid
2134
+ @HsmClusterId = hsmclusterid
2135
+ end
2136
+
2137
+ def deserialize(params)
2138
+ @DataKeyName = params['DataKeyName']
2139
+ @ImportKeyMaterial = params['ImportKeyMaterial']
2140
+ @ImportType = params['ImportType']
2141
+ @Description = params['Description']
2142
+ @KeyId = params['KeyId']
2143
+ @HsmClusterId = params['HsmClusterId']
2144
+ end
2145
+ end
2146
+
2147
+ # ImportDataKey返回参数结构体
2148
+ class ImportDataKeyResponse < TencentCloud::Common::AbstractModel
2149
+ # @param KeyId: CMK的全局唯一标识
2150
+ # @type KeyId: String
2151
+ # @param DataKeyId: DataKey的全局唯一标识 否 官网/国内&国际站展示
2152
+ # @type DataKeyId: String
2153
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
2154
+ # @type RequestId: String
2155
+
2156
+ attr_accessor :KeyId, :DataKeyId, :RequestId
2157
+
2158
+ def initialize(keyid=nil, datakeyid=nil, requestid=nil)
2159
+ @KeyId = keyid
2160
+ @DataKeyId = datakeyid
2161
+ @RequestId = requestid
2162
+ end
2163
+
2164
+ def deserialize(params)
2165
+ @KeyId = params['KeyId']
2166
+ @DataKeyId = params['DataKeyId']
1658
2167
  @RequestId = params['RequestId']
1659
2168
  end
1660
2169
  end
@@ -1863,6 +2372,148 @@ module TencentCloud
1863
2372
  end
1864
2373
  end
1865
2374
 
2375
+ # ListDataKeyDetail请求参数结构体
2376
+ class ListDataKeyDetailRequest < TencentCloud::Common::AbstractModel
2377
+ # @param Offset: 含义跟 SQL 查询的 Offset 一致,表示本次获取从按一定顺序排列数组的第 Offset 个元素开始,缺省为0
2378
+ # @type Offset: Integer
2379
+ # @param Limit: 含义跟 SQL 查询的 Limit 一致,表示本次最多获取 Limit 个元素。缺省值为10,最大值为200
2380
+ # @type Limit: Integer
2381
+ # @param Role: 根据创建者角色筛选,默认 0 表示用户自己创建的数据密钥, 1 表示授权其它云产品自动创建的数据密钥
2382
+ # @type Role: Integer
2383
+ # @param OrderType: 根据DataKey创建时间排序, 0 表示按照降序排序,1表示按照升序排序
2384
+ # @type OrderType: Integer
2385
+ # @param KeyState: 根据DataKey状态筛选, 0表示全部DataKey, 1 表示仅查询Enabled DataKey, 2 表示仅查询Disabled DataKey,3 表示查询PendingDelete 状态的DataKey(处于计划删除状态的Key)。
2386
+ # @type KeyState: Integer
2387
+ # @param SearchKeyAlias: 根据DataKeyId或者DataKeyName进行模糊匹配查询
2388
+ # @type SearchKeyAlias: String
2389
+ # @param Origin: 根据DateKey类型筛选, "TENCENT_KMS" 表示筛选密钥材料由KMS创建的数据密钥, "EXTERNAL" 表示筛选密钥材料需要用户导入的 EXTERNAL类型数据密钥,"ALL" 或者不设置表示两种类型都查询,大小写敏感。
2390
+ # @type Origin: String
2391
+ # @param HsmClusterId: KMS 高级版对应的 HSM 集群 ID。
2392
+ # @type HsmClusterId: String
2393
+ # @param KeyId: 根密钥全局唯一标识符
2394
+ # @type KeyId: String
2395
+ # @param DataKeyLen: 数据密钥的长度
2396
+ # @type DataKeyLen: Integer
2397
+
2398
+ attr_accessor :Offset, :Limit, :Role, :OrderType, :KeyState, :SearchKeyAlias, :Origin, :HsmClusterId, :KeyId, :DataKeyLen
2399
+
2400
+ def initialize(offset=nil, limit=nil, role=nil, ordertype=nil, keystate=nil, searchkeyalias=nil, origin=nil, hsmclusterid=nil, keyid=nil, datakeylen=nil)
2401
+ @Offset = offset
2402
+ @Limit = limit
2403
+ @Role = role
2404
+ @OrderType = ordertype
2405
+ @KeyState = keystate
2406
+ @SearchKeyAlias = searchkeyalias
2407
+ @Origin = origin
2408
+ @HsmClusterId = hsmclusterid
2409
+ @KeyId = keyid
2410
+ @DataKeyLen = datakeylen
2411
+ end
2412
+
2413
+ def deserialize(params)
2414
+ @Offset = params['Offset']
2415
+ @Limit = params['Limit']
2416
+ @Role = params['Role']
2417
+ @OrderType = params['OrderType']
2418
+ @KeyState = params['KeyState']
2419
+ @SearchKeyAlias = params['SearchKeyAlias']
2420
+ @Origin = params['Origin']
2421
+ @HsmClusterId = params['HsmClusterId']
2422
+ @KeyId = params['KeyId']
2423
+ @DataKeyLen = params['DataKeyLen']
2424
+ end
2425
+ end
2426
+
2427
+ # ListDataKeyDetail返回参数结构体
2428
+ class ListDataKeyDetailResponse < TencentCloud::Common::AbstractModel
2429
+ # @param DataKeyMetadatas: 返回的属性信息列表。
2430
+ # @type DataKeyMetadatas: Array
2431
+ # @param TotalCount: DataKey的总数量
2432
+ # @type TotalCount: Integer
2433
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
2434
+ # @type RequestId: String
2435
+
2436
+ attr_accessor :DataKeyMetadatas, :TotalCount, :RequestId
2437
+
2438
+ def initialize(datakeymetadatas=nil, totalcount=nil, requestid=nil)
2439
+ @DataKeyMetadatas = datakeymetadatas
2440
+ @TotalCount = totalcount
2441
+ @RequestId = requestid
2442
+ end
2443
+
2444
+ def deserialize(params)
2445
+ unless params['DataKeyMetadatas'].nil?
2446
+ @DataKeyMetadatas = []
2447
+ params['DataKeyMetadatas'].each do |i|
2448
+ datakeymetadata_tmp = DataKeyMetadata.new
2449
+ datakeymetadata_tmp.deserialize(i)
2450
+ @DataKeyMetadatas << datakeymetadata_tmp
2451
+ end
2452
+ end
2453
+ @TotalCount = params['TotalCount']
2454
+ @RequestId = params['RequestId']
2455
+ end
2456
+ end
2457
+
2458
+ # ListDataKeys请求参数结构体
2459
+ class ListDataKeysRequest < TencentCloud::Common::AbstractModel
2460
+ # @param Offset: 含义跟 SQL 查询的 Offset 一致,表示本次获取从按一定顺序排列数组的第 Offset 个元素开始,缺省为0
2461
+ # @type Offset: Integer
2462
+ # @param Limit: 含义跟 SQL 查询的 Limit 一致,表示本次最多获取 Limit 个元素。缺省值为10,最大值为200
2463
+ # @type Limit: Integer
2464
+ # @param Role: 根据创建者角色筛选,默认 0 表示用户自己创建的数据密钥, 1 表示授权其它云产品自动创建的数据密钥
2465
+ # @type Role: Integer
2466
+ # @param HsmClusterId: KMS 高级版对应的 HSM 集群 ID(仅对 KMS 独占版/托管版服务实例有效)
2467
+ # @type HsmClusterId: String
2468
+
2469
+ attr_accessor :Offset, :Limit, :Role, :HsmClusterId
2470
+
2471
+ def initialize(offset=nil, limit=nil, role=nil, hsmclusterid=nil)
2472
+ @Offset = offset
2473
+ @Limit = limit
2474
+ @Role = role
2475
+ @HsmClusterId = hsmclusterid
2476
+ end
2477
+
2478
+ def deserialize(params)
2479
+ @Offset = params['Offset']
2480
+ @Limit = params['Limit']
2481
+ @Role = params['Role']
2482
+ @HsmClusterId = params['HsmClusterId']
2483
+ end
2484
+ end
2485
+
2486
+ # ListDataKeys返回参数结构体
2487
+ class ListDataKeysResponse < TencentCloud::Common::AbstractModel
2488
+ # @param DataKeys: 数据密钥Id列表数组
2489
+ # @type DataKeys: Array
2490
+ # @param TotalCount: 数据密钥的总数量
2491
+ # @type TotalCount: Integer
2492
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
2493
+ # @type RequestId: String
2494
+
2495
+ attr_accessor :DataKeys, :TotalCount, :RequestId
2496
+
2497
+ def initialize(datakeys=nil, totalcount=nil, requestid=nil)
2498
+ @DataKeys = datakeys
2499
+ @TotalCount = totalcount
2500
+ @RequestId = requestid
2501
+ end
2502
+
2503
+ def deserialize(params)
2504
+ unless params['DataKeys'].nil?
2505
+ @DataKeys = []
2506
+ params['DataKeys'].each do |i|
2507
+ datakey_tmp = DataKey.new
2508
+ datakey_tmp.deserialize(i)
2509
+ @DataKeys << datakey_tmp
2510
+ end
2511
+ end
2512
+ @TotalCount = params['TotalCount']
2513
+ @RequestId = params['RequestId']
2514
+ end
2515
+ end
2516
+
1866
2517
  # ListKeyDetail请求参数结构体
1867
2518
  class ListKeyDetailRequest < TencentCloud::Common::AbstractModel
1868
2519
  # @param Offset: 含义跟 SQL 查询的 Offset 一致,表示本次获取从按一定顺序排列数组的第 Offset 个元素开始,缺省为0
@@ -2292,6 +2943,50 @@ module TencentCloud
2292
2943
  end
2293
2944
  end
2294
2945
 
2946
+ # ScheduleDataKeyDeletion请求参数结构体
2947
+ class ScheduleDataKeyDeletionRequest < TencentCloud::Common::AbstractModel
2948
+ # @param DataKeyId: 数据密钥的唯一标志符
2949
+ # @type DataKeyId: String
2950
+ # @param PendingWindowInDays: 计划删除时间区间[7,30]
2951
+ # @type PendingWindowInDays: Integer
2952
+
2953
+ attr_accessor :DataKeyId, :PendingWindowInDays
2954
+
2955
+ def initialize(datakeyid=nil, pendingwindowindays=nil)
2956
+ @DataKeyId = datakeyid
2957
+ @PendingWindowInDays = pendingwindowindays
2958
+ end
2959
+
2960
+ def deserialize(params)
2961
+ @DataKeyId = params['DataKeyId']
2962
+ @PendingWindowInDays = params['PendingWindowInDays']
2963
+ end
2964
+ end
2965
+
2966
+ # ScheduleDataKeyDeletion返回参数结构体
2967
+ class ScheduleDataKeyDeletionResponse < TencentCloud::Common::AbstractModel
2968
+ # @param DeletionDate: 计划删除执行时间
2969
+ # @type DeletionDate: Integer
2970
+ # @param DataKeyId: 唯一标志被计划删除的数据密钥
2971
+ # @type DataKeyId: String
2972
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
2973
+ # @type RequestId: String
2974
+
2975
+ attr_accessor :DeletionDate, :DataKeyId, :RequestId
2976
+
2977
+ def initialize(deletiondate=nil, datakeyid=nil, requestid=nil)
2978
+ @DeletionDate = deletiondate
2979
+ @DataKeyId = datakeyid
2980
+ @RequestId = requestid
2981
+ end
2982
+
2983
+ def deserialize(params)
2984
+ @DeletionDate = params['DeletionDate']
2985
+ @DataKeyId = params['DataKeyId']
2986
+ @RequestId = params['RequestId']
2987
+ end
2988
+ end
2989
+
2295
2990
  # ScheduleKeyDeletion请求参数结构体
2296
2991
  class ScheduleKeyDeletionRequest < TencentCloud::Common::AbstractModel
2297
2992
  # @param KeyId: CMK的唯一标志
@@ -2500,6 +3195,78 @@ module TencentCloud
2500
3195
  end
2501
3196
  end
2502
3197
 
3198
+ # UpdateDataKeyDescription请求参数结构体
3199
+ class UpdateDataKeyDescriptionRequest < TencentCloud::Common::AbstractModel
3200
+ # @param DataKeyId: 数据密钥的唯一标志符
3201
+ # @type DataKeyId: String
3202
+ # @param Description: 数据密钥 的描述,最大100字节
3203
+ # @type Description: String
3204
+
3205
+ attr_accessor :DataKeyId, :Description
3206
+
3207
+ def initialize(datakeyid=nil, description=nil)
3208
+ @DataKeyId = datakeyid
3209
+ @Description = description
3210
+ end
3211
+
3212
+ def deserialize(params)
3213
+ @DataKeyId = params['DataKeyId']
3214
+ @Description = params['Description']
3215
+ end
3216
+ end
3217
+
3218
+ # UpdateDataKeyDescription返回参数结构体
3219
+ class UpdateDataKeyDescriptionResponse < TencentCloud::Common::AbstractModel
3220
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
3221
+ # @type RequestId: String
3222
+
3223
+ attr_accessor :RequestId
3224
+
3225
+ def initialize(requestid=nil)
3226
+ @RequestId = requestid
3227
+ end
3228
+
3229
+ def deserialize(params)
3230
+ @RequestId = params['RequestId']
3231
+ end
3232
+ end
3233
+
3234
+ # UpdateDataKeyName请求参数结构体
3235
+ class UpdateDataKeyNameRequest < TencentCloud::Common::AbstractModel
3236
+ # @param DataKeyId: 数据密钥的唯一标志符
3237
+ # @type DataKeyId: String
3238
+ # @param DataKeyName: 数据密钥的名称
3239
+ # @type DataKeyName: String
3240
+
3241
+ attr_accessor :DataKeyId, :DataKeyName
3242
+
3243
+ def initialize(datakeyid=nil, datakeyname=nil)
3244
+ @DataKeyId = datakeyid
3245
+ @DataKeyName = datakeyname
3246
+ end
3247
+
3248
+ def deserialize(params)
3249
+ @DataKeyId = params['DataKeyId']
3250
+ @DataKeyName = params['DataKeyName']
3251
+ end
3252
+ end
3253
+
3254
+ # UpdateDataKeyName返回参数结构体
3255
+ class UpdateDataKeyNameResponse < TencentCloud::Common::AbstractModel
3256
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
3257
+ # @type RequestId: String
3258
+
3259
+ attr_accessor :RequestId
3260
+
3261
+ def initialize(requestid=nil)
3262
+ @RequestId = requestid
3263
+ end
3264
+
3265
+ def deserialize(params)
3266
+ @RequestId = params['RequestId']
3267
+ end
3268
+ end
3269
+
2503
3270
  # UpdateKeyDescription请求参数结构体
2504
3271
  class UpdateKeyDescriptionRequest < TencentCloud::Common::AbstractModel
2505
3272
  # @param Description: 新的描述信息,最大支持1024字节
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tencentcloud-sdk-kms
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1073
4
+ version: 3.0.1089
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tencent Cloud
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-06-03 00:00:00.000000000 Z
11
+ date: 2025-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tencentcloud-sdk-common