gam7 7.20.3__py3-none-any.whl → 7.28.2__py3-none-any.whl
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.
- gam/__init__.py +1279 -673
- gam/__main__.py +6 -1
- gam/gamlib/glapi.py +35 -19
- gam/gamlib/glcfg.py +12 -0
- gam/gamlib/glclargs.py +288 -5
- gam/gamlib/glentity.py +11 -3
- gam/gamlib/glglobals.py +3 -0
- gam/gamlib/glmsgs.py +3 -1
- gam/gamlib/glverlibs.py +1 -1
- gam/gamlib/yubikey.py +13 -12
- {gam7-7.20.3.dist-info → gam7-7.28.2.dist-info}/METADATA +10 -4
- {gam7-7.20.3.dist-info → gam7-7.28.2.dist-info}/RECORD +15 -33
- gam/googleapiclient/__init__.py +0 -27
- gam/googleapiclient/_auth.py +0 -167
- gam/googleapiclient/_helpers.py +0 -207
- gam/googleapiclient/channel.py +0 -315
- gam/googleapiclient/discovery.py +0 -1662
- gam/googleapiclient/discovery_cache/__init__.py +0 -78
- gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -55
- gam/googleapiclient/discovery_cache/base.py +0 -46
- gam/googleapiclient/discovery_cache/file_cache.py +0 -145
- gam/googleapiclient/errors.py +0 -197
- gam/googleapiclient/http.py +0 -1962
- gam/googleapiclient/mimeparse.py +0 -183
- gam/googleapiclient/model.py +0 -429
- gam/googleapiclient/schema.py +0 -317
- gam/googleapiclient/version.py +0 -15
- gam/iso8601/__init__.py +0 -28
- gam/iso8601/iso8601.py +0 -160
- gam/six.py +0 -982
- {gam7-7.20.3.dist-info → gam7-7.28.2.dist-info}/WHEEL +0 -0
- {gam7-7.20.3.dist-info → gam7-7.28.2.dist-info}/entry_points.txt +0 -0
- {gam7-7.20.3.dist-info → gam7-7.28.2.dist-info}/licenses/LICENSE +0 -0
gam/gamlib/glclargs.py
CHANGED
|
@@ -49,43 +49,71 @@ class GamCLArgs():
|
|
|
49
49
|
ENTITY_CROS_OUS_AND_CHILDREN_QUERIES = 'cros_ous_and_children_queries'
|
|
50
50
|
ENTITY_CROS_SN = 'cros_sn'
|
|
51
51
|
ENTITY_DOMAINS = 'domains'
|
|
52
|
+
ENTITY_DOMAINS_NA = 'domains_na'
|
|
53
|
+
ENTITY_DOMAINS_ARCH = 'domains_arch'
|
|
52
54
|
ENTITY_DOMAINS_NS = 'domains_ns'
|
|
53
55
|
ENTITY_DOMAINS_SUSP = 'domains_susp'
|
|
56
|
+
ENTITY_DOMAINS_NA_NS = 'domains_na_ns'
|
|
54
57
|
ENTITY_GROUP = 'group'
|
|
55
58
|
ENTITY_GROUP_INDE = 'group_inde'
|
|
59
|
+
ENTITY_GROUP_NA = 'group_na'
|
|
60
|
+
ENTITY_GROUP_ARCH = 'group_arch'
|
|
56
61
|
ENTITY_GROUP_NS = 'group_ns'
|
|
57
62
|
ENTITY_GROUP_SUSP = 'group_susp'
|
|
63
|
+
ENTITY_GROUP_NA_NS = 'group_na_ns'
|
|
58
64
|
ENTITY_GROUPS = 'groups'
|
|
59
65
|
ENTITY_GROUPS_INDE = 'groups_inde'
|
|
66
|
+
ENTITY_GROUPS_NA = 'groups_na'
|
|
67
|
+
ENTITY_GROUPS_ARCH = 'groups_arch'
|
|
60
68
|
ENTITY_GROUPS_NS = 'groups_ns'
|
|
61
69
|
ENTITY_GROUPS_SUSP = 'groups_susp'
|
|
70
|
+
ENTITY_GROUPS_NA_NS = 'groups_na_ns'
|
|
62
71
|
ENTITY_GROUP_USERS = 'group_users'
|
|
72
|
+
ENTITY_GROUP_USERS_NA = 'group_users_na'
|
|
73
|
+
ENTITY_GROUP_USERS_ARCH = 'group_users_arch'
|
|
63
74
|
ENTITY_GROUP_USERS_NS = 'group_users_ns'
|
|
64
75
|
ENTITY_GROUP_USERS_SUSP = 'group_users_susp'
|
|
76
|
+
ENTITY_GROUP_USERS_NA_NS = 'group_users_na_ns'
|
|
65
77
|
ENTITY_GROUP_USERS_SELECT = 'group_users_select'
|
|
66
78
|
ENTITY_LICENSES = 'licenses'
|
|
67
79
|
ENTITY_OAUTHUSER = 'oauthuser'
|
|
68
80
|
ENTITY_OU = 'ou'
|
|
81
|
+
ENTITY_OU_NA = 'ou_na'
|
|
82
|
+
ENTITY_OU_ARCH = 'ou_arch'
|
|
69
83
|
ENTITY_OU_NS = 'ou_ns'
|
|
70
84
|
ENTITY_OU_SUSP = 'ou_susp'
|
|
85
|
+
ENTITY_OU_NA_NS = 'ou_na_ns'
|
|
71
86
|
ENTITY_OU_AND_CHILDREN = 'ou_and_children'
|
|
87
|
+
ENTITY_OU_AND_CHILDREN_NA = 'ou_and_children_na'
|
|
88
|
+
ENTITY_OU_AND_CHILDREN_ARCH = 'ou_and_children_arch'
|
|
72
89
|
ENTITY_OU_AND_CHILDREN_NS = 'ou_and_children_ns'
|
|
73
90
|
ENTITY_OU_AND_CHILDREN_SUSP = 'ou_and_children_susp'
|
|
91
|
+
ENTITY_OU_AND_CHILDREN_NA_NS = 'ou_and_children_na_ns'
|
|
74
92
|
ENTITY_OUS = 'ous'
|
|
93
|
+
ENTITY_OUS_NA = 'ous_na'
|
|
94
|
+
ENTITY_OUS_ARCH = 'ous_arch'
|
|
75
95
|
ENTITY_OUS_NS = 'ous_ns'
|
|
76
96
|
ENTITY_OUS_SUSP = 'ous_susp'
|
|
97
|
+
ENTITY_OUS_NA_NS = 'ous_na_ns'
|
|
77
98
|
ENTITY_OUS_AND_CHILDREN = 'ous_and_children'
|
|
99
|
+
ENTITY_OUS_AND_CHILDREN_NA = 'ous_and_children_na'
|
|
100
|
+
ENTITY_OUS_AND_CHILDREN_ARCH = 'ous_and_children_arch'
|
|
78
101
|
ENTITY_OUS_AND_CHILDREN_NS = 'ous_and_children_ns'
|
|
79
102
|
ENTITY_OUS_AND_CHILDREN_SUSP = 'ous_and_children_susp'
|
|
103
|
+
ENTITY_OUS_AND_CHILDREN_NA_NS = 'ous_and_children_na_ns'
|
|
80
104
|
ENTITY_QUERIES = 'queries'
|
|
81
105
|
ENTITY_QUERY = 'query'
|
|
82
106
|
ENTITY_STUDENTS = 'students'
|
|
83
107
|
ENTITY_TEACHERS = 'teachers'
|
|
84
108
|
ENTITY_USER = 'user'
|
|
85
109
|
ENTITY_USERS = 'users'
|
|
110
|
+
ENTITY_USERS_NA = 'users_na'
|
|
111
|
+
ENTITY_USERS_ARCH = 'users_arch'
|
|
86
112
|
ENTITY_USERS_NS = 'users_ns'
|
|
87
|
-
ENTITY_USERS_NS_SUSP = 'users_ns_susp'
|
|
88
113
|
ENTITY_USERS_SUSP = 'users_susp'
|
|
114
|
+
ENTITY_USERS_NA_NS = 'users_na_ns'
|
|
115
|
+
ENTITY_USERS_ARCH_OR_SUSP = 'users_arch_or_susp'
|
|
116
|
+
ENTITY_USERS_NS_SUSP = 'users_ns_susp'
|
|
89
117
|
#
|
|
90
118
|
BROWSER_ENTITIES = [
|
|
91
119
|
ENTITY_BROWSER,
|
|
@@ -118,34 +146,58 @@ class GamCLArgs():
|
|
|
118
146
|
ENTITY_CIGROUP_USERS,
|
|
119
147
|
ENTITY_COURSEPARTICIPANTS,
|
|
120
148
|
ENTITY_DOMAINS,
|
|
149
|
+
ENTITY_DOMAINS_NA,
|
|
150
|
+
ENTITY_DOMAINS_ARCH,
|
|
121
151
|
ENTITY_DOMAINS_NS,
|
|
122
152
|
ENTITY_DOMAINS_SUSP,
|
|
153
|
+
ENTITY_DOMAINS_NA_NS,
|
|
123
154
|
ENTITY_GROUP,
|
|
124
155
|
ENTITY_GROUP_INDE,
|
|
156
|
+
ENTITY_GROUP_NA,
|
|
157
|
+
ENTITY_GROUP_ARCH,
|
|
125
158
|
ENTITY_GROUP_NS,
|
|
126
159
|
ENTITY_GROUP_SUSP,
|
|
160
|
+
ENTITY_GROUP_NA_NS,
|
|
127
161
|
ENTITY_GROUPS,
|
|
128
162
|
ENTITY_GROUPS_INDE,
|
|
163
|
+
ENTITY_GROUPS_NA,
|
|
164
|
+
ENTITY_GROUPS_ARCH,
|
|
129
165
|
ENTITY_GROUPS_NS,
|
|
130
166
|
ENTITY_GROUPS_SUSP,
|
|
167
|
+
ENTITY_GROUPS_NA_NS,
|
|
131
168
|
ENTITY_GROUP_USERS,
|
|
169
|
+
ENTITY_GROUP_USERS_NA,
|
|
170
|
+
ENTITY_GROUP_USERS_ARCH,
|
|
132
171
|
ENTITY_GROUP_USERS_NS,
|
|
133
172
|
ENTITY_GROUP_USERS_SUSP,
|
|
173
|
+
ENTITY_GROUP_USERS_NA_NS,
|
|
134
174
|
ENTITY_GROUP_USERS_SELECT,
|
|
135
175
|
ENTITY_LICENSES,
|
|
136
176
|
ENTITY_OAUTHUSER,
|
|
137
177
|
ENTITY_OU,
|
|
178
|
+
ENTITY_OU_NA,
|
|
179
|
+
ENTITY_OU_ARCH,
|
|
138
180
|
ENTITY_OU_NS,
|
|
139
181
|
ENTITY_OU_SUSP,
|
|
182
|
+
ENTITY_OU_NA_NS,
|
|
140
183
|
ENTITY_OU_AND_CHILDREN,
|
|
184
|
+
ENTITY_OU_AND_CHILDREN_NA,
|
|
185
|
+
ENTITY_OU_AND_CHILDREN_ARCH,
|
|
141
186
|
ENTITY_OU_AND_CHILDREN_NS,
|
|
142
187
|
ENTITY_OU_AND_CHILDREN_SUSP,
|
|
188
|
+
ENTITY_OU_AND_CHILDREN_NA_NS,
|
|
143
189
|
ENTITY_OUS,
|
|
190
|
+
ENTITY_OUS_NA,
|
|
191
|
+
ENTITY_OUS_ARCH,
|
|
144
192
|
ENTITY_OUS_NS,
|
|
145
193
|
ENTITY_OUS_SUSP,
|
|
194
|
+
ENTITY_OUS_NA_NS,
|
|
146
195
|
ENTITY_OUS_AND_CHILDREN,
|
|
196
|
+
ENTITY_OUS_AND_CHILDREN_NA,
|
|
197
|
+
ENTITY_OUS_AND_CHILDREN_ARCH,
|
|
147
198
|
ENTITY_OUS_AND_CHILDREN_NS,
|
|
148
199
|
ENTITY_OUS_AND_CHILDREN_SUSP,
|
|
200
|
+
ENTITY_OUS_AND_CHILDREN_NA_NS,
|
|
149
201
|
ENTITY_QUERIES,
|
|
150
202
|
ENTITY_QUERY,
|
|
151
203
|
ENTITY_STUDENTS,
|
|
@@ -222,29 +274,53 @@ class GamCLArgs():
|
|
|
222
274
|
'licence': ENTITY_LICENSES,
|
|
223
275
|
'licences': ENTITY_LICENSES,
|
|
224
276
|
'org': ENTITY_OU,
|
|
277
|
+
'org_na': ENTITY_OU_NA,
|
|
278
|
+
'org_arch': ENTITY_OU_ARCH,
|
|
225
279
|
'org_ns': ENTITY_OU_NS,
|
|
226
280
|
'org_susp': ENTITY_OU_SUSP,
|
|
281
|
+
'org_na_ns': ENTITY_OU_NA_NS,
|
|
227
282
|
'org_and_child': ENTITY_OU_AND_CHILDREN,
|
|
283
|
+
'org_and_child_na': ENTITY_OU_AND_CHILDREN_NA,
|
|
284
|
+
'org_and_child_arch': ENTITY_OU_AND_CHILDREN_ARCH,
|
|
228
285
|
'org_and_child_ns': ENTITY_OU_AND_CHILDREN_NS,
|
|
229
286
|
'org_and_child_susp': ENTITY_OU_AND_CHILDREN_SUSP,
|
|
287
|
+
'org_and_child_na_ns': ENTITY_OU_AND_CHILDREN_NA_NS,
|
|
230
288
|
'org_and_children': ENTITY_OU_AND_CHILDREN,
|
|
289
|
+
'org_and_children_na': ENTITY_OU_AND_CHILDREN_NA,
|
|
290
|
+
'org_and_children_arch': ENTITY_OU_AND_CHILDREN_ARCH,
|
|
231
291
|
'org_and_children_ns': ENTITY_OU_AND_CHILDREN_NS,
|
|
232
292
|
'org_and_children_susp': ENTITY_OU_AND_CHILDREN_SUSP,
|
|
293
|
+
'org_and_children_na_ns': ENTITY_OU_AND_CHILDREN_NA_NS,
|
|
233
294
|
'orgs': ENTITY_OUS,
|
|
295
|
+
'orgs_na': ENTITY_OUS_NA,
|
|
296
|
+
'orgs_arch': ENTITY_OUS_ARCH,
|
|
234
297
|
'orgs_ns': ENTITY_OUS_NS,
|
|
235
298
|
'orgs_susp': ENTITY_OUS_SUSP,
|
|
299
|
+
'orgs_na_ns': ENTITY_OUS_NA_NS,
|
|
236
300
|
'orgs_and_child': ENTITY_OUS_AND_CHILDREN,
|
|
301
|
+
'orgs_and_child_na': ENTITY_OUS_AND_CHILDREN_NA,
|
|
302
|
+
'orgs_and_child_arch': ENTITY_OUS_AND_CHILDREN_ARCH,
|
|
237
303
|
'orgs_and_child_ns': ENTITY_OUS_AND_CHILDREN_NS,
|
|
238
304
|
'orgs_and_child_susp': ENTITY_OUS_AND_CHILDREN_SUSP,
|
|
305
|
+
'orgs_and_child_na_ns': ENTITY_OUS_AND_CHILDREN_NA_NS,
|
|
239
306
|
'orgs_and_children': ENTITY_OUS_AND_CHILDREN,
|
|
307
|
+
'orgs_and_children_na': ENTITY_OUS_AND_CHILDREN_NA,
|
|
308
|
+
'orgs_and_children_arch': ENTITY_OUS_AND_CHILDREN_ARCH,
|
|
240
309
|
'orgs_and_children_ns': ENTITY_OUS_AND_CHILDREN_NS,
|
|
241
310
|
'orgs_and_children_susp': ENTITY_OUS_AND_CHILDREN_SUSP,
|
|
311
|
+
'orgs_and_children_na_ns': ENTITY_OUS_AND_CHILDREN_NA_NS,
|
|
242
312
|
'ou_and_child': ENTITY_OU_AND_CHILDREN,
|
|
313
|
+
'ou_and_child_na': ENTITY_OU_AND_CHILDREN_NA,
|
|
314
|
+
'ou_and_child_arch': ENTITY_OU_AND_CHILDREN_ARCH,
|
|
243
315
|
'ou_and_child_ns': ENTITY_OU_AND_CHILDREN_NS,
|
|
244
316
|
'ou_and_child_susp': ENTITY_OU_AND_CHILDREN_SUSP,
|
|
317
|
+
'ou_and_child_na_ns': ENTITY_OU_AND_CHILDREN_NA_NS,
|
|
245
318
|
'ous_and_child': ENTITY_OUS_AND_CHILDREN,
|
|
319
|
+
'ous_and_child_na': ENTITY_OUS_AND_CHILDREN_NA,
|
|
320
|
+
'ous_and_child_arch': ENTITY_OUS_AND_CHILDREN_ARCH,
|
|
246
321
|
'ous_and_child_ns': ENTITY_OUS_AND_CHILDREN_NS,
|
|
247
322
|
'ous_and_child_susp': ENTITY_OUS_AND_CHILDREN_SUSP,
|
|
323
|
+
'ous_and_child_na_ns': ENTITY_OUS_AND_CHILDREN_NA_NS,
|
|
248
324
|
}
|
|
249
325
|
# CL entity source selectors
|
|
250
326
|
ENTITY_SELECTOR_ALL = 'all'
|
|
@@ -315,30 +391,217 @@ class GamCLArgs():
|
|
|
315
391
|
]
|
|
316
392
|
USER_ENTITY_SELECTOR_ALL_SUBTYPES = [
|
|
317
393
|
ENTITY_USERS,
|
|
394
|
+
ENTITY_USERS_NA,
|
|
395
|
+
ENTITY_USERS_ARCH,
|
|
318
396
|
ENTITY_USERS_NS,
|
|
319
|
-
ENTITY_USERS_NS_SUSP,
|
|
320
397
|
ENTITY_USERS_SUSP,
|
|
398
|
+
ENTITY_USERS_ARCH_OR_SUSP,
|
|
399
|
+
ENTITY_USERS_NA_NS,
|
|
400
|
+
ENTITY_USERS_NS_SUSP,
|
|
321
401
|
]
|
|
322
402
|
#
|
|
323
403
|
ENTITY_ALL_CROS = ENTITY_SELECTOR_ALL+' '+ENTITY_CROS
|
|
324
404
|
ENTITY_ALL_USERS = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS
|
|
405
|
+
ENTITY_ALL_USERS_NA = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_NA
|
|
406
|
+
ENTITY_ALL_USERS_ARCH = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_ARCH
|
|
325
407
|
ENTITY_ALL_USERS_NS = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_NS
|
|
326
|
-
ENTITY_ALL_USERS_NS_SUSP = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_NS_SUSP
|
|
327
408
|
ENTITY_ALL_USERS_SUSP = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_SUSP
|
|
409
|
+
ENTITY_ALL_USERS_NA_NS = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_NA_NS
|
|
410
|
+
ENTITY_ALL_USERS_ARCH_OR_SUSP = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_ARCH_OR_SUSP
|
|
411
|
+
ENTITY_ALL_USERS_NS_SUSP = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_NS_SUSP
|
|
412
|
+
#
|
|
413
|
+
ALL_USER_ENTITY_TYPES = {
|
|
414
|
+
ENTITY_ALL_USERS,
|
|
415
|
+
ENTITY_ALL_USERS_NA,
|
|
416
|
+
ENTITY_ALL_USERS_ARCH,
|
|
417
|
+
ENTITY_ALL_USERS_NS,
|
|
418
|
+
ENTITY_ALL_USERS_SUSP,
|
|
419
|
+
ENTITY_ALL_USERS_NA_NS,
|
|
420
|
+
ENTITY_ALL_USERS_NS_SUSP,
|
|
421
|
+
}
|
|
422
|
+
DOMAIN_ENTITY_TYPES = {
|
|
423
|
+
ENTITY_DOMAINS,
|
|
424
|
+
ENTITY_DOMAINS_NA,
|
|
425
|
+
ENTITY_DOMAINS_ARCH,
|
|
426
|
+
ENTITY_DOMAINS_NS,
|
|
427
|
+
ENTITY_DOMAINS_SUSP,
|
|
428
|
+
ENTITY_DOMAINS_NA_NS,
|
|
429
|
+
}
|
|
430
|
+
GROUP_ENTITY_TYPES = {
|
|
431
|
+
ENTITY_GROUP,
|
|
432
|
+
ENTITY_GROUP_NA,
|
|
433
|
+
ENTITY_GROUP_ARCH,
|
|
434
|
+
ENTITY_GROUP_NS,
|
|
435
|
+
ENTITY_GROUP_SUSP,
|
|
436
|
+
ENTITY_GROUP_NA_NS,
|
|
437
|
+
ENTITY_GROUP_INDE,
|
|
438
|
+
}
|
|
439
|
+
GROUPS_ENTITY_TYPES = {
|
|
440
|
+
ENTITY_GROUPS,
|
|
441
|
+
ENTITY_GROUPS_NA,
|
|
442
|
+
ENTITY_GROUPS_ARCH,
|
|
443
|
+
ENTITY_GROUPS_NS,
|
|
444
|
+
ENTITY_GROUPS_SUSP,
|
|
445
|
+
ENTITY_GROUPS_NA_NS,
|
|
446
|
+
ENTITY_GROUPS_INDE,
|
|
447
|
+
}
|
|
448
|
+
GROUP_USERS_ENTITY_TYPES = {
|
|
449
|
+
ENTITY_GROUP_USERS,
|
|
450
|
+
ENTITY_GROUP_USERS_NA,
|
|
451
|
+
ENTITY_GROUP_USERS_ARCH,
|
|
452
|
+
ENTITY_GROUP_USERS_NS,
|
|
453
|
+
ENTITY_GROUP_USERS_SUSP,
|
|
454
|
+
ENTITY_GROUP_USERS_NA_NS,
|
|
455
|
+
ENTITY_GROUP_USERS_SELECT,
|
|
456
|
+
}
|
|
457
|
+
OU_ENTITY_TYPES = {
|
|
458
|
+
ENTITY_OU,
|
|
459
|
+
ENTITY_OU_AND_CHILDREN,
|
|
460
|
+
ENTITY_OU_NA,
|
|
461
|
+
ENTITY_OU_AND_CHILDREN_NA,
|
|
462
|
+
ENTITY_OU_ARCH,
|
|
463
|
+
ENTITY_OU_AND_CHILDREN_ARCH,
|
|
464
|
+
ENTITY_OU_NS,
|
|
465
|
+
ENTITY_OU_AND_CHILDREN_NS,
|
|
466
|
+
ENTITY_OU_SUSP,
|
|
467
|
+
ENTITY_OU_AND_CHILDREN_SUSP,
|
|
468
|
+
ENTITY_OU_NA_NS,
|
|
469
|
+
ENTITY_OU_AND_CHILDREN_NA_NS,
|
|
470
|
+
}
|
|
471
|
+
OUS_ENTITY_TYPES = {
|
|
472
|
+
ENTITY_OUS,
|
|
473
|
+
ENTITY_OUS_AND_CHILDREN,
|
|
474
|
+
ENTITY_OUS_NA,
|
|
475
|
+
ENTITY_OUS_AND_CHILDREN_NA,
|
|
476
|
+
ENTITY_OUS_ARCH,
|
|
477
|
+
ENTITY_OUS_AND_CHILDREN_ARCH,
|
|
478
|
+
ENTITY_OUS_NS,
|
|
479
|
+
ENTITY_OUS_AND_CHILDREN_NS,
|
|
480
|
+
ENTITY_OUS_SUSP,
|
|
481
|
+
ENTITY_OUS_AND_CHILDREN_SUSP,
|
|
482
|
+
ENTITY_OUS_NA_NS,
|
|
483
|
+
ENTITY_OUS_AND_CHILDREN_NA_NS,
|
|
484
|
+
}
|
|
485
|
+
OU_DIRECT_ENTITY_TYPES = {
|
|
486
|
+
ENTITY_OU,
|
|
487
|
+
ENTITY_OUS,
|
|
488
|
+
ENTITY_OU_NA,
|
|
489
|
+
ENTITY_OUS_NA,
|
|
490
|
+
ENTITY_OU_ARCH,
|
|
491
|
+
ENTITY_OUS_ARCH,
|
|
492
|
+
ENTITY_OU_NS,
|
|
493
|
+
ENTITY_OUS_NS,
|
|
494
|
+
ENTITY_OU_SUSP,
|
|
495
|
+
ENTITY_OUS_SUSP,
|
|
496
|
+
ENTITY_OU_NA_NS,
|
|
497
|
+
ENTITY_OUS_NA_NS,
|
|
498
|
+
}
|
|
499
|
+
CROS_OU_ENTITY_TYPES = {
|
|
500
|
+
ENTITY_CROS_OU,
|
|
501
|
+
ENTITY_CROS_OU_AND_CHILDREN,
|
|
502
|
+
ENTITY_CROS_OU_QUERY,
|
|
503
|
+
ENTITY_CROS_OU_AND_CHILDREN_QUERY,
|
|
504
|
+
ENTITY_CROS_OU_QUERIES,
|
|
505
|
+
ENTITY_CROS_OU_AND_CHILDREN_QUERIES,
|
|
506
|
+
}
|
|
507
|
+
CROS_OUS_ENTITY_TYPES = {
|
|
508
|
+
ENTITY_CROS_OUS,
|
|
509
|
+
ENTITY_CROS_OUS_AND_CHILDREN,
|
|
510
|
+
ENTITY_CROS_OUS_QUERY,
|
|
511
|
+
ENTITY_CROS_OUS_AND_CHILDREN_QUERY,
|
|
512
|
+
ENTITY_CROS_OUS_QUERIES,
|
|
513
|
+
ENTITY_CROS_OUS_AND_CHILDREN_QUERIES,
|
|
514
|
+
}
|
|
515
|
+
CROS_OU_CHILDREN_ENTITY_TYPES = {
|
|
516
|
+
ENTITY_CROS_OU_AND_CHILDREN,
|
|
517
|
+
ENTITY_CROS_OU_AND_CHILDREN_QUERY,
|
|
518
|
+
ENTITY_CROS_OU_AND_CHILDREN_QUERIES,
|
|
519
|
+
ENTITY_CROS_OUS_AND_CHILDREN,
|
|
520
|
+
ENTITY_CROS_OUS_AND_CHILDREN_QUERY,
|
|
521
|
+
ENTITY_CROS_OUS_AND_CHILDREN_QUERIES,
|
|
522
|
+
}
|
|
523
|
+
CROS_OU_QUERY_ENTITY_TYPES = {
|
|
524
|
+
ENTITY_CROS_OU_QUERY,
|
|
525
|
+
ENTITY_CROS_OU_AND_CHILDREN_QUERY,
|
|
526
|
+
ENTITY_CROS_OUS_QUERY,
|
|
527
|
+
ENTITY_CROS_OUS_AND_CHILDREN_QUERY,
|
|
528
|
+
}
|
|
529
|
+
CROS_OU_QUERIES_ENTITY_TYPES = {
|
|
530
|
+
ENTITY_CROS_OU_QUERIES,
|
|
531
|
+
ENTITY_CROS_OU_AND_CHILDREN_QUERIES,
|
|
532
|
+
ENTITY_CROS_OUS_QUERIES,
|
|
533
|
+
ENTITY_CROS_OUS_AND_CHILDREN_QUERIES,
|
|
534
|
+
}
|
|
328
535
|
#
|
|
329
536
|
ALL_USERS_QUERY_MAP = {
|
|
330
537
|
ENTITY_ALL_USERS: 'isSuspended=False',
|
|
538
|
+
ENTITY_ALL_USERS_NA: 'isArchived=False',
|
|
539
|
+
ENTITY_ALL_USERS_ARCH: 'isArchived=True',
|
|
331
540
|
ENTITY_ALL_USERS_NS: 'isSuspended=False',
|
|
332
|
-
ENTITY_ALL_USERS_NS_SUSP: None,
|
|
333
541
|
ENTITY_ALL_USERS_SUSP: 'isSuspended=True',
|
|
542
|
+
ENTITY_ALL_USERS_NA_NS: 'isArchived=False isSuspended=False',
|
|
543
|
+
ENTITY_ALL_USERS_NS_SUSP: None,
|
|
544
|
+
}
|
|
545
|
+
DOMAINS_QUERY_MAP = {
|
|
546
|
+
ENTITY_DOMAINS: None,
|
|
547
|
+
ENTITY_DOMAINS_NA: 'isArchived=False',
|
|
548
|
+
ENTITY_DOMAINS_ARCH: 'isArchived=True',
|
|
549
|
+
ENTITY_DOMAINS_NS: 'isSuspended=False',
|
|
550
|
+
ENTITY_DOMAINS_SUSP: 'isSuspended=True',
|
|
551
|
+
ENTITY_DOMAINS_NA_NS: 'isArchived=False isSuspended=False',
|
|
552
|
+
}
|
|
553
|
+
GROUPS_QUERY_MAP = { #(isArchived, isSuspended)
|
|
554
|
+
ENTITY_GROUP_NA: (False, None),
|
|
555
|
+
ENTITY_GROUPS_NA: (False, None),
|
|
556
|
+
ENTITY_GROUP_ARCH: (True, None),
|
|
557
|
+
ENTITY_GROUPS_ARCH: (True, None),
|
|
558
|
+
ENTITY_GROUP_NS: (None, False),
|
|
559
|
+
ENTITY_GROUPS_NS: (None, False),
|
|
560
|
+
ENTITY_GROUP_SUSP: (None, True),
|
|
561
|
+
ENTITY_GROUPS_SUSP: (None, True),
|
|
562
|
+
ENTITY_GROUP_NA_NS: (False, False),
|
|
563
|
+
ENTITY_GROUPS_NA_NS: (False, False),
|
|
564
|
+
}
|
|
565
|
+
GROUP_USERS_QUERY_MAP = { #(isArchived, isSuspended)
|
|
566
|
+
ENTITY_GROUP_USERS_NA: (False, None),
|
|
567
|
+
ENTITY_GROUP_USERS_ARCH: (True, None),
|
|
568
|
+
ENTITY_GROUP_USERS_NS: (None, False),
|
|
569
|
+
ENTITY_GROUP_USERS_SUSP: (None, True),
|
|
570
|
+
ENTITY_GROUP_USERS_NA_NS: (False, False),
|
|
571
|
+
}
|
|
572
|
+
OU_QUERY_MAP = { #(isArchived, isSuspended)
|
|
573
|
+
ENTITY_OU_NA: (False, None),
|
|
574
|
+
ENTITY_OUS_NA: (False, None),
|
|
575
|
+
ENTITY_OU_AND_CHILDREN_NA: (False, None),
|
|
576
|
+
ENTITY_OUS_AND_CHILDREN_NA: (False, None),
|
|
577
|
+
ENTITY_OU_ARCH: (True, None),
|
|
578
|
+
ENTITY_OUS_ARCH: (True, None),
|
|
579
|
+
ENTITY_OU_AND_CHILDREN_ARCH: (True, None),
|
|
580
|
+
ENTITY_OUS_AND_CHILDREN_ARCH: (True, None),
|
|
581
|
+
ENTITY_OU_NS: (None, False),
|
|
582
|
+
ENTITY_OUS_NS: (None, False),
|
|
583
|
+
ENTITY_OU_AND_CHILDREN_NS: (None, False),
|
|
584
|
+
ENTITY_OUS_AND_CHILDREN_NS: (None, False),
|
|
585
|
+
ENTITY_OU_SUSP: (None, True),
|
|
586
|
+
ENTITY_OUS_SUSP: (None, True),
|
|
587
|
+
ENTITY_OU_AND_CHILDREN_SUSP: (None, True),
|
|
588
|
+
ENTITY_OUS_AND_CHILDREN_SUSP: (None, True),
|
|
589
|
+
ENTITY_OU_NA_NS: (False, False),
|
|
590
|
+
ENTITY_OUS_NA_NS: (False, False),
|
|
591
|
+
ENTITY_OU_AND_CHILDREN_NA_NS: (False, False),
|
|
592
|
+
ENTITY_OUS_AND_CHILDREN_NA_NS: (False, False),
|
|
334
593
|
}
|
|
335
594
|
#
|
|
336
595
|
ENTITY_SELECTOR_ALL_SUBTYPES_MAP = {
|
|
337
596
|
ENTITY_CROS: ENTITY_ALL_CROS,
|
|
338
597
|
ENTITY_USERS: ENTITY_ALL_USERS,
|
|
598
|
+
ENTITY_USERS_NA: ENTITY_ALL_USERS_NA,
|
|
599
|
+
ENTITY_USERS_ARCH: ENTITY_ALL_USERS_ARCH,
|
|
339
600
|
ENTITY_USERS_NS: ENTITY_ALL_USERS_NS,
|
|
340
|
-
ENTITY_USERS_NS_SUSP: ENTITY_ALL_USERS_NS_SUSP,
|
|
341
601
|
ENTITY_USERS_SUSP: ENTITY_ALL_USERS_SUSP,
|
|
602
|
+
ENTITY_USERS_NA_NS: ENTITY_ALL_USERS_NA_NS,
|
|
603
|
+
ENTITY_USERS_ARCH_OR_SUSP: ENTITY_ALL_USERS_ARCH_OR_SUSP,
|
|
604
|
+
ENTITY_USERS_NS_SUSP: ENTITY_ALL_USERS_NS_SUSP,
|
|
342
605
|
}
|
|
343
606
|
# Allowed values for CL source selector datafile, csvkmd
|
|
344
607
|
CROS_ENTITY_SELECTOR_DATAFILE_CSVKMD_SUBTYPES = [
|
|
@@ -352,22 +615,37 @@ class GamCLArgs():
|
|
|
352
615
|
ENTITY_CIGROUPS,
|
|
353
616
|
ENTITY_CIGROUP_USERS,
|
|
354
617
|
ENTITY_DOMAINS,
|
|
618
|
+
ENTITY_DOMAINS_NA,
|
|
619
|
+
ENTITY_DOMAINS_ARCH,
|
|
355
620
|
ENTITY_DOMAINS_NS,
|
|
356
621
|
ENTITY_DOMAINS_SUSP,
|
|
622
|
+
ENTITY_DOMAINS_NA_NS,
|
|
357
623
|
ENTITY_GROUPS,
|
|
358
624
|
ENTITY_GROUPS_INDE,
|
|
625
|
+
ENTITY_GROUPS_NA,
|
|
626
|
+
ENTITY_GROUPS_ARCH,
|
|
359
627
|
ENTITY_GROUPS_NS,
|
|
360
628
|
ENTITY_GROUPS_SUSP,
|
|
629
|
+
ENTITY_GROUPS_NA_NS,
|
|
361
630
|
ENTITY_GROUP_USERS,
|
|
631
|
+
ENTITY_GROUP_USERS_NA,
|
|
632
|
+
ENTITY_GROUP_USERS_ARCH,
|
|
362
633
|
ENTITY_GROUP_USERS_NS,
|
|
363
634
|
ENTITY_GROUP_USERS_SUSP,
|
|
635
|
+
ENTITY_GROUP_USERS_NA_NS,
|
|
364
636
|
ENTITY_GROUP_USERS_SELECT,
|
|
365
637
|
ENTITY_OUS,
|
|
638
|
+
ENTITY_OUS_NA,
|
|
639
|
+
ENTITY_OUS_ARCH,
|
|
366
640
|
ENTITY_OUS_NS,
|
|
367
641
|
ENTITY_OUS_SUSP,
|
|
642
|
+
ENTITY_OUS_NA_NS,
|
|
368
643
|
ENTITY_OUS_AND_CHILDREN,
|
|
644
|
+
ENTITY_OUS_AND_CHILDREN_NA,
|
|
645
|
+
ENTITY_OUS_AND_CHILDREN_ARCH,
|
|
369
646
|
ENTITY_OUS_AND_CHILDREN_NS,
|
|
370
647
|
ENTITY_OUS_AND_CHILDREN_SUSP,
|
|
648
|
+
ENTITY_OUS_AND_CHILDREN_NA_NS,
|
|
371
649
|
ENTITY_COURSEPARTICIPANTS,
|
|
372
650
|
ENTITY_STUDENTS,
|
|
373
651
|
ENTITY_TEACHERS,
|
|
@@ -377,6 +655,7 @@ class GamCLArgs():
|
|
|
377
655
|
GAM_CMD = 'gam'
|
|
378
656
|
COMMIT_BATCH_CMD = 'commit-batch'
|
|
379
657
|
PRINT_CMD = 'print'
|
|
658
|
+
DATETIME_CMD = 'datetime'
|
|
380
659
|
SET_CMD = 'set'
|
|
381
660
|
CLEAR_CMD = 'clear'
|
|
382
661
|
SLEEP_CMD = 'sleep'
|
|
@@ -475,6 +754,7 @@ class GamCLArgs():
|
|
|
475
754
|
ARG_CHATSPACE = 'chatspace'
|
|
476
755
|
ARG_CHATSPACES = 'chatspaces'
|
|
477
756
|
ARG_CHATSPACEDM = 'chatspacedm'
|
|
757
|
+
ARG_CHROMEDEVICECOUNTS = 'chromedevicecounts'
|
|
478
758
|
ARG_CHROMEAPP = 'chromeapp'
|
|
479
759
|
ARG_CHROMEAPPS = 'chromeapps'
|
|
480
760
|
ARG_CHROMEAPPDEVICES = 'chromeappdevices'
|
|
@@ -859,6 +1139,7 @@ class GamCLArgs():
|
|
|
859
1139
|
OB_ARGUMENT = 'argument'
|
|
860
1140
|
OB_ASP_ID_LIST = 'ASPIDList'
|
|
861
1141
|
OB_ASSET_ID = 'AssetID'
|
|
1142
|
+
OB_ADMIN_ASSIGNEE_TYPE_LIST = 'AdminAssigneeTypeList'
|
|
862
1143
|
OB_BROWSER_ENROLLEMNT_TOKEN_ID = 'BrowserEnrollmentTokenID'
|
|
863
1144
|
OB_BROWSER_ENTITY = 'BrowserEntity'
|
|
864
1145
|
OB_BUILDING_ID = 'BuildingID'
|
|
@@ -924,6 +1205,7 @@ class GamCLArgs():
|
|
|
924
1205
|
OB_CSE_KEYPAIR_ID = 'CSEKeyPairID'
|
|
925
1206
|
OB_CUSTOMER_ID = 'CustomerID'
|
|
926
1207
|
OB_CUSTOMER_AUTH_TOKEN = 'CustomerAuthToken'
|
|
1208
|
+
OB_DATETIME_FORMAT = 'DateTimeFormat'
|
|
927
1209
|
OB_DEVICE_FILE_ENTITY = 'DeviceFileEntity'
|
|
928
1210
|
OB_DEVICE_ENTITY = 'DeviceEntity'
|
|
929
1211
|
OB_DEVICE_ID = 'DeviceID'
|
|
@@ -936,6 +1218,7 @@ class GamCLArgs():
|
|
|
936
1218
|
OB_DOMAIN_NAME_LIST = 'DomainNameList'
|
|
937
1219
|
OB_DRIVE_FILE_ENTITY = 'DriveFileEntity'
|
|
938
1220
|
OB_DRIVE_FILE_ID = 'DriveFileID'
|
|
1221
|
+
OB_DRIVE_FILE_ID_LIST = 'DriveFileIDList'
|
|
939
1222
|
OB_DRIVE_FILE_NAME = 'DriveFileName'
|
|
940
1223
|
OB_DRIVE_FILE_PERMISSION_ENTITY = 'DriveFilePermissionEntity'
|
|
941
1224
|
OB_DRIVE_FILE_PERMISSION_ID = 'DriveFilePermissionID'
|
gam/gamlib/glentity.py
CHANGED
|
@@ -96,6 +96,7 @@ class GamEntity():
|
|
|
96
96
|
CHAT_MEMBER_USER = 'chmu'
|
|
97
97
|
CHAT_MESSAGE = 'chms'
|
|
98
98
|
CHAT_MESSAGE_ID = 'chmi'
|
|
99
|
+
CHAT_OWNER_USER = 'chou'
|
|
99
100
|
CHAT_SPACE = 'chsp'
|
|
100
101
|
CHAT_THREAD = 'chth'
|
|
101
102
|
CHILD_ORGANIZATIONAL_UNIT = 'corg'
|
|
@@ -105,6 +106,7 @@ class GamEntity():
|
|
|
105
106
|
CHROME_BROWSER_ENROLLMENT_TOKEN = 'cbet'
|
|
106
107
|
CHROME_CHANNEL = 'chan'
|
|
107
108
|
CHROME_DEVICE = 'chdv'
|
|
109
|
+
CHROME_DEVICE_COUNT = 'chdc'
|
|
108
110
|
CHROME_MODEL = 'chmo'
|
|
109
111
|
CHROME_NETWORK_ID = 'chni'
|
|
110
112
|
CHROME_NETWORK_NAME = 'chnn'
|
|
@@ -384,11 +386,13 @@ class GamEntity():
|
|
|
384
386
|
URL = 'url '
|
|
385
387
|
USER = 'user'
|
|
386
388
|
USER_ALIAS = 'uali'
|
|
389
|
+
USER_NOT_ARCHIVED = 'usna'
|
|
390
|
+
USER_ARCHIVED = 'usar'
|
|
387
391
|
USER_EMAIL = 'uema'
|
|
388
392
|
USER_INVITATION = 'uinv'
|
|
389
|
-
USER_NOT_SUSPENDED = '
|
|
390
|
-
USER_SCHEMA = 'usch'
|
|
393
|
+
USER_NOT_SUSPENDED = 'usns'
|
|
391
394
|
USER_SUSPENDED = 'usup'
|
|
395
|
+
USER_SCHEMA = 'usch'
|
|
392
396
|
VACATION = 'vaca'
|
|
393
397
|
VACATION_ENABLED = 'vace'
|
|
394
398
|
VALUE = 'val'
|
|
@@ -460,6 +464,7 @@ class GamEntity():
|
|
|
460
464
|
CHAT_MEMBER: ['Chat Members', 'Chat Member'],
|
|
461
465
|
CHAT_MEMBER_GROUP: ['Chat Group Members', 'Chat Group Member'],
|
|
462
466
|
CHAT_MEMBER_USER: ['Chat User Members', 'Chat User Member'],
|
|
467
|
+
CHAT_OWNER_USER: ['Chat User Owners', 'Chat User Owner'],
|
|
463
468
|
CHAT_SPACE: ['Chat Spaces', 'Chat Space'],
|
|
464
469
|
CHAT_THREAD: ['Chat Threads', 'Chat Thread'],
|
|
465
470
|
CHILD_ORGANIZATIONAL_UNIT: ['Child Organizational Units', 'Child Organizational Unit'],
|
|
@@ -469,6 +474,7 @@ class GamEntity():
|
|
|
469
474
|
CHROME_BROWSER_ENROLLMENT_TOKEN: ['Chrome Browser Enrollment Tokens', 'Chrome Browser Enrollment Token'],
|
|
470
475
|
CHROME_CHANNEL: ['Chrome Channels', 'Chrome Channel'],
|
|
471
476
|
CHROME_DEVICE: ['Chrome Devices', 'Chrome Device'],
|
|
477
|
+
CHROME_DEVICE_COUNT: ['Chrome Device Counts', 'Chrome Device Count'],
|
|
472
478
|
CHROME_MODEL: ['Chrome Models', 'Chrome Model'],
|
|
473
479
|
CHROME_NETWORK_ID: ['Chrome Network IDs', 'Chrome Network ID'],
|
|
474
480
|
CHROME_NETWORK_NAME: ['Chrome Network Names', 'Chrome Network Name'],
|
|
@@ -748,11 +754,13 @@ class GamEntity():
|
|
|
748
754
|
URL: ['URLs', 'URL'],
|
|
749
755
|
USER: ['Users', 'User'],
|
|
750
756
|
USER_ALIAS: ['User Aliases', 'User Alias'],
|
|
757
|
+
USER_NOT_ARCHIVED: ['Users (Not archived)', 'User (Not archived)'],
|
|
758
|
+
USER_ARCHIVED: ['Users (Archived)', 'User (Archived)'],
|
|
751
759
|
USER_EMAIL: ['User Emails', 'User Email'],
|
|
752
760
|
USER_INVITATION: ['User Invitations', 'User Invitation'],
|
|
753
761
|
USER_NOT_SUSPENDED: ['Users (Not suspended)', 'User (Not suspended)'],
|
|
754
|
-
USER_SCHEMA: ['Schemas', 'Schema'],
|
|
755
762
|
USER_SUSPENDED: ['Users (Suspended)', 'User (Suspended)'],
|
|
763
|
+
USER_SCHEMA: ['Schemas', 'Schema'],
|
|
756
764
|
VACATION: ['Vacation', 'Vacation'],
|
|
757
765
|
VACATION_ENABLED: ['Vacation Enabled', 'Vacation Enabled'],
|
|
758
766
|
VALUE: ['Values', 'Value'],
|
gam/gamlib/glglobals.py
CHANGED
|
@@ -107,6 +107,8 @@ CURRENT_SVCACCT_USER = 'csa'
|
|
|
107
107
|
DATETIME_NOW = 'dtno'
|
|
108
108
|
# If debug_level > 0: extra_args['prettyPrint'] = True, httplib2.debuglevel = gam_debug_level, appsObj.debug = True
|
|
109
109
|
DEBUG_LEVEL = 'dbgl'
|
|
110
|
+
# Whether debug output should redact sensitive credentials
|
|
111
|
+
DEBUG_REDACTION = 'dbrd'
|
|
110
112
|
# Decoded ID token
|
|
111
113
|
DECODED_ID_TOKEN = 'didt'
|
|
112
114
|
# Index of start of <UserTypeEntity> in command line
|
|
@@ -263,6 +265,7 @@ Globals = {
|
|
|
263
265
|
CURRENT_SVCACCT_USER: None,
|
|
264
266
|
DATETIME_NOW: None,
|
|
265
267
|
DEBUG_LEVEL: 0,
|
|
268
|
+
DEBUG_REDACTION: True,
|
|
266
269
|
DECODED_ID_TOKEN: None,
|
|
267
270
|
ENTITY_CL_DELAY_START: 1,
|
|
268
271
|
ENTITY_CL_START: 1,
|
gam/gamlib/glmsgs.py
CHANGED
|
@@ -224,6 +224,8 @@ COUNT_N_EXCEEDS_MAX_TO_PROCESS_M = 'Count {0} exceeds maximum to {1} {2}'
|
|
|
224
224
|
CORRUPT_FILE = 'Corrupt file'
|
|
225
225
|
COULD_NOT_FIND_ANY_YUBIKEY = 'Could not find any YubiKey\n'
|
|
226
226
|
COULD_NOT_FIND_YUBIKEY_WITH_SERIAL = 'Could not find YubiKey with serial number {0}\n'
|
|
227
|
+
CREATE_DELEGATE_NOTIFY_MESSAGE = '#user# has granted you #delegate# access to read, delete and send mail on their behalf.'
|
|
228
|
+
CREATE_DELEGATE_NOTIFY_SUBJECT = '#user# mail delegation to #delegate#'
|
|
227
229
|
CREATE_USER_NOTIFY_MESSAGE = 'Hello #givenname# #familyname#,\n\nYou have a new account at #domain#\nAccount details:\nUsername: #user#\nPassword: #password#\nStart using your new account by signing in at\nhttps://www.google.com/accounts/AccountChooser?Email=#user#&continue=https://workspace.google.com/dashboard\n'
|
|
228
230
|
CREATE_USER_NOTIFY_SUBJECT = 'Welcome to #domain#'
|
|
229
231
|
CSV_DATA_ALREADY_SAVED = 'CSV data already saved'
|
|
@@ -516,7 +518,7 @@ To set up Google Chat for your current project, please go to:
|
|
|
516
518
|
|
|
517
519
|
and follow the instructions at:
|
|
518
520
|
|
|
519
|
-
https://github.com/GAM-team/GAM/wiki/Chat-Bot#set-up-a-chat-bot
|
|
521
|
+
https://github.com/GAM-team/GAM/wiki/Chat-Bot-Setup-Use#set-up-a-chat-bot
|
|
520
522
|
|
|
521
523
|
You'll use projects/{1}/topics/no-topic in Connection settings Cloud Pub/Sub Topic Name
|
|
522
524
|
"""
|
gam/gamlib/glverlibs.py
CHANGED
gam/gamlib/yubikey.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
|
|
3
|
-
# Copyright (C)
|
|
3
|
+
# Copyright (C) 2025 Ross Scroggs All Rights Reserved.
|
|
4
4
|
#
|
|
5
5
|
# All Rights Reserved.
|
|
6
6
|
#
|
|
@@ -19,11 +19,20 @@
|
|
|
19
19
|
"""YubiKey"""
|
|
20
20
|
|
|
21
21
|
import base64
|
|
22
|
-
import datetime
|
|
23
22
|
from secrets import SystemRandom
|
|
24
23
|
import string
|
|
25
24
|
import sys
|
|
26
25
|
|
|
26
|
+
import arrow
|
|
27
|
+
|
|
28
|
+
from gam import mplock
|
|
29
|
+
|
|
30
|
+
from gam import systemErrorExit
|
|
31
|
+
from gam import readStdin
|
|
32
|
+
from gam import writeStdout
|
|
33
|
+
|
|
34
|
+
from gam.gamlib import glmsgs as Msg
|
|
35
|
+
|
|
27
36
|
from cryptography.hazmat.primitives import hashes, serialization
|
|
28
37
|
from cryptography.hazmat.primitives.asymmetric import padding
|
|
29
38
|
from smartcard.Exceptions import CardConnectionException
|
|
@@ -49,14 +58,6 @@ YUBIKEY_VALUE_ERROR_RC = 85
|
|
|
49
58
|
YUBIKEY_MULTIPLE_CONNECTED_RC = 86
|
|
50
59
|
YUBIKEY_NOT_FOUND_RC = 87
|
|
51
60
|
|
|
52
|
-
from gam import mplock
|
|
53
|
-
|
|
54
|
-
from gam import systemErrorExit
|
|
55
|
-
from gam import readStdin
|
|
56
|
-
from gam import writeStdout
|
|
57
|
-
|
|
58
|
-
from gam.gamlib import glmsgs as Msg
|
|
59
|
-
|
|
60
61
|
PIN_PUK_CHARS = string.ascii_letters+string.digits+string.punctuation
|
|
61
62
|
|
|
62
63
|
class YubiKey():
|
|
@@ -155,8 +156,8 @@ class YubiKey():
|
|
|
155
156
|
KEY_TYPE.RSA2048,
|
|
156
157
|
PIN_POLICY.ALWAYS,
|
|
157
158
|
TOUCH_POLICY.NEVER)
|
|
158
|
-
now =
|
|
159
|
-
valid_to = now
|
|
159
|
+
now = arrow.utcnow()
|
|
160
|
+
valid_to = now.shift(days=36500)
|
|
160
161
|
subject = 'CN=GAM Created Key'
|
|
161
162
|
piv.authenticate(MANAGEMENT_KEY_TYPE.TDES, DEFAULT_MANAGEMENT_KEY)
|
|
162
163
|
piv.verify_pin(new_pin)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gam7
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.28.2
|
|
4
4
|
Summary: CLI tool to manage Google Workspace
|
|
5
5
|
Project-URL: Homepage, https://github.com/GAM-team/GAM
|
|
6
6
|
Project-URL: Issues, https://github.com/GAM-team/GAM/issues
|
|
@@ -17,7 +17,8 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
-
Requires-Python: >=3.
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Requires-Dist: arrow>=1.3.0
|
|
21
22
|
Requires-Dist: chardet>=5.2.0
|
|
22
23
|
Requires-Dist: cryptography>=44.0.2
|
|
23
24
|
Requires-Dist: distro; sys_platform == 'linux'
|
|
@@ -26,11 +27,11 @@ Requires-Dist: google-api-python-client>=2.167.0
|
|
|
26
27
|
Requires-Dist: google-auth-httplib2>=0.2.0
|
|
27
28
|
Requires-Dist: google-auth-oauthlib>=1.2.2
|
|
28
29
|
Requires-Dist: google-auth>=2.39.0
|
|
29
|
-
Requires-Dist: httplib2>=0.
|
|
30
|
+
Requires-Dist: httplib2>=0.31.0
|
|
30
31
|
Requires-Dist: lxml>=5.4.0
|
|
31
32
|
Requires-Dist: passlib>=1.7.4
|
|
32
33
|
Requires-Dist: pathvalidate>=3.2.3
|
|
33
|
-
Requires-Dist:
|
|
34
|
+
Requires-Dist: pysocks>=1.7.1
|
|
34
35
|
Provides-Extra: yubikey
|
|
35
36
|
Requires-Dist: yubikey-manager>=5.6.1; extra == 'yubikey'
|
|
36
37
|
Description-Content-Type: text/markdown
|
|
@@ -55,6 +56,11 @@ this will download GAM, install it and start setup.
|
|
|
55
56
|
|
|
56
57
|
Download the MSI Installer from the [GitHub Releases] page. Install the MSI and you'll be prompted to setup GAM.
|
|
57
58
|
|
|
59
|
+
## Use your own Python
|
|
60
|
+
If you'd prefer to install GAM as a Python package you can install with pip:
|
|
61
|
+
```
|
|
62
|
+
pip install gam7
|
|
63
|
+
```
|
|
58
64
|
# Documentation
|
|
59
65
|
|
|
60
66
|
The GAM documentation is hosted in the [GitHub Wiki]
|