Browse Source
* Add files via upload * Add files via upload managenotificaations * add getposixgroups * a few updates * fix comment * +x * remove notifications, cli comingmaster
committed by
GitHub
1 changed files with 82 additions and 0 deletions
@ -0,0 +1,82 @@ |
|||
#!/usr/bin/python |
|||
# -*- coding: utf-8 -*- |
|||
# |
|||
# getposixgroups.py |
|||
# June 2021 |
|||
# |
|||
# Returns the posix attributes of a group or all groups |
|||
# |
|||
# Copyright © 2018, SAS Institute Inc., Cary, NC, USA. All Rights Reserved. |
|||
# |
|||
# Licensed under the Apache License, Version 2.0 (the License); |
|||
# you may not use this file except in compliance with the License. |
|||
# You may obtain a copy of the License at |
|||
# |
|||
# http://www.apache.org/licenses/LICENSE-2.0 |
|||
# |
|||
# Unless required by applicable law or agreed to in writing, software |
|||
# distributed under the License is distributed on an "AS IS" BASIS, |
|||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|||
# See the License for the specific language governing permissions and |
|||
# limitations under the License. |
|||
# |
|||
|
|||
import argparse, json |
|||
|
|||
from sharedfunctions import printresult, callrestapi |
|||
|
|||
# setup command-line arguements |
|||
parser = argparse.ArgumentParser(description="Display POSIX attributes for group or all groups of no groups specified") |
|||
|
|||
parser.add_argument("-g","--group", help="Enter the group id",default='all') |
|||
parser.add_argument("-d","--debug", action='store_true', help="Debug") |
|||
parser.add_argument("-o","--output", help="Output Style", choices=['csv','json','simple','simplejson'],default='simplejson') |
|||
|
|||
args = parser.parse_args() |
|||
group=args.group |
|||
debug=args.debug |
|||
output_style=args.output |
|||
|
|||
if group=='all': |
|||
|
|||
|
|||
# get all groups that are not custom |
|||
reqtype='get' |
|||
#reqval='/identities/groups' |
|||
reqval='/identities/groups/?filter=ne(providerId,"local")&limit=10000' |
|||
groupslist_result_json=callrestapi(reqval,reqtype) |
|||
|
|||
groups = groupslist_result_json['items'] |
|||
|
|||
for group in groups: |
|||
groupid=group['id'] |
|||
reqval='/identities/groups/'+groupid+'/identifier' |
|||
posixinfo_result_json=callrestapi(reqval,reqtype) |
|||
|
|||
# get gid |
|||
group["gid"]=posixinfo_result_json["gid"] |
|||
|
|||
cols=['id','gid','name'] |
|||
printresult(groupslist_result_json,output_style,cols) |
|||
|
|||
else: |
|||
|
|||
# set the request type |
|||
reqtype='get' |
|||
# set the endpoint to call |
|||
reqval='/identities/groups/'+group+"/identifier" |
|||
|
|||
if debug: print(reqval) |
|||
|
|||
#make the rest call using the callrestapi function. You can have one or many calls |
|||
group_info_result_json=callrestapi(reqval,reqtype) |
|||
|
|||
# seems to be returning non standard results add id to make it standard |
|||
# print result expects there to an id so use gid |
|||
|
|||
group_info_result_json['id']=group_info_result_json["gid"] |
|||
group_info_result_json['groupname']=group |
|||
|
|||
printresult(group_info_result_json,output_style) |
|||
|
|||
|
|||
Loading…
Reference in new issue