mirror of
https://github.com/GAM-team/GAM.git
synced 2025-07-07 13:13:34 +00:00
merge
This commit is contained in:
29
.github/workflows/build.yml
vendored
29
.github/workflows/build.yml
vendored
@ -565,6 +565,17 @@ jobs:
|
|||||||
export newbuilding="${newbase}-building"
|
export newbuilding="${newbase}-building"
|
||||||
export newresource="${newbase}-resource"
|
export newresource="${newbase}-resource"
|
||||||
export newou="aaaGithub Actions/${newbase}"
|
export newou="aaaGithub Actions/${newbase}"
|
||||||
|
|
||||||
|
# cleanup old runs
|
||||||
|
GAM_CSV_ROW_FILTER="name:regex:gha_test_${JID}_" $gam print vaultholds | $gam csv - gam delete vaulthold "id:~~holdId~~" matter "id:~~matterId~~"
|
||||||
|
GAM_CSV_ROW_FILTER="name:regex:gha_test_${JID}_" $gam print features | $gam csv - gam delete feature ~name
|
||||||
|
GAM_CSV_ROW_FILTER="name:regex:^gha_test_${JID}_" $gam user $gam_user print shareddrives asadmin | $gam csv - gam user $gam_user delete shareddrive ~id nukefromorbit
|
||||||
|
$gam print users query "gha.jid=$JID" | $gam csv - gam delete user ~primaryEmail
|
||||||
|
GAM_CSV_ROW_FILTER="name:regex:^gha_test_${JID}_" $gam print ous fromparent "aaaGithub Actions" | $gam csv - gam delete ou ~orgUnitId
|
||||||
|
GAM_CSV_ROW_FILTER="groupKey.id:regex:^gha_test_${JID}_" $gam print cigroups | $gam csv - gam delete cigroup ~groupKey.id
|
||||||
|
GAM_CSV_ROW_FILTER="resourceId:regex:^gha_test_${JID}_" $gam print resources | $gam csv - gam delete resource ~resourceId
|
||||||
|
GAM_CSV_ROW_FILTER="buildingId:regex:^gha_test_${JID}_" $gam print buildings | $gam csv - gam delete building ~buildingId
|
||||||
|
|
||||||
echo "Creating OrgUnit ${newou}"
|
echo "Creating OrgUnit ${newou}"
|
||||||
$gam create ou "${newou}"
|
$gam create ou "${newou}"
|
||||||
export GAM_THREADS=5
|
export GAM_THREADS=5
|
||||||
@ -617,8 +628,8 @@ jobs:
|
|||||||
$gam users "$newbase-bulkuser-7 $newbase-bulkuser-8 $newbase-bulkuser-9" modify messages query in:anywhere maxtomodify 99999 addlabel IMPORTANT addlabel STARRED doit
|
$gam users "$newbase-bulkuser-7 $newbase-bulkuser-8 $newbase-bulkuser-9" modify messages query in:anywhere maxtomodify 99999 addlabel IMPORTANT addlabel STARRED doit
|
||||||
$gam user $newuser delete label --ALL_LABELS--
|
$gam user $newuser delete label --ALL_LABELS--
|
||||||
GAM_CSV_ROW_FILTER="name:regex:gha-test-${JID}" $gam print features | $gam csv - gam delete feature ~name
|
GAM_CSV_ROW_FILTER="name:regex:gha-test-${JID}" $gam print features | $gam csv - gam delete feature ~name
|
||||||
$gam create feature name Whiteboard-$newbase
|
|
||||||
$gam create feature name VC-$newbase
|
$gam create feature name VC-$newbase
|
||||||
|
$gam create feature name Whiteboard-$newbase
|
||||||
$gam create building "My Building - $newbase" id $newbuilding floors 1,2,3,4,5,6,7,8,9,10,11,12,14,15 description "No 13th floor here..."
|
$gam create building "My Building - $newbase" id $newbuilding floors 1,2,3,4,5,6,7,8,9,10,11,12,14,15 description "No 13th floor here..."
|
||||||
$gam create resource $newresource "Resource Calendar $tstamp" capacity 25 features Whiteboard-$newbase,VC-$newbase building $newbuilding floor 15 type Room
|
$gam create resource $newresource "Resource Calendar $tstamp" capacity 25 features Whiteboard-$newbase,VC-$newbase building $newbuilding floor 15 type Room
|
||||||
$gam info resource $newresource
|
$gam info resource $newresource
|
||||||
@ -654,8 +665,8 @@ jobs:
|
|||||||
$gam delete hold "GHA hold $newbase" matter $matterid
|
$gam delete hold "GHA hold $newbase" matter $matterid
|
||||||
$gam update matter $matterid action close
|
$gam update matter $matterid action close
|
||||||
$gam update matter $matterid action delete
|
$gam update matter $matterid action delete
|
||||||
#$gam delete user $newuser
|
# shakes off vault hold on user so we can delete
|
||||||
#$gam undelete user $newuser
|
$gam print users query "email:${newuser}" orgunitpath | $gam csv - gam update user ~primaryEmail ou ~orgUnitPath
|
||||||
$gam delete user $newuser
|
$gam delete user $newuser
|
||||||
$gam print users query "gha.jid=$JID" | $gam csv - gam delete user ~primaryEmail
|
$gam print users query "gha.jid=$JID" | $gam csv - gam delete user ~primaryEmail
|
||||||
$gam print mobile
|
$gam print mobile
|
||||||
@ -671,8 +682,8 @@ jobs:
|
|||||||
$gam report users fields accounts:is_less_secure_apps_access_allowed,gmail:last_imap_time,gmail:last_pop_time filters "accounts:last_login_time>2019-01-01T00:00:00.000Z" todrive
|
$gam report users fields accounts:is_less_secure_apps_access_allowed,gmail:last_imap_time,gmail:last_pop_time filters "accounts:last_login_time>2019-01-01T00:00:00.000Z" todrive
|
||||||
$gam report admin start -3d todrive
|
$gam report admin start -3d todrive
|
||||||
$gam print devices nopersonaldevices nodeviceusers filter "serial:$JID$JID$JID$JID-" | $gam csv - gam delete device id ~name
|
$gam print devices nopersonaldevices nodeviceusers filter "serial:$JID$JID$JID$JID-" | $gam csv - gam delete device id ~name
|
||||||
#$gam print userinvitations
|
$gam print userinvitations
|
||||||
#$gam print userinvitations | $gam csv - gam send userinvitation ~name
|
$gam print userinvitations | $gam csv - gam send userinvitation ~name
|
||||||
$gam create caalevel "zzz_${newbase}" basic condition ipsubnetworks 1.1.1.1/32,2.2.2.2/32 endcondition
|
$gam create caalevel "zzz_${newbase}" basic condition ipsubnetworks 1.1.1.1/32,2.2.2.2/32 endcondition
|
||||||
$gam print caalevels
|
$gam print caalevels
|
||||||
$gam delete caalevel "zzz_${newbase}"
|
$gam delete caalevel "zzz_${newbase}"
|
||||||
@ -727,11 +738,6 @@ jobs:
|
|||||||
- name: Download artifacts
|
- name: Download artifacts
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
|
|
||||||
- name: Set datetime version string
|
|
||||||
id: dateversion
|
|
||||||
run: |
|
|
||||||
echo "dateversion=$(date +'%Y%m%d.%k%M%S')" >> $GITHUB_STATE
|
|
||||||
|
|
||||||
- name: VirusTotal Scan
|
- name: VirusTotal Scan
|
||||||
uses: crazy-max/ghaction-virustotal@v3
|
uses: crazy-max/ghaction-virustotal@v3
|
||||||
with:
|
with:
|
||||||
@ -743,9 +749,8 @@ jobs:
|
|||||||
name: Publish draft release
|
name: Publish draft release
|
||||||
with:
|
with:
|
||||||
repo_token: "${{ secrets.GITHUB_TOKEN }}"
|
repo_token: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
automatic_release_tag: ${{ steps.dateversion.outputs.dateversion }}
|
automatic_release_tag: latest
|
||||||
prerelease: false
|
prerelease: false
|
||||||
draft: true
|
draft: true
|
||||||
title: "GAM ${{ steps.dateversion.outputs.dateversion }}"
|
|
||||||
files: |
|
files: |
|
||||||
gam-binaries/*
|
gam-binaries/*
|
||||||
|
@ -1548,6 +1548,22 @@ gam print group-members|groups-members [todrive]
|
|||||||
[roles <GroupRoleList>] [membernames] [fields <MembersFieldNameList>]
|
[roles <GroupRoleList>] [membernames] [fields <MembersFieldNameList>]
|
||||||
[includederivedmembership]
|
[includederivedmembership]
|
||||||
|
|
||||||
|
gam create inboundssoprofile name <String> entityid <String> loginurl <URL> logouturl <URL> changepasswordurl <URL>
|
||||||
|
gam update inboundssoprofile <String> [entityid <String>] [loginurl <URL>] [logouturl <URL>] [changepasswordurl <URL>]
|
||||||
|
gam info inboundssoprofile <String>
|
||||||
|
gam delete inboundssoprofile <String>
|
||||||
|
gam print inboundssoprofiles
|
||||||
|
|
||||||
|
gam create inboundssocredentials profile <String> (pemfile <FileName>)|(generatekey [keysize 1024|2048|4096]) [replaceolddest]
|
||||||
|
gam delete inboundssocredentials <String>
|
||||||
|
gam print inboundssocredentials [profile|profiles <StringList>]
|
||||||
|
|
||||||
|
gam create inboundssoassignment (group <GroupItem> rank <Number>)|(ou|org|orgunit <OrgUnitItem>)
|
||||||
|
(mode sso_off)|(mode saml_sso profile <String>)(mode domain_wide_saml_if_enabled) [neverredirect]
|
||||||
|
gam update inboundssoassignment [(group <GroupItem> rank <Number>)|(ou|org|orgunit <OrgUnitItem>)]
|
||||||
|
[(mode sso_off)|(mode saml_sso profile <String>)(mode domain_wide_saml_if_enabled)] [neverredirect]
|
||||||
|
gam print inboundssoassignments
|
||||||
|
|
||||||
gam send userinvitation <EmailAddress>
|
gam send userinvitation <EmailAddress>
|
||||||
gam cancel userinvitation <EmailAddress>
|
gam cancel userinvitation <EmailAddress>
|
||||||
gam check userinvitation|isinvitable <EmailAddress>
|
gam check userinvitation|isinvitable <EmailAddress>
|
||||||
|
@ -11426,6 +11426,8 @@ def ProcessGAMCommand(args):
|
|||||||
i, encoding = getCharSet(i + 1)
|
i, encoding = getCharSet(i + 1)
|
||||||
f = fileutils.open_file(filename, encoding=encoding)
|
f = fileutils.open_file(filename, encoding=encoding)
|
||||||
csvFile = csv.DictReader(f)
|
csvFile = csv.DictReader(f)
|
||||||
|
if not csvFile.fieldnames:
|
||||||
|
controlflow.system_error_exit(0, f'CSV file {filename} is empty')
|
||||||
if (i == len(sys.argv)) or (sys.argv[i].lower() !=
|
if (i == len(sys.argv)) or (sys.argv[i].lower() !=
|
||||||
'gam') or (i + 1 == len(sys.argv)):
|
'gam') or (i + 1 == len(sys.argv)):
|
||||||
controlflow.system_error_exit(
|
controlflow.system_error_exit(
|
||||||
|
@ -252,7 +252,7 @@ def create_credentials():
|
|||||||
key_size = int(sys.argv[i+1])
|
key_size = int(sys.argv[i+1])
|
||||||
if key_size not in allowed_sizes:
|
if key_size not in allowed_sizes:
|
||||||
controlflow.expected_argument_exit('key_size',
|
controlflow.expected_argument_exit('key_size',
|
||||||
ALLOWED_KEY_SIZES,
|
allowed_sizes,
|
||||||
key_size)
|
key_size)
|
||||||
i += 2
|
i += 2
|
||||||
else:
|
else:
|
||||||
@ -335,6 +335,8 @@ def print_show_credentials(action='print'):
|
|||||||
elif myarg == 'todrive':
|
elif myarg == 'todrive':
|
||||||
todrive = True
|
todrive = True
|
||||||
i += 1
|
i += 1
|
||||||
|
for profile in sys.argv[i+1].replace(',', ' ').split():
|
||||||
|
profiles.append(profile_displayname_to_name(profile, ci))
|
||||||
else:
|
else:
|
||||||
controlflow.invalid_argument_exit(myarg, 'gam print inboundssocredentials')
|
controlflow.invalid_argument_exit(myarg, 'gam print inboundssocredentials')
|
||||||
if not profiles:
|
if not profiles:
|
||||||
@ -408,7 +410,7 @@ def parse_assignment(body, i, ci):
|
|||||||
ci,
|
ci,
|
||||||
group)
|
group)
|
||||||
i += 2
|
i += 2
|
||||||
elif myarg in ['ou', 'orgunit']:
|
elif myarg in ['ou', 'org', 'orgunit']:
|
||||||
body['targetOrgUnit'] = get_orgunit_id(sys.argv[i+1])
|
body['targetOrgUnit'] = get_orgunit_id(sys.argv[i+1])
|
||||||
i += 2
|
i += 2
|
||||||
else:
|
else:
|
||||||
|
@ -11,6 +11,7 @@ from gam import controlflow
|
|||||||
from gam import display
|
from gam import display
|
||||||
from gam import fileutils
|
from gam import fileutils
|
||||||
from gam import gapi
|
from gam import gapi
|
||||||
|
from gam.gapi import errors as gapi_errors
|
||||||
from gam.gapi import storage as gapi_storage
|
from gam.gapi import storage as gapi_storage
|
||||||
from gam.gapi import directory as gapi_directory
|
from gam.gapi import directory as gapi_directory
|
||||||
from gam.gapi.directory import orgunits as gapi_directory_orgunits
|
from gam.gapi.directory import orgunits as gapi_directory_orgunits
|
||||||
@ -976,10 +977,14 @@ def printHolds():
|
|||||||
for matterId in matterIds:
|
for matterId in matterIds:
|
||||||
i += 1
|
i += 1
|
||||||
sys.stderr.write(f'Retrieving holds for matter {matterId} ({i}/{matter_count})\n')
|
sys.stderr.write(f'Retrieving holds for matter {matterId} ({i}/{matter_count})\n')
|
||||||
|
try:
|
||||||
holds = gapi.get_all_pages(v.matters().holds(),
|
holds = gapi.get_all_pages(v.matters().holds(),
|
||||||
'list',
|
'list',
|
||||||
'holds',
|
'holds',
|
||||||
|
throw_reasons=[gapi_errors.ErrorReason.FOUR_O_O],
|
||||||
matterId=matterId)
|
matterId=matterId)
|
||||||
|
except googleapiclient.errors.HttpError:
|
||||||
|
continue
|
||||||
for hold in holds:
|
for hold in holds:
|
||||||
display.add_row_titles_to_csv_file(
|
display.add_row_titles_to_csv_file(
|
||||||
utils.flatten_json(hold, flattened={'matterId': matterId}),
|
utils.flatten_json(hold, flattened={'matterId': matterId}),
|
||||||
|
Reference in New Issue
Block a user