tccli 3.0.1156.1__py2.py3-none-any.whl → 3.0.1157.1__py2.py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -1874,8 +1874,8 @@
1874
1874
  },
1875
1875
  {
1876
1876
  "disabled": false,
1877
- "document": "包名。使用 JAR 包或者 WAR 包部署的时候必填。",
1878
- "example": "1",
1877
+ "document": "传入内容为 /jar包名字 的形式。也就是在 jar包名字前增加一个/。\n\n如上传的 jar 包名字为 demo-1.0.0.jar,那么这里传入内容为:/demo-1.0.0.jar\n\n注:jar 包需要通过 tem 页面上传过,tem 后端才能拉到该 jar 包。",
1878
+ "example": "/demo-1.0.0.jar",
1879
1879
  "member": "string",
1880
1880
  "name": "PkgName",
1881
1881
  "required": false,
@@ -2141,6 +2141,24 @@
2141
2141
  "name": "RepoType",
2142
2142
  "required": false,
2143
2143
  "type": "int"
2144
+ },
2145
+ {
2146
+ "disabled": false,
2147
+ "document": "启动后执行的脚本,base64 编码",
2148
+ "example": "无",
2149
+ "member": "string",
2150
+ "name": "PostStartEncoded",
2151
+ "required": false,
2152
+ "type": "string"
2153
+ },
2154
+ {
2155
+ "disabled": false,
2156
+ "document": "停止前执行的脚本,base64 编码",
2157
+ "example": "无",
2158
+ "member": "string",
2159
+ "name": "PreStopEncoded",
2160
+ "required": false,
2161
+ "type": "string"
2144
2162
  }
2145
2163
  ],
2146
2164
  "type": "object"
@@ -2154,7 +2172,7 @@
2154
2172
  "example": "1",
2155
2173
  "member": "string",
2156
2174
  "name": "Result",
2157
- "required": true,
2175
+ "output_required": true,
2158
2176
  "type": "string",
2159
2177
  "value_allowed_null": false
2160
2178
  },
@@ -99,15 +99,9 @@
99
99
  "DeployApplication": [
100
100
  {
101
101
  "document": "应用部署",
102
- "input": "POST / HTTP/1.1\nHost: tem.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DeployApplication\n<公共请求参数>\n\n{\n \"Service\": {\n \"ApplicationName\": \"xx\",\n \"ExternalIp\": \"xx\",\n \"Name\": \"xx\",\n \"PortMappings\": [\n {\n \"Protocol\": \"xx\",\n \"TargetPort\": 0,\n \"Port\": 0\n }\n ],\n \"Yaml\": \"xx\",\n \"LoadBalanceId\": \"xx\",\n \"VersionName\": \"xx\",\n \"ClusterIp\": [\n \"xx\"\n ],\n \"SubnetId\": \"xx\",\n \"Type\": \"xx\",\n \"Ports\": [\n 0\n ]\n },\n \"JvmOpts\": \"xx\",\n \"StorageConfs\": [\n {\n \"StorageVolName\": \"xx\",\n \"StorageVolIp\": \"xx\",\n \"StorageVolPath\": \"xx\"\n }\n ],\n \"ImgRepo\": \"xx\",\n \"EnvConf\": [\n {\n \"Value\": \"xx\",\n \"Key\": \"xx\"\n }\n ],\n \"ImageCommand\": \"xx\",\n \"Description\": \"xx\",\n \"JdkVersion\": \"xx\",\n \"ApplicationId\": \"xx\",\n \"LogOutputConf\": {\n \"ClsLogTopicId\": \"xx\",\n \"ClsLogsetName\": \"xx\",\n \"ClsLogsetId\": \"xx\",\n \"ClsLogTopicName\": \"xx\",\n \"OutputType\": \"xx\"\n },\n \"UseRegistryDefaultConfig\": true,\n \"CpuSpec\": 0.0,\n \"DeployMode\": \"xx\",\n \"SecurityGroupIds\": [\n \"xx\"\n ],\n \"SourceChannel\": 0,\n \"DeployVersion\": \"xx\",\n \"InitPodNum\": 1,\n \"VersionDesc\": \"xx\",\n \"ImageArgs\": [\n \"xx\"\n ],\n \"MemorySpec\": 0.0,\n \"EnvironmentId\": \"xx\",\n \"LogConfs\": [\n \"xx\"\n ],\n \"PkgName\": \"xx\",\n \"StorageMountConfs\": [\n {\n \"VolumeName\": \"xx\",\n \"MountPath\": \"xx\"\n }\n ],\n \"EsInfo\": {\n \"MinAliveInstances\": 0,\n \"EsStrategy\": 0,\n \"VersionId\": \"xx\",\n \"Threshold\": 1,\n \"MaxAliveInstances\": 2\n },\n \"VersionId\": \"xx\",\n \"SettingConfs\": [\n {\n \"ConfigDataName\": \"xx\",\n \"MountedPath\": \"xx\",\n \"Data\": [\n {\n \"Value\": \"xx\",\n \"Key\": \"xx\"\n }\n ]\n }\n ],\n \"OsFlavour\": \"ALPINE\"\n}",
102
+ "input": "POST / HTTP/1.1\nHost: tem.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DeployApplication\n<公共请求参数>\n\n{\n \"ApplicationId\": \"abc\",\n \"ImgRepo\": \"abc\",\n \"VersionDesc\": \"abc\",\n \"JvmOpts\": \"abc\",\n \"InitPodNum\": 1,\n \"EsInfo\": {\n \"MinAliveInstances\": 0,\n \"MaxAliveInstances\": 0,\n \"EsStrategy\": 0,\n \"VersionId\": \"abc\",\n \"Threshold\": 1\n },\n \"EnvConf\": [\n {\n \"Key\": \"abc\",\n \"Value\": \"abc\",\n \"Type\": \"abc\",\n \"Config\": \"abc\",\n \"Secret\": \"abc\"\n }\n ],\n \"LogConfs\": [\n \"abc\"\n ],\n \"StorageConfs\": [\n {\n \"StorageVolName\": \"abc\",\n \"StorageVolPath\": \"abc\",\n \"StorageVolIp\": \"abc\"\n }\n ],\n \"StorageMountConfs\": [\n {\n \"VolumeName\": \"abc\",\n \"MountPath\": \"abc\"\n }\n ],\n \"DeployMode\": \"abc\",\n \"DeployVersion\": \"abc\",\n \"PkgName\": \"abc\",\n \"CpuSpec\": 0,\n \"MemorySpec\": 0,\n \"JdkVersion\": \"abc\",\n \"SecurityGroupIds\": [\n \"abc\"\n ],\n \"LogOutputConf\": {\n \"OutputType\": \"abc\",\n \"ClsLogsetName\": \"abc\",\n \"ClsLogTopicId\": \"abc\",\n \"ClsLogsetId\": \"abc\",\n \"ClsLogTopicName\": \"abc\"\n },\n \"SourceChannel\": 0,\n \"Description\": \"abc\",\n \"EnvironmentId\": \"abc\",\n \"ImageCommand\": \"abc\",\n \"ImageArgs\": [\n \"abc\"\n ],\n \"UseRegistryDefaultConfig\": true,\n \"SettingConfs\": [\n {\n \"ConfigDataName\": \"abc\",\n \"MountedPath\": \"abc\",\n \"Data\": [\n {\n \"Key\": \"abc\",\n \"Value\": \"abc\",\n \"Type\": \"abc\",\n \"Config\": \"abc\",\n \"Secret\": \"abc\"\n }\n ],\n \"SecretDataName\": \"abc\"\n }\n ],\n \"Service\": {\n \"Name\": \"abc\",\n \"Ports\": [\n 0\n ],\n \"Yaml\": \"abc\",\n \"ApplicationName\": \"abc\",\n \"VersionName\": \"abc\",\n \"ClusterIp\": [\n \"abc\"\n ],\n \"ExternalIp\": \"abc\",\n \"Type\": \"abc\",\n \"SubnetId\": \"abc\",\n \"LoadBalanceId\": \"abc\",\n \"PortMappings\": [\n {\n \"Port\": 0,\n \"TargetPort\": 0,\n \"Protocol\": \"abc\",\n \"ServiceName\": \"abc\"\n }\n ],\n \"ServicePortMappingList\": [\n {\n \"Type\": \"abc\",\n \"ServiceName\": \"abc\",\n \"ClusterIp\": \"abc\",\n \"ExternalIp\": \"abc\",\n \"SubnetId\": \"abc\",\n \"VpcId\": \"abc\",\n \"LoadBalanceId\": \"abc\",\n \"Yaml\": \"abc\",\n \"Ports\": [\n 0\n ],\n \"PortMappingItemList\": [\n {\n \"Port\": 0,\n \"TargetPort\": 0,\n \"Protocol\": \"abc\"\n }\n ],\n \"ExternalDomain\": \"abc\"\n }\n ],\n \"FlushAll\": true,\n \"EnableRegistryNextDeploy\": 0,\n \"ApplicationId\": \"abc\",\n \"AllIpDone\": true,\n \"ExternalDomain\": \"abc\"\n },\n \"VersionId\": \"abc\",\n \"PostStart\": \"abc\",\n \"PreStop\": \"abc\",\n \"Liveness\": {\n \"Type\": \"abc\",\n \"Protocol\": \"abc\",\n \"Path\": \"abc\",\n \"Exec\": \"abc\",\n \"Port\": 0,\n \"InitialDelaySeconds\": 0,\n \"TimeoutSeconds\": 0,\n \"PeriodSeconds\": 0\n },\n \"Readiness\": {\n \"Type\": \"abc\",\n \"Protocol\": \"abc\",\n \"Path\": \"abc\",\n \"Exec\": \"abc\",\n \"Port\": 0,\n \"InitialDelaySeconds\": 0,\n \"TimeoutSeconds\": 0,\n \"PeriodSeconds\": 0\n },\n \"DeployStrategyConf\": {\n \"TotalBatchCount\": 0,\n \"BetaBatchNum\": 0,\n \"DeployStrategyType\": 0,\n \"BatchInterval\": 0,\n \"MinAvailable\": 0,\n \"Force\": true\n },\n \"HorizontalAutoscaler\": [\n {\n \"MinReplicas\": 0,\n \"MaxReplicas\": 0,\n \"Metrics\": \"abc\",\n \"Threshold\": 0,\n \"Enabled\": true,\n \"DoubleThreshold\": 0\n }\n ],\n \"CronHorizontalAutoscaler\": [\n {\n \"Name\": \"abc\",\n \"Period\": \"abc\",\n \"Schedules\": [\n {\n \"StartAt\": \"abc\",\n \"TargetReplicas\": 0\n }\n ],\n \"Enabled\": true,\n \"Priority\": 0\n }\n ],\n \"LogEnable\": 0,\n \"ConfEdited\": true,\n \"SpeedUp\": true,\n \"StartupProbe\": {\n \"Type\": \"abc\",\n \"Protocol\": \"abc\",\n \"Path\": \"abc\",\n \"Exec\": \"abc\",\n \"Port\": 0,\n \"InitialDelaySeconds\": 0,\n \"TimeoutSeconds\": 0,\n \"PeriodSeconds\": 0\n },\n \"OsFlavour\": \"abc\",\n \"EnablePrometheusConf\": {\n \"Port\": 0,\n \"Path\": \"abc\"\n },\n \"EnableTracing\": 0,\n \"EnableMetrics\": 0,\n \"TcrInstanceId\": \"abc\",\n \"RepoServer\": \"abc\",\n \"RepoType\": 0,\n \"PostStartEncoded\": \"abc\",\n \"PreStopEncoded\": \"abc\"\n}",
103
103
  "output": "{\n \"Response\": {\n \"RequestId\": \"81f74023-563c-437d-abf7-8139449ef178\",\n \"Result\": \"version-xxx\"\n }\n}",
104
104
  "title": "应用部署"
105
- },
106
- {
107
- "document": "",
108
- "input": "POST / HTTP/1.1\nHost: tem.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DeployApplication\n<公共请求参数>\n\n{\n \"Service\": {\n \"Name\": \"字符串\"\n },\n \"JvmOpts\": \"字符串\",\n \"SpeedUp\": \"false\",\n \"PreStop\": \"字符串\",\n \"ImgRepo\": \"字符串\",\n \"EnvConf\": [\n {\n \"Config\": \"字符串\",\n \"Type\": \"字符串\",\n \"Key\": \"字符串\",\n \"Value\": \"字符串\"\n }\n ],\n \"ImageCommand\": \"字符串\",\n \"Description\": \"字符串\",\n \"JdkVersion\": \"字符串\",\n \"ApplicationId\": \"字符串\",\n \"LogOutputConf\": {\n \"ClsLogTopicName\": \"字符串\",\n \"ClsLogsetName\": \"字符串\",\n \"ClsLogTopicId\": \"字符串\",\n \"OutputType\": \"字符串\",\n \"ClsLogsetId\": \"字符串\"\n },\n \"ConfEdited\": \"false\",\n \"EnvironmentId\": \"字符串\",\n \"CpuSpec\": \"0.1\",\n \"DeployMode\": \"字符串\",\n \"SecurityGroupIds\": [\n \"字符串\"\n ],\n \"SourceChannel\": \"0\",\n \"LogEnable\": \"0\",\n \"InitPodNum\": \"2\",\n \"VersionDesc\": \"字符串\",\n \"ImageArgs\": [\n \"字符串\"\n ],\n \"MemorySpec\": \"1024\",\n \"UseRegistryDefaultConfig\": \"true\",\n \"LogConfs\": [\n \"字符串\"\n ],\n \"PkgName\": \"字符串\",\n \"StorageMountConfs\": [\n {\n \"VolumeName\": \"字符串\",\n \"MountPath\": \"字符串\"\n }\n ],\n \"DeployVersion\": \"字符串\",\n \"VersionId\": \"字符串\",\n \"SettingConfs\": [\n {\n \"ConfigDataName\": \"字符串\",\n \"MountedPath\": \"字符串\",\n \"Data\": [\n {\n \"Config\": \"字符串\",\n \"Type\": \"字符串\",\n \"Key\": \"字符串\",\n \"Value\": \"字符串\"\n }\n ]\n }\n ],\n \"StorageConfs\": [\n {\n \"StorageVolPath\": \"字符串\",\n \"StorageVolIp\": \"字符串\",\n \"StorageVolName\": \"字符串\"\n }\n ],\n \"PostStart\": \"字符串\",\n \"OsFlavour\": \"ALPINE\"\n}",
109
- "output": "{\n \"Response\": {\n \"RequestId\": \"422a54ac-9913-4d46-8439-9c05600003b3\",\n \"Result\": \"version-success\"\n }\n}",
110
- "title": "nanjing-test-20220111"
111
105
  }
112
106
  ],
113
107
  "DescribeApplicationAutoscalerList": [
@@ -541,7 +541,7 @@ def doDescribeInitNodeScripts(args, parsed_globals):
541
541
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
542
542
 
543
543
 
544
- def doDeleteQueue(args, parsed_globals):
544
+ def doAttachNodes(args, parsed_globals):
545
545
  g_param = parse_global_arg(parsed_globals)
546
546
 
547
547
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -570,11 +570,11 @@ def doDeleteQueue(args, parsed_globals):
570
570
  client = mod.ThpcClient(cred, g_param[OptionsDefine.Region], profile)
571
571
  client._sdkVersion += ("_CLI_" + __version__)
572
572
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
573
- model = models.DeleteQueueRequest()
573
+ model = models.AttachNodesRequest()
574
574
  model.from_json_string(json.dumps(args))
575
575
  start_time = time.time()
576
576
  while True:
577
- rsp = client.DeleteQueue(model)
577
+ rsp = client.AttachNodes(model)
578
578
  result = rsp.to_json_string()
579
579
  try:
580
580
  json_obj = json.loads(result)
@@ -801,6 +801,58 @@ def doDescribeClusters(args, parsed_globals):
801
801
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
802
802
 
803
803
 
804
+ def doDetachNodes(args, parsed_globals):
805
+ g_param = parse_global_arg(parsed_globals)
806
+
807
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
808
+ cred = credential.CVMRoleCredential()
809
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
810
+ cred = credential.STSAssumeRoleCredential(
811
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
812
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
813
+ )
814
+ 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):
815
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
816
+ else:
817
+ cred = credential.Credential(
818
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
819
+ )
820
+ http_profile = HttpProfile(
821
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
822
+ reqMethod="POST",
823
+ endpoint=g_param[OptionsDefine.Endpoint],
824
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
825
+ )
826
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
827
+ if g_param[OptionsDefine.Language]:
828
+ profile.language = g_param[OptionsDefine.Language]
829
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
830
+ client = mod.ThpcClient(cred, g_param[OptionsDefine.Region], profile)
831
+ client._sdkVersion += ("_CLI_" + __version__)
832
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
833
+ model = models.DetachNodesRequest()
834
+ model.from_json_string(json.dumps(args))
835
+ start_time = time.time()
836
+ while True:
837
+ rsp = client.DetachNodes(model)
838
+ result = rsp.to_json_string()
839
+ try:
840
+ json_obj = json.loads(result)
841
+ except TypeError as e:
842
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
843
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
844
+ break
845
+ cur_time = time.time()
846
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
847
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
848
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
849
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
850
+ else:
851
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
852
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
853
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
854
+
855
+
804
856
  def doAddClusterStorageOption(args, parsed_globals):
