qingcloud-sdk 0.3.3 → 0.4.0

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: 12fa0682c3481b469c099b1363a516148c112ca2
4
- data.tar.gz: 9d6612d77e27fded58022f64a09a3015c75f42d6
3
+ metadata.gz: 64d5a78c501068c1c208197bd6498d637aad197a
4
+ data.tar.gz: 159afd08dbf521cdd548ef62721a2727fea72c50
5
5
  SHA512:
6
- metadata.gz: e8840d2ce3cba351e531c888d553e523fa858d6e4f0968a437108d47cd78b7890a0b105457290a314e3bd9d5bd3914069f63079a0cea174ff83d7d64dbf1d1c4
7
- data.tar.gz: f7e0d4a910eed8a2276d02f925595889d492108aba483c3b754baf35a6e037a032c5ad79625cddd58427824df3dc22a014114505498ee4523dd704dfe057fc04
6
+ metadata.gz: 12dc6d5ee2c4a594e3a4b5b7bf4c2f48176b9d25a6a751980cf706e403244cfea0c7c1b29d6f7ad94ec882b0f7a7bfac63090cad67a13c5d518d429a1bf4c243
7
+ data.tar.gz: 06659021062f813a951900940a69df5f09f0338bdb366c905892a5dfdb4da73391e63dbb7bd0c724eff9c39b6af37b509385a5987b01bbf2773fb99f1eb31204
data/README.md CHANGED
@@ -12,15 +12,11 @@ SDK for QingCloud
12
12
 
13
13
  Add this line to your application's Gemfile:
14
14
 
15
- ```ruby
16
- gem 'qingcloud-sdk'
17
- ```
15
+ gem 'qingcloud-sdk'
18
16
 
19
17
  or
20
18
 
21
- ```ruby
22
- gem 'qingcloud-sdk', git: 'https://github.com/prettyxw/qingcloud-sdk-ruby'
23
- ```
19
+ gem 'qingcloud-sdk', git: 'https://github.com/prettyxw/qingcloud-sdk-ruby'
24
20
 
25
21
  And then execute:
26
22
 
@@ -52,10 +48,12 @@ Using gem to remove this package:
52
48
 
53
49
  Example:
54
50
 
55
- Action: "DescribeInstances" -> "describe_instances"
56
- Parameter: "zone" -> "zone"
57
- Array Parameter: "instances.n" -> "instances_N"
58
- Array Parameter: "statics.n.static_type" -> "statics_N_static_type"
51
+ ```ruby
52
+ Action: "DescribeInstances" -> "describe_instances"
53
+ Parameter: "zone" -> "zone"
54
+ Array Parameter: "instances.n" -> "instances_N"
55
+ Array Parameter: "statics.n.static_type" -> "statics_N_static_type"
56
+ ```
59
57
 
60
58
  ## Getting Started
61
59
 
@@ -68,10 +66,10 @@ require 'qingcloud/sdk'
68
66
 
69
67
  # Create Connection and Service
70
68
 
71
- connector = QingCloud::SDK::Client::Connector.init 'qy_access_key_id',
72
- 'qy_secret_access_key'
69
+ connector = QingCloud::SDK::IaaS::Connector.init 'qy_access_key_id',
70
+ 'qy_secret_access_key'
73
71
 
74
- service = QingCloud::SDK::Client::Service.new connector
72
+ service = QingCloud::SDK::IaaS::Service.new connector
75
73
 
76
74
  # Describe Instances
77
75
 
@@ -87,7 +85,7 @@ service.run_instances image_id: 'centos7x64b',
87
85
  login_mode: 'keypair',
88
86
  login_keypair: 'keypair-id',
89
87
  zone: 'ap1'
90
-
88
+
91
89
  puts service.response
92
90
 
93
91
  # Terminate Instances
@@ -10,6 +10,6 @@ require 'qingcloud/sdk/utility/file_manager'
10
10
  require 'qingcloud/sdk/utility/json_parser'
11
11
 
12
12
  # Client
