terraorg 0.0.9 → 0.1.0

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