awsec 0.1.2 → 0.1.3

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. data/bin/awsec +1 -1
  2. data/lib/aw_sec/core.rb +12 -2
  3. data/lib/version.rb +1 -1
  4. metadata +41 -74
data/bin/awsec CHANGED
@@ -35,7 +35,7 @@ else
35
35
 
36
36
  defaults[:whilelist] = ask('Default comma separated IP whitelist? []')
37
37
 
38
- File.write(config_path, JSON.dump(defaults))
38
+ File.open(config_path, 'w') { |file| file.write(JSON.dump(defaults)) }
39
39
  say('Configuration saved')
40
40
  end
41
41
 
@@ -26,6 +26,7 @@ module AwSec
26
26
  puts "Connecting AWS..."
27
27
  groups = get_groups(group_names)
28
28
  groups.each do |group|
29
+ next if group.nil?
29
30
  puts "Configuring #{group.name}"
30
31
  granted_ips = list_ips(group) || []
31
32
  puts "Existing IPs with access to port #{port}: #{granted_ips.join(',')}"
@@ -62,7 +63,12 @@ module AwSec
62
63
 
63
64
  def get_groups(group_names)
64
65
  groups = []
65
- group_names.each do |group_name|
66
+ if group_names.is_a? String
67
+ to_loop = [group_names]
68
+ else
69
+ to_loop = group_names
70
+ end
71
+ to_loop.each do |group_name|
66
72
  groups << conn.security_groups.get(group_name)
67
73
  end
68
74
 
@@ -79,7 +85,11 @@ module AwSec
79
85
  begin
80
86
  group.authorize_port_range(port..port, :cidr_ip => ip)
81
87
  rescue => exc
82
- puts "Failed #{exc.message}"
88
+ if exc.message =~ /InvalidPermission.Duplicate/
89
+ puts "#{ip} already has access"
90
+ else
91
+ puts "Failed #{exc.message}"
92
+ end
83
93
  end
84
94
  end
85
95
  end
@@ -13,7 +13,7 @@ module AwSec
13
13
  # Defines the minor version
14
14
  # PATCH:
15
15
  # Defines the patch version
16
- MAJOR, MINOR, PATCH = 0, 1, 2
16
+ MAJOR, MINOR, PATCH = 0, 1, 3
17
17
 
18
18
  #ie. PRERELEASE_MODIFIER = 'beta1'
19
19
  PRERELEASE_MODIFIER = nil
metadata CHANGED
@@ -1,79 +1,56 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: awsec
3
- version: !ruby/object:Gem::Version
4
- hash: 31
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.3
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 2
10
- version: 0.1.2
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Cloud 66
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-02-25 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2013-04-28 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: json
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70364927949480 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 9
29
- segments:
30
- - 1
31
- - 6
32
- - 3
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
33
21
  version: 1.6.3
34
22
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: fog
38
23
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *70364927949480
25
+ - !ruby/object:Gem::Dependency
26
+ name: fog
27
+ requirement: &70364927947940 !ruby/object:Gem::Requirement
40
28
  none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 7
45
- segments:
46
- - 1
47
- - 4
48
- - 0
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
49
32
  version: 1.4.0
50
33
  type: :runtime
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
53
- name: highline
54
34
  prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *70364927947940
36
+ - !ruby/object:Gem::Dependency
37
+ name: highline
38
+ requirement: &70364927946860 !ruby/object:Gem::Requirement
56
39
  none: false
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- hash: 25
61
- segments:
62
- - 1
63
- - 6
64
- - 11
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
65
43
  version: 1.6.11
66
44
  type: :runtime
67
- version_requirements: *id003
45
+ prerelease: false
46
+ version_requirements: *70364927946860
68
47
  description: Open and close AWS Security Group from the terminal for more secure operations
69
48
  email: khash@cloud66.com
70
- executables:
49
+ executables:
71
50
  - awsec
72
51
  extensions: []
73
-
74
52
  extra_rdoc_files: []
75
-
76
- files:
53
+ files:
77
54
  - lib/version.rb
78
55
  - lib/aw_sec.rb
79
56
  - lib/aw_sec/core.rb
@@ -83,36 +60,26 @@ files:
83
60
  - bin/awsec
84
61
  homepage: https://github.com/cloud66/awsec
85
62
  licenses: []
86
-
87
63
  post_install_message:
88
64
  rdoc_options: []
89
-
90
- require_paths:
65
+ require_paths:
91
66
  - lib
92
- required_ruby_version: !ruby/object:Gem::Requirement
67
+ required_ruby_version: !ruby/object:Gem::Requirement
93
68
  none: false
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- hash: 3
98
- segments:
99
- - 0
100
- version: "0"
101
- required_rubygems_version: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ! '>='
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
102
74
  none: false
103
- requirements:
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- hash: 3
107
- segments:
108
- - 0
109
- version: "0"
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
110
79
  requirements: []
111
-
112
80
  rubyforge_project:
113
- rubygems_version: 1.8.12
81
+ rubygems_version: 1.8.15
114
82
  signing_key:
115
83
  specification_version: 3
116
84
  summary: AWS Security Toolbelt
117
85
  test_files: []
118
-