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 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: