@@ -65,8 +65,6 @@ def __init__(self, mas_instance_id: str, mas_workspace_id: str, k8s_client: clie
6565 self ._manage_internal_ca_pem_file_path = None
6666 self ._manage_internal_client_pem_file_path = None
6767
68- self ._manage_maxadmin_api_key = None
69-
7068 self ._mas_workspace_application_ids = None
7169
7270 @property
@@ -169,12 +167,6 @@ def manage_internal_ca_pem_file_path(self):
169167 self ._manage_internal_ca_pem_file_path = pem_file .name
170168 return self ._manage_internal_ca_pem_file_path
171169
172- @property
173- def manage_maxadmin_api_key (self ):
174- if self ._manage_maxadmin_api_key is None :
175- self ._manage_maxadmin_api_key = self .create_or_get_manage_api_key_for_user (MASUserUtils .MAXADMIN , temporary = True )
176- return self ._manage_maxadmin_api_key
177-
178170 @property
179171 def mas_workspace_application_ids (self ):
180172 if self ._mas_workspace_application_ids is None :
@@ -626,11 +618,7 @@ def delete_manage_api_key(self, manage_api_key):
626618 raise Exception (response .text )
627619 # {"Error":{"extendedError":{"moreInfo":{"href":"https:\/\/masdev.manage.tgk01.apps.noble4.cp.fyre.ibm.com\/maximo\/api\/error\/messages\/BMXAA8727E"}},"reasonCode":"BMXAA8727E","message":"The OSLC resource MXAPIAPIKEY with the ID _WmxvZlZLNVl2V3dGa1FseUJoKzJ4ZzQzSEd1bmRUamdWcTFiV1hWMGQ5QnAyNHQxQm53TmVFRWtVbmN4YkI2alZSTlp3eElsQko2bElNSCJzcCJ1M3hiNlE9PQ-- was not found as it does not exist in the system. In the database, verify whether the resource for the ID exists.","statusCode":"404"}}
628620
629- if manage_api_key ["userid" ] == MASUserUtils .MAXADMIN :
630- # clear any cached _manage_maxadmin_api_key if necessary
631- self ._manage_maxadmin_api_key = None
632-
633- def get_manage_group_id (self , group_name ):
621+ def get_manage_group_id (self , group_name , manage_api_key ):
634622 self .logger .debug (f"Getting ID for Manage group { group_name } " )
635623 url = f"{ self .manage_api_url_internal } /maximo/api/os/mxapigroup"
636624 querystring = {
@@ -641,7 +629,7 @@ def get_manage_group_id(self, group_name):
641629 }
642630 headers = {
643631 "Accept" : "application/json" ,
644- "apikey" : self . manage_maxadmin_api_key ["apikey" ], # <--- careful, don't log headers as-is (apikey is sensitive)
632+ "apikey" : manage_api_key ["apikey" ], # <--- careful, don't log headers as-is (apikey is sensitive)
645633 }
646634 response = requests .get (
647635 url ,
@@ -659,9 +647,9 @@ def get_manage_group_id(self, group_name):
659647
660648 return None
661649
662- def is_user_in_manage_group (self , group_name , user_id ):
650+ def is_user_in_manage_group (self , group_name , user_id , manage_api_key ):
663651
664- group_id = self .get_manage_group_id (group_name )
652+ group_id = self .get_manage_group_id (group_name , manage_api_key )
665653
666654 url = f"{ self .manage_api_url_internal } /maximo/api/os/mxapigroup/{ group_id } /groupuser"
667655 querystring = {
@@ -670,7 +658,7 @@ def is_user_in_manage_group(self, group_name, user_id):
670658 }
671659 headers = {
672660 "Accept" : "application/json" ,
673- "apikey" : self . manage_maxadmin_api_key ["apikey" ], # <--- careful, don't log headers as-is (apikey is sensitive)
661+ "apikey" : manage_api_key ["apikey" ], # <--- careful, don't log headers as-is (apikey is sensitive)
674662 }
675663
676664 response = requests .get (
@@ -686,18 +674,18 @@ def is_user_in_manage_group(self, group_name, user_id):
686674
687675 raise Exception (f"{ response .status_code } { response .text } " )
688676
689- def add_user_to_manage_group (self , user_id , group_name ):
677+ def add_user_to_manage_group (self , user_id , group_name , manage_api_key ):
690678 '''
691679 No-op if user_id is already a member of the manage security group
692680 '''
693681
694- if self .is_user_in_manage_group (group_name , user_id ):
682+ if self .is_user_in_manage_group (group_name , user_id , manage_api_key ):
695683 self .logger .info (f"User { user_id } is already a member of Manage Security Group { group_name } " )
696684 return None
697685
698686 self .logger .info (f"Adding user { user_id } to Manage group { group_name } " )
699687
700- group_id = self .get_manage_group_id (group_name )
688+ group_id = self .get_manage_group_id (group_name , manage_api_key )
701689
702690 url = f"{ self .manage_api_url_internal } /maximo/api/os/mxapigroup/{ group_id } "
703691 querystring = {
@@ -708,7 +696,7 @@ def add_user_to_manage_group(self, user_id, group_name):
708696 "Accept" : "application/json" ,
709697 "x-method-override" : "PATCH" ,
710698 "patchtype" : "MERGE" ,
711- "apikey" : self . manage_maxadmin_api_key ["apikey" ], # <--- careful, don't log headers as-is (apikey is sensitive)
699+ "apikey" : manage_api_key ["apikey" ], # <--- careful, don't log headers as-is (apikey is sensitive)
712700 }
713701 payload = {
714702 "groupuser" : [
@@ -956,8 +944,9 @@ def create_initial_user_for_saas(self, user, user_type):
956944 self .check_user_sync (user_id , mas_application_id )
957945
958946 if "manage" in self .mas_workspace_application_ids :
947+ maxadmin_manage_api_key = self .create_or_get_manage_api_key_for_user (MASUserUtils .MAXADMIN , temporary = True )
959948 for manage_security_group in manage_security_groups :
960- self .add_user_to_manage_group (user_id , manage_security_group )
949+ self .add_user_to_manage_group (user_id , manage_security_group , maxadmin_manage_api_key )
961950
962951 # Unused (but potentially useful) methods
963952 # ----------------------------------------
0 commit comments