-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
Describe the bug
Calling Source get_source(id) with the id for IdentityNowConnector raises exception. Other sources work correctly. REST API works correctly. Many of the values are "null".
To Reproduce Steps to reproduce the behavior:
- Run following test with source id for IdentityNowConnector
from sailpoint.configuration import Configuration
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.models.source import Source
# ID: "5f0e1c7ad5b0448d9c19cd5ee44d716a" type=Active Directory
# ID: "70f09392177241d39d6a4baafe360238" type=IdentityNowConnector ... ERROR
id: str = "70f09392177241d39d6a4baafe360238"
config: Configuration = Configuration()
config.experimental = True
config.suppress_experimental_warnings = True
api_client: ApiClient = ApiClient(configuration=config)
sources_api: SourcesApi = SourcesApi(api_client)
source: Source = sources_api.get_source(id)
print(f"Name: {source.name}, Description: {source.description}, Type: {source.type}")
Expected behavior
Returns source object:
python tests/test_get_source.py
Name: Active Directory, Description: Active Directory, Type: Active Directory - Direct
Actual behavior
Raises exception with stack trace:
python tests/test_get_source.py
Traceback (most recent call last):
File ".../tests/test_get_source.py", line 15, in <module>
source: Source = sources_api.get_source(id)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File ".../.venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py", line 39, in wrapper_function
return wrapper(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File ".../.venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py", line 136, in __call__
res = self.__pydantic_validator__.validate_python(pydantic_core.ArgsKwargs(args, kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ".../.venv/lib/python3.12/site-packages/sailpoint/v2025/api/sources_api.py", line 4509, in get_source
return self.api_client.response_deserialize(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ".../.venv/lib/python3.12/site-packages/sailpoint/v2025/api_client.py", line 339, in response_deserialize
return_data = self.deserialize(response_text, response_type, content_type)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ".../.venv/lib/python3.12/site-packages/sailpoint/v2025/api_client.py", line 479, in deserialize
return self.__deserialize(data, response_type)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ".../.venv/lib/python3.12/site-packages/sailpoint/v2025/api_client.py", line 526, in __deserialize
return self.__deserialize_model(data, klass)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ".../.venv/lib/python3.12/site-packages/sailpoint/v2025/api_client.py", line 864, in __deserialize_model
return klass.from_dict(data)
^^^^^^^^^^^^^^^^^^^^^
File ".../.venv/lib/python3.12/site-packages/sailpoint/v2025/models/source.py", line 225, in from_dict
_obj = cls.model_validate({
^^^^^^^^^^^^^^^^^^^^
File ".../.venv/lib/python3.12/site-packages/pydantic/main.py", line 705, in model_validate
return cls.__pydantic_validator__.validate_python(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for Source
owner
Input should be a valid dictionary or instance of SourceOwner [type=model_type, input_value=None, input_type=NoneType]
For further information visit https://errors.pydantic.dev/2.11/v/model_type
REST API
Request:
GET https://TENANT.api.identitynow-demo.com/v2025/sources/70f09392177241d39d6a4baafe360238
Response:
{
"description": null,
"owner": null,
"cluster": null,
"accountCorrelationConfig": null,
"accountCorrelationRule": null,
"managerCorrelationMapping": null,
"managerCorrelationRule": null,
"beforeProvisioningRule": null,
"schemas": [
{
"type": "CONNECTOR_SCHEMA",
"id": "6cb79520f5fc41479f7206466195a83a",
"name": "account"
}
],
"passwordPolicies": [
{
"type": "PASSWORD_POLICY",
"id": "d3c9bdcefd1d4f0ca22edaa0d0de6469",
"name": "Default"
}
],
"features": [
"ENABLE",
"PASSWORD",
"SYNC_PROVISIONING",
"PROVISIONING",
"DISCOVER_SCHEMA",
"NO_RANDOM_ACCESS"
],
"type": "IdentityNowConnector",
"connector": "identitynowconnector",
"connectorClass": "sailpoint.connector.IdentityNowConnector",
"connectorAttributes": {
"onDeleteRemoveEntitlements": false,
"cloudDisplayName": "IdentityNow",
"templateApplication": null,
"disableLinkFiltering": false,
"disableManagedEntitlementFiltering": false
},
"deleteThreshold": null,
"authoritative": false,
"healthy": false,
"status": "SOURCE_STATE_UNCHECKED_SOURCE",
"since": null,
"connectorId": "identitynowconnector",
"connectorName": null,
"connectionType": null,
"connectorImplementationId": "identitynowconnector",
"managementWorkgroup": null,
"credentialProviderEnabled": false,
"category": null,
"accountsFile": null,
"id": "70f09392177241d39d6a4baafe360238",
"name": "IdentityNow",
"created": "2024-02-06T23:34:34.198Z",
"modified": "2024-07-26T03:43:14.456Z"
}
Operating System (please complete the following information):
- Python 3.12
- SailPoint Python SDK 1.3.7
Metadata
Metadata
Assignees
Labels
No labels