13
- require 'qingcloud/sdk/client/connector'
14
- require 'qingcloud/sdk/client/foundation'
15
- require 'qingcloud/sdk/client/service'
13
+ require 'qingcloud/sdk/iaas/connector'
14
+ require 'qingcloud/sdk/iaas/foundation'
15
+ require 'qingcloud/sdk/iaas/service'
@@ -3,16 +3,17 @@ module QingCloud
3
3
  module Contract
4
4
 
5
5
  SUPPORT_DIRECTORY = "#{Dir.home}/.qingcloud"
6
- CONFIG_FILE_NAME = 'qingcloud.json'
6
+ CONFIG_FILE_NAME = 'config.json'
7
7
  CONFIG_FILE_PATH = "#{SUPPORT_DIRECTORY}/#{CONFIG_FILE_NAME}"
8
- LOG_FILE_NAME = 'qingcloud.log'
8
+ LOG_FILE_NAME = 'access.log'
9
9
  LOG_FILE_PATH = "#{SUPPORT_DIRECTORY}/#{LOG_FILE_NAME}"
10
10
 
11
11
  TEMPLATE_DIRECTORY = Gem::Specification.find_by_name('qingcloud-sdk').gem_dir + '/lib/qingcloud/sdk/template'
12
- TEMPLATE_CONFIG_FILE_NAME = 'qingcloud.json'
12
+ TEMPLATE_CONFIG_FILE_NAME = 'config.json'
13
13
  TEMPLATE_CONFIG_FILE_PATH = "#{TEMPLATE_DIRECTORY}/#{TEMPLATE_CONFIG_FILE_NAME}"
14
14
 
15
- API_URL = 'https://api.qingcloud.com/iaas/?'
15
+ API_URL = 'https://api.qingcloud.com'
16
+ IaaS_API_URL = "#{API_URL}/iaas/?"
16
17
 
17
18
  end
18
19
  end
@@ -5,7 +5,7 @@ require 'net/http'
5
5
 
6
6
  module QingCloud
7
7
  module SDK
8
- module Client
8
+ module IaaS
9
9
 
10
10
  class Connector
11
11
 
@@ -25,6 +25,9 @@ module QingCloud
25
25
  end
26
26
 
27
27
  def self.init_with_config_file
28
+ unless Utility.file_manager.read_config_file
29
+ Utility.file_manager.create_new_config_file
30
+ end
28
31
  config_map = {}
29
32
  content = Utility.file_manager.read_config_file
30
33
  config_map = Utility.json_parser.decode content if content
@@ -68,7 +71,7 @@ module QingCloud
68
71
  )
69
72
  ).strip
70
73
 
71
- request_url = "#{Contract::API_URL}#{request_body}&signature=#{CGI.escape signature}"
74
+ request_url = "#{Contract::IaaS_API_URL}#{request_body}&signature=#{CGI.escape signature}"
72
75
 
73
76
  # Log
74
77
  Utility.logger.info request_url
@@ -1,6 +1,6 @@
1
1
  module QingCloud
2
2
  module SDK
3
- module Client
3
+ module IaaS
4
4
 
5
5
  class Foundation
6
6
 
@@ -1,6 +1,6 @@
1
1
  module QingCloud
2
2
  module SDK
3
- module Client
3
+ module IaaS
4
4
 
5
5
  class Service < Foundation
6
6
 
@@ -830,6 +830,443 @@ module QingCloud
830
830
  zone:)eval(build_fetch 'CreateRDBFromSnapshot')
831
831
  end
832
832
 
