Skip to content

Commit 76910ff

Browse files
Automated build 'Automated commit 'IDNPALM-7073: Adding dimensionSchema in role APIs (#2296)' by github action: 17556517988' python sdk: 17556538035
1 parent 2344911 commit 76910ff

17 files changed

Lines changed: 449 additions & 6 deletions

.openapi-generator/FILES

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,7 @@ sailpoint/v2025/docs/DependantConnectionsMissingDto.md
505505
sailpoint/v2025/docs/DeployRequest.md
506506
sailpoint/v2025/docs/DeployResponse.md
507507
sailpoint/v2025/docs/Dimension.md
508+
sailpoint/v2025/docs/DimensionAttribute.md
508509
sailpoint/v2025/docs/DimensionBulkDeleteRequest.md
509510
sailpoint/v2025/docs/DimensionCriteriaKey.md
510511
sailpoint/v2025/docs/DimensionCriteriaKeyType.md
@@ -515,6 +516,7 @@ sailpoint/v2025/docs/DimensionCriteriaOperation.md
515516
sailpoint/v2025/docs/DimensionMembershipSelector.md
516517
sailpoint/v2025/docs/DimensionMembershipSelectorType.md
517518
sailpoint/v2025/docs/DimensionRef.md
519+
sailpoint/v2025/docs/DimensionSchema.md
518520
sailpoint/v2025/docs/DimensionsApi.md
519521
sailpoint/v2025/docs/DisplayReference.md
520522
sailpoint/v2025/docs/DkimAttributes.md
@@ -1780,6 +1782,7 @@ sailpoint/v2025/models/dependant_connections_missing_dto.py
17801782
sailpoint/v2025/models/deploy_request.py
17811783
sailpoint/v2025/models/deploy_response.py
17821784
sailpoint/v2025/models/dimension.py
1785+
sailpoint/v2025/models/dimension_attribute.py
17831786
sailpoint/v2025/models/dimension_bulk_delete_request.py
17841787
sailpoint/v2025/models/dimension_criteria_key.py
17851788
sailpoint/v2025/models/dimension_criteria_key_type.py
@@ -1790,6 +1793,7 @@ sailpoint/v2025/models/dimension_criteria_operation.py
17901793
sailpoint/v2025/models/dimension_membership_selector.py
17911794
sailpoint/v2025/models/dimension_membership_selector_type.py
17921795
sailpoint/v2025/models/dimension_ref.py
1796+
sailpoint/v2025/models/dimension_schema.py
17931797
sailpoint/v2025/models/display_reference.py
17941798
sailpoint/v2025/models/dkim_attributes.py
17951799
sailpoint/v2025/models/domain_address.py
@@ -3013,6 +3017,7 @@ sailpoint/v2025/test/test_dependant_connections_missing_dto.py
30133017
sailpoint/v2025/test/test_deploy_request.py
30143018
sailpoint/v2025/test/test_deploy_response.py
30153019
sailpoint/v2025/test/test_dimension.py
3020+
sailpoint/v2025/test/test_dimension_attribute.py
30163021
sailpoint/v2025/test/test_dimension_bulk_delete_request.py
30173022
sailpoint/v2025/test/test_dimension_criteria_key.py
30183023
sailpoint/v2025/test/test_dimension_criteria_key_type.py
@@ -3023,6 +3028,7 @@ sailpoint/v2025/test/test_dimension_criteria_operation.py
30233028
sailpoint/v2025/test/test_dimension_membership_selector.py
30243029
sailpoint/v2025/test/test_dimension_membership_selector_type.py
30253030
sailpoint/v2025/test/test_dimension_ref.py
3031+
sailpoint/v2025/test/test_dimension_schema.py
30263032
sailpoint/v2025/test/test_dimensions_api.py
30273033
sailpoint/v2025/test/test_display_reference.py
30283034
sailpoint/v2025/test/test_dkim_attributes.py

sailpoint/v2025/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,7 @@
502502
from sailpoint.v2025.models.deploy_request import DeployRequest
503503
from sailpoint.v2025.models.deploy_response import DeployResponse
504504
from sailpoint.v2025.models.dimension import Dimension
505+
from sailpoint.v2025.models.dimension_attribute import DimensionAttribute
505506
from sailpoint.v2025.models.dimension_bulk_delete_request import DimensionBulkDeleteRequest
506507
from sailpoint.v2025.models.dimension_criteria_key import DimensionCriteriaKey
507508
from sailpoint.v2025.models.dimension_criteria_key_type import DimensionCriteriaKeyType
@@ -512,6 +513,7 @@
512513
from sailpoint.v2025.models.dimension_membership_selector import DimensionMembershipSelector
513514
from sailpoint.v2025.models.dimension_membership_selector_type import DimensionMembershipSelectorType
514515
from sailpoint.v2025.models.dimension_ref import DimensionRef
516+
from sailpoint.v2025.models.dimension_schema import DimensionSchema
515517
from sailpoint.v2025.models.display_reference import DisplayReference
516518
from sailpoint.v2025.models.dkim_attributes import DkimAttributes
517519
from sailpoint.v2025.models.domain_address import DomainAddress

sailpoint/v2025/docs/Examples/python_code_examples_overlay.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16206,6 +16206,17 @@
1620616206
"type" : "IDENTITY_LIST"
1620716207
},
1620816208
"accessRequestConfig" : {
16209+
"dimensionSchema" : {
16210+
"dimensionAttributes" : [ {
16211+
"displayName" : "City",
16212+
"name" : "city",
16213+
"derived" : true
16214+
}, {
16215+
"displayName" : "City",
16216+
"name" : "city",
16217+
"derived" : true
16218+
} ]
16219+
},
1620916220
"commentsRequired" : true,
1621016221
"reauthorizationRequired" : true,
1621116222
"approvalSchemes" : [ {

sailpoint/v2025/docs/Methods/RolesApi.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,17 @@ with ApiClient(configuration) as api_client:
234234
"type" : "IDENTITY_LIST"
235235
},
236236
"accessRequestConfig" : {
237+
"dimensionSchema" : {
238+
"dimensionAttributes" : [ {
239+
"displayName" : "City",
240+
"name" : "city",
241+
"derived" : true
242+
}, {
243+
"displayName" : "City",
244+
"name" : "city",
245+
"derived" : true
246+
} ]
247+
},
237248
"commentsRequired" : true,
238249
"reauthorizationRequired" : true,
239250
"approvalSchemes" : [ {
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
id: v2025-dimension-attribute
3+
title: DimensionAttribute
4+
pagination_label: DimensionAttribute
5+
sidebar_label: DimensionAttribute
6+
sidebar_class_name: pythonsdk
7+
keywords: ['python', 'Python', 'sdk', 'DimensionAttribute', 'V2025DimensionAttribute']
8+
slug: /tools/sdk/python/v2025/models/dimension-attribute
9+
tags: ['SDK', 'Software Development Kit', 'DimensionAttribute', 'V2025DimensionAttribute']
10+
---
11+
12+
# DimensionAttribute
13+
14+
A dimension attribute
15+
16+
## Properties
17+
18+
Name | Type | Description | Notes
19+
------------ | ------------- | ------------- | -------------
20+
**name** | **str** | Name of the attribute | [optional]
21+
**display_name** | **str** | Display name of the attribute | [optional]
22+
**derived** | **bool** | If an attribute is derived, its value comes from the identity. Otherwise, it can be provided with access request | [optional] [default to True]
23+
}
24+
25+
## Example
26+
27+
```python
28+
from sailpoint.v2025.models.dimension_attribute import DimensionAttribute
29+
30+
dimension_attribute = DimensionAttribute(
31+
name='city',
32+
display_name='City',
33+
derived=True
34+
)
35+
36+
```
37+
[[Back to top]](#)
38+
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
id: v2025-dimension-schema
3+
title: DimensionSchema
4+
pagination_label: DimensionSchema
5+
sidebar_label: DimensionSchema
6+
sidebar_class_name: pythonsdk
7+
keywords: ['python', 'Python', 'sdk', 'DimensionSchema', 'V2025DimensionSchema']
8+
slug: /tools/sdk/python/v2025/models/dimension-schema
9+
tags: ['SDK', 'Software Development Kit', 'DimensionSchema', 'V2025DimensionSchema']
10+
---
11+
12+
# DimensionSchema
13+
14+
Contains a list of dimension attributes. Required only for Dynamic Roles
15+
16+
## Properties
17+
18+
Name | Type | Description | Notes
19+
------------ | ------------- | ------------- | -------------
20+
**dimension_attributes** | [**[]DimensionAttribute**](dimension-attribute) | | [optional]
21+
}
22+
23+
## Example
24+
25+
```python
26+
from sailpoint.v2025.models.dimension_schema import DimensionSchema
27+
28+
dimension_schema = DimensionSchema(
29+
dimension_attributes=[
30+
sailpoint.v2025.models.dimension_attribute.DimensionAttribute(
31+
name = 'city',
32+
display_name = 'City',
33+
derived = True, )
34+
]
35+
)
36+
37+
```
38+
[[Back to top]](#)
39+

sailpoint/v2025/docs/Models/RequestabilityForRole.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Name | Type | Description | Notes
2020
**denial_comments_required** | **bool** | Whether an approver must provide comments when denying the request | [optional] [default to False]
2121
**reauthorization_required** | **bool** | Indicates whether reauthorization is required for the request. | [optional] [default to False]
2222
**approval_schemes** | [**[]ApprovalSchemeForRole**](approval-scheme-for-role) | List describing the steps in approving the request | [optional]
23+
**dimension_schema** | [**DimensionSchema**](dimension-schema) | | [optional]
2324
}
2425

2526
## Example
@@ -35,7 +36,14 @@ approval_schemes=[
3536
sailpoint.v2025.models.approval_scheme_for_role.ApprovalSchemeForRole(
3637
approver_type = 'GOVERNANCE_GROUP',
3738
approver_id = '46c79819-a69f-49a2-becb-12c971ae66c6', )
38-
]
39+
],
40+
dimension_schema=sailpoint.v2025.models.dimension_schema.DimensionSchema(
41+
dimension_attributes = [
42+
sailpoint.v2025.models.dimension_attribute.DimensionAttribute(
43+
name = 'city',
44+
display_name = 'City',
45+
derived = True, )
46+
], )
3947
)
4048

4149
```

sailpoint/v2025/docs/Models/Role.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,14 @@ access_request_config=sailpoint.v2025.models.requestability_for_role.Requestabil
9494
sailpoint.v2025.models.approval_scheme_for_role.ApprovalSchemeForRole(
9595
approver_type = 'GOVERNANCE_GROUP',
9696
approver_id = '46c79819-a69f-49a2-becb-12c971ae66c6', )
97-
], ),
97+
],
98+
dimension_schema = sailpoint.v2025.models.dimension_schema.DimensionSchema(
99+
dimension_attributes = [
100+
sailpoint.v2025.models.dimension_attribute.DimensionAttribute(
101+
name = 'city',
102+
display_name = 'City',
103+
derived = True, )
104+
], ), ),
98105
revocation_request_config=sailpoint.v2025.models.revocability_for_role.RevocabilityForRole(
99106
comments_required = False,
100107
denial_comments_required = False,

sailpoint/v2025/models/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,7 @@
390390
from sailpoint.v2025.models.deploy_request import DeployRequest
391391
from sailpoint.v2025.models.deploy_response import DeployResponse
392392
from sailpoint.v2025.models.dimension import Dimension
393+
from sailpoint.v2025.models.dimension_attribute import DimensionAttribute
393394
from sailpoint.v2025.models.dimension_bulk_delete_request import DimensionBulkDeleteRequest
394395
from sailpoint.v2025.models.dimension_criteria_key import DimensionCriteriaKey
395396
from sailpoint.v2025.models.dimension_criteria_key_type import DimensionCriteriaKeyType
@@ -400,6 +401,7 @@
400401
from sailpoint.v2025.models.dimension_membership_selector import DimensionMembershipSelector
401402
from sailpoint.v2025.models.dimension_membership_selector_type import DimensionMembershipSelectorType
402403
from sailpoint.v2025.models.dimension_ref import DimensionRef
404+
from sailpoint.v2025.models.dimension_schema import DimensionSchema
403405
from sailpoint.v2025.models.display_reference import DisplayReference
404406
from sailpoint.v2025.models.dkim_attributes import DkimAttributes
405407
from sailpoint.v2025.models.domain_address import DomainAddress
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# coding: utf-8
2+
3+
"""
4+
Identity Security Cloud V2025 API
5+
6+
Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs.
7+
8+
The version of the OpenAPI document: v2025
9+
Generated by OpenAPI Generator (https://openapi-generator.tech)
10+
11+
Do not edit the class manually.
12+
""" # noqa: E501
13+
14+
15+
from __future__ import annotations
16+
import pprint
17+
import re # noqa: F401
18+
import json
19+
import warnings
20+
21+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
22+
from typing import Any, ClassVar, Dict, List, Optional
23+
from typing import Optional, Set
24+
from typing_extensions import Self
25+
26+
class DimensionAttribute(BaseModel):
27+
"""
28+
A dimension attribute
29+
""" # noqa: E501
30+
name: Optional[StrictStr] = Field(default=None, description="Name of the attribute")
31+
display_name: Optional[StrictStr] = Field(default=None, description="Display name of the attribute", alias="displayName")
32+
derived: Optional[StrictBool] = Field(default=True, description="If an attribute is derived, its value comes from the identity. Otherwise, it can be provided with access request")
33+
__properties: ClassVar[List[str]] = ["name", "displayName", "derived"]
34+
35+
model_config = ConfigDict(
36+
populate_by_name=True,
37+
validate_assignment=True,
38+
protected_namespaces=(),
39+
)
40+
41+
42+
def to_str(self) -> str:
43+
"""Returns the string representation of the model using alias"""
44+
return pprint.pformat(self.model_dump(by_alias=True))
45+
46+
def to_json(self) -> str:
47+
"""Returns the JSON representation of the model using alias"""
48+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49+
return json.dumps(self.to_dict())
50+
51+
@classmethod
52+
def from_json(cls, json_str: str) -> Optional[Self]:
53+
"""Create an instance of DimensionAttribute from a JSON string"""
54+
return cls.from_dict(json.loads(json_str))
55+
56+
def to_dict(self) -> Dict[str, Any]:
57+
"""Return the dictionary representation of the model using alias.
58+
59+
This has the following differences from calling pydantic's
60+
`self.model_dump(by_alias=True)`:
61+
62+
* `None` is only added to the output dict for nullable fields that
63+
were set at model initialization. Other fields with value `None`
64+
are ignored.
65+
"""
66+
excluded_fields: Set[str] = set([
67+
])
68+
69+
_dict = self.model_dump(
70+
by_alias=True,
71+
exclude=excluded_fields,
72+
exclude_none=True,
73+
)
74+
return _dict
75+
76+
@classmethod
77+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78+
"""Create an instance of DimensionAttribute from a dict"""
79+
if obj is None:
80+
return None
81+
82+
if not isinstance(obj, dict):
83+
return cls.model_validate(obj)
84+
85+
_obj = cls.model_validate({
86+
"name": obj.get("name"),
87+
"displayName": obj.get("displayName"),
88+
"derived": obj.get("derived") if obj.get("derived") is not None else True
89+
})
90+
return _obj
91+
92+

0 commit comments

Comments
 (0)