mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-04 12:51:36 +00:00
Document CAA, minimumVersion is optional in constraint (#1508)
This commit is contained in:
@@ -632,6 +632,7 @@ Items, separated by spaces, with spaces, commas or single quotes in the items th
|
|||||||
<SchemaNameList> ::= "<SchemaName>(,<SchemaName>)*"
|
<SchemaNameList> ::= "<SchemaName>(,<SchemaName>)*"
|
||||||
<SerialNumberList> ::= "<SerialNumber>(,<SerialNumber>)*"
|
<SerialNumberList> ::= "<SerialNumber>(,<SerialNumber>)*"
|
||||||
<ServiceAccountKeyList> ::= "<ServiceAccountKey>(,<ServiceAccountKey>)*"
|
<ServiceAccountKeyList> ::= "<ServiceAccountKey>(,<ServiceAccountKey>)*"
|
||||||
|
<StringList> ::= "<String>(,<String>)*"
|
||||||
<TeamDriveIDList> ::= "<TeamDriveID>(,<TeamDriveID>)*"
|
<TeamDriveIDList> ::= "<TeamDriveID>(,<TeamDriveID>)*"
|
||||||
<UserFieldNameList> ::= "<UserFieldName>(,<UserFieldName>)*"
|
<UserFieldNameList> ::= "<UserFieldName>(,<UserFieldName>)*"
|
||||||
<UserList> ::= "<UserItem>(,<UserItem>)*"
|
<UserList> ::= "<UserItem>(,<UserItem>)*"
|
||||||
@@ -1210,6 +1211,62 @@ gam print browsertokens [todrive]
|
|||||||
[fields <BrowserTokenFieldNameList>]
|
[fields <BrowserTokenFieldNameList>]
|
||||||
[sortheaders]
|
[sortheaders]
|
||||||
|
|
||||||
|
<CAAAllowedEncryptionStatus> ::=
|
||||||
|
encryption_unsupported |
|
||||||
|
encrypted |
|
||||||
|
unencrypted
|
||||||
|
<CAAAllowedEncryptionStatusList> ::= "<CAAAllowedEncryptionStatus>(,<CAAAllowedEncryptionStatus>)"
|
||||||
|
|
||||||
|
<CAAAllowedDeviceManagementLevel> ::=
|
||||||
|
basic |
|
||||||
|
advanced|complete |
|
||||||
|
none
|
||||||
|
<CAAAllowedDeviceManagementLevelList> ::= "<CAAAllowedDeviceManagementLevel>(,<CAAAllowedDeviceManagementLevel>)"
|
||||||
|
|
||||||
|
<CAACombiningFunction> ::=
|
||||||
|
and |
|
||||||
|
or
|
||||||
|
|
||||||
|
<CAAOsType> ::=
|
||||||
|
DESKTOP_MAC |
|
||||||
|
DESKTOP_WINDOWS |
|
||||||
|
DESKTOP_LINUX |
|
||||||
|
DESKTOP_CHROMEOS |
|
||||||
|
VERIFIED_DESKTOP_CHROMEOS |
|
||||||
|
ANDROID |
|
||||||
|
IOS
|
||||||
|
|
||||||
|
<CAAOsConstraint> ::=
|
||||||
|
<CAAOsType> |
|
||||||
|
<CAAOsType>:<String>.<String>.<String>
|
||||||
|
<CAAOsConstraintList> ::= "<CAAOsConstraint>(,<CAAOsConstraint>)"
|
||||||
|
|
||||||
|
<CAADevicePolicyAttribute> ::=
|
||||||
|
(requirescreenlock <Boolean>) |
|
||||||
|
(allowedencryptionstatuses <CAAAllowedEncryptionStatusList>) |
|
||||||
|
(osconstraints <CAAOsConstraintList>) |
|
||||||
|
(alloweddevicemanagementlevels <CAAAllowedDeviceManagementLevelList>) |
|
||||||
|
(requireadminapproval <Boolean>) |
|
||||||
|
(requirecorpowned <Boolean>)
|
||||||
|
|
||||||
|
<CAAConditionAttribute> ::=
|
||||||
|
(ipsubnetworks <StringList>) |
|
||||||
|
(devicepolicy <CAADevicePolicyAttribute> enddevicepolicy) |
|
||||||
|
(requiredaccesslevels <StringList>) |
|
||||||
|
(negate <Boolean>) |
|
||||||
|
(members <StringList>) |
|
||||||
|
(regions <StringList>)
|
||||||
|
|
||||||
|
<CAABasicAttribute> ::+
|
||||||
|
(combiningfunction <CAACombiningFunction>) |
|
||||||
|
(condition <CAAConditionAttribute>+ endcondition)+
|
||||||
|
|
||||||
|
gam create caalevel <String> (basic <CAABasicAttribute>+)|(custom <String>)
|
||||||
|
gam update caalevel <CAALevelName> (basic <CAABasicAttribute>+)|(custom <String>)
|
||||||
|
gam delete caalevel <CAALevelName>
|
||||||
|
gam show caalevels
|
||||||
|
gam print caalevels [todrive]
|
||||||
|
|
||||||
gam print chatspaces [todrive]
|
gam print chatspaces [todrive]
|
||||||
gam print chatmembers space <ChatSpace> [todrive]
|
gam print chatmembers space <ChatSpace> [todrive]
|
||||||
gam create chatmessage space <ChatSpace> [thread <String>]
|
gam create chatmessage space <ChatSpace> [thread <String>]
|
||||||
|
|||||||
@@ -92,15 +92,19 @@ def printshow_access_levels(csvFormat):
|
|||||||
def build_os_constraints(constraints):
|
def build_os_constraints(constraints):
|
||||||
consts_obj = []
|
consts_obj = []
|
||||||
constraints = constraints.upper().split(',')
|
constraints = constraints.upper().split(',')
|
||||||
valid_os_types = ['DESKTOP_MAC', 'DESKTOP_WINDOWS', 'DESKTOP_LINUX', 'DESKTOP_CHROMEOS', 'ANDROID', 'IOS']
|
valid_os_types = ['DESKTOP_MAC', 'DESKTOP_WINDOWS', 'DESKTOP_LINUX',
|
||||||
|
'DESKTOP_CHROMEOS', 'VERIFIED_DESKTOP_CHROMEOS', 'ANDROID', 'IOS']
|
||||||
for constraint in constraints:
|
for constraint in constraints:
|
||||||
new_const = {}
|
new_const = {}
|
||||||
|
if ':' in constraint:
|
||||||
new_const['osType'], new_const['minimumVersion'] = constraint.split(':')
|
new_const['osType'], new_const['minimumVersion'] = constraint.split(':')
|
||||||
|
else:
|
||||||
|
new_const['osType'] = constraint
|
||||||
|
if new_const['osType'] not in valid_os_types:
|
||||||
|
controlflow.system_error_exit(2, f'expected os type of {", ".join(valid_os_types)} got {new_const["osType"]}')
|
||||||
if new_const['osType'] == 'VERIFIED_DESKTOP_CHROME_OS':
|
if new_const['osType'] == 'VERIFIED_DESKTOP_CHROME_OS':
|
||||||
new_const['osType'] = 'DESKTOP_CHROME_OS'
|
new_const['osType'] = 'DESKTOP_CHROME_OS'
|
||||||
new_const['requireVerifiedChromeOs'] = True
|
new_const['requireVerifiedChromeOs'] = True
|
||||||
if new_const['osType'] not in valid_os_types:
|
|
||||||
controlflow.system_error_exit(2, f'expected os type of {", ".join(valid_os_types)} got {new_const["osType"]}')
|
|
||||||
consts_obj.append(new_const)
|
consts_obj.append(new_const)
|
||||||
return consts_obj
|
return consts_obj
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user