805
857
  g_param = parse_global_arg(parsed_globals)
806
858
 
@@ -957,6 +1009,58 @@ def doDeleteCluster(args, parsed_globals):
957
1009
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
958
1010
 
959
1011
 
1012
+ def doDeleteQueue(args, parsed_globals):
1013
+ g_param = parse_global_arg(parsed_globals)
1014
+
1015
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1016
+ cred = credential.CVMRoleCredential()
1017
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1018
+ cred = credential.STSAssumeRoleCredential(
1019
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1020
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1021
+ )
1022
+ 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):
1023
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1024
+ else:
1025
+ cred = credential.Credential(
1026
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1027
+ )
1028
+ http_profile = HttpProfile(
1029
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1030
+ reqMethod="POST",
1031
+ endpoint=g_param[OptionsDefine.Endpoint],
1032
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1033
+ )
1034
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
1035
+ if g_param[OptionsDefine.Language]:
1036
+ profile.language = g_param[OptionsDefine.Language]
1037
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1038
+ client = mod.ThpcClient(cred, g_param[OptionsDefine.Region], profile)
1039
+ client._sdkVersion += ("_CLI_" + __version__)
1040
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1041
+ model = models.DeleteQueueRequest()
1042
+ model.from_json_string(json.dumps(args))
1043
+ start_time = time.time()
1044
+ while True:
1045
+ rsp = client.DeleteQueue(model)
1046
+ result = rsp.to_json_string()
1047
+ try:
1048
+ json_obj = json.loads(result)
1049
+ except TypeError as e:
1050
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1051
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1052
+ break
1053
+ cur_time = time.time()
1054
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1055
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1056
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1057
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1058
+ else:
1059
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1060
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1061
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1062
+
1063
+
960
1064
  CLIENT_MAP = {
961
1065
  "v20230321": thpc_client_v20230321,
962
1066
  "v20220401": thpc_client_v20220401,
@@ -982,14 +1086,16 @@ ACTION_MAP = {
982
1086
  "AddQueue": doAddQueue,
983
1087
  "DescribeNodes": doDescribeNodes,
984
1088
  "DescribeInitNodeScripts": doDescribeInitNodeScripts,
985
- "DeleteQueue": doDeleteQueue,
1089
+ "AttachNodes": doAttachNodes,
986
1090
  "DescribeQueues": doDescribeQueues,
987
1091
  "AddNodes": doAddNodes,
988
1092
  "DescribeAutoScalingConfiguration": doDescribeAutoScalingConfiguration,
989
1093
  "DescribeClusters": doDescribeClusters,
1094
+ "DetachNodes": doDetachNodes,
990
1095
  "AddClusterStorageOption": doAddClusterStorageOption,
991
1096
  "DescribeClusterActivities": doDescribeClusterActivities,
992
1097
  "DeleteCluster": doDeleteCluster,
1098
+ "DeleteQueue": doDeleteQueue,
993
1099
 
994
1100
  }
995
1101