Validate roles, upshift as required by API (#675)

This commit is contained in:
Ross Scroggs
2018-01-19 09:27:30 -08:00
committed by Jay Lee
parent 9f829c6990
commit d2bb1a83a1
2 changed files with 11 additions and 5 deletions

View File

@@ -148,6 +148,7 @@ Named items
<FilterID> ::= <Sttring>
<FloorName> ::= <String>
<GroupItem> ::= <EmailAddress>|<UniqueID>|<String>
<GroupRole> :;= owner|manager|member
<GuardianItem> ::= <EmailAddress>|<UniqueID>|<String>
<GuardianInvitationID> ::= <String>
<HoldItem> ::= <UniqueID>|<String>
@@ -487,6 +488,7 @@ Items, separated by spaces, with spaces or commas in the items themselves: "'it
<FloorNameList> ::= "<FloorName>(,<FloorName>)*"
<GroupFieldNameList> ::= "<GroupFieldName>(,<GroupFieldName>)*"
<GroupList> ::= "<GroupItem>(,<GroupItem>)*"
<GroupRoleList> ::= "<GroupRole>(,<GroupRole>)*"
<GuardianStateList> ::= "<GuardianState>(,<GuardianState>)*"
<LabelNameList> ::= "<LabelName>(,<LabelName)*"
<LanguageList> ::= "<Language>(,<Language)*"
@@ -871,7 +873,7 @@ gam print groups [todrive] ([domain <DomainName>] [member <UserItem>])
[delimiter <Character>] [sortheaders]
gam print group-members|groups-members [todrive] ([domain <DomainName>] [member <UserItem>])|[group <GroupItem>]
[membernames] [fields <MembersFieldNameList>]
[roles <GroupRoleList>] [membernames] [fields <MembersFieldNameList>]
gam print license|licenses|licence|licences [todrive] [(products|product <ProductIDList>)|(skus|sku <SKUIDList>)]
@@ -885,7 +887,7 @@ gam delete building <BuildingID>
gam info building <BuildingID>
gam print buildings [todrive]
gam create feature <Name>
gam create feature name <Name>
gam update feature <Name> name <Name>
gam delete feature <Name>
gam print features [todrive]

View File

@@ -10533,7 +10533,7 @@ def doPrintGroupMembers():
customer = GC_Values[GC_CUSTOMER_ID]
usedomain = None
usemember = None
roles = None
roles = []
fields = None
titles = [u'group']
csvRows = []
@@ -10561,7 +10561,11 @@ def doPrintGroupMembers():
titles.append(u'name')
i += 1
elif myarg in [u'role', u'roles']:
roles = sys.argv[i+1]
for role in sys.argv[i+1].lower().replace(u',', u' ').split():
if role in GROUP_ROLES_MAP:
roles.append(GROUP_ROLES_MAP[role])
else:
systemErrorExit(2, '%s is not a valid role for "gam print group-members %s"' % (role, myarg))
i += 2
elif myarg == u'group':
group_email = sys.argv[i+1].lower()
@@ -10581,7 +10585,7 @@ def doPrintGroupMembers():
group_email = group[u'email']
sys.stderr.write(u'Getting members for %s (%s/%s)\n' % (group_email, i, count))
group_members = callGAPIpages(cd.members(), u'list', u'members',
soft_errors=True, roles=roles,
soft_errors=True, roles=u','.join(roles),
groupKey=group_email, fields=fields, maxResults=GC_Values[GC_MEMBER_MAX_RESULTS])
for member in group_members:
for unwanted_item in [u'kind', u'etag']: