diff --git a/sailpoint/configuration.py b/sailpoint/configuration.py index 571a772de..ff1c9a74b 100644 --- a/sailpoint/configuration.py +++ b/sailpoint/configuration.py @@ -53,6 +53,11 @@ def __init__(self, configurationParams: ConfigurationParams = None) -> None: self.experimental = False self.suppress_experimental_warnings = False + # Optional consumer identifier for User-Agent suffix (e.g. "sailpoint-cli") + self.consumer_identifier = None + # Optional consumer version for User-Agent suffix (e.g. "1.2.3") + self.consumer_version = None + self.temp_folder_path = None """Temp file folder for downloading files """ diff --git a/sdk-resources/resources/api_client.mustache b/sdk-resources/resources/api_client.mustache index 4099d3052..24e8adbbf 100644 --- a/sdk-resources/resources/api_client.mustache +++ b/sdk-resources/resources/api_client.mustache @@ -9,7 +9,9 @@ import decimal import json import mimetypes import os +import platform import re +import sys import tempfile import xmltodict @@ -95,7 +97,10 @@ class ApiClient: self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = '{{{httpUserAgent}}}{{^httpUserAgent}}OpenAPI-Generator/{{{packageVersion}}}/python{{/httpUserAgent}}' + self.user_agent = 'SailPoint-SDK-Python/{{{packageVersion}}}' + if configuration and getattr(configuration, 'consumer_identifier', None) and getattr(configuration, 'consumer_version', None): + self.user_agent = f'{self.user_agent} ({configuration.consumer_identifier}/{configuration.consumer_version})' + self.user_agent = f'{self.user_agent} ({sys.platform}; {platform.machine()}) Python/{sys.version.split()[0]} (openapi-generator/{{generatorVersion}})' self.client_side_validation = configuration.client_side_validation {{#asyncio}}