terraorg 0.0.9 → 0.1.0

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
  SHA256:
3
- metadata.gz: 1bef24d472bb9f74230b22e6bbe38ffeb15b48c1291880a74646b0f1b8212980
4
- data.tar.gz: 7699e14957bcf852c6d9fdb14470fe10a0e234c1859218882a470d35372290c9
3
+ metadata.gz: 9dcc3e713e1ec4a3166adfd99ecb9cccb52efd37f489fc18ff2393be0b79ac1a
4
+ data.tar.gz: 0d12305ad0d7f2aa129336010f719f0d1361c0d28b2fa9466c2c1205d280830b
5
5
  SHA512:
6
- metadata.gz: 360304ee399484cd39c510194697fee4ae9df9e6e8901dd0ce118d3c487d3488e17f643434875e39b6abe7602950ba9ac5922d9b0ffa7aac3d1f9c68d05ef9a0
7
- data.tar.gz: df7fcc2285a731319e875de80e8a34d268a2e5ce35f8ef3c18081a8176ec7fde91b8baf69588ddb4ae8d0734f21b3447dfc53b6fd91304051649d36f9a95f608
6
+ metadata.gz: 19df8bcc655abfe6eb89a7d5e8d50d7f76298a492b14cb2f37369b17b2f396822897d264d6f861f215faabd0e74af0dc72a23756cac1e319c34d36a60c915783
7
+ data.tar.gz: c3b93acbeaa7f18f6f64c4343944649acf2630a99823b53fce3789c20fb1fa8a5be8bebf9159c2a48ae39eb96b5d4af1c669b23d879087a38104f36d330aeb09
@@ -220,6 +220,13 @@ resource "okta_group" "#{name}" {
220
220
  EOF
221
221
  end
222
222
 
223
+ # Generate a special GSuite group for all managers (org, platoon, squad
224
+ # level.) We don't generate such an okta group (For now)
225
+ # As Squad#manager may return nil, select the non-nils
226
+ all_managers = Set.new([@manager] + @platoons.all.map(&:manager) + @squads.all.map(&:manager).select { |m| m })
227
+ manager_dl = "#{@id}-managers"
228
+ tf += Util.gsuite_group_tf(manager_dl, @gsuite_domain, all_managers, "All managers of the #{@name} organization (terraorg)")
229
+
223
230
  File.write('auto.org.tf', tf)
224
231
  end
225
232
 
@@ -15,7 +15,7 @@
15
15
  require 'terraorg/model/util'
16
16
 
17
17
  class Platoon
18
- attr_accessor :id, :name, :member_exceptions, :member_squads
18
+ attr_accessor :id, :manager, :name, :member_exceptions, :member_squads
19
19
 
20
20
  def initialize(parsed_data, squads, people, gsuite_domain)
21
21
  @id = parsed_data.fetch('id')
@@ -131,6 +131,15 @@ EOF
131
131
  }.join("\n\n")
132
132
  end
133
133
 
134
+ def manager
135
+ m = @metadata['manager']
136
+ if m
137
+ return @people.get_or_create!(m)
138
+ else
139
+ return nil
140
+ end
141
+ end
142
+
134
143
  def to_h
135
144
  # Output a canonical (sorted, formatted) version of this Squad.
136
145
  # - Subteams are sorted by location lexically
@@ -28,6 +28,10 @@ class Squads
28
28
  end
29
29
  end
30
30
 
31
+ def all
32
+ @squads.values
33
+ end
34
+
31
35
  def all_names
32
36
  @squads.keys
33
37
  end
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
 
15
15
  module Terraorg
16
- VERSION = '0.0.9'
16
+ VERSION = '0.1.0'
17
17
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terraorg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Kwan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-11 00:00:00.000000000 Z
11
+ date: 2020-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday