aws-sdk 3.0.0.rc8 → 3.0.0.rc9

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aws-sdk.rb +1 -107
  3. metadata +6 -1380
  4. data/bin/aws.rb +0 -189
data/bin/aws.rb DELETED
@@ -1,189 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'rubygems'
4
- require 'optparse'
5
- require 'logger'
6
-
7
- def env_bool key, default
8
- if ENV.key?(key)
9
- ['0', 'false', 'no', 'off'].exclude?(ENV[key].downcase)
10
- else
11
- default
12
- end
13
- end
14
-
15
- # setup default options, check ENV for most
16
- options = {
17
- repl: env_bool('AWSRB', nil),
18
- log: env_bool('AWSRB_LOG', true),
19
- color: env_bool('AWSRB_COLOR', true),
20
- debug: env_bool('AWSRB_DEBUG', false),
21
- load_paths: [],
22
- require: [],
23
- execute: [],
24
- }
25
-
26
- OptionParser.new do |opts|
27
-
28
- opts.banner = "Usage: aws-rb [options]"
29
-
30
- opts.on("--region NAME", "specify the AWS region, e.g. us-west-2") do |value|
31
- options[:region] = value
32
- end
33
-
34
- opts.on("--repl REPL", "specify the repl environment, pry or irb") do |value|
35
- options[:repl] = value
36
- end
37
-
38
- opts.on("-e 'command'", "one line of script. Several -e's allowed.") do |value|
39
- options[:execute] << value
40
- options[:log] = false unless options[:log_set]
41
- options[:debug] = false unless options[:debug_set]
42
- end
43
-
44
- opts.on("-l", "--[no-]log", "log client requets, on by default") do |value|
45
- options[:log] = value
46
- options[:log_set] = true
47
- end
48
-
49
- opts.on("-c", "--[no-]color", "colorize request logging, on by default") do |value|
50
- options[:color] = value
51
- end
52
-
53
- opts.on("-d", "--[no-]debug", "log HTTP wire traces, off by default") do |value|
54
- options[:debug] = value
55
- options[:debug_set] = true
56
- end
57
-
58
- opts.on("-Idirectory", Array, "specify $LOAD_PATH directory (may be used more than once)") do |values|
59
- options[:load_paths] += values
60
- end
61
-
62
- opts.on("-rlibrary", Array, "require the library") do |values|
63
- options[:require] += values
64
- end
65
-
66
- opts.on("-v", "--verbose", "enable client logging and HTTP wire tracing") do |value|
67
- options[:log] = true
68
- options[:log_set] = true
69
- options[:debug] = true
70
- options[:debug_set] = true
71
- end
72
-
73
- opts.on("-q", "--quiet", "disable client logging and HTTP wire tracing") do |value|
74
- options[:log] = false
75
- options[:log_set] = true
76
- options[:debug] = false
77
- options[:debug_set] = true
78
- end
79
-
80
- opts.on("-h", "--help") do
81
- puts opts
82
- exit
83
- end
84
-
85
- end.parse!
86
-
87
- # amend the $LOAD_PATH
88
- options[:load_paths].each do |path|
89
- $LOAD_PATH.unshift(path)
90
- end
91
-
92
- # load the aws-sdk gem
93
- $LOAD_PATH.unshift(File.expand_path('../../lib', __FILE__))
94
- require 'aws-sdk'
95
-
96
- # when running the REPL locally, we want to load all of the gems from source
97
- if File.directory?(File.expand_path('../../../../build_tools', __FILE__))
98
- gems = %w(aws-sdk-core aws-sigv4 aws-sigv2 aws-partitions)
99
- Aws.constants.each do |const_name|
100
- if Aws.autoload?(const_name)
101
- gems << "aws-sdk-#{const_name.downcase}"
102
- end
103
- end
104
- gems.each do |gem_name|
105
- $LOAD_PATH.unshift(File.expand_path("../../../#{gem_name}/lib", __FILE__))
106
- end
107
- end
108
-
109
- # add helper methods
110
- module Aws
111
- class << self
112
- Aws.constants.each do |const_name|
113
- if Aws.autoload?(const_name)
114
- define_method(const_name.downcase) do |options = {}|
115
- Aws.const_get(const_name).const_get(:Client).new(options)
116
- end
117
- end
118
- end
119
- end
120
- end
121
-
122
- # add the `#resource` helper method to client classes
123
- require 'aws-sdk-core'
124
- class Seahorse::Client::Base
125
- def resource
126
- name = self.class.name.split('::')[1]
127
- Aws.const_get(name).const_get(:Resource).new(client: self)
128
- end
129
- end
130
-
131
- # configure the sdk
132
-
133
- cfg = {}
134
-
135
- cfg[:region] = options[:region] if options[:region]
136
-
137
- if options[:log]
138
- logger = Logger.new($stdout)
139
- logger.formatter = proc {|severity, datetime, progname, msg| msg }
140
- cfg[:logger] = logger
141
- end
142
-
143
- if options[:color]
144
- cfg[:log_formatter] = Aws::Log::Formatter.colored
145
- end
146
-
147
- if options[:debug]
148
- cfg[:http_wire_trace] = true
149
- end
150
-
151
- Aws.config = cfg
152
-
153
- options[:require].each do |library|
154
- require(library)
155
- end
156
-
157
- unless options[:execute].empty?
158
- eval(options[:execute].join("\n"))
159
- exit
160
- end
161
-
162
- class PryNotAvailable < StandardError; end
163
-
164
- def run_with_pry
165
- begin
166
- require 'pry'
167
- rescue LoadError
168
- raise PryNotAvailable
169
- end
170
- Pry.config.prompt = [proc { "Aws> " }, proc { "Aws| " }]
171
- Aws.pry
172
- end
173
-
174
- def run_with_irb
175
- require 'irb'
176
- IRB.start
177
- end
178
-
179
- case options[:repl]
180
- when 'pry' then run_with_pry
181
- when 'irb' then run_with_irb
182
- else
183
- begin
184
- run_with_pry
185
- rescue PryNotAvailable
186
- warn("Pry not available, falling back to irb")
187
- run_with_irb
188
- end
189
- end