aliyun-api 0.0.7 → 0.0.8
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 +4 -4
- data/README.md +20 -0
- data/lib/aliyun/ecs.rb +5 -4
- data/lib/aliyun/version.rb +1 -1
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a918d63655ddef8c7721cc5347f38ab44c427543
|
4
|
+
data.tar.gz: 328046cf5951d221822fd11de94c84d419ca9f59
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b0c7bd6bf3367cc2eff0d4237b86d8865e8fcaf4560f5b0fb7e18d6c8698a5ad8fb1cf5da3ff67d056b9623180b8fd914f2b971ebf5a489d7951420f6fdb8e0
|
7
|
+
data.tar.gz: 55fd0d89834f464ce7ae3aa392d3ec6222256b111eab0abedc2a6497f8a305aca0e2935d56e165f7f6a92b80fc9bad81e490165106efcfc2563c8d7d824711a0
|
data/README.md
CHANGED
@@ -78,6 +78,16 @@ service.describe_images parameters
|
|
78
78
|
parameters = {:region_id => "cn-beijing", :page_number => 2, :page_size => 20}
|
79
79
|
```
|
80
80
|
|
81
|
+
(3) 任意API都可以传递一个block,该block可以用来调试实际生成的请求参数
|
82
|
+
|
83
|
+
```
|
84
|
+
ecs.describe_instances region_id: 'cn-hangzhou' do |params|
|
85
|
+
puts params
|
86
|
+
end
|
87
|
+
# 输出
|
88
|
+
{:Format=>"JSON", :Version=>"2014-05-26", :SignatureMethod=>"HMAC-SHA1", :SignatureVersion=>"1.0", :RegionId=>"cn-hangzhou", :AccessKeyId=>"xxxx", :Action=>"DescribeInstances", :SignatureNonce=>"aaaa-5ade-4391-a032-013a53e692db", :TimeStamp=>"2015-12-28T08:14:46Z", :Signature=>"+Spi/ee="}
|
89
|
+
```
|
90
|
+
|
81
91
|
## ECS API列表(aliyun ecs api版本: 20140526)
|
82
92
|
|
83
93
|
### 实例相关接口
|
@@ -93,6 +103,7 @@ parameters = {:region_id => "cn-beijing", :page_number => 2, :page_size => 20}
|
|
93
103
|
* 略
|
94
104
|
|
95
105
|
例:
|
106
|
+
|
96
107
|
ecs.create_instance :region_id=>'cn-hangzhou',:image_id=>'img_identifier',:instance_type=>'t2.small',:security_group_id=>'sg_id'
|
97
108
|
|
98
109
|
#### 2.启动实例start_instance
|
@@ -109,6 +120,7 @@ parameters = {:region_id => "cn-beijing", :page_number => 2, :page_size => 20}
|
|
109
120
|
* force_stop,重启机器时是否强制关机,默认为false, optional
|
110
121
|
|
111
122
|
例:
|
123
|
+
|
112
124
|
ecs.stop_instance :instance_id=>'AYxxx'
|
113
125
|
|
114
126
|
#### 4.重启实例reboot_instance
|
@@ -117,6 +129,7 @@ parameters = {:region_id => "cn-beijing", :page_number => 2, :page_size => 20}
|
|
117
129
|
* force_stop,重启机器时是否强制关机,默认为false, optional
|
118
130
|
|
119
131
|
例:
|
132
|
+
|
120
133
|
ecs.reboot_instance :instance_id=>'AYxxx'
|
121
134
|
|
122
135
|
#### 5.修改实例属性modify_instance_attribute
|
@@ -128,6 +141,7 @@ parameters = {:region_id => "cn-beijing", :page_number => 2, :page_size => 20}
|
|
128
141
|
* host_name, optional
|
129
142
|
|
130
143
|
例:
|
144
|
+
|
131
145
|
ecs.modify_instance_attribute :instance_id=>'AYxxx',:instance_name=>'new-name'
|
132
146
|
|
133
147
|
#### 6.查询实例列表describe_instance_status
|
@@ -138,6 +152,7 @@ parameters = {:region_id => "cn-beijing", :page_number => 2, :page_size => 20}
|
|
138
152
|
* page_size, optional
|
139
153
|
|
140
154
|
例:
|
155
|
+
|
141
156
|
ecs.describe_instance_status :region_id=>'cn-hangzhou'
|
142
157
|
|
143
158
|
#### 7.查询实例信息describe_instance_attribute
|
@@ -145,6 +160,7 @@ parameters = {:region_id => "cn-beijing", :page_number => 2, :page_size => 20}
|
|
145
160
|
* instance_id,实例id,required
|
146
161
|
|
147
162
|
例:
|
163
|
+
|
148
164
|
ecs.describe_instance_attribute :instance_id=>'AYxxx'
|
149
165
|
|
150
166
|
#### 8.删除实例delete_instance
|
@@ -152,6 +168,7 @@ parameters = {:region_id => "cn-beijing", :page_number => 2, :page_size => 20}
|
|
152
168
|
* instance_id,实例id,required
|
153
169
|
|
154
170
|
例:
|
171
|
+
|
155
172
|
ecs.delete_instance :instance_id=>'AYxxx'
|
156
173
|
|
157
174
|
#### 9.将实例加入安全组join_security_group
|
@@ -160,6 +177,7 @@ parameters = {:region_id => "cn-beijing", :page_number => 2, :page_size => 20}
|
|
160
177
|
* security_group_id, required
|
161
178
|
|
162
179
|
例:
|
180
|
+
|
163
181
|
ecs.join_security_group :instance_id=>'AYxxx',:security_group_id=>'sg_id'
|
164
182
|
|
165
183
|
#### 10.将实例移出安全组leave_security_group
|
@@ -168,6 +186,7 @@ parameters = {:region_id => "cn-beijing", :page_number => 2, :page_size => 20}
|
|
168
186
|
* security_group_id, required
|
169
187
|
|
170
188
|
例:
|
189
|
+
|
171
190
|
ecs.leave_security_group :instance_id=>'AYxxx',:security_group_id=>'sg_id'
|
172
191
|
|
173
192
|
### 磁盘相关接口
|
@@ -182,6 +201,7 @@ parameters = {:region_id => "cn-beijing", :page_number => 2, :page_size => 20}
|
|
182
201
|
* client_token, optional
|
183
202
|
|
184
203
|
例:
|
204
|
+
|
185
205
|
ecs.create_disk :region_id=>'cn-hangzhou',:size=>100
|
186
206
|
ecs.create_disk :region_id=>'cn-hangzhou',:snapshot_id=>'snap-id'
|
187
207
|
|
data/lib/aliyun/ecs.rb
CHANGED
@@ -15,20 +15,21 @@ module Aliyun
|
|
15
15
|
Aliyun[:endpoint_url] ||= options[:endpoint_url]
|
16
16
|
end
|
17
17
|
|
18
|
-
def method_missing(method_name, *args)
|
18
|
+
def method_missing(method_name, *args,&block)
|
19
19
|
super if /[A-Z]/ =~ method_name.to_s
|
20
20
|
method_name = method_name.to_s.split('_').map{|w| w.capitalize }.join('').gsub '_',''
|
21
|
-
proxy_to_aliyun(method_name, args[0])
|
21
|
+
proxy_to_aliyun(method_name, args[0],&block)
|
22
22
|
end
|
23
23
|
|
24
24
|
private
|
25
|
-
def proxy_to_aliyun(method_name, params)
|
25
|
+
def proxy_to_aliyun(method_name, params,&block)
|
26
26
|
params = build_request_parameters method_name, params
|
27
|
+
block.call params if block
|
27
28
|
begin
|
28
29
|
res = RestClient.send Aliyun[:request_method].downcase, Aliyun[:endpoint_url], {:params => params,:verify_ssl => OpenSSL::SSL::VERIFY_PEER }
|
29
30
|
return JSON.parse res.body if res.code == 200
|
30
31
|
rescue RestClient::Exception => rcex
|
31
|
-
raise AliyunError.new "response error
|
32
|
+
raise AliyunError.new "response error: #{rcex.to_s}\nrequest parameters: #{params.reject{|k,v| k==:AccessKeyId}}"
|
32
33
|
rescue =>e
|
33
34
|
raise AliyunError.new e.to_s
|
34
35
|
end
|
data/lib/aliyun/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aliyun-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- qjpcpu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,4 +94,3 @@ signing_key:
|
|
94
94
|
specification_version: 4
|
95
95
|
summary: Aliyun ECS API
|
96
96
|
test_files: []
|
97
|
-
has_rdoc:
|