833
+ # Mongo
834
+
835
+ def describe_mongo_nodes(
836
+ mongo:,
837
+ offset: nil,
838
+ limit: nil,
839
+ zone:)eval(build_fetch 'DescribeMongoNodes')
840
+ end
841
+
842
+ def describe_mongo_parameters(
843
+ mongo:,
844
+ offset: nil,
845
+ limit: nil,
846
+ zone:)eval(build_fetch 'DescribeMongoParameters')
847
+ end
848
+
849
+ def resize_mongos(
850
+ mongos_N:,
851
+ mongo_type: nil,
852
+ storage_size: nil,
853
+ zone:)eval(build_fetch 'ResizeMongos')
854
+ end
855
+
856
+ def create_mongo(
857
+ vxnet:,
858
+ mongo_version: nil,
859
+ mongo_type:,
860
+ storage_size:,
861
+ mongo_name: nil,
862
+ description: nil,
863
+ auto_backup_time: nil,
864
+ private_ips: nil,
865
+ zone:)eval(build_fetch 'CreateMongo')
866
+ end
867
+
868
+ def stop_mongos(
869
+ mongos_N:,
870
+ zone:)eval(build_fetch 'StopMongos')
871
+ end
872
+
873
+ def start_mongos(
874
+ mongos_N:,
875
+ zone:)eval(build_fetch 'StartMongos')
876
+ end
877
+
878
+ def describe_mongos(
879
+ mongos_N: [],
880
+ status_N: [],
881
+ mongo_name: nil,
882
+ tags_N: [],
883
+ verbose: nil,
884
+ offset: nil,
885
+ limit: nil,
886
+ zone:)eval(build_fetch 'DescribeMongos')
887
+ end
888
+
889
+ def delete_mongos(
890
+ mongos_N:,
891
+ zone:)eval(build_fetch 'DeleteMongos')
892
+ end
893
+
894
+ def create_mongo_from_snapshot(
895
+ vxnet:,
896
+ mongo_type:,
897
+ mongo_name: nil,
898
+ description: nil,
899
+ auto_backup_time: nil,
900
+ zone:)eval(build_fetch 'CreateMongoFromSnapshot')
901
+ end
902
+
903
+ def change_mongo_vxnet(
904
+ mongo:,
905
+ vxnet:,
906
+ private_ips: nil,
907
+ zone:)eval(build_fetch 'ChangeMongoVxnet')
908
+ end
909
+
910
+ def add_mongo_instances(
911
+ mongo:,
912
+ node_count: nil,
913
+ private_ips: nil,
914
+ zone:)eval(build_fetch 'AddMongoInstances')
915
+ end
916
+
917
+ def remove_mongo_instances(
918
+ mongo:,
919
+ mongo_instances:,
920
+ zone:)eval(build_fetch 'RemoveMongoInstances')
921
+ end
922
+
923
+ def modify_mongo_attributes(
924
+ mongo:,
925
+ mongo_name: nil,
926
+ description: nil,
927
+ auto_backup_time: nil,
928
+ zone:)eval(build_fetch 'ModifyMongoAttributes')
929
+ end
930
+
931
+ def modify_mongo_instances(
932
+ mongo:,
933
+ private_ips: nil,
934
+ zone:)eval(build_fetch 'ModifyMongoInstances')
935
+ end
936
+
937
+ def get_mongo_monitor(
938
+ resource:,
939
+ meters_N:,
940
+ step:,
941
+ start_time:,
942
+ end_time:,
943
+ zone:)eval(build_fetch 'GetMongoMonitor')
944
+ end
945
+
946
+ # Cache
947
+
948
+ def describe_caches(
949
+ caches_N: [],
950
+ status_N: [],
951
+ search_word: nil,
952
+ tags_N: [],
953
+ verbose: nil,
954
+ offset: nil,
955
+ limit: nil,
956
+ zone:)eval(build_fetch 'DescribeCaches')
957
+ end
958
+
959
+ def create_cache(
960
+ vxnet:,
961
+ cache_size:,
962
+ cache_type:,
963
+ node_count: nil,
964
+ cache_name: nil,
965
+ cache_parameter_group: nil,
966
+ private_ips_N_cache_role: [],
967
+ private_ips_N_private_ips: [],
968
+ zone:)eval(build_fetch 'CreateCache')
969
+ end
970
+
971
+ def stop_caches(
972
+ caches_N:,
973
+ zone:)eval(build_fetch 'StopCaches')
974
+ end
975
+
976
+ def start_caches(
977
+ caches_N:,
978
+ zone:)eval(build_fetch 'StartCaches')
979
+ end
980
+
981
+ def restart_caches(
982
+ caches_N:,
983
+ zone:)eval(build_fetch 'RestartCaches')
984
+ end
985
+
986
+ def delete_caches(
987
+ caches_N:,
988
+ zone:)eval(build_fetch 'DeleteCaches')
989
+ end
990
+
991
+ def resize_caches(
992
+ caches_N:,
993
+ cache_size:,
994
+ zone:)eval(build_fetch 'ResizeCaches')
995
+ end
996
+
997
+ def update_cache(
998
+ cache:,
999
+ private_ips_N_cache_node_id: [],
1000
+ private_ips_N_private_ip: [],
1001
+ zone:)eval(build_fetch 'UpdateCache')
1002
+ end
1003
+
1004
+ def change_cache_vxnet(
1005
+ cache:,
1006
+ vxnet:,
1007
+ private_ips_N_cache_node_id: [],
1008
+ private_ips_N_private_ip: [],
1009
+ zone:)eval(build_fetch 'ChangeCacheVxnet')
1010
+ end
1011
+
1012
+ def modify_cache_attributes(
1013
+ cache:,
1014
+ cache_name: nil,
1015
+ description: nil,
1016
+ zone:)eval(build_fetch 'ModifyCacheAttributes')
1017
+ end
1018
+
1019
+ def describe_cache_nodes(
1020
+ cache: nil,
1021
+ cache_nodes_N: [],
1022
+ status_N: [],
1023
+ search_word: nil,
1024
+ verbose: nil,
1025
+ offset: nil,
1026
+ limit: nil,
1027
+ zone:)eval(build_fetch 'DescribeCacheNodes')
1028
+ end
1029
+
1030
+ def add_cache_nodes(
1031
+ cache:,
1032
+ node_count:,
1033
+ private_ips_N_cache_role: [],
1034
+ private_ips_N_private_ips: nil,
1035
+ zone:)eval(build_fetch 'AddCacheNodes')
1036
+ end
1037
+
1038
+ def delete_cache_nodes(
1039
+ cache:,
1040
+ cache_nodes_N:,
1041
+ zone:)eval(build_fetch 'DeleteCacheNodes')
1042
+ end
1043
+
1044
+ def restart_cache_nodes(
1045
+ cache:,
1046
+ cache_nodes_N:,
1047
+ zone:)eval(build_fetch 'RestartCacheNodes')
1048
+ end
1049
+
1050
+ def modify_cache_node_attributes(
1051
+ cache_node:,
1052
+ cache_node_name: nil,
1053
+ zone:)eval(build_fetch 'ModifyCacheNodeAttributes')
1054
+ end
1055
+
1056
+ def create_cache_from_snapshot(
1057
+ snapshot:,
1058
+ vxnet:,
1059
+ node_count: nil,
1060
+ cache_name: nil,
1061
+ cache_parameter_group: nil,
1062
+ private_ips_N_cache_role: [],
1063
+ private_ips_N_private_ips: [],
1064
+ zone:)eval(build_fetch 'CreateCacheFromSnapshot')
1065
+ end
1066
+
1067
+ def describe_cache_parameter_groups(
1068
+ cache_parameter_groups_N: [],
1069
+ cache_type: nil,
1070
+ search_word: nil,
1071
+ verbose: nil,
1072
+ offset: nil,
1073
+ limit: nil,
1074
+ zone:)eval(build_fetch 'DescribeCacheParameterGroups')
1075
+ end
1076
+
1077
+ def create_cache_parameter_group(
1078
+ cache_type:,
1079
+ cache_parameter_group_name: nil,
1080
+ zone:)eval(build_fetch 'CreateCacheParameterGroup')
1081
+ end
1082
+
1083
+ def apply_cache_parameter_group(
1084
+ cache_parameter_group:,
1085
+ caches_N: [],
1086
+ zone:)eval(build_fetch 'ApplyCacheParameterGroup')
1087
+ end
1088
+
1089
+ def delete_cache_parameter_groups(
1090
+ cache_parameter_groups_N:,
1091
+ zone:)eval(build_fetch 'DeleteCacheParameterGroups')
1092
+ end
1093
+
1094
+ def modify_cache_parameter_group_attributes(
1095
+ cache_parameter_group:,
1096
+ cache_parameter_group_name: nil,
1097
+ description: nil,
1098
+ zone:)eval(build_fetch 'ModifyCacheParameterGroupAttributes')
1099
+ end
1100
+
1101
+ def describe_cache_parameters(
1102
+ cache_parameter_group:,
1103
+ zone:)eval(build_fetch 'DescribeCacheParameters')
1104
+ end
1105
+
1106
+ def update_cache_parameters(
1107
+ cache_parameter_group:,
1108
+ parameters_N_cache_parameter_name:,
1109
+ parameters_N_cache_parameter_value:,
1110
+ zone:)eval(build_fetch 'UpdateCacheParameters')
1111
+ end
1112
+
1113
+ def reset_cache_parameters(
1114
+ cache_parameter_group:,
1115
+ cache_parameter_names_N: [],
1116
+ zone:)eval(build_fetch 'ResetCacheParameters')
1117
+ end
1118
+
1119
+ # S2
1120
+
1121
+ def create_s2_server(
1122
+ vxnet_id:,
1123
+ service_type:,
1124
+ name: nil,
1125
+ s2_server_type: nil,
1126
+ private_ip: nil,
1127
+ description: nil,
1128
+ zone:)eval(build_fetch 'CreateS2Server')
1129
+ end
1130
+
1131
+ def describe_s2_servers(
1132
+ s2_servers_N: [],
1133
+ status_N: [],
1134
+ search_word: nil,
1135
+ tags_N: nil,
1136
+ verbose: nil,
1137
+ offset: nil,
1138
+ limit: nil,
1139
+ zone:)eval(build_fetch 'DescribeS2Servers')
1140
+ end
1141
+
1142
+ def modify_s2_server(
1143
+ s2_server:,
1144
+ name: nil,
1145
+ description: nil,
1146
+ zone:)eval(build_fetch 'ModifyS2Server')
1147
+ end
1148
+
1149
+ def resize_s2_servers(
1150
+ s2_server:,
1151
+ s2_server_type:,
1152
+ zone:)eval(build_fetch 'ResizeS2Servers')
1153
+ end
1154
+
1155
+ def delete_s2_servers(
1156
+ s2servers_N:,
1157
+ zone:)eval(build_fetch 'DeleteS2Servers')
1158
+ end
1159
+
1160
+ def power_on_s2_servers(
1161
+ s2_servers_N:,
1162
+ zone:)eval(build_fetch 'PowerOnS2Servers')
1163
+ end
1164
+
1165
+ def power_off_s2_servers(
1166
+ s2_servers_N:,
1167
+ zone:)eval(build_fetch 'PowerOffS2Servers')
1168
+ end
1169
+
1170
+ def update_s2_servers(
1171
+ s2_servers_N:,
1172
+ zone:)eval(build_fetch 'UpdateS2Servers')
1173
+ end
1174
+
1175
+ def change_s2_server_vxnet(
1176
+ s2_server:,
1177
+ vxnet:,
1178
+ private_ip: nil,
1179
+ zone:)eval(build_fetch 'ChangeS2ServerVxnet')
1180
+ end
1181
+
1182
+ def create_s2_shared_target(
1183
+ s2_server:,
1184
+ export_name:,
1185
+ target_type:,
1186
+ description: nil,
1187
+ volumes_N: [],
1188
+ initiator_names_N: [],
1189
+ zone:)eval(build_fetch 'CreateS2SharedTarget')
1190
+ end
1191
+
1192
+ def describe_s2_shared_targets(
1193
+ shared_targets_N: [],
1194
+ s2_server_id: nil,
1195
+ search_word: nil,
1196
+ verbose: nil,
1197
+ offset: nil,
1198
+ limit: nil,
1199
+ zone:)eval(build_fetch 'DescribeS2SharedTargets')
1200
+ end
1201
+
1202
+ def delete_s2_shared_targets(
1203
+ shared_targets_N:,
1204
+ zone:)eval(build_fetch 'DeleteS2SharedTargets')
1205
+ end
1206
+
1207
+ def enable_s2_shared_targets(
1208
+ shared_targets_N:,
1209
+ zone:)eval(build_fetch 'EnableS2SharedTargets')
1210
+ end
1211
+
1212
+ def disable_s2_shared_targets(
1213
+ shared_targets_N:,
1214
+ zone:)eval(build_fetch 'DisableS2SharedTargets')
1215
+ end
1216
+
1217
+ def modify_s2_shared_targets(
1218
+ shared_targets_N:,
1219
+ operation:,
1220
+ initiator_names_N:,
1221
+ zone:)eval(build_fetch 'ModifyS2SharedTargets')
1222
+ end
1223
+
1224
+ def attach_to_s2_shared_target(
1225
+ shared_target:,
1226
+ volumes_N:,
1227
+ zone:)eval(build_fetch 'AttachToS2SharedTarget')
1228
+ end
1229
+
1230
+ def detach_from_s2_shared_target(
1231
+ shared_target:,
1232
+ volumes_N:,
1233
+ zone:)eval(build_fetch 'DetachFromS2SharedTarget')
1234
+ end
1235
+
1236
+ def describe_s2_default_parameters(
1237
+ service_type:,
1238
+ target_type:,
1239
+ offset:,
1240
+ limit:,
1241
+ zone:)eval(build_fetch 'DescribeS2DefaultParameters')
1242
+ end
1243
+
1244
+ # Spark
1245
+
1246
+ def add_spark_nodes(
1247
+ spark:,
1248
+ node_count:,
1249
+ spark_node_name: nil,
1250
+ private_ips_N_role: [],
1251
+ private_ips_N_private_ips: [],
1252
+ zone:)eval(build_fetch 'AddSparkNodes')
1253
+ end
1254
+
1255
+ def delete_spark_nodes(
1256
+ spark:,
1257
+ spark_nodes_N:,
1258
+ zone:)eval(build_fetch 'AddSparkNodes')
1259
+ end
1260
+
1261
+ def start_sparks(
1262
+ sparks_N:,
1263
+ zone:)eval(build_fetch 'StartSparks')
1264
+ end
1265
+
1266
+ def stop_sparks(
1267
+ sparks_N:,
1268
+ zone:)eval(build_fetch 'StopSparks')
1269
+ end
833
1270
  end
