tccli 3.0.1218.1__py2.py3-none-any.whl → 3.0.1219.1__py2.py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- tccli/__init__.py +1 -1
- tccli/services/__init__.py +3 -0
- tccli/services/af/v20200226/api.json +2 -2
- tccli/services/billing/v20180709/api.json +176 -181
- tccli/services/billing/v20180709/examples.json +7 -7
- tccli/services/ckafka/v20190819/api.json +7 -7
- tccli/services/clb/v20180317/api.json +12 -12
- tccli/services/cwp/v20180228/api.json +1 -1
- tccli/services/es/v20180416/examples.json +2 -2
- tccli/services/ess/v20201111/api.json +9 -0
- tccli/services/essbasic/v20210526/api.json +9 -0
- tccli/services/faceid/v20180301/api.json +2 -2
- tccli/services/iai/v20180301/api.json +17 -13
- tccli/services/iai/v20200303/examples.json +200 -200
- tccli/services/iap/__init__.py +4 -0
- tccli/services/iap/iap_client.py +472 -0
- tccli/services/iap/v20240713/api.json +471 -0
- tccli/services/iap/v20240713/examples.json +59 -0
- tccli/services/lcic/v20220817/api.json +3 -3
- tccli/services/live/live_client.py +428 -4
- tccli/services/live/v20180801/api.json +1070 -68
- tccli/services/live/v20180801/examples.json +64 -0
- tccli/services/market/v20191010/api.json +4 -4
- tccli/services/market/v20191010/examples.json +2 -2
- tccli/services/mps/v20190612/api.json +20 -0
- tccli/services/partners/v20180321/api.json +4 -4
- tccli/services/pts/v20210728/api.json +3 -0
- tccli/services/redis/v20180412/api.json +169 -163
- tccli/services/redis/v20180412/examples.json +3 -3
- tccli/services/svp/v20240125/api.json +27 -27
- tccli/services/svp/v20240125/examples.json +1 -1
- tccli/services/tat/v20201028/api.json +5 -5
- tccli/services/tdmq/v20200217/api.json +1 -1
- tccli/services/tke/v20220501/api.json +2 -2
- tccli/services/tse/v20201207/api.json +199 -12
- tccli/services/vcg/v20240404/api.json +1 -1
- tccli/services/vcg/v20240404/examples.json +4 -4
- tccli/services/vpc/v20170312/api.json +492 -66
- tccli/services/vpc/v20170312/examples.json +59 -21
- tccli/services/vpc/vpc_client.py +212 -0
- {tccli-3.0.1218.1.dist-info → tccli-3.0.1219.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1218.1.dist-info → tccli-3.0.1219.1.dist-info}/RECORD +45 -41
- {tccli-3.0.1218.1.dist-info → tccli-3.0.1219.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1218.1.dist-info → tccli-3.0.1219.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1218.1.dist-info → tccli-3.0.1219.1.dist-info}/license_files/LICENSE +0 -0
@@ -281,20 +281,20 @@
|
|
281
281
|
"CloneSecurityGroup": [
|
282
282
|
{
|
283
283
|
"document": "克隆安全组",
|
284
|
-
"input": "https://vpc.tencentcloudapi.com/?Action=CloneSecurityGroup\n&SecurityGroupId=sg-
|
285
|
-
"output": "{\n \"Response\": {\n \"RequestId\": \"354f4ac3-8546-4516-8c8a-69e3ab73aa8a\",\n \"SecurityGroup\": {\n \"SecurityGroupId\": \"sg-
|
284
|
+
"input": "https://vpc.tencentcloudapi.com/?Action=CloneSecurityGroup\n&SecurityGroupId=sg-78ysaex1\n&<公共请求参数>",
|
285
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"354f4ac3-8546-4516-8c8a-69e3ab73aa8a\",\n \"SecurityGroup\": {\n \"SecurityGroupId\": \"sg-4esrjvgl\",\n \"SecurityGroupName\": \"demo\",\n \"SecurityGroupDesc\": \"demo\",\n \"ProjectId\": \"0\",\n \"CreatedTime\": \"2018-01-13 19:26:33\",\n \"TagSet\": [\n {\n \"Key\": \"city\",\n \"Value\": \"shanghai\"\n }\n ],\n \"UpdateTime\": \"2018-02-13 19:26:33\",\n \"IsDefault\": false\n }\n }\n}",
|
286
286
|
"title": "克隆安全组"
|
287
287
|
},
|
288
288
|
{
|
289
289
|
"document": "克隆安全组,指定项目ID",
|
290
|
-
"input": "https://vpc.tencentcloudapi.com/?Action=CloneSecurityGroup\n&SecurityGroupId=sg-
|
291
|
-
"output": "{\n \"Response\": {\n \"RequestId\": \"354f4ac3-8546-4516-8c8a-69e3ab73aa8a\",\n \"SecurityGroup\": {\n \"SecurityGroupId\": \"sg-
|
290
|
+
"input": "https://vpc.tencentcloudapi.com/?Action=CloneSecurityGroup\n&SecurityGroupId=sg-78ysaex1\n&ProjectId=1001\n&<公共请求参数>",
|
291
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"354f4ac3-8546-4516-8c8a-69e3ab73aa8a\",\n \"SecurityGroup\": {\n \"SecurityGroupId\": \"sg-2edhcclz\",\n \"SecurityGroupName\": \"demo\",\n \"SecurityGroupDesc\": \"demo\",\n \"ProjectId\": \"1001\",\n \"CreatedTime\": \"2018-01-13 19:26:33\",\n \"TagSet\": [\n {\n \"Key\": \"city\",\n \"Value\": \"shanghai\"\n }\n ],\n \"UpdateTime\": \"2018-02-13 19:26:33\",\n \"IsDefault\": false\n }\n }\n}",
|
292
292
|
"title": "克隆安全组,指定项目ID"
|
293
293
|
},
|
294
294
|
{
|
295
295
|
"document": "克隆安全组,指定名称和备注",
|
296
|
-
"input": "https://vpc.tencentcloudapi.com/?Action=CloneSecurityGroup\n&SecurityGroupId=sg-
|
297
|
-
"output": "{\n \"Response\": {\n \"RequestId\": \"354f4ac3-8546-4516-8c8a-69e3ab73aa8a\",\n \"SecurityGroup\": {\n \"SecurityGroupId\": \"sg-
|
296
|
+
"input": "https://vpc.tencentcloudapi.com/?Action=CloneSecurityGroup\n&SecurityGroupId=sg-78ysaex1\n&GroupName=demo\n&GroupDescription=demo\n&<公共请求参数>",
|
297
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"354f4ac3-8546-4516-8c8a-69e3ab73aa8a\",\n \"SecurityGroup\": {\n \"SecurityGroupId\": \"sg-f42uhpkj\",\n \"SecurityGroupName\": \"demo\",\n \"SecurityGroupDesc\": \"demo\",\n \"ProjectId\": \"0\",\n \"CreatedTime\": \"2018-01-13 19:26:33\",\n \"TagSet\": [\n {\n \"Key\": \"city\",\n \"Value\": \"shanghai\"\n }\n ],\n \"UpdateTime\": \"2018-02-13 19:26:33\",\n \"IsDefault\": false\n }\n }\n}",
|
298
298
|
"title": "克隆安全组,指定名称和备注"
|
299
299
|
}
|
300
300
|
],
|
@@ -326,7 +326,7 @@
|
|
326
326
|
{
|
327
327
|
"document": "创建辅助CIDR",
|
328
328
|
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateAssistantCidr\n<公共请求参数>\n\n{\n \"VpcId\": \"vpc-12345678\",\n \"CidrBlocks\": [\n \"172.16.0.0/24\"\n ]\n}",
|
329
|
-
"output": "{\n \"Response\": {\n \"AssistantCidrSet\": [\n {\n \"VpcId\": \"vpc-12345678\",\n \"CidrBlock\": \"172.16.0.0/24\",\n \"AssistantType\": 0\n }\n ],\n \"RequestId\": \"6aa316a4-07d2-4355-b87d-40b7f22972b0\"\n }\n}",
|
329
|
+
"output": "{\n \"Response\": {\n \"AssistantCidrSet\": [\n {\n \"VpcId\": \"vpc-12345678\",\n \"CidrBlock\": \"172.16.0.0/24\",\n \"AssistantType\": 0,\n \"SubnetSet\": []\n }\n ],\n \"RequestId\": \"6aa316a4-07d2-4355-b87d-40b7f22972b0\"\n }\n}",
|
330
330
|
"title": "创建辅助CIDR"
|
331
331
|
}
|
332
332
|
],
|
@@ -586,6 +586,14 @@
|
|
586
586
|
"title": "创建私网NAT网关源端转换规则"
|
587
587
|
}
|
588
588
|
],
|
589
|
+
"CreateReserveIpAddresses": [
|
590
|
+
{
|
591
|
+
"document": "指定个数,申请自动分配的保留 IP",
|
592
|
+
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateReserveIpAddresses\n<公共请求参数>\n\n{\n \"VpcId\": \"vpc-mcqaoy0f\",\n \"IpAddressCount\": 2,\n \"Name\": \"name_ivan\",\n \"Description\": \"desc_ivan\"\n}",
|
593
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"14c27c62-fc90-4922-a20c-fca60c6b5330\",\n \"ReserveIpAddressSet\": [\n {\n \"CreatedTime\": \"2024-11-21 16:57:22\",\n \"Description\": \"desc_ivan\",\n \"IpType\": 0,\n \"Name\": \"name_ivan\",\n \"ReserveIpAddress\": \"10.0.5.99\",\n \"ReserveIpId\": \"rsvip-eaq2f4pc\",\n \"ResourceId\": \"\",\n \"State\": \"UnBind\",\n \"VpcId\": \"vpc-mcqaoy0f\"\n },\n {\n \"CreatedTime\": \"2024-11-21 16:57:22\",\n \"Description\": \"desc_ivan\",\n \"IpType\": 0,\n \"Name\": \"name_ivan\",\n \"ReserveIpAddress\": \"10.0.5.50\",\n \"ReserveIpId\": \"rsvip-2g134x24\",\n \"ResourceId\": \"\",\n \"State\": \"UnBind\",\n \"VpcId\": \"vpc-mcqaoy0f\"\n }\n ]\n }\n}",
|
594
|
+
"title": "指定个数,申请自动分配的保留 IP"
|
595
|
+
}
|
596
|
+
],
|
589
597
|
"CreateRouteTable": [
|
590
598
|
{
|
591
599
|
"document": "创建路由表",
|
@@ -613,7 +621,7 @@
|
|
613
621
|
"CreateSecurityGroupPolicies": [
|
614
622
|
{
|
615
623
|
"document": "安全组添加出站规则",
|
616
|
-
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateSecurityGroupPolicies\n<公共请求参数>\n\n{\n \"SecurityGroupId\": \"sg-ohuuioma\",\n \"SecurityGroupPolicySet\": {\n \"Ingress\": [\n {\n \"PolicyIndex\": 0,\n \"Protocol\": \"All\",\n \"PolicyDescription\": \"
|
624
|
+
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateSecurityGroupPolicies\n<公共请求参数>\n\n{\n \"SecurityGroupId\": \"sg-ohuuioma\",\n \"SecurityGroupPolicySet\": {\n \"Ingress\": [\n {\n \"PolicyIndex\": 0,\n \"Protocol\": \"All\",\n \"PolicyDescription\": \"demo\",\n \"AddressTemplate\": {\n \"AddressGroupId\": \"ipmg-o8w64jdg\",\n \"AddressId\": \"ipm-ngk4c2dw\"\n },\n \"Ipv6CidrBlock\": \"::/0\",\n \"SecurityGroupId\": \"sg-ohuuioma\",\n \"ModifyTime\": \"2020-12-03 16:12:15\",\n \"Action\": \"accept\",\n \"ServiceTemplate\": {\n \"ServiceGroupId\": \"sg-ohuuioma\",\n \"ServiceId\": \"ppm-f5n1f8da\"\n },\n \"CidrBlock\": \"0.0.0.0/0\",\n \"Port\": \"80\"\n }\n ],\n \"Egress\": [\n {\n \"PolicyIndex\": 0,\n \"Protocol\": \"All\",\n \"PolicyDescription\": \"demo\",\n \"AddressTemplate\": {\n \"AddressGroupId\": \"ipmg-o8w64jdg\",\n \"AddressId\": \"ipm-ngk4c2dw\"\n },\n \"Ipv6CidrBlock\": \"::/0\",\n \"SecurityGroupId\": \"sg-ohuuioma\",\n \"ModifyTime\": \"2020-12-03 16:12:15\",\n \"Action\": \"accept\",\n \"ServiceTemplate\": {\n \"ServiceGroupId\": \"sg-ohuuioma\",\n \"ServiceId\": \"ppm-f5n1f8da\"\n },\n \"CidrBlock\": \"0.0.0.0/0\",\n \"Port\": \"80\"\n }\n ]\n }\n}",
|
617
625
|
"output": "{\n \"Response\": {\n \"RequestId\": \"53ee3ed3-c9ed-48ba-8a57-8624b9c0d3b8\"\n }\n}",
|
618
626
|
"title": "安全组添加出站规则"
|
619
627
|
}
|
@@ -1006,6 +1014,14 @@
|
|
1006
1014
|
"title": "删除私网NAT网关源端转换规则"
|
1007
1015
|
}
|
1008
1016
|
],
|
1017
|
+
"DeleteReserveIpAddresses": [
|
1018
|
+
{
|
1019
|
+
"document": "删除内网保留IP",
|
1020
|
+
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DeleteReserveIpAddresses\n<公共请求参数>\n\n{\n \"VpcId\": \"vpc-mcqaoy0f\",\n \"ReserveIpIds\": [\n \"rsvip-calhlymy\"\n ]\n}",
|
1021
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"116b4d96-f745-4173-bee5-c464a4363757\"\n }\n}",
|
1022
|
+
"title": "删除内网保留IP"
|
1023
|
+
}
|
1024
|
+
],
|
1009
1025
|
"DeleteRouteTable": [
|
1010
1026
|
{
|
1011
1027
|
"document": "删除路由表",
|
@@ -1258,7 +1274,7 @@
|
|
1258
1274
|
{
|
1259
1275
|
"document": "查询辅助CIDR列表",
|
1260
1276
|
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeAssistantCidr\n<公共请求参数>\n\n{}",
|
1261
|
-
"output": "{\n \"Response\": {\n \"AssistantCidrSet\": [\n {\n \"VpcId\": \"vpc-
|
1277
|
+
"output": "{\n \"Response\": {\n \"AssistantCidrSet\": [\n {\n \"VpcId\": \"vpc-6v2ht8q5\",\n \"CidrBlock\": \"10.10.0.0/24\",\n \"AssistantType\": 0,\n \"SubnetSet\": []\n }\n ],\n \"TotalCount\": 1,\n \"RequestId\": \"c65ffbe5-512a-44fd-9611-99d12f4e565d\"\n }\n}",
|
1262
1278
|
"title": "查询辅助CIDR列表"
|
1263
1279
|
}
|
1264
1280
|
],
|
@@ -1450,19 +1466,19 @@
|
|
1450
1466
|
{
|
1451
1467
|
"document": "",
|
1452
1468
|
"input": "https://vpc.tencentcloudapi.com/?Action=DescribeDhcpIps\n&<公共请求参数>",
|
1453
|
-
"output": "{\n \"Response\": {\n \"DhcpIpSet\": [\n {\n \"DhcpIpId\": \"dhcpip-
|
1469
|
+
"output": "{\n \"Response\": {\n \"DhcpIpSet\": [\n {\n \"DhcpIpId\": \"dhcpip-pxir56ns\",\n \"DhcpIpName\": \"demo\",\n \"PrivateIpAddress\": \"10.0.0.13\",\n \"VpcId\": \"vpc-n0yejvje\",\n \"SubnetId\": \"subnet-hj3he929\",\n \"NetworkInterfaceId\": \"\",\n \"InstanceId\": \"\",\n \"AddressIp\": \"\",\n \"State\": \"UNBIND\",\n \"CreatedTime\": \"2018-10-10 17:03:09\"\n }\n ],\n \"TotalCount\": 1,\n \"RequestId\": \"fcb47621-838b-428e-8c33-6e210d93c451\"\n }\n}",
|
1454
1470
|
"title": "查询DhcpIp列表"
|
1455
1471
|
},
|
1456
1472
|
{
|
1457
1473
|
"document": "",
|
1458
|
-
"input": "https://vpc.tencentcloudapi.com/?Action=DescribeDhcpIps\n&Filters.0.Name=dhcpip-id\n&Filters.0.Values.0=dhcpip-
|
1459
|
-
"output": "{\n \"Response\": {\n \"DhcpIpSet\": [\n {\n \"DhcpIpId\": \"dhcpip-
|
1474
|
+
"input": "https://vpc.tencentcloudapi.com/?Action=DescribeDhcpIps\n&Filters.0.Name=dhcpip-id\n&Filters.0.Values.0=dhcpip-pxir56ns\n&<公共请求参数>",
|
1475
|
+
"output": "{\n \"Response\": {\n \"DhcpIpSet\": [\n {\n \"DhcpIpId\": \"dhcpip-pxir56ns\",\n \"DhcpIpName\": \"demo\",\n \"PrivateIpAddress\": \"10.0.0.13\",\n \"VpcId\": \"vpc-n0yejvje\",\n \"SubnetId\": \"subnet-hj3he929\",\n \"NetworkInterfaceId\": \"\",\n \"InstanceId\": \"\",\n \"AddressIp\": \"\",\n \"State\": \"UNBIND\",\n \"CreatedTime\": \"2018-10-10 17:03:09\"\n }\n ],\n \"TotalCount\": 1,\n \"RequestId\": \"fcb47621-838b-428e-8c33-6e210d93c451\"\n }\n}",
|
1460
1476
|
"title": "根据Filters查询DhcpIp列表"
|
1461
1477
|
},
|
1462
1478
|
{
|
1463
1479
|
"document": "",
|
1464
|
-
"input": "https://vpc.tencentcloudapi.com/?Action=DescribeDhcpIps\n&DhcpIpIds.0=dhcpip-
|
1465
|
-
"output": "{\n \"Response\": {\n \"DhcpIpSet\": [\n {\n \"DhcpIpId\": \"dhcpip-
|
1480
|
+
"input": "https://vpc.tencentcloudapi.com/?Action=DescribeDhcpIps\n&DhcpIpIds.0=dhcpip-pxir56ns\n&<公共请求参数>",
|
1481
|
+
"output": "{\n \"Response\": {\n \"DhcpIpSet\": [\n {\n \"DhcpIpId\": \"dhcpip-pxir56ns\",\n \"DhcpIpName\": \"demo\",\n \"PrivateIpAddress\": \"10.0.0.13\",\n \"VpcId\": \"vpc-n0yejvje\",\n \"SubnetId\": \"subnet-hj3he929\",\n \"NetworkInterfaceId\": \"\",\n \"InstanceId\": \"\",\n \"AddressIp\": \"\",\n \"State\": \"UNBIND\",\n \"CreatedTime\": \"2018-10-10 17:03:09\"\n }\n ],\n \"TotalCount\": 1,\n \"RequestId\": \"fcb47621-838b-428e-8c33-6e210d93c451\"\n }\n}",
|
1466
1482
|
"title": "根据DhcpIpIds查询DhcpIp列表"
|
1467
1483
|
}
|
1468
1484
|
],
|
@@ -1500,7 +1516,7 @@
|
|
1500
1516
|
{
|
1501
1517
|
"document": "查询流日志集合",
|
1502
1518
|
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeFlowLogs\n<公共请求参数>\n\n{\n \"Limit\": 10,\n \"Offset\": 0\n}",
|
1503
|
-
"output": "{\n \"Response\": {\n \"FlowLog\": [\n {\n \"CloudLogId\": \"dfb8f1a2-8522-47c1-8571-67905167ab3f\",\n \"CloudLogRegion\": \"ap-guangzhou\",\n \"CloudLogState\": \"SUCCESS\",\n \"CreatedTime\": \"2019-05-07 18:00:26\",\n \"FlowLogDescription\": \"\",\n \"FlowLogId\": \"fl-2edhcclz\",\n \"FlowLogName\": \"
|
1519
|
+
"output": "{\n \"Response\": {\n \"FlowLog\": [\n {\n \"CloudLogId\": \"dfb8f1a2-8522-47c1-8571-67905167ab3f\",\n \"CloudLogRegion\": \"ap-guangzhou\",\n \"CloudLogState\": \"SUCCESS\",\n \"CreatedTime\": \"2019-05-07 18:00:26\",\n \"FlowLogDescription\": \"\",\n \"FlowLogId\": \"fl-2edhcclz\",\n \"FlowLogName\": \"demo\",\n \"ResourceId\": \"eni-78ysaex1\",\n \"ResourceType\": \"NETWORKINTERFACE\",\n \"TrafficType\": \"ACCEPT\",\n \"VpcId\": \"vpc-pq9vxykj\",\n \"StorageType\": \"cls\",\n \"FlowLogStorage\": {\n \"StorageTopic\": \"topic-siqmaox1\",\n \"StorageId\": \"ckafka-akwiqms1\"\n },\n \"TagSet\": [],\n \"Enable\": true\n },\n {\n \"CloudLogId\": \"dfb8f1a2-8522-47c1-8571-67905167ab3f\",\n \"CloudLogRegion\": \"ap-guangzhou\",\n \"CloudLogState\": \"SUCCESS\",\n \"CreatedTime\": \"2019-05-08 10:48:26\",\n \"FlowLogDescription\": \"\",\n \"FlowLogId\": \"fl-f42uhpkj\",\n \"FlowLogName\": \"demo\",\n \"ResourceId\": \"eni-78ysaex1\",\n \"ResourceType\": \"NETWORKINTERFACE\",\n \"TrafficType\": \"ACCEPT\",\n \"VpcId\": \"vpc-pq9vxykj\",\n \"StorageType\": \"cls\",\n \"FlowLogStorage\": {\n \"StorageTopic\": \"topic-siqmaox1\",\n \"StorageId\": \"ckafka-akwiqms1\"\n },\n \"TagSet\": [],\n \"Enable\": true\n }\n ],\n \"TotalNum\": 2,\n \"RequestId\": \"404428db-f850-40c2-803d-0aae49aba43a\"\n }\n}",
|
1504
1520
|
"title": "查询流日志集合"
|
1505
1521
|
},
|
1506
1522
|
{
|
@@ -1670,7 +1686,7 @@
|
|
1670
1686
|
{
|
1671
1687
|
"document": "根据ID查询网络探测验证结果列表",
|
1672
1688
|
"input": "https://vpc.tencentcloudapi.com/?Action=DescribeNetDetectStates\n&NetDetectIds.0=netd-12345678\n&<公共请求参数>",
|
1673
|
-
"output": "{\n \"Response\": {\n \"NetDetectStateSet\": [\n {\n \"NetDetectId\": \"netd-
|
1689
|
+
"output": "{\n \"Response\": {\n \"NetDetectStateSet\": [\n {\n \"NetDetectId\": \"netd-6v2ht8q5\",\n \"NetDetectIpStateSet\": [\n {\n \"DetectDestinationIp\": \"10.0.0.2\",\n \"State\": 0,\n \"Delay\": 0,\n \"PacketLossRate\": 0\n },\n {\n \"DetectDestinationIp\": \"10.0.0.3\",\n \"State\": 0,\n \"Delay\": 0,\n \"PacketLossRate\": 0\n }\n ]\n }\n ],\n \"TotalCount\": 1,\n \"RequestId\": \"6aa316a4-07d2-4355-b87d-40b7f22972b0\"\n }\n}",
|
1674
1690
|
"title": "根据ID查询网络探测验证结果列表"
|
1675
1691
|
}
|
1676
1692
|
],
|
@@ -1808,6 +1824,20 @@
|
|
1808
1824
|
"title": "查询云联网产品配额信息"
|
1809
1825
|
}
|
1810
1826
|
],
|
1827
|
+
"DescribeReserveIpAddresses": [
|
1828
|
+
{
|
1829
|
+
"document": "查询内网保留 IP",
|
1830
|
+
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeReserveIpAddresses\n<公共请求参数>\n\n{\n \"ReserveIpIds\": [\n \"rsvip-eaq2f4pc\",\n \"rsvip-2g134x24\"\n ]\n}",
|
1831
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"2d32beeb-0750-4ef9-a2f9-e4e7bbb0ec7f\",\n \"ReserveIpAddressSet\": [\n {\n \"CreatedTime\": \"2024-11-06 12:01:57\",\n \"Description\": \"desc_ivan\",\n \"IpType\": 0,\n \"Name\": \"name_ivan\",\n \"ReserveIpAddress\": \"10.0.5.99\",\n \"ReserveIpId\": \"rsvip-eaq2f4pc\",\n \"ResourceId\": \"\",\n \"State\": \"UnBind\",\n \"TagSet\": [],\n \"VpcId\": \"vpc-mcqaoy0f\"\n },\n {\n \"CreatedTime\": \"2024-11-06 12:01:57\",\n \"Description\": \"desc_ivan\",\n \"IpType\": 0,\n \"Name\": \"name_ivan\",\n \"ReserveIpAddress\": \"10.0.5.50\",\n \"ReserveIpId\": \"rsvip-2g134x24\",\n \"ResourceId\": \"\",\n \"State\": \"UnBind\",\n \"TagSet\": [],\n \"VpcId\": \"vpc-mcqaoy0f\"\n }\n ],\n \"TotalCount\": 2\n }\n}",
|
1832
|
+
"title": "查询内网保留 IP"
|
1833
|
+
},
|
1834
|
+
{
|
1835
|
+
"document": "根据标签过滤查询保留 IP",
|
1836
|
+
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeReserveIpAddresses\n<公共请求参数>\n\n{\n \"Filters\": [\n {\n \"Name\": \"tag-key\",\n \"Values\": [\n \"ivan_reserve_ip\"\n ]\n }\n ]\n}",
|
1837
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"e168d943-d647-4c0a-ada4-50a90015ded8\",\n \"ReserveIpAddressSet\": [\n {\n \"CreatedTime\": \"2024-11-06 17:30:06\",\n \"Description\": \"desc_ivan\",\n \"IpType\": 0,\n \"Name\": \"name_ivan\",\n \"ReserveIpAddress\": \"10.0.5.89\",\n \"ReserveIpId\": \"rsvip-du6lo6fu\",\n \"ResourceId\": \"\",\n \"State\": \"UnBind\",\n \"TagSet\": [\n {\n \"Key\": \"ivan_reserve_ip\",\n \"Value\": \"hello\"\n }\n ],\n \"VpcId\": \"vpc-mcqaoy0f\"\n }\n ],\n \"TotalCount\": 1\n }\n}",
|
1838
|
+
"title": "根据标签过滤查询保留 IP"
|
1839
|
+
}
|
1840
|
+
],
|
1811
1841
|
"DescribeRouteConflicts": [
|
1812
1842
|
{
|
1813
1843
|
"document": "查询路由策略冲突列表",
|
@@ -2464,7 +2494,7 @@
|
|
2464
2494
|
{
|
2465
2495
|
"document": "本接口(InquiryPriceResetVpnGatewayInternetMaxBandwidth)用于调整VPN网关带宽上限询价。",
|
2466
2496
|
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: InquiryPriceResetVpnGatewayInternetMaxBandwidth\n<公共请求参数>\n\n{\n \"VpnGatewayId\": \"vpngw-a4wta21x\",\n \"InternetMaxBandwidthOut\": 100\n}",
|
2467
|
-
"output": "{\n \"Response\": {\n \"Price\": {\n \"InstancePrice\": {\n \"OriginalPrice\": 1717.86,\n \"DiscountPrice\": 1717.86,\n \"UnitPrice\": 0,\n \"ChargeUnit\": \"\"\n },\n \"BandwidthPrice\": {\n \"OriginalPrice\": 0,\n \"DiscountPrice\": 0,\n \"UnitPrice\": 0,\n \"ChargeUnit\": \"\"\n }\n },\n \"RequestId\": \"e13643de-b578-42b0-8ad3-86b732067292\"\n }\n}",
|
2497
|
+
"output": "{\n \"Response\": {\n \"Price\": {\n \"InstancePrice\": {\n \"OriginalPrice\": 1717.86,\n \"DiscountPrice\": 1717.86,\n \"UnitPrice\": 0,\n \"ChargeUnit\": \"none\"\n },\n \"BandwidthPrice\": {\n \"OriginalPrice\": 0,\n \"DiscountPrice\": 0,\n \"UnitPrice\": 0,\n \"ChargeUnit\": \"none\"\n }\n },\n \"RequestId\": \"e13643de-b578-42b0-8ad3-86b732067292\"\n }\n}",
|
2468
2498
|
"title": "调整VPN网关带宽上限询价"
|
2469
2499
|
}
|
2470
2500
|
],
|
@@ -2874,6 +2904,14 @@
|
|
2874
2904
|
"title": "修改私网NAT网关源端转换规则"
|
2875
2905
|
}
|
2876
2906
|
],
|
2907
|
+
"ModifyReserveIpAddress": [
|
2908
|
+
{
|
2909
|
+
"document": "修改内网保留IP",
|
2910
|
+
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ModifyReserveIpAddress\n<公共请求参数>\n\n{\n \"VpcId\": \"vpc-mcqaoy0f\",\n \"ReserveIpId\": \"rsvip-jvnifc7o\",\n \"Name\": \"name_ivan\",\n \"Description\": \"desc_ivan\"\n}",
|
2911
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"23575de3-d827-43cb-9ddf-0c1e7eaece50\"\n }\n}",
|
2912
|
+
"title": "修改内网保留IP"
|
2913
|
+
}
|
2914
|
+
],
|
2877
2915
|
"ModifyRouteTableAttribute": [
|
2878
2916
|
{
|
2879
2917
|
"document": "修改路由表属性",
|
@@ -2893,7 +2931,7 @@
|
|
2893
2931
|
"ModifySecurityGroupAttribute": [
|
2894
2932
|
{
|
2895
2933
|
"document": "修改安全组属性",
|
2896
|
-
"input": "https://vpc.tencentcloudapi.com/?Action=ModifySecurityGroupAttribute\n&SecurityGroupId=sg-33ocnj9n\n&GroupName=
|
2934
|
+
"input": "https://vpc.tencentcloudapi.com/?Action=ModifySecurityGroupAttribute\n&SecurityGroupId=sg-33ocnj9n\n&GroupName=demo\n&GroupDescription=demo\n&<公共请求参数>",
|
2897
2935
|
"output": "{\n \"Response\": {\n \"RequestId\": \"354f4ac3-8546-4516-8c8a-69e3ab73aa8a\"\n }\n}",
|
2898
2936
|
"title": "修改安全组属性"
|
2899
2937
|
}
|
@@ -2991,7 +3029,7 @@
|
|
2991
3029
|
"ModifyVpcEndPointServiceWhiteList": [
|
2992
3030
|
{
|
2993
3031
|
"document": "修改终端节点服务白名单",
|
2994
|
-
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ModifyVpcEndPointServiceWhiteList\n<公共请求参数>\n\n{\n \"UserUin\": \"\",\n \"Description\": \"
|
3032
|
+
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ModifyVpcEndPointServiceWhiteList\n<公共请求参数>\n\n{\n \"UserUin\": \"700000483554\",\n \"Description\": \"demo\",\n \"EndPointServiceId\": \"vpcsvc-b2mrmmx7\"\n}",
|
2995
3033
|
"output": "{\n \"Response\": {\n \"RequestId\": \"cccb2665-5d02-4d87-b9e7-757bb06e5beb\"\n }\n}",
|
2996
3034
|
"title": "修改终端节点服务白名单"
|
2997
3035
|
}
|
@@ -3039,7 +3077,7 @@
|
|
3039
3077
|
"ModifyVpnGatewaySslClientCert": [
|
3040
3078
|
{
|
3041
3079
|
"document": "更新sslVpnClient证书",
|
3042
|
-
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ModifyVpnGatewaySslClientCert\n<公共请求参数>\n\n{\n \"SslVpnClientIds\": [\n \"
|
3080
|
+
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ModifyVpnGatewaySslClientCert\n<公共请求参数>\n\n{\n \"SslVpnClientIds\": [\n \"vpnc-xxxxxxxx\"\n ]\n}",
|
3043
3081
|
"output": "{\n \"Response\": {\n \"RequestId\": \"e4b16737-b460-429b-b240-d6b621da9eed\",\n \"TaskId\": 10449\n }\n}",
|
3044
3082
|
"title": "更新sslVpnClient证书"
|
3045
3083
|
}
|
@@ -3211,7 +3249,7 @@
|
|
3211
3249
|
"ReplaceSecurityGroupPolicy": [
|
3212
3250
|
{
|
3213
3251
|
"document": "替换单条安全组路由规则",
|
3214
|
-
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ReplaceSecurityGroupPolicy\n<公共请求参数>\n\n{\n \"SecurityGroupId\": \"
|
3252
|
+
"input": "POST / HTTP/1.1\nHost: vpc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ReplaceSecurityGroupPolicy\n<公共请求参数>\n\n{\n \"SecurityGroupId\": \"demo\",\n \"SecurityGroupPolicySet\": {\n \"Version\": \"1\",\n \"Egress\": [\n {\n \"PolicyIndex\": 0,\n \"Protocol\": \"UDP\",\n \"Port\": \"20\",\n \"ServiceTemplate\": {\n \"ServiceId\": \"ppm-f5n1f8da\",\n \"ServiceGroupId\": \"ppmg-f5n1f8da\"\n },\n \"CidrBlock\": \"61.144.138.34\",\n \"Ipv6CidrBlock\": \"::/0\",\n \"SecurityGroupId\": \"sg-1wgfnrnd\",\n \"AddressTemplate\": {\n \"AddressId\": \"ipm-2uw6ujo6\",\n \"AddressGroupId\": \"ipmg-2uw6ujo6\"\n },\n \"Action\": \"accept\",\n \"PolicyDescription\": \"demo\",\n \"ModifyTime\": \"2022-06-21 10:46:42\"\n }\n ],\n \"Ingress\": [\n {\n \"PolicyIndex\": 0,\n \"Protocol\": \"UDP\",\n \"Port\": \"20\",\n \"ServiceTemplate\": {\n \"ServiceId\": \"ppm-f5n1f8da\",\n \"ServiceGroupId\": \"ppmg-f5n1f8da\"\n },\n \"CidrBlock\": \"61.144.138.34\",\n \"Ipv6CidrBlock\": \"::/0\",\n \"SecurityGroupId\": \"sg-1wgfnrnd\",\n \"AddressTemplate\": {\n \"AddressId\": \"ipm-2uw6ujo6\",\n \"AddressGroupId\": \"ipmg-2uw6ujo6\"\n },\n \"Action\": \"accept\",\n \"PolicyDescription\": \"demo\",\n \"ModifyTime\": \"2022-06-21 10:46:42\"\n }\n ]\n },\n \"OriginalSecurityGroupPolicySet\": {\n \"Version\": \"1\",\n \"Egress\": [\n {\n \"PolicyIndex\": 0,\n \"Protocol\": \"UDP\",\n \"Port\": \"20\",\n \"ServiceTemplate\": {\n \"ServiceId\": \"ppm-f5n1f8da\",\n \"ServiceGroupId\": \"ppmg-f5n1f8da\"\n },\n \"CidrBlock\": \"61.144.138.34\",\n \"Ipv6CidrBlock\": \"::/0\",\n \"SecurityGroupId\": \"sg-1wgfnrnd\",\n \"AddressTemplate\": {\n \"AddressId\": \"ipm-2uw6ujo6\",\n \"AddressGroupId\": \"ipmg-2uw6ujo6\"\n },\n \"Action\": \"accept\",\n \"PolicyDescription\": \"demo\",\n \"ModifyTime\": \"2022-06-21 10:46:42\"\n }\n ]\n }\n}",
|
3215
3253
|
"output": "{\n \"Response\": {\n \"RequestId\": \"354f4ac3-8546-4516-8c8a-69e3ab73aa8a\"\n }\n}",
|
3216
3254
|
"title": "替换单条安全组路由规则"
|
3217
3255
|
}
|
tccli/services/vpc/vpc_client.py
CHANGED
@@ -4281,6 +4281,58 @@ def doDetachCcnInstances(args, parsed_globals):
|
|
4281
4281
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
4282
4282
|
|
4283
4283
|
|
4284
|
+
def doCreateReserveIpAddresses(args, parsed_globals):
|
4285
|
+
g_param = parse_global_arg(parsed_globals)
|
4286
|
+
|
4287
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
4288
|
+
cred = credential.CVMRoleCredential()
|
4289
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
4290
|
+
cred = credential.STSAssumeRoleCredential(
|
4291
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
4292
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
4293
|
+
)
|
4294
|
+
elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
|
4295
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
4296
|
+
else:
|
4297
|
+
cred = credential.Credential(
|
4298
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
4299
|
+
)
|
4300
|
+
http_profile = HttpProfile(
|
4301
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
4302
|
+
reqMethod="POST",
|
4303
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
4304
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
4305
|
+
)
|
4306
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
4307
|
+
if g_param[OptionsDefine.Language]:
|
4308
|
+
profile.language = g_param[OptionsDefine.Language]
|
4309
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
4310
|
+
client = mod.VpcClient(cred, g_param[OptionsDefine.Region], profile)
|
4311
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
4312
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
4313
|
+
model = models.CreateReserveIpAddressesRequest()
|
4314
|
+
model.from_json_string(json.dumps(args))
|
4315
|
+
start_time = time.time()
|
4316
|
+
while True:
|
4317
|
+
rsp = client.CreateReserveIpAddresses(model)
|
4318
|
+
result = rsp.to_json_string()
|
4319
|
+
try:
|
4320
|
+
json_obj = json.loads(result)
|
4321
|
+
except TypeError as e:
|
4322
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
4323
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
4324
|
+
break
|
4325
|
+
cur_time = time.time()
|
4326
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
4327
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
4328
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
4329
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
4330
|
+
else:
|
4331
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
4332
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
4333
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
4334
|
+
|
4335
|
+
|
4284
4336
|
def doRefreshDirectConnectGatewayRouteToNatGateway(args, parsed_globals):
|
4285
4337
|
g_param = parse_global_arg(parsed_globals)
|
4286
4338
|
|
@@ -4593,6 +4645,58 @@ def doReleaseAddresses(args, parsed_globals):
|
|
4593
4645
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
4594
4646
|
|
4595
4647
|
|
4648
|
+
def doDescribeReserveIpAddresses(args, parsed_globals):
|
4649
|
+
g_param = parse_global_arg(parsed_globals)
|
4650
|
+
|
4651
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
4652
|
+
cred = credential.CVMRoleCredential()
|
4653
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
4654
|
+
cred = credential.STSAssumeRoleCredential(
|
4655
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
4656
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
4657
|
+
)
|
4658
|
+
elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
|
4659
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
4660
|
+
else:
|
4661
|
+
cred = credential.Credential(
|
4662
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
4663
|
+
)
|
4664
|
+
http_profile = HttpProfile(
|
4665
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
4666
|
+
reqMethod="POST",
|
4667
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
4668
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
4669
|
+
)
|
4670
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
4671
|
+
if g_param[OptionsDefine.Language]:
|
4672
|
+
profile.language = g_param[OptionsDefine.Language]
|
4673
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
4674
|
+
client = mod.VpcClient(cred, g_param[OptionsDefine.Region], profile)
|
4675
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
4676
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
4677
|
+
model = models.DescribeReserveIpAddressesRequest()
|
4678
|
+
model.from_json_string(json.dumps(args))
|
4679
|
+
start_time = time.time()
|
4680
|
+
while True:
|
4681
|
+
rsp = client.DescribeReserveIpAddresses(model)
|
4682
|
+
result = rsp.to_json_string()
|
4683
|
+
try:
|
4684
|
+
json_obj = json.loads(result)
|
4685
|
+
except TypeError as e:
|
4686
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
4687
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
4688
|
+
break
|
4689
|
+
cur_time = time.time()
|
4690
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
4691
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
4692
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
4693
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
4694
|
+
else:
|
4695
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
4696
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
4697
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
4698
|
+
|
4699
|
+
|
4596
4700
|
def doReplaceRoutes(args, parsed_globals):
|
4597
4701
|
g_param = parse_global_arg(parsed_globals)
|
4598
4702
|
|
@@ -5477,6 +5581,58 @@ def doDescribePrivateNatGatewayRegions(args, parsed_globals):
|
|
5477
5581
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
5478
5582
|
|
5479
5583
|
|
5584
|
+
def doModifyReserveIpAddress(args, parsed_globals):
|
5585
|
+
g_param = parse_global_arg(parsed_globals)
|
5586
|
+
|
5587
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
5588
|
+
cred = credential.CVMRoleCredential()
|
5589
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
5590
|
+
cred = credential.STSAssumeRoleCredential(
|
5591
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
5592
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
5593
|
+
)
|
5594
|
+
elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
|
5595
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
5596
|
+
else:
|
5597
|
+
cred = credential.Credential(
|
5598
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
5599
|
+
)
|
5600
|
+
http_profile = HttpProfile(
|
5601
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
5602
|
+
reqMethod="POST",
|
5603
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
5604
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
5605
|
+
)
|
5606
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
5607
|
+
if g_param[OptionsDefine.Language]:
|
5608
|
+
profile.language = g_param[OptionsDefine.Language]
|
5609
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
5610
|
+
client = mod.VpcClient(cred, g_param[OptionsDefine.Region], profile)
|
5611
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
5612
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
5613
|
+
model = models.ModifyReserveIpAddressRequest()
|
5614
|
+
model.from_json_string(json.dumps(args))
|
5615
|
+
start_time = time.time()
|
5616
|
+
while True:
|
5617
|
+
rsp = client.ModifyReserveIpAddress(model)
|
5618
|
+
result = rsp.to_json_string()
|
5619
|
+
try:
|
5620
|
+
json_obj = json.loads(result)
|
5621
|
+
except TypeError as e:
|
5622
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
5623
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
5624
|
+
break
|
5625
|
+
cur_time = time.time()
|
5626
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
5627
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
5628
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
5629
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
5630
|
+
else:
|
5631
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
5632
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
5633
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
5634
|
+
|
5635
|
+
|
5480
5636
|
def doDisassociateNatGatewayAddress(args, parsed_globals):
|
5481
5637
|
g_param = parse_global_arg(parsed_globals)
|
5482
5638
|
|
@@ -16813,6 +16969,58 @@ def doModifyHighPriorityRouteTableAttribute(args, parsed_globals):
|
|
16813
16969
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
16814
16970
|
|
16815
16971
|
|
16972
|
+
def doDeleteReserveIpAddresses(args, parsed_globals):
|
16973
|
+
g_param = parse_global_arg(parsed_globals)
|
16974
|
+
|
16975
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
16976
|
+
cred = credential.CVMRoleCredential()
|
16977
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
16978
|
+
cred = credential.STSAssumeRoleCredential(
|
16979
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
16980
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
16981
|
+
)
|
16982
|
+
elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
|
16983
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
16984
|
+
else:
|
16985
|
+
cred = credential.Credential(
|
16986
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
16987
|
+
)
|
16988
|
+
http_profile = HttpProfile(
|
16989
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
16990
|
+
reqMethod="POST",
|
16991
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
16992
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
16993
|
+
)
|
16994
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
16995
|
+
if g_param[OptionsDefine.Language]:
|
16996
|
+
profile.language = g_param[OptionsDefine.Language]
|
16997
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
16998
|
+
client = mod.VpcClient(cred, g_param[OptionsDefine.Region], profile)
|
16999
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
17000
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
17001
|
+
model = models.DeleteReserveIpAddressesRequest()
|
17002
|
+
model.from_json_string(json.dumps(args))
|
17003
|
+
start_time = time.time()
|
17004
|
+
while True:
|
17005
|
+
rsp = client.DeleteReserveIpAddresses(model)
|
17006
|
+
result = rsp.to_json_string()
|
17007
|
+
try:
|
17008
|
+
json_obj = json.loads(result)
|
17009
|
+
except TypeError as e:
|
17010
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
17011
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
17012
|
+
break
|
17013
|
+
cur_time = time.time()
|
17014
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
17015
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
17016
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
17017
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
17018
|
+
else:
|
17019
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
17020
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
17021
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
17022
|
+
|
17023
|
+
|
16816
17024
|
def doModifyCdcLDCXAttribute(args, parsed_globals):
|
16817
17025
|
g_param = parse_global_arg(parsed_globals)
|
16818
17026
|
|
@@ -19454,12 +19662,14 @@ ACTION_MAP = {
|
|
19454
19662
|
"ReplaceCcnRouteTableInputPolicys": doReplaceCcnRouteTableInputPolicys,
|
19455
19663
|
"CreateDirectConnectGateway": doCreateDirectConnectGateway,
|
19456
19664
|
"DetachCcnInstances": doDetachCcnInstances,
|
19665
|
+
"CreateReserveIpAddresses": doCreateReserveIpAddresses,
|
19457
19666
|
"RefreshDirectConnectGatewayRouteToNatGateway": doRefreshDirectConnectGatewayRouteToNatGateway,
|
19458
19667
|
"SetCcnRegionBandwidthLimits": doSetCcnRegionBandwidthLimits,
|
19459
19668
|
"EnableRoutes": doEnableRoutes,
|
19460
19669
|
"ModifyRouteTableAttribute": doModifyRouteTableAttribute,
|
19461
19670
|
"ModifyHaVipAttribute": doModifyHaVipAttribute,
|
19462
19671
|
"ReleaseAddresses": doReleaseAddresses,
|
19672
|
+
"DescribeReserveIpAddresses": doDescribeReserveIpAddresses,
|
19463
19673
|
"ReplaceRoutes": doReplaceRoutes,
|
19464
19674
|
"DescribeVpcPrivateIpAddresses": doDescribeVpcPrivateIpAddresses,
|
19465
19675
|
"ModifyIp6Translator": doModifyIp6Translator,
|
@@ -19477,6 +19687,7 @@ ACTION_MAP = {
|
|
19477
19687
|
"DescribeNatGatewayDestinationIpPortTranslationNatRules": doDescribeNatGatewayDestinationIpPortTranslationNatRules,
|
19478
19688
|
"DescribeCcnAttachedInstances": doDescribeCcnAttachedInstances,
|
19479
19689
|
"DescribePrivateNatGatewayRegions": doDescribePrivateNatGatewayRegions,
|
19690
|
+
"ModifyReserveIpAddress": doModifyReserveIpAddress,
|
19480
19691
|
"DisassociateNatGatewayAddress": doDisassociateNatGatewayAddress,
|
19481
19692
|
"DescribeGatewayFlowMonitorDetail": doDescribeGatewayFlowMonitorDetail,
|
19482
19693
|
"UnassignIpv6Addresses": doUnassignIpv6Addresses,
|
@@ -19695,6 +19906,7 @@ ACTION_MAP = {
|
|
19695
19906
|
"DeleteNatGateway": doDeleteNatGateway,
|
19696
19907
|
"DescribeBandwidthPackageQuota": doDescribeBandwidthPackageQuota,
|
19697
19908
|
"ModifyHighPriorityRouteTableAttribute": doModifyHighPriorityRouteTableAttribute,
|
19909
|
+
"DeleteReserveIpAddresses": doDeleteReserveIpAddresses,
|
19698
19910
|
"ModifyCdcLDCXAttribute": doModifyCdcLDCXAttribute,
|
19699
19911
|
"DeleteVpcEndPointService": doDeleteVpcEndPointService,
|
19700
19912
|
"CreateNetworkAclQuintupleEntries": doCreateNetworkAclQuintupleEntries,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: tccli
|
3
|
-
Version: 3.0.
|
3
|
+
Version: 3.0.1219.1
|
4
4
|
Summary: Universal Command Line Environment for Tencent Cloud
|
5
5
|
Project-URL: Bug Tracker, https://github.com/TencentCloud/tencentcloud-cli/issues
|
6
6
|
Project-URL: Homepage, https://github.com/TencentCloud/tencentcloud-cli
|
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 2.7
|
|
13
13
|
Classifier: Programming Language :: Python :: 3
|
14
14
|
Requires-Dist: jmespath==0.10.0
|
15
15
|
Requires-Dist: six==1.16.0
|
16
|
-
Requires-Dist: tencentcloud-sdk-python>=3.0.
|
16
|
+
Requires-Dist: tencentcloud-sdk-python>=3.0.1219
|
17
17
|
Description-Content-Type: text/markdown
|
18
18
|
|
19
19
|
# 命令行工具简介
|