aliyun 0.4.1 → 0.7.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
- SHA1:
3
- metadata.gz: 0a16600c438443e782fe9ada9aa2787fac4d854b
4
- data.tar.gz: dabf5f36779ed8ef91ef2b64d5fd59ae8434dcaf
2
+ SHA256:
3
+ metadata.gz: a14e8d0a6f0efe362332a6a45e76a4f1cbf508adde7bb9d090e2363f9a5fb304
4
+ data.tar.gz: d353caada1d6bfac080e84b6d4717808d5d26472b7ec0ad251e0f986034b9549
5
5
  SHA512:
6
- metadata.gz: e78f69ccc2d5c206d6aecdb0a59564846ede592eaada49a3a65384414f8f6a7c71a98ff05e1291af870083e268a9a1d1c18041f7fc033c51ff50dd27e61060e8
7
- data.tar.gz: f38e76b74ca48e66a5a2f87bcff06558b8644d85ce68a40947d2e859633285ea782ac38472d62efcac3fadad3e671f526969b92469ff899d4a573d1dc50137cb
6
+ metadata.gz: d9f1004b2afb80ef169cec6800c20c07644a5084d9db5c9c7556eab7073de814e7281c427ca64e3e590ec5fd0a0dd2f2b352dc736d6d10d9a9a05de5996454f0
7
+ data.tar.gz: 5b2c0e4af36f975eaa85fd5900e8c3c41f9858ae8ae73f1d613e52a39488b7b9f4683db6cc1a1cfd437592ebd94178693c441c14ce94478308e93637917aa90d
@@ -1,7 +1,8 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - 2.0
5
- - 2.1
3
+ - 2.4
4
+ - 2.3
6
5
  - 2.2
7
- - ruby-head
6
+ - 2.1
7
+ - 2.0.0
8
+ - 1.9.3
data/README.md CHANGED
@@ -7,6 +7,7 @@
7
7
  [![CircleCI](https://circleci.com/gh/Lax/aliyun/tree/master.png?style=shield)](https://circleci.com/gh/Lax/aliyun)
8
8
  [![security](https://hakiri.io/github/Lax/aliyun/master.svg)](https://hakiri.io/github/Lax/aliyun/master)
9
9
  [![Dependency Status](https://gemnasium.com/Lax/aliyun.svg)](https://gemnasium.com/Lax/aliyun)
10
+ [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FLax%2Faliyun.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2FLax%2Faliyun?ref=badge_shield)
10
11
 
11
12
  Ruby wrapper of Aliyun API for system adminstrator.
12
13
 
@@ -42,7 +43,20 @@ Example:
42
43
 
43
44
  puts service.DescribeRegions parameters
44
45
 
45
- You can create/fetch `access key`/`secret` at [https://i.aliyun.com/access_key](https://i.aliyun.com/access_key)
46
+ You can create/fetch `access key` and `secret` at [https://i.aliyun.com/access_key](https://i.aliyun.com/access_key)
47
+
48
+ Current support these services:
49
+
50
+ * `:cdn` => `CDN` (Content Delivery Network)
51
+ * `:cms` => `CMS` (Cloud Monitor Service)
52
+ * `:dns` => `DNS` (Domain Name Service)
53
+ * `:ecs` => `ECS` (Elastic Compute Service)
54
+ * `:ram` => `RAM` (Resource Access Management)
55
+ * `:rds` => `RDS` (Relational Database Service)
56
+ * `:slb` => `SLB` (Server Load Balancer)
57
+ * `:sts` => `STS` (Security Token Service)
58
+ * `:vpc` => `VPC` (Virtual Private Cloud)
59
+ * `:business` => `Business` (Aliyun Account Management)
46
60
 
47
61
  ## Contributing
48
62
 
@@ -55,3 +69,7 @@ You can create/fetch `access key`/`secret` at [https://i.aliyun.com/access_key](
55
69
  ## Author
56
70
 
57
71
  * [Liu Lantao](https://github.com/Lax)
72
+
73
+
74
+ ## License
75
+ [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FLax%2Faliyun.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FLax%2Faliyun?ref=badge_large)
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
21
  spec.require_paths = ["lib"]
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.6"
23
+ spec.add_development_dependency "bundler"
24
24
  spec.add_development_dependency "rake"
25
25
  spec.add_development_dependency "rspec"
26
26
  spec.add_development_dependency "rspec_junit_formatter"
@@ -1,19 +1,25 @@
1
1
  require "aliyun/services/cdn"
2
2
  require "aliyun/services/cms"
3
+ require "aliyun/services/dns"
3
4
  require "aliyun/services/ecs"
4
5
  require "aliyun/services/ram"
5
6
  require "aliyun/services/rds"
6
7
  require "aliyun/services/slb"
7
8
  require "aliyun/services/sts"
9
+ require "aliyun/services/vpc"
10
+ require "aliyun/services/business"
8
11
 
9
12
  module Aliyun
10
13
  SERVICES = {
11
14
  :cdn => CDNConfig,
12
15
  :cms => CMSConfig,
16
+ :dns => DNSConfig,
13
17
  :ecs => ECSConfig,
14
18
  :ram => RAMConfig,
15
19
  :rds => RDSConfig,
16
20
  :slb => SLBConfig,
17
- :sts => STSConfig
21
+ :sts => STSConfig,
22
+ :vpc => VPCConfig,
23
+ :business => BusinessConfig
18
24
  }
19
25
  end
@@ -0,0 +1,24 @@
1
+ module Aliyun
2
+ class BusinessConfig < APIConfig
3
+ def self.info
4
+ "Aliyu Business Service"
5
+ end
6
+ def self.endpoint
7
+ 'https://business.aliyuncs.com/'
8
+ end
9
+ def self.default_parameters
10
+ {
11
+ :Format=>"JSON",
12
+ :Version=>"2017-12-14",
13
+ :SignatureMethod=>"HMAC-SHA1",
14
+ :SignatureVersion=>"1.0"
15
+ }
16
+ end
17
+ def self.separator
18
+ super
19
+ end
20
+ def self.http_method
21
+ super
22
+ end
23
+ end
24
+ end
@@ -9,7 +9,7 @@ module Aliyun
9
9
  def self.default_parameters
10
10
  {
11
11
  :Format=>"JSON",
12
- :Version=>"2014-11-11",
12
+ :Version=>"2018-05-10",
13
13
  :SignatureMethod=>"HMAC-SHA1",
14
14
  :SignatureVersion=>"1.0"
15
15
  }
@@ -4,12 +4,12 @@ module Aliyun
4
4
  "Aliyu CMS Service"
5
5
  end
6
6
  def self.endpoint
7
- 'https://metrics.aliyuncs.com/'
7
+ raise "Service Endpoint Missing! endpoint_url: http://metrics.\%{Region}.aliyuncs.com/"
8
8
  end
9
9
  def self.default_parameters
10
10
  {
11
11
  :Format=>"JSON",
12
- :Version=>"2015-04-20",
12
+ :Version=>"2017-03-01",
13
13
  :SignatureMethod=>"HMAC-SHA1",
14
14
  :SignatureVersion=>"1.0"
15
15
  }
@@ -0,0 +1,24 @@
1
+ module Aliyun
2
+ class DNSConfig < APIConfig
3
+ def self.info
4
+ "Aliyun DNS Service"
5
+ end
6
+ def self.endpoint
7
+ 'https://dns.aliyuncs.com/'
8
+ end
9
+ def self.default_parameters
10
+ {
11
+ :Format=>"JSON",
12
+ :Version=>"2015-01-09",
13
+ :SignatureMethod=>"HMAC-SHA1",
14
+ :SignatureVersion=>"1.0"
15
+ }
16
+ end
17
+ def self.separator
18
+ super
19
+ end
20
+ def self.http_method
21
+ super
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ module Aliyun
2
+ class VPCConfig < APIConfig
3
+ def self.info
4
+ "Aliyu VPC Service"
5
+ end
6
+ def self.endpoint
7
+ 'https://vpc.aliyuncs.com/'
8
+ end
9
+ def self.default_parameters
10
+ {
11
+ :Format=>"JSON",
12
+ :Version=>"2016-04-28",
13
+ :SignatureMethod=>"HMAC-SHA1",
14
+ :SignatureVersion=>"1.0"
15
+ }
16
+ end
17
+ def self.separator
18
+ super
19
+ end
20
+ def self.http_method
21
+ super
22
+ end
23
+ end
24
+ end
@@ -1,3 +1,3 @@
1
1
  module Aliyun
2
- VERSION = "0.4.1"
2
+ VERSION = "0.7.0"
3
3
  end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ describe Aliyun do
4
+ it 'can create aliyun business service' do
5
+ options = load_options
6
+ options[:service] = :business
7
+ service = Aliyun::Service.new options
8
+
9
+ expect(service).to be_instance_of(Aliyun::Service)
10
+ expect(service.service).to be(Aliyun::BusinessConfig)
11
+ end
12
+ end
@@ -1,12 +1,32 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Aliyun do
4
- it 'can create aliyun CMS(metrics) service' do
4
+ before do
5
5
  options = load_options
6
6
  options[:service] = :cms
7
- service = Aliyun::Service.new options
7
+ options[:endpoint_url] = 'http://metrics.cn-beijing.aliyuncs.com/'
8
+ @service = Aliyun::Service.new options
9
+ end
10
+
11
+ it 'can create aliyun CMS(metrics) service' do
12
+ expect(@service).to be_instance_of(Aliyun::Service)
13
+ expect(@service.service).to be(Aliyun::CMSConfig)
14
+ end
15
+
16
+ it 'can describe metric datum' do
17
+ instanceId = load_ecs_instance_id
18
+ instanceRegion = load_ecs_instance_region
19
+ parameters = {
20
+ Project: 'acs_ecs_dashboard',
21
+ Metric: 'diskusage_utilization',
22
+ StartTime: (Time.now - 180).utc.iso8601,
23
+ Dimensions: "{instanceId:'%s',device:'/dev/xvda1'}" % instanceId,
24
+ RegionId: instanceRegion,
25
+ Length: 1000
26
+ }
27
+ metric_datum = @service.QueryMetricList parameters
8
28
 
9
- expect(service).to be_instance_of(Aliyun::Service)
10
- expect(service.service).to be(Aliyun::CMSConfig)
29
+ expect(metric_datum).to have_key("Datapoints")
30
+ expect(metric_datum["Datapoints"][0]).to have_key("diskname")
11
31
  end
12
32
  end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe Aliyun do
4
+ it 'can create aliyun dns service' do
5
+ options = load_options
6
+ options[:service] = :dns
7
+ service = Aliyun::Service.new options
8
+
9
+ expect(service).to be_instance_of(Aliyun::Service)
10
+ expect(service.service).to be(Aliyun::DNSConfig)
11
+ end
12
+
13
+ it 'can query aliyun dns service for domains' do
14
+ options = load_options
15
+ options[:service] = :dns
16
+ service = Aliyun::Service.new options
17
+ parameters = {}
18
+ dns_service = service.DescribeDomains parameters
19
+
20
+ expect(dns_service).to have_key("Domains")
21
+ expect(dns_service).to have_key("TotalCount")
22
+ end
23
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ describe Aliyun do
4
+ it 'can create aliyun vpc service' do
5
+ options = load_options
6
+ options[:service] = :vpc
7
+ service = Aliyun::Service.new options
8
+
9
+ expect(service).to be_instance_of(Aliyun::Service)
10
+ expect(service.service).to be(Aliyun::VPCConfig)
11
+ end
12
+ end
@@ -5,3 +5,10 @@ require 'yaml'
5
5
  def load_options
6
6
  {:access_key_id => ENV['ACCESS_KEY_ID'], :access_key_secret => ENV['ACCESS_KEY_SECRET']}
7
7
  end
8
+
9
+ def load_ecs_instance_id
10
+ ENV['ECS_InstanceId']
11
+ end
12
+ def load_ecs_instance_region
13
+ ENV['ECS_InstanceRegion']
14
+ end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aliyun
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liu Lantao
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-21 00:00:00.000000000 Z
11
+ date: 2021-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.6'
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.6'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -101,28 +101,34 @@ files:
101
101
  - lib/aliyun/base.rb
102
102
  - lib/aliyun/common.rb
103
103
  - lib/aliyun/services.rb
104
+ - lib/aliyun/services/business.rb
104
105
  - lib/aliyun/services/cdn.rb
105
106
  - lib/aliyun/services/cms.rb
107
+ - lib/aliyun/services/dns.rb
106
108
  - lib/aliyun/services/ecs.rb
107
109
  - lib/aliyun/services/ram.rb
108
110
  - lib/aliyun/services/rds.rb
109
111
  - lib/aliyun/services/slb.rb
110
112
  - lib/aliyun/services/sts.rb
113
+ - lib/aliyun/services/vpc.rb
111
114
  - lib/aliyun/version.rb
115
+ - spec/aliyun_business_spec.rb
112
116
  - spec/aliyun_cdn_spec.rb
113
117
  - spec/aliyun_cms_spec.rb
118
+ - spec/aliyun_dns_spec.rb
114
119
  - spec/aliyun_ecs_spec.rb
115
120
  - spec/aliyun_ram_spec.rb
116
121
  - spec/aliyun_rds_spec.rb
117
122
  - spec/aliyun_slb_spec.rb
118
123
  - spec/aliyun_spec.rb
119
124
  - spec/aliyun_sts_spec.rb
125
+ - spec/aliyun_vpc_spec.rb
120
126
  - spec/spec_helper.rb
121
127
  homepage: https://github.com/Lax/aliyun
122
128
  licenses:
123
129
  - MIT
124
130
  metadata: {}
125
- post_install_message:
131
+ post_install_message:
126
132
  rdoc_options: []
127
133
  require_paths:
128
134
  - lib
@@ -137,18 +143,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
143
  - !ruby/object:Gem::Version
138
144
  version: '0'
139
145
  requirements: []
140
- rubyforge_project:
141
- rubygems_version: 2.4.8
142
- signing_key:
146
+ rubygems_version: 3.1.4
147
+ signing_key:
143
148
  specification_version: 4
144
149
  summary: Ruby wrapper of Aliyun API for system administrator
145
150
  test_files:
151
+ - spec/aliyun_business_spec.rb
146
152
  - spec/aliyun_cdn_spec.rb
147
153
  - spec/aliyun_cms_spec.rb
154
+ - spec/aliyun_dns_spec.rb
148
155
  - spec/aliyun_ecs_spec.rb
149
156
  - spec/aliyun_ram_spec.rb
150
157
  - spec/aliyun_rds_spec.rb
151
158
  - spec/aliyun_slb_spec.rb
152
159
  - spec/aliyun_spec.rb
153
160
  - spec/aliyun_sts_spec.rb
161
+ - spec/aliyun_vpc_spec.rb
154
162
  - spec/spec_helper.rb