code: def get_caller_identity_arn(self):
          
          assumed_role = self.boto_session.client('sts').get_caller_identity()['Arn']
  
          if 'AmazonSageMaker-ExecutionRole' in assumed_role:
              role = re.sub(r'^(.+)sts::(\d+):assumed-role/(.+?)/.*$', r'\1iam::\2:role/service-role/\3', assumed_role)
              return role
  
          role = re.sub(r'^(.+)sts::(\d+):assumed-role/(.+?)/.*$', r'\1iam::\2:role/\3', assumed_role)
  
          # Call IAM to get the role's path
          role_name = role[role.rfind('/') + 1:]
          try:
              role = self.boto_session.client('iam').get_role(RoleName=role_name)['Role']['Arn']
          except ClientError:
              LOGGER.warning("Couldn't call 'get_role' to get Role ARN from role name {} to get Role path."
                             .format(role_name))
  
          return role
docs: Returns the ARN user or role whose credentials are used to call the API.
          Returns:
              (str): The ARN user or role