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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 434f2dad13871e2c5fd9366f339216fafbf601e4
4
- data.tar.gz: b27dd46965896807fc8c84ea0664706701251c86
3
+ metadata.gz: a918d63655ddef8c7721cc5347f38ab44c427543
4
+ data.tar.gz: 328046cf5951d221822fd11de94c84d419ca9f59
5
5
  SHA512:
6
- metadata.gz: 17a95e8df8db81c5bf0c4512daba25e189d51443f678ab091ffacfc22b79694b7110bc45a2200dd25fb8fbb67140288f95a3636d215808d8421c768a6a393afe
7
- data.tar.gz: 5c4207b327e1721d602824b2f1db92ce84afcc516fb2df3dcf79ce995812a2730266614eb9270fe5073c1c99cfbd5fe20183211973661d506fc9dcc05bfe6713
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 code: #{rcex.response.code}\ndetails: #{rcex.response.body}\nrequest parameters: #{params.reject{|k,v| k==:AccessKeyId}}"
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
@@ -1,3 +1,3 @@
1
1
  module Aliyun
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
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.7
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-04-14 00:00:00.000000000 Z
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: