aws_account_utils 0.1.0 → 0.1.2
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/.codeclimate.yml +9 -9
- data/README.md +110 -52
- data/lib/aws_account_utils.rb +5 -4
- data/lib/aws_account_utils/account_logger.rb +2 -2
- data/lib/aws_account_utils/account_registration.rb +1 -0
- data/lib/aws_account_utils/alternate_contacts.rb +1 -0
- data/lib/aws_account_utils/challenge_questions.rb +2 -1
- data/lib/aws_account_utils/consolidated_billing.rb +1 -0
- data/lib/aws_account_utils/customer_information.rb +10 -3
- data/lib/aws_account_utils/customize_url.rb +2 -1
- data/lib/aws_account_utils/email_preferences.rb +3 -0
- data/lib/aws_account_utils/enterprise_support.rb +2 -1
- data/lib/aws_account_utils/iam_billing.rb +1 -0
- data/lib/aws_account_utils/login.rb +1 -0
- data/lib/aws_account_utils/logout.rb +0 -1
- data/lib/aws_account_utils/password.rb +3 -3
- data/lib/aws_account_utils/root_access_keys.rb +3 -3
- data/lib/aws_account_utils/version.rb +1 -1
- data/lib/aws_account_utils/watir_browser.rb +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2cdc1bfeb1376e9bffa076150d73b0962bd9bb69
|
4
|
+
data.tar.gz: 5901819531b21ed4a3d5f5bbaa6f9deafbd1c44a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5bb6b0094d7e5b269c3f541a4c425989bbe695f6908f4fe1d11611f2ae9e72ccd04d7f6ff298f61ecdad80471e68b9f96e458c5a5df8f3b5caa58caf277e63c0
|
7
|
+
data.tar.gz: 6939a40b12e209fa685c09accb8bf36ddf87e498616f10852d7842b3b194d3d2d1a974e53a8eb4d2fff173917fc90b47c6a8655365c11461aa4b6964cd6539b9
|
data/.codeclimate.yml
CHANGED
@@ -18,13 +18,13 @@ engines:
|
|
18
18
|
rubocop:
|
19
19
|
enabled: true
|
20
20
|
golint:
|
21
|
-
enabled:
|
21
|
+
enabled: false
|
22
22
|
gofmt:
|
23
|
-
enabled:
|
23
|
+
enabled: false
|
24
24
|
eslint:
|
25
|
-
enabled:
|
25
|
+
enabled: false
|
26
26
|
csslint:
|
27
|
-
enabled:
|
27
|
+
enabled: false
|
28
28
|
|
29
29
|
# Engines can analyze files and report issues on them, but you can separately
|
30
30
|
# decide which files will receive ratings based on those issues. This is
|
@@ -35,11 +35,11 @@ engines:
|
|
35
35
|
|
36
36
|
# Note: If the ratings key is not specified, this will result in a 0.0 GPA on your dashboard.
|
37
37
|
|
38
|
-
|
39
|
-
|
38
|
+
ratings:
|
39
|
+
paths:
|
40
40
|
# - app/**
|
41
|
-
|
42
|
-
|
41
|
+
- lib/**
|
42
|
+
- "**.rb"
|
43
43
|
# - "**.go"
|
44
44
|
|
45
45
|
# You can globally exclude files from being analyzed by any engine using the
|
@@ -47,4 +47,4 @@ engines:
|
|
47
47
|
|
48
48
|
#exclude_paths:
|
49
49
|
#- spec/**/*
|
50
|
-
#- vendor/**/*
|
50
|
+
#- vendor/**/*
|
data/README.md
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
A collection of helpers for creating and modifying AWS account details that can not be done using any existing AWS API
|
4
4
|
|
5
|
+
Special Note: the `create_account` operation requires that your IP be white-listed by AWS in order to bypass the CAPTCHA
|
6
|
+
|
5
7
|
## Installation
|
6
8
|
|
7
9
|
Add this line to your application's Gemfile:
|
@@ -20,6 +22,24 @@ Or install it yourself as:
|
|
20
22
|
|
21
23
|
## Usage
|
22
24
|
|
25
|
+
Overview
|
26
|
+
=================
|
27
|
+
|
28
|
+
If you are required to go through a proxy, the following should be set prior to execution.
|
29
|
+
```
|
30
|
+
export no_proxy=127.0.0.1
|
31
|
+
export http_proxy=myproxyhots.com
|
32
|
+
```
|
33
|
+
|
34
|
+
```ruby
|
35
|
+
aws_utils = AwsAccountUtils::AwsAccountUtils.new(
|
36
|
+
browser: (Watir::Browser) - default: Watir Browser object - You can pass in your own Browser object or use the built-in which uses firefox.
|
37
|
+
logger: (Logger) - default: Logger object. - You can pass in your own logger or use the built in.
|
38
|
+
log_level: (Symbol) - default: :info - Sets the logger level. Only :info and :debug are useful
|
39
|
+
screenshots: (String) - default: nil - Enables screenshots by passing the directory to put the screenshots which are taken throughout the different operations.
|
40
|
+
)
|
41
|
+
```
|
42
|
+
|
23
43
|
Operations
|
24
44
|
=================
|
25
45
|
* [create_account](#create_account)
|
@@ -39,14 +59,15 @@ Or install it yourself as:
|
|
39
59
|
create_account
|
40
60
|
------------
|
41
61
|
|
42
|
-
> Creates a new AWS Account and with the
|
62
|
+
> Creates a new AWS Account and with the minimal amount of information and
|
43
63
|
> returns the account number of the new account.
|
64
|
+
> Requires that your IP be white-listed by AWS in order to bypass the CAPTCHA
|
44
65
|
|
45
66
|
`#create_account(account_name:, account_email, account_password:, account_details:)`
|
46
67
|
|
47
68
|
**Examples:**
|
48
69
|
```Ruby
|
49
|
-
details = { 'fullName' => '
|
70
|
+
details = { 'fullName' => 'Herman Munster',
|
50
71
|
'company' => 'The Munsters',
|
51
72
|
'addressLine1' => '1313 Mockingbird Lane',
|
52
73
|
'city' => 'Mockingbird Heights',
|
@@ -62,7 +83,7 @@ resp = aws_utils.create_account(account_name: 'My Test Account 01',
|
|
62
83
|
resp #=> String
|
63
84
|
```
|
64
85
|
|
65
|
-
**
|
86
|
+
**Parameters:**
|
66
87
|
```
|
67
88
|
account_name: (required, String) - The account name to associate with this new account
|
68
89
|
account_email: (required, String) - The email to associate with this new account
|
@@ -77,18 +98,19 @@ account_details: (required, Hash) - Hash of account deatails
|
|
77
98
|
change_root_password
|
78
99
|
------------
|
79
100
|
|
80
|
-
|
81
101
|
> Changes the account password
|
82
102
|
|
83
103
|
`change_root_password(account_email:, account_password:, new_password:)`
|
84
104
|
|
85
105
|
**Examples:**
|
86
106
|
```Ruby
|
87
|
-
|
88
|
-
|
107
|
+
resp = aws_utils.change_root_password(account_email: 'adfefef@gmail.com',
|
108
|
+
account_password: 'foobar1212121',
|
109
|
+
new_password: 'mynewpassword')
|
110
|
+
resp #=> true/false
|
89
111
|
```
|
90
112
|
|
91
|
-
**
|
113
|
+
**Parameters:**
|
92
114
|
```
|
93
115
|
account_email: (required, String) - The email to associate with this new account
|
94
116
|
account_password: (required, String) - The old password to use with this new account
|
@@ -110,11 +132,12 @@ check_enterprise_support
|
|
110
132
|
|
111
133
|
**Examples:**
|
112
134
|
```Ruby
|
113
|
-
|
114
|
-
|
135
|
+
resp = aws_utils.check_enterprise_support(account_email: 'adfefef@gmail.com',
|
136
|
+
account_password: 'foobar1212121'')
|
137
|
+
resp #=> true/false
|
115
138
|
```
|
116
139
|
|
117
|
-
**
|
140
|
+
**Parameters:**
|
118
141
|
```
|
119
142
|
account_email: (required, String) - The email to associate with this new account
|
120
143
|
account_password: (required, String) - The password to use with this new account
|
@@ -129,25 +152,29 @@ account_password: (required, String) - The password to use with this new account
|
|
129
152
|
confirm_consolidated_billing
|
130
153
|
------------
|
131
154
|
|
132
|
-
> Confirms consolidated billing
|
155
|
+
> Confirms consolidated billing by taking the link that was emailed to you when you enabled consolidated billing.
|
133
156
|
|
134
157
|
`confirm_consolidated_billing(account_email:, account_password:, confirmation_link:)`
|
135
158
|
|
136
159
|
**Examples:**
|
137
160
|
```Ruby
|
138
|
-
|
139
|
-
|
161
|
+
resp = aws_utils.confirm_consolidated_billing(account_email: 'adfefef@gmail.com',
|
162
|
+
account_password: 'foobar1212121',
|
163
|
+
confirmation_link: 'amazonaws.com/confirmationlink')
|
164
|
+
resp #=> nil
|
140
165
|
```
|
141
166
|
|
142
|
-
**
|
167
|
+
**Parameters:**
|
143
168
|
```
|
144
169
|
account_email: (required, String) - The email to associate with this new account
|
145
170
|
account_password: (required, String) - The password to use with this new account
|
171
|
+
confirmation_link: (required, String) - The unique url that will confirm billing
|
172
|
+
|
146
173
|
```
|
147
174
|
|
148
175
|
**Returns:**
|
149
176
|
|
150
|
-
`#return =>
|
177
|
+
`#return => nil`
|
151
178
|
|
152
179
|
---
|
153
180
|
|
@@ -157,13 +184,15 @@ create_root_access_keys
|
|
157
184
|
> Creates access and secret key for root account
|
158
185
|
|
159
186
|
`create_root_access_keys(account_email:, account_password:)`
|
187
|
+
|
160
188
|
**Examples:**
|
161
189
|
```Ruby
|
162
|
-
|
163
|
-
|
190
|
+
resp = aws_utils.create_root_access_keys(account_email: 'adfefef@gmail.com',
|
191
|
+
account_password: 'foobar1212121)
|
192
|
+
resp #=> Hash
|
164
193
|
```
|
165
194
|
|
166
|
-
**
|
195
|
+
**Parameters:**
|
167
196
|
```
|
168
197
|
account_email: (required, String) - The email to associate with this new account
|
169
198
|
account_password: (required, String) - The password to use with this new account
|
@@ -171,7 +200,7 @@ account_password: (required, String) - The password to use with this new account
|
|
171
200
|
|
172
201
|
**Returns:**
|
173
202
|
|
174
|
-
`#return =>
|
203
|
+
`#return => Hash {:access_key=>"my_access_key", :secret_key=>"my_secret_key"}`
|
175
204
|
|
176
205
|
---
|
177
206
|
|
@@ -184,11 +213,12 @@ delete_root_access_keys
|
|
184
213
|
|
185
214
|
**Examples:**
|
186
215
|
```Ruby
|
187
|
-
|
188
|
-
|
216
|
+
resp = aws_utils.delete_root_access_keys(account_email: 'adfefef@gmail.com',
|
217
|
+
account_password: 'foobar1212121)
|
218
|
+
resp #=> True/False
|
189
219
|
```
|
190
220
|
|
191
|
-
**
|
221
|
+
**Parameters:**
|
192
222
|
```
|
193
223
|
account_email: (required, String) - The email to associate with this new account
|
194
224
|
account_password: (required, String) - The password to use with this new account
|
@@ -196,7 +226,7 @@ account_password: (required, String) - The password to use with this new account
|
|
196
226
|
|
197
227
|
**Returns:**
|
198
228
|
|
199
|
-
`#return =>
|
229
|
+
`#return => true/false`
|
200
230
|
|
201
231
|
---
|
202
232
|
|
@@ -209,11 +239,12 @@ email_opt_out
|
|
209
239
|
|
210
240
|
**Examples:**
|
211
241
|
```Ruby
|
212
|
-
|
213
|
-
|
242
|
+
resp = aws_utils.email_opt_out(account_email: 'adfefef@gmail.com',
|
243
|
+
account_password: 'foobar1212121)
|
244
|
+
resp #=> True/False
|
214
245
|
```
|
215
246
|
|
216
|
-
**
|
247
|
+
**Parameters:**
|
217
248
|
```
|
218
249
|
account_email: (required, String) - The email to associate with this new account
|
219
250
|
account_password: (required, String) - The password to use with this new account
|
@@ -228,17 +259,18 @@ account_password: (required, String) - The password to use with this new account
|
|
228
259
|
enable_enterprise_support
|
229
260
|
------------
|
230
261
|
|
231
|
-
> Enables enterprise support
|
262
|
+
> Enables enterprise support, this should be done after consolidated billing has been setup
|
232
263
|
|
233
264
|
`enable_enterprise_support(account_email:, account_password:)`
|
234
265
|
|
235
266
|
**Examples:**
|
236
267
|
```Ruby
|
237
|
-
|
238
|
-
|
268
|
+
resp = aws_utils.enable_enterprise_support(account_email: 'adfefef@gmail.com',
|
269
|
+
account_password: 'foobar1212121)
|
270
|
+
resp #=> True/False
|
239
271
|
```
|
240
272
|
|
241
|
-
**
|
273
|
+
**Parameters:**
|
242
274
|
```
|
243
275
|
account_email: (required, String) - The email to associate with this new account
|
244
276
|
account_password: (required, String) - The password to use with this new account
|
@@ -258,11 +290,12 @@ enable_iam_billing
|
|
258
290
|
`enable_iam_billing(account_email:, account_password:)`
|
259
291
|
**Examples:**
|
260
292
|
```Ruby
|
261
|
-
|
262
|
-
|
293
|
+
resp = aws_utils.enable_iam_billing(account_email: 'adfefef@gmail.com',
|
294
|
+
account_password: 'foobar1212121)
|
295
|
+
resp #=> True/False
|
263
296
|
```
|
264
297
|
|
265
|
-
**
|
298
|
+
**Parameters:**
|
266
299
|
```
|
267
300
|
account_email: (required, String) - The email to associate with this new account
|
268
301
|
account_password: (required, String) - The password to use with this new account
|
@@ -283,11 +316,12 @@ existing_consolidated_billing
|
|
283
316
|
|
284
317
|
**Examples:**
|
285
318
|
```Ruby
|
286
|
-
|
287
|
-
|
319
|
+
resp = aws_utils.existing_consolidated_billing?(account_email: 'adfefef@gmail.com',
|
320
|
+
account_password: 'foobar1212121)
|
321
|
+
resp #=> True/False
|
288
322
|
```
|
289
323
|
|
290
|
-
**
|
324
|
+
**Parameters:**
|
291
325
|
```
|
292
326
|
account_email: (required, String) - The email to associate with this new account
|
293
327
|
account_password: (required, String) - The password to use with this new account
|
@@ -308,14 +342,12 @@ logout_from_console
|
|
308
342
|
|
309
343
|
**Examples:**
|
310
344
|
```Ruby
|
311
|
-
|
312
|
-
resp #=>
|
345
|
+
resp = aws_utils.logout_from_console
|
346
|
+
resp #=> True/False
|
313
347
|
```
|
314
348
|
|
315
|
-
**
|
349
|
+
**Parameters:**
|
316
350
|
```
|
317
|
-
account_email: (required, String) - The email to associate with this new account
|
318
|
-
account_password: (required, String) - The password to use with this new account
|
319
351
|
```
|
320
352
|
|
321
353
|
**Returns:**
|
@@ -334,14 +366,17 @@ request_consolidated_billing
|
|
334
366
|
|
335
367
|
**Examples:**
|
336
368
|
```Ruby
|
337
|
-
|
338
|
-
|
369
|
+
resp = aws_utils.request_consolidated_billing(master_account_email: 'my_master_acccount@gmail.com',
|
370
|
+
master_account_password: 'master_acct_password,
|
371
|
+
account_email: 'my_new_account_email@gmail.com')
|
372
|
+
resp #=> True/False
|
339
373
|
```
|
340
374
|
|
341
|
-
**
|
375
|
+
**Parameters:**
|
342
376
|
```
|
343
|
-
|
344
|
-
|
377
|
+
master_account_email: (required, String) - The email for your master billing aws account
|
378
|
+
master_account_password: (required, String) - The password for your master billing aws account
|
379
|
+
account_email: (required, String) - The email for the account you want to add to consolidated billing under the master account
|
345
380
|
```
|
346
381
|
|
347
382
|
**Returns:**
|
@@ -360,13 +395,27 @@ set_alternate_contacts
|
|
360
395
|
**Examples:**
|
361
396
|
```Ruby
|
362
397
|
|
363
|
-
|
398
|
+
contacts = {'operations' => {'name' => 'Operations Name',
|
399
|
+
'title' => 'Operations Title',
|
400
|
+
'email' => 'operations@test.com',
|
401
|
+
'phoneNumber' => '888-888-1212'},
|
402
|
+
'security' => {'name' => 'Security Name',
|
403
|
+
'title' => 'Security Title',
|
404
|
+
'email' => 'Security@test.com',
|
405
|
+
'phoneNumber' => '888-888-1212'}}
|
406
|
+
|
407
|
+
resp = aws_utils.set_alternate_contacts(account_email: 'adfefef@gmail.com',
|
408
|
+
account_password: 'foobar1212121,
|
409
|
+
contact_info: contacts)
|
410
|
+
resp #=> True/False
|
364
411
|
```
|
365
412
|
|
366
|
-
**
|
413
|
+
**Parameters:**
|
367
414
|
```
|
368
415
|
account_email: (required, String) - The email to associate with this new account
|
369
416
|
account_password: (required, String) - The password to use with this new account
|
417
|
+
contact_info: (required, Hash) - A Hash of Hash of contacts, operations, security, etc.
|
418
|
+
|
370
419
|
```
|
371
420
|
|
372
421
|
**Returns:**
|
@@ -384,19 +433,28 @@ set_challenge_questions
|
|
384
433
|
|
385
434
|
**Examples:**
|
386
435
|
```Ruby
|
387
|
-
|
388
|
-
|
436
|
+
my_answers = {1 => 'answer1',
|
437
|
+
2 => 'answer2',
|
438
|
+
3 => 'answer3'}
|
439
|
+
|
440
|
+
resp = aws_utils.set_challenge_questions(account_email: 'adfefef@gmail.com',
|
441
|
+
account_password: 'foobar1212121,
|
442
|
+
answers: my_answers)
|
443
|
+
|
444
|
+
resp #=> {1 => 'answer1', 2 => 'answer2', 3 => 'answer3'}
|
389
445
|
```
|
390
446
|
|
391
|
-
**
|
447
|
+
**Parameters:**
|
392
448
|
```
|
393
449
|
account_email: (required, String) - The email to associate with this new account
|
394
450
|
account_password: (required, String) - The password to use with this new account
|
451
|
+
answers: (optional, Hash) - A hash of answers to fill in for the security questions. If you dont pass your own, Random word will generate for you.
|
452
|
+
|
395
453
|
```
|
396
454
|
|
397
455
|
**Returns:**
|
398
456
|
|
399
|
-
`#return =>
|
457
|
+
`#return => Hash`
|
400
458
|
|
401
459
|
---
|
402
460
|
|
data/lib/aws_account_utils.rb
CHANGED
@@ -16,11 +16,12 @@ require 'aws_account_utils/logout'
|
|
16
16
|
|
17
17
|
module AwsAccountUtils
|
18
18
|
class AwsAccountUtils
|
19
|
-
attr_reader :
|
19
|
+
attr_reader :log_level, :logger, :browser, :screenshots
|
20
20
|
|
21
|
-
def initialize(logger: nil, browser: nil, screenshots: nil)
|
22
|
-
@
|
21
|
+
def initialize(log_level: :info, logger: nil, browser: nil, screenshots: nil)
|
22
|
+
@log_level = log_level
|
23
23
|
@logger = logger
|
24
|
+
@browser = browser
|
24
25
|
@screenshots = screenshots
|
25
26
|
|
26
27
|
Settings.set_screenshot_dir screenshots if screenshots
|
@@ -182,7 +183,7 @@ module AwsAccountUtils
|
|
182
183
|
end
|
183
184
|
|
184
185
|
def logger
|
185
|
-
@logger ||= AccountLogger.new(
|
186
|
+
@logger ||= AccountLogger.new(log_level)
|
186
187
|
end
|
187
188
|
|
188
189
|
def password
|
@@ -6,7 +6,7 @@ module AwsAccountUtils
|
|
6
6
|
extend Forwardable
|
7
7
|
def_delegators :@logger, :fatal, :debug, :error, :info, :warn, :debug?
|
8
8
|
|
9
|
-
def initialize(log_level
|
9
|
+
def initialize(log_level)
|
10
10
|
@log_level = log_level
|
11
11
|
@logger = new_logger
|
12
12
|
end
|
@@ -19,7 +19,7 @@ module AwsAccountUtils
|
|
19
19
|
l.formatter = proc do |severity, datetime, progname, msg|
|
20
20
|
"#{datetime} #{severity} : #{msg}\n"
|
21
21
|
end
|
22
|
-
l.level = Logger.const_get @log_level.upcase
|
22
|
+
l.level = Logger.const_get @log_level.to_s.upcase
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'aws_account_utils/base'
|
2
|
+
require 'aws_account_utils/login'
|
2
3
|
require 'random-word'
|
3
4
|
|
4
5
|
module AwsAccountUtils
|
@@ -11,7 +12,7 @@ module AwsAccountUtils
|
|
11
12
|
end
|
12
13
|
|
13
14
|
def create(account_email, account_password, challenge_words = {})
|
14
|
-
logger.debug "
|
15
|
+
logger.debug "Setting security challenge answers."
|
15
16
|
Login.new(logger, browser).execute url,
|
16
17
|
account_email,
|
17
18
|
account_password
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'aws_account_utils/base'
|
2
|
+
require 'aws_account_utils/login'
|
2
3
|
|
3
4
|
module AwsAccountUtils
|
4
5
|
class CustomerInformation < Base
|
@@ -14,8 +15,9 @@ module AwsAccountUtils
|
|
14
15
|
Login.new(logger, browser).execute url,
|
15
16
|
account_email,
|
16
17
|
account_password
|
17
|
-
|
18
|
-
browser.
|
18
|
+
|
19
|
+
browser.wait_until{ browser.text.include? 'AWS Customer Agreement'}
|
20
|
+
browser.select_list(:ng_model =>'address.countryCode').when_present.select 'United States'
|
19
21
|
customer_details.each do |k,v|
|
20
22
|
browser.text_field(:name => k).when_present.set v
|
21
23
|
end
|
@@ -30,10 +32,15 @@ module AwsAccountUtils
|
|
30
32
|
browser.input(:id => "accountId").value
|
31
33
|
rescue StandardError
|
32
34
|
screenshot(browser, 'error')
|
33
|
-
raise StandardError, '
|
35
|
+
raise StandardError, 'Aws returned error on the page when submitting customer information.'
|
34
36
|
rescue Watir::Wait::TimeoutError, Net::ReadTimeout => e
|
35
37
|
screenshot(browser, "error")
|
36
38
|
raise StandardError, "#{self.class.name} - #{e}"
|
37
39
|
end
|
40
|
+
|
41
|
+
private
|
42
|
+
def url
|
43
|
+
'https://portal.aws.amazon.com/billing/signup#/account'
|
44
|
+
end
|
38
45
|
end
|
39
46
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'aws_account_utils/base'
|
2
|
+
require 'aws_account_utils/login'
|
2
3
|
|
3
4
|
module AwsAccountUtils
|
4
5
|
class CustomizeUrl < Base
|
@@ -14,7 +15,7 @@ module AwsAccountUtils
|
|
14
15
|
Login.new(logger, browser).execute url,
|
15
16
|
account_email,
|
16
17
|
account_password
|
17
|
-
|
18
|
+
|
18
19
|
browser.h2(:text => /Welcome to Identity and Access Management/).wait_until_present
|
19
20
|
browser.button(:text => /Customize/).when_present.click
|
20
21
|
browser.input(:id => 'alias_input').when_present.to_subtype.set url_alias
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'aws_account_utils/base'
|
2
|
+
require 'aws_account_utils/login'
|
2
3
|
|
3
4
|
module AwsAccountUtils
|
4
5
|
class EmailPreferences < Base
|
@@ -10,6 +11,8 @@ module AwsAccountUtils
|
|
10
11
|
end
|
11
12
|
|
12
13
|
def opt_out(account_email, account_password)
|
14
|
+
logger.debug "Setting email preferences."
|
15
|
+
|
13
16
|
Login.new(logger, browser).execute url,
|
14
17
|
account_email,
|
15
18
|
account_password
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'aws_account_utils/base'
|
2
|
+
require 'aws_account_utils/login'
|
2
3
|
|
3
4
|
module AwsAccountUtils
|
4
5
|
class EnterpriseSupport < Base
|
@@ -9,7 +10,7 @@ module AwsAccountUtils
|
|
9
10
|
@browser = browser
|
10
11
|
end
|
11
12
|
|
12
|
-
def enable(account_email,account_password)
|
13
|
+
def enable(account_email, account_password)
|
13
14
|
logger.debug 'Enabling enterprise support.'
|
14
15
|
Login.new(logger, browser).execute support_registration_url,
|
15
16
|
account_email,
|
@@ -13,7 +13,6 @@ module AwsAccountUtils
|
|
13
13
|
logger.debug "Logging out of AWS."
|
14
14
|
browser.goto url
|
15
15
|
screenshot(browser, "1")
|
16
|
-
#Watir::Wait.until{browser.url == 'https://aws.amazon.com/'}
|
17
16
|
browser.wait_until{ browser.url.include? 'https://aws.amazon.com/'}
|
18
17
|
browser.text.include?('Sign In to the Console') || browser.text.include?('Create a Free Account')
|
19
18
|
rescue Watir::Wait::TimeoutError, Net::ReadTimeout => e
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'aws_account_utils/base'
|
2
|
+
require 'aws_account_utils/login'
|
2
3
|
|
3
4
|
module AwsAccountUtils
|
4
5
|
class Password < Base
|
@@ -27,11 +28,10 @@ module AwsAccountUtils
|
|
27
28
|
browser.h6(:text => /Success/).exist?
|
28
29
|
rescue StandardError => e
|
29
30
|
screenshot(browser, "error")
|
30
|
-
logger.debug "Standard error in #{self.class.name} - #{e}"
|
31
31
|
error_header = browser.div(:id => /message_(error|warning)/).h6.text
|
32
32
|
error_body = browser.div(:id => /message_(error|warning)/).p.text
|
33
|
-
|
34
|
-
|
33
|
+
raise StandardError, "AWS Password Change Error: \"#{error_header}: #{error_body}\""
|
34
|
+
|
35
35
|
rescue Watir::Wait::TimeoutError, Net::ReadTimeout => e
|
36
36
|
screenshot(browser, "error")
|
37
37
|
raise StandardError, "#{self.class.name} - #{e}"
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'aws_account_utils/base'
|
2
|
+
require 'aws_account_utils/login'
|
2
3
|
|
3
4
|
module AwsAccountUtils
|
4
5
|
class RootAccessKeys < Base
|
@@ -65,8 +66,7 @@ module AwsAccountUtils
|
|
65
66
|
end
|
66
67
|
|
67
68
|
def keys_to_delete?
|
68
|
-
|
69
|
-
a
|
69
|
+
browser.a(:class => 'Delete').exist?
|
70
70
|
end
|
71
71
|
|
72
72
|
def clear_warning
|
@@ -83,4 +83,4 @@ module AwsAccountUtils
|
|
83
83
|
secret_key: text.split("\n")[-2] }
|
84
84
|
end
|
85
85
|
end
|
86
|
-
end
|
86
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws_account_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- keviny22
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|