aliyun-api 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|