834
1271
 
835
1272
  end
@@ -1,7 +1,7 @@
1
1
  module QingCloud
2
2
  module SDK
3
3
 
4
- VERSION = '0.3.3'
4
+ VERSION = '0.4.0'
5
5
 
6
6
  end
7
7
  end
@@ -6,7 +6,7 @@ require 'qingcloud/sdk/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'qingcloud-sdk'
8
8
  spec.version = QingCloud::SDK::VERSION
9
- spec.authors = ['Peng Jingwen']
9
+ spec.authors = ['Aspire']
10
10
  spec.email = ['pengsrc@icloud.com']
11
11
 
12
12
  if spec.respond_to?(:metadata)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qingcloud-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
- - Peng Jingwen
7
+ - Aspire
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-04-26 00:00:00.000000000 Z
11
+ date: 2015-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -69,12 +69,12 @@ files:
69
69
  - bin/console
70
70
  - bin/setup
71
71
  - lib/qingcloud/sdk.rb
72
- - lib/qingcloud/sdk/client/connector.rb
73
- - lib/qingcloud/sdk/client/foundation.rb
74
- - lib/qingcloud/sdk/client/service.rb
75
72
  - lib/qingcloud/sdk/general/contract.rb
76
73
  - lib/qingcloud/sdk/general/error.rb
77
- - lib/qingcloud/sdk/template/qingcloud.json
74
+ - lib/qingcloud/sdk/iaas/connector.rb
75
+ - lib/qingcloud/sdk/iaas/foundation.rb
76
+ - lib/qingcloud/sdk/iaas/service.rb
77
+ - lib/qingcloud/sdk/template/config.json
78
78
  - lib/qingcloud/sdk/utility/file_manager.rb
79
79
  - lib/qingcloud/sdk/utility/json_parser.rb
80
80
  - lib/qingcloud/sdk/utility/logger.rb
@@ -101,9 +101,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
101
  version: '0'
102
102
  requirements: []
103
103
  rubyforge_project:
104
- rubygems_version: 2.4.5
104
+ rubygems_version: 2.4.5.1
105
105
  signing_key:
106
106
  specification_version: 4
107
107
  summary: SDK for QingCloud
108
108
  test_files: []
109
- has_rdoc: