Skip to content

Commit 3aa432d

Browse files
Merge pull request #32 from opalsecurity/auto-update-sdk-2025-06-30-00-12-37
Auto-update SDK on 2025-06-30
2 parents 24eeeb3 + 6078f8f commit 3aa432d

13 files changed

+436
-2
lines changed

.openapi-generator/FILES

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,9 @@ docs/GroupRemoteInfoGitlabGroup.md
7070
docs/GroupRemoteInfoGoogleGroup.md
7171
docs/GroupRemoteInfoLdapGroup.md
7272
docs/GroupRemoteInfoOktaGroup.md
73+
docs/GroupRemoteInfoOktaGroupRule.md
7374
docs/GroupRemoteInfoSnowflakeRole.md
75+
docs/GroupRemoteInfoWorkdayUserSecurityGroup.md
7476
docs/GroupResource.md
7577
docs/GroupResourceList.md
7678
docs/GroupTypeEnum.md
@@ -298,7 +300,9 @@ opal_security/models/group_remote_info_gitlab_group.py
298300
opal_security/models/group_remote_info_google_group.py
299301
opal_security/models/group_remote_info_ldap_group.py
300302
opal_security/models/group_remote_info_okta_group.py
303+
opal_security/models/group_remote_info_okta_group_rule.py
301304
opal_security/models/group_remote_info_snowflake_role.py
305+
opal_security/models/group_remote_info_workday_user_security_group.py
302306
opal_security/models/group_resource.py
303307
opal_security/models/group_resource_list.py
304308
opal_security/models/group_type_enum.py
@@ -435,4 +439,6 @@ setup.cfg
435439
setup.py
436440
test-requirements.txt
437441
test/__init__.py
442+
test/test_group_remote_info_okta_group_rule.py
443+
test/test_group_remote_info_workday_user_security_group.py
438444
tox.ini

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,9 @@ Class | Method | HTTP request | Description
325325
- [GroupRemoteInfoGoogleGroup](docs/GroupRemoteInfoGoogleGroup.md)
326326
- [GroupRemoteInfoLdapGroup](docs/GroupRemoteInfoLdapGroup.md)
327327
- [GroupRemoteInfoOktaGroup](docs/GroupRemoteInfoOktaGroup.md)
328+
- [GroupRemoteInfoOktaGroupRule](docs/GroupRemoteInfoOktaGroupRule.md)
328329
- [GroupRemoteInfoSnowflakeRole](docs/GroupRemoteInfoSnowflakeRole.md)
330+
- [GroupRemoteInfoWorkdayUserSecurityGroup](docs/GroupRemoteInfoWorkdayUserSecurityGroup.md)
329331
- [GroupResource](docs/GroupResource.md)
330332
- [GroupResourceList](docs/GroupResourceList.md)
331333
- [GroupTypeEnum](docs/GroupTypeEnum.md)

api/openapi.yaml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,26 @@ info:
1010
servers:
1111
- description: Production
1212
url: https://api.opal.dev/v1
13+
# keep tags alphabetized, also add any new tags to the list below
14+
tags:
15+
- name: access-rules
16+
- name: apps
17+
- name: bundles
18+
- name: configuration-templates
19+
- name: events
20+
- name: groups
21+
- name: group-bindings
22+
- name: idp-group-mappings
23+
- name: message-channels
24+
- name: non-human-identities
25+
- name: on-call-schedules
26+
- name: owners
27+
- name: requests
28+
- name: resources
29+
- name: sessions
30+
- name: tags
31+
- name: uars
32+
- name: users
1333
paths:
1434
/apps:
1535
get:
@@ -6323,6 +6343,26 @@ components:
63236343
type: object
63246344
required:
63256345
- role_id
6346+
okta_group_rule:
6347+
description: Remote info for Okta Directory group rule.
6348+
properties:
6349+
rule_id:
6350+
description: The id of the Okta group rule.
6351+
example: 0pr3f7zMZZHPgUoWO0g4
6352+
type: string
6353+
type: object
6354+
required:
6355+
- rule_id
6356+
workday_user_security_group:
6357+
description: Remote info for Workday User Security group.
6358+
properties:
6359+
group_id:
6360+
description: The id of the Workday User Security group.
6361+
example: 123abc456def
6362+
type: string
6363+
type: object
6364+
required:
6365+
- group_id
63266366
type: object
63276367
ResourceRemoteInfo:
63286368
description: Information that defines the remote resource. This replaces the deprecated remote_id and metadata fields.

docs/GroupRemoteInfo.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ Name | Type | Description | Notes
1616
**azure_ad_security_group** | [**GroupRemoteInfoAzureAdSecurityGroup**](GroupRemoteInfoAzureAdSecurityGroup.md) | | [optional]
1717
**azure_ad_microsoft_365_group** | [**GroupRemoteInfoAzureAdMicrosoft365Group**](GroupRemoteInfoAzureAdMicrosoft365Group.md) | | [optional]
1818
**snowflake_role** | [**GroupRemoteInfoSnowflakeRole**](GroupRemoteInfoSnowflakeRole.md) | | [optional]
19+
**okta_group_rule** | [**GroupRemoteInfoOktaGroupRule**](GroupRemoteInfoOktaGroupRule.md) | | [optional]
20+
**workday_user_security_group** | [**GroupRemoteInfoWorkdayUserSecurityGroup**](GroupRemoteInfoWorkdayUserSecurityGroup.md) | | [optional]
1921

2022
## Example
2123

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# GroupRemoteInfoOktaGroupRule
2+
3+
Remote info for Okta Directory group rule.
4+
5+
## Properties
6+
7+
Name | Type | Description | Notes
8+
------------ | ------------- | ------------- | -------------
9+
**rule_id** | **str** | The id of the Okta group rule. |
10+
11+
## Example
12+
13+
```python
14+
from opal_security.models.group_remote_info_okta_group_rule import GroupRemoteInfoOktaGroupRule
15+
16+
# TODO update the JSON string below
17+
json = "{}"
18+
# create an instance of GroupRemoteInfoOktaGroupRule from a JSON string
19+
group_remote_info_okta_group_rule_instance = GroupRemoteInfoOktaGroupRule.from_json(json)
20+
# print the JSON string representation of the object
21+
print(GroupRemoteInfoOktaGroupRule.to_json())
22+
23+
# convert the object into a dict
24+
group_remote_info_okta_group_rule_dict = group_remote_info_okta_group_rule_instance.to_dict()
25+
# create an instance of GroupRemoteInfoOktaGroupRule from a dict
26+
group_remote_info_okta_group_rule_from_dict = GroupRemoteInfoOktaGroupRule.from_dict(group_remote_info_okta_group_rule_dict)
27+
```
28+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
29+
30+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# GroupRemoteInfoWorkdayUserSecurityGroup
2+
3+
Remote info for Workday User Security group.
4+
5+
## Properties
6+
7+
Name | Type | Description | Notes
8+
------------ | ------------- | ------------- | -------------
9+
**group_id** | **str** | The id of the Workday User Security group. |
10+
11+
## Example
12+
13+
```python
14+
from opal_security.models.group_remote_info_workday_user_security_group import GroupRemoteInfoWorkdayUserSecurityGroup
15+
16+
# TODO update the JSON string below
17+
json = "{}"
18+
# create an instance of GroupRemoteInfoWorkdayUserSecurityGroup from a JSON string
19+
group_remote_info_workday_user_security_group_instance = GroupRemoteInfoWorkdayUserSecurityGroup.from_json(json)
20+
# print the JSON string representation of the object
21+
print(GroupRemoteInfoWorkdayUserSecurityGroup.to_json())
22+
23+
# convert the object into a dict
24+
group_remote_info_workday_user_security_group_dict = group_remote_info_workday_user_security_group_instance.to_dict()
25+
# create an instance of GroupRemoteInfoWorkdayUserSecurityGroup from a dict
26+
group_remote_info_workday_user_security_group_from_dict = GroupRemoteInfoWorkdayUserSecurityGroup.from_dict(group_remote_info_workday_user_security_group_dict)
27+
```
28+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
29+
30+

opal_security/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,9 @@
110110
from opal_security.models.group_remote_info_google_group import GroupRemoteInfoGoogleGroup
111111
from opal_security.models.group_remote_info_ldap_group import GroupRemoteInfoLdapGroup
112112
from opal_security.models.group_remote_info_okta_group import GroupRemoteInfoOktaGroup
113+
from opal_security.models.group_remote_info_okta_group_rule import GroupRemoteInfoOktaGroupRule
113114
from opal_security.models.group_remote_info_snowflake_role import GroupRemoteInfoSnowflakeRole
115+
from opal_security.models.group_remote_info_workday_user_security_group import GroupRemoteInfoWorkdayUserSecurityGroup
114116
from opal_security.models.group_resource import GroupResource
115117
from opal_security.models.group_resource_list import GroupResourceList
116118
from opal_security.models.group_type_enum import GroupTypeEnum

opal_security/models/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,9 @@
7676
from opal_security.models.group_remote_info_google_group import GroupRemoteInfoGoogleGroup
7777
from opal_security.models.group_remote_info_ldap_group import GroupRemoteInfoLdapGroup
7878
from opal_security.models.group_remote_info_okta_group import GroupRemoteInfoOktaGroup
79+
from opal_security.models.group_remote_info_okta_group_rule import GroupRemoteInfoOktaGroupRule
7980
from opal_security.models.group_remote_info_snowflake_role import GroupRemoteInfoSnowflakeRole
81+
from opal_security.models.group_remote_info_workday_user_security_group import GroupRemoteInfoWorkdayUserSecurityGroup
8082
from opal_security.models.group_resource import GroupResource
8183
from opal_security.models.group_resource_list import GroupResourceList
8284
from opal_security.models.group_type_enum import GroupTypeEnum

opal_security/models/group_remote_info.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@
2929
from opal_security.models.group_remote_info_google_group import GroupRemoteInfoGoogleGroup
3030
from opal_security.models.group_remote_info_ldap_group import GroupRemoteInfoLdapGroup
3131
from opal_security.models.group_remote_info_okta_group import GroupRemoteInfoOktaGroup
32+
from opal_security.models.group_remote_info_okta_group_rule import GroupRemoteInfoOktaGroupRule
3233
from opal_security.models.group_remote_info_snowflake_role import GroupRemoteInfoSnowflakeRole
34+
from opal_security.models.group_remote_info_workday_user_security_group import GroupRemoteInfoWorkdayUserSecurityGroup
3335
from typing import Optional, Set
3436
from typing_extensions import Self
3537

@@ -47,8 +49,10 @@ class GroupRemoteInfo(BaseModel):
4749
azure_ad_security_group: Optional[GroupRemoteInfoAzureAdSecurityGroup] = None
4850
azure_ad_microsoft_365_group: Optional[GroupRemoteInfoAzureAdMicrosoft365Group] = None
4951
snowflake_role: Optional[GroupRemoteInfoSnowflakeRole] = None
52+
okta_group_rule: Optional[GroupRemoteInfoOktaGroupRule] = None
53+
workday_user_security_group: Optional[GroupRemoteInfoWorkdayUserSecurityGroup] = None
5054
additional_properties: Dict[str, Any] = {}
51-
__properties: ClassVar[List[str]] = ["active_directory_group", "github_team", "gitlab_group", "google_group", "ldap_group", "okta_group", "duo_group", "azure_ad_security_group", "azure_ad_microsoft_365_group", "snowflake_role"]
55+
__properties: ClassVar[List[str]] = ["active_directory_group", "github_team", "gitlab_group", "google_group", "ldap_group", "okta_group", "duo_group", "azure_ad_security_group", "azure_ad_microsoft_365_group", "snowflake_role", "okta_group_rule", "workday_user_security_group"]
5256

5357
model_config = ConfigDict(
5458
populate_by_name=True,
@@ -121,6 +125,12 @@ def to_dict(self) -> Dict[str, Any]:
121125
# override the default output from pydantic by calling `to_dict()` of snowflake_role
122126
if self.snowflake_role:
123127
_dict['snowflake_role'] = self.snowflake_role.to_dict()
128+
# override the default output from pydantic by calling `to_dict()` of okta_group_rule
129+
if self.okta_group_rule:
130+
_dict['okta_group_rule'] = self.okta_group_rule.to_dict()
131+
# override the default output from pydantic by calling `to_dict()` of workday_user_security_group
132+
if self.workday_user_security_group:
133+
_dict['workday_user_security_group'] = self.workday_user_security_group.to_dict()
124134
# puts key-value pairs in additional_properties in the top level
125135
if self.additional_properties is not None:
126136
for _key, _value in self.additional_properties.items():
@@ -147,7 +157,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
147157
"duo_group": GroupRemoteInfoDuoGroup.from_dict(obj["duo_group"]) if obj.get("duo_group") is not None else None,
148158
"azure_ad_security_group": GroupRemoteInfoAzureAdSecurityGroup.from_dict(obj["azure_ad_security_group"]) if obj.get("azure_ad_security_group") is not None else None,
149159
"azure_ad_microsoft_365_group": GroupRemoteInfoAzureAdMicrosoft365Group.from_dict(obj["azure_ad_microsoft_365_group"]) if obj.get("azure_ad_microsoft_365_group") is not None else None,
150-
"snowflake_role": GroupRemoteInfoSnowflakeRole.from_dict(obj["snowflake_role"]) if obj.get("snowflake_role") is not None else None
160+
"snowflake_role": GroupRemoteInfoSnowflakeRole.from_dict(obj["snowflake_role"]) if obj.get("snowflake_role") is not None else None,
161+
"okta_group_rule": GroupRemoteInfoOktaGroupRule.from_dict(obj["okta_group_rule"]) if obj.get("okta_group_rule") is not None else None,
162+
"workday_user_security_group": GroupRemoteInfoWorkdayUserSecurityGroup.from_dict(obj["workday_user_security_group"]) if obj.get("workday_user_security_group") is not None else None
151163
})
152164
# store additional fields in additional_properties
153165
for _key in obj.keys():
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# coding: utf-8
2+
3+
"""
4+
Opal API
5+
6+
The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
7+
8+
The version of the OpenAPI document: 1.0
9+
10+
Generated by OpenAPI Generator (https://openapi-generator.tech)
11+
12+
Do not edit the class manually.
13+
""" # noqa: E501
14+
15+
16+
from __future__ import annotations
17+
import pprint
18+
import re # noqa: F401
19+
import json
20+
21+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
22+
from typing import Any, ClassVar, Dict, List
23+
from typing import Optional, Set
24+
from typing_extensions import Self
25+
26+
class GroupRemoteInfoOktaGroupRule(BaseModel):
27+
"""
28+
Remote info for Okta Directory group rule.
29+
""" # noqa: E501
30+
rule_id: StrictStr = Field(description="The id of the Okta group rule.")
31+
additional_properties: Dict[str, Any] = {}
32+
__properties: ClassVar[List[str]] = ["rule_id"]
33+
34+
model_config = ConfigDict(
35+
populate_by_name=True,
36+
validate_assignment=True,
37+
protected_namespaces=(),
38+
)
39+
40+
41+
def to_str(self) -> str:
42+
"""Returns the string representation of the model using alias"""
43+
return pprint.pformat(self.model_dump(by_alias=True))
44+
45+
def to_json(self) -> str:
46+
"""Returns the JSON representation of the model using alias"""
47+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48+
return json.dumps(self.to_dict())
49+
50+
@classmethod
51+
def from_json(cls, json_str: str) -> Optional[Self]:
52+
"""Create an instance of GroupRemoteInfoOktaGroupRule from a JSON string"""
53+
return cls.from_dict(json.loads(json_str))
54+
55+
def to_dict(self) -> Dict[str, Any]:
56+
"""Return the dictionary representation of the model using alias.
57+
58+
This has the following differences from calling pydantic's
59+
`self.model_dump(by_alias=True)`:
60+
61+
* `None` is only added to the output dict for nullable fields that
62+
were set at model initialization. Other fields with value `None`
63+
are ignored.
64+
* Fields in `self.additional_properties` are added to the output dict.
65+
"""
66+
excluded_fields: Set[str] = set([
67+
"additional_properties",
68+
])
69+
70+
_dict = self.model_dump(
71+
by_alias=True,
72+
exclude=excluded_fields,
73+
exclude_none=True,
74+
)
75+
# puts key-value pairs in additional_properties in the top level
76+
if self.additional_properties is not None:
77+
for _key, _value in self.additional_properties.items():
78+
_dict[_key] = _value
79+
80+
return _dict
81+
82+
@classmethod
83+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84+
"""Create an instance of GroupRemoteInfoOktaGroupRule from a dict"""
85+
if obj is None:
86+
return None
87+
88+
if not isinstance(obj, dict):
89+
return cls.model_validate(obj)
90+
91+
_obj = cls.model_validate({
92+
"rule_id": obj.get("rule_id")
93+
})
94+
# store additional fields in additional_properties
95+
for _key in obj.keys():
96+
if _key not in cls.__properties:
97+
_obj.additional_properties[_key] = obj.get(_key)
98+
99+
return _obj
100+
101+

0 commit comments

Comments
 (0)