qingcloud-sdk 0.4.1 → 2.0.0.pre.alpha.1

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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +201 -21
  3. data/README.md +141 -61
  4. data/bin/console +3 -3
  5. data/lib/qingcloud/sdk.rb +16 -14
  6. data/lib/qingcloud/sdk/general/config.rb +70 -0
  7. data/lib/qingcloud/sdk/general/contract.rb +28 -17
  8. data/lib/qingcloud/sdk/general/default/config.yaml +13 -0
  9. data/lib/qingcloud/sdk/general/error.rb +41 -32
  10. data/lib/qingcloud/sdk/general/logger.rb +54 -0
  11. data/lib/qingcloud/sdk/request/preprocessor.rb +81 -0
  12. data/lib/qingcloud/sdk/request/request.rb +80 -0
  13. data/lib/qingcloud/sdk/request/signer.rb +53 -0
  14. data/lib/qingcloud/sdk/service/cache.rb +1005 -0
  15. data/lib/qingcloud/sdk/service/dns_alias.rb +150 -0
  16. data/lib/qingcloud/sdk/service/eip.rb +389 -0
  17. data/lib/qingcloud/sdk/service/image.rb +304 -0
  18. data/lib/qingcloud/sdk/service/instance.rb +585 -0
  19. data/lib/qingcloud/sdk/service/job.rb +71 -0
  20. data/lib/qingcloud/sdk/service/key_pair.rb +257 -0
  21. data/lib/qingcloud/sdk/service/load_balancer.rb +1119 -0
  22. data/lib/qingcloud/sdk/service/mongo.rb +566 -0
  23. data/lib/qingcloud/sdk/service/qingcloud.rb +185 -0
  24. data/lib/qingcloud/sdk/service/rdb.rb +751 -0
  25. data/lib/qingcloud/sdk/service/router.rb +778 -0
  26. data/lib/qingcloud/sdk/service/security_group.rb +645 -0
  27. data/lib/qingcloud/sdk/service/shared_storage.rb +666 -0
  28. data/lib/qingcloud/sdk/service/snapshot.rb +283 -0
  29. data/lib/qingcloud/sdk/service/tag.rb +227 -0
  30. data/lib/qingcloud/sdk/service/user_data.rb +61 -0
  31. data/lib/qingcloud/sdk/service/volume.rb +296 -0
  32. data/lib/qingcloud/sdk/service/vxnet.rb +295 -0
  33. data/lib/qingcloud/sdk/version.rb +19 -5
  34. metadata +98 -29
  35. data/.gitignore +0 -13
  36. data/.rspec +0 -2
  37. data/.travis.yml +0 -3
  38. data/Rakefile +0 -6
  39. data/lib/qingcloud/sdk/iaas/connector.rb +0 -99
  40. data/lib/qingcloud/sdk/iaas/foundation.rb +0 -73
  41. data/lib/qingcloud/sdk/iaas/service.rb +0 -1274
  42. data/lib/qingcloud/sdk/template/config.json +0 -4
  43. data/lib/qingcloud/sdk/utility/file_manager.rb +0 -43
  44. data/lib/qingcloud/sdk/utility/json_parser.rb +0 -41
  45. data/lib/qingcloud/sdk/utility/logger.rb +0 -19
  46. data/qingcloud-sdk.gemspec +0 -31
@@ -1,4 +0,0 @@
1
- {
2
- "qy_access_key_id": "QINGCLOUDACCESSKEYID",
3
- "qy_secret_access_key": "QINGCLOUDSECRETACCESSKEYEXAMPLE"
4
- }
@@ -1,43 +0,0 @@
1
- require 'fileutils'
2
- require 'pathname'
3
-
4
- module QingCloud
5
- module SDK
6
- module Utility
7
-
8
- def self.file_manager
9
- unless self.class_variable_defined? '@@file_manager'
10
- FileUtils.mkdir_p Contract::SUPPORT_DIRECTORY
11
- @@file_manager = FileManager.new
12
- end
13
- @@file_manager
14
- end
15
-
16
- class FileManager
17
-
18
- def read_config_file
19
- read_file Contract::CONFIG_FILE_PATH
20
- end
21
-
22
- def write_config_file(content)
23
- write_file Contract::CONFIG_FILE_PATH, content
24
- end
25
-
26
- def create_new_config_file
27
- new_config_file = read_file Contract::TEMPLATE_CONFIG_FILE_PATH
28
- write_file Contract::CONFIG_FILE_PATH, new_config_file
29
- end
30
-
31
- private
32
-
33
- def read_file(file_path)
34
- File.open(file_path) { |file| return file.read } if File.exist? file_path
35
- end
36
-
37
- def write_file(file_path, content)
38
- File.open(file_path, 'w') { |file| file.write content }
39
- end
40
- end
41
- end
42
- end
43
- end
@@ -1,41 +0,0 @@
1
- require 'json'
2
-
3
- module QingCloud
4
- module SDK
5
- module Utility
6
-
7
- def self.json_parser
8
- unless self.class_variable_defined? '@@json_parser'
9
- @@json_parser = JsonParser.new
10
- end
11
- @@json_parser
12
- end
13
-
14
- class JsonParser
15
-
16
- def encode(object)
17
- guarantee(Proc.new do; JSON.generate object; end)
18
- end
19
-
20
- def encode_prettily(object)
21
- guarantee(Proc.new do; JSON.pretty_generate object; end)
22
- end
23
-
24
- def decode(string)
25
- guarantee(Proc.new do; JSON.parse string; end)
26
- end
27
-
28
- private
29
-
30
- def guarantee(proc)
31
- begin
32
- proc.call
33
- rescue JSON::ParserError
34
- raise Error::AnalyseError, 'Parse Json'
35
- end
36
- end
37
-
38
- end
39
- end
40
- end
41
- end
@@ -1,19 +0,0 @@
1
- require 'logger'
2
- require 'fileutils'
3
-
4
- module QingCloud
5
- module SDK
6
- module Utility
7
-
8
- def self.logger
9
- unless self.class_variable_defined? '@@logger'
10
- # @@logger = Logger.new(STDOUT)
11
- FileUtils.mkdir_p Contract::SUPPORT_DIRECTORY
12
- @@logger = Logger.new Contract::LOG_FILE_PATH
13
- end
14
- @@logger
15
- end
16
-
17
- end
18
- end
19
- end
@@ -1,31 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'qingcloud/sdk/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = 'qingcloud-sdk'
8
- spec.version = QingCloud::SDK::VERSION
9
- spec.authors = ['Aspire']
10
- spec.email = ['pengsrc@icloud.com']
11
-
12
- if spec.respond_to?(:metadata)
13
- spec.metadata['allowed_push_host'] = 'https://rubygems.org'
14
- end
15
-
16
- spec.summary = 'SDK for QingCloud'
17
- spec.description = 'SDK for QingCloud'
18
- spec.homepage = 'https://github.com/prettyxw/qingcloud-sdk-ruby'
19
- spec.license = 'MIT'
20
-
21
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
22
- spec.bindir = 'exe'
23
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
- spec.require_paths = ['lib']
25
-
26
- spec.required_ruby_version = '> 2.1.5'
27
-
28
- spec.add_development_dependency 'bundler', '~> 1.8'
29
- spec.add_development_dependency 'rake', '~> 10.0'
30
- spec.add_development_dependency 'rspec', '~> 3.2.0'
31
- end