Skip to content

Commit 0f7ff94

Browse files
committed
feat: add GET enterprise configuration endpoint (box/box-openapi#559)
1 parent 2fd19f7 commit 0f7ff94

28 files changed

+1599
-1
lines changed

.codegen.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{ "engineHash": "192deac", "specHash": "fa34496", "version": "10.0.1" }
1+
{ "engineHash": "192deac", "specHash": "cf21406", "version": "10.0.1" }

box_sdk_gen/client.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,10 @@
172172

173173
from box_sdk_gen.managers.docgen import DocgenManager
174174

175+
from box_sdk_gen.managers.enterprise_configurations import (
176+
EnterpriseConfigurationsManager,
177+
)
178+
175179
from box_sdk_gen.managers.hubs import HubsManager
176180

177181
from box_sdk_gen.managers.hub_collaborations import HubCollaborationsManager
@@ -429,6 +433,9 @@ def __init__(self, auth: Authentication, *, network_session: NetworkSession = No
429433
self.docgen = DocgenManager(
430434
auth=self.auth, network_session=self.network_session
431435
)
436+
self.enterprise_configurations = EnterpriseConfigurationsManager(
437+
auth=self.auth, network_session=self.network_session
438+
)
432439
self.hubs = HubsManager(auth=self.auth, network_session=self.network_session)
433440
self.hub_collaborations = HubCollaborationsManager(
434441
auth=self.auth, network_session=self.network_session

box_sdk_gen/managers/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@
146146

147147
from box_sdk_gen.managers.docgen import *
148148

149+
from box_sdk_gen.managers.enterprise_configurations import *
150+
149151
from box_sdk_gen.managers.hubs import *
150152

151153
from box_sdk_gen.managers.hub_collaborations import *
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
from typing import Optional
2+
3+
from typing import Dict
4+
5+
from box_sdk_gen.internal.utils import to_string
6+
7+
from box_sdk_gen.serialization.json import deserialize
8+
9+
from box_sdk_gen.networking.fetch_options import ResponseFormat
10+
11+
from box_sdk_gen.schemas.v2025_r0.enterprise_configuration_v2025_r0 import (
12+
EnterpriseConfigurationV2025R0,
13+
)
14+
15+
from box_sdk_gen.schemas.v2025_r0.client_error_v2025_r0 import ClientErrorV2025R0
16+
17+
from box_sdk_gen.parameters.v2025_r0.box_version_header_v2025_r0 import (
18+
BoxVersionHeaderV2025R0,
19+
)
20+
21+
from box_sdk_gen.box.errors import BoxSDKError
22+
23+
from box_sdk_gen.networking.auth import Authentication
24+
25+
from box_sdk_gen.networking.network import NetworkSession
26+
27+
from box_sdk_gen.networking.fetch_options import FetchOptions
28+
29+
from box_sdk_gen.networking.fetch_response import FetchResponse
30+
31+
from box_sdk_gen.internal.utils import prepare_params
32+
33+
from box_sdk_gen.internal.utils import to_string
34+
35+
from box_sdk_gen.internal.utils import ByteStream
36+
37+
from box_sdk_gen.serialization.json import sd_to_json
38+
39+
from box_sdk_gen.serialization.json import SerializedData
40+
41+
42+
class EnterpriseConfigurationsManager:
43+
def __init__(
44+
self,
45+
*,
46+
auth: Optional[Authentication] = None,
47+
network_session: NetworkSession = None
48+
):
49+
if network_session is None:
50+
network_session = NetworkSession()
51+
self.auth = auth
52+
self.network_session = network_session
53+
54+
def get_enterprise_configuration_by_id_v2025_r0(
55+
self,
56+
enterprise_id: str,
57+
categories: str,
58+
*,
59+
box_version: BoxVersionHeaderV2025R0 = BoxVersionHeaderV2025R0._2025_0,
60+
extra_headers: Optional[Dict[str, Optional[str]]] = None
61+
) -> EnterpriseConfigurationV2025R0:
62+
"""
63+
Retrieves the configuration for an enterprise.
64+
:param enterprise_id: The ID of the enterprise.
65+
Example: "3442311"
66+
:type enterprise_id: str
67+
:param categories: The comma-delimited list of the enterprise configuration categories.
68+
Allowed values: `security`, `content_and_sharing`, `user_settings`, `shield`.
69+
:type categories: str
70+
:param box_version: Version header., defaults to BoxVersionHeaderV2025R0._2025_0
71+
:type box_version: BoxVersionHeaderV2025R0, optional
72+
:param extra_headers: Extra headers that will be included in the HTTP request., defaults to None
73+
:type extra_headers: Optional[Dict[str, Optional[str]]], optional
74+
"""
75+
if extra_headers is None:
76+
extra_headers = {}
77+
query_params_map: Dict[str, str] = prepare_params(
78+
{'categories': to_string(categories)}
79+
)
80+
headers_map: Dict[str, str] = prepare_params(
81+
{'box-version': to_string(box_version), **extra_headers}
82+
)
83+
response: FetchResponse = self.network_session.network_client.fetch(
84+
FetchOptions(
85+
url=''.join(
86+
[
87+
self.network_session.base_urls.base_url,
88+
'/2.0/enterprise_configurations/',
89+
to_string(enterprise_id),
90+
]
91+
),
92+
method='GET',
93+
params=query_params_map,
94+
headers=headers_map,
95+
response_format=ResponseFormat.JSON,
96+
auth=self.auth,
97+
network_session=self.network_session,
98+
)
99+
)
100+
return deserialize(response.data, EnterpriseConfigurationV2025R0)

box_sdk_gen/schemas/v2025_r0/__init__.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44

55
from box_sdk_gen.schemas.v2025_r0.client_error_v2025_r0 import *
66

7+
from box_sdk_gen.schemas.v2025_r0.collaboration_permissions_v2025_r0 import *
8+
9+
from box_sdk_gen.schemas.v2025_r0.collaboration_restriction_v2025_r0 import *
10+
11+
from box_sdk_gen.schemas.v2025_r0.custom_session_duration_group_item_v2025_r0 import *
12+
713
from box_sdk_gen.schemas.v2025_r0.doc_gen_batch_base_v2025_r0 import *
814

915
from box_sdk_gen.schemas.v2025_r0.doc_gen_document_generation_data_v2025_r0 import *
@@ -16,8 +22,18 @@
1622

1723
from box_sdk_gen.schemas.v2025_r0.doc_gen_tags_processing_message_v2025_r0 import *
1824

25+
from box_sdk_gen.schemas.v2025_r0.enterprise_configuration_item_v2025_r0 import *
26+
27+
from box_sdk_gen.schemas.v2025_r0.enterprise_configuration_item_string_v2025_r0 import *
28+
29+
from box_sdk_gen.schemas.v2025_r0.enterprise_configuration_item_integer_v2025_r0 import *
30+
31+
from box_sdk_gen.schemas.v2025_r0.enterprise_configuration_item_boolean_v2025_r0 import *
32+
1933
from box_sdk_gen.schemas.v2025_r0.enterprise_reference_v2025_r0 import *
2034

35+
from box_sdk_gen.schemas.v2025_r0.external_collab_security_settings_v2025_r0 import *
36+
2137
from box_sdk_gen.schemas.v2025_r0.external_user_deletion_result_v2025_r0 import *
2238

2339
from box_sdk_gen.schemas.v2025_r0.external_users_submit_delete_job_response_v2025_r0 import *
@@ -62,6 +78,14 @@
6278

6379
from box_sdk_gen.schemas.v2025_r0.hub_update_request_v2025_r0 import *
6480

81+
from box_sdk_gen.schemas.v2025_r0.keysafe_settings_v2025_r0 import *
82+
83+
from box_sdk_gen.schemas.v2025_r0.enterprise_configuration_security_v2025_r0 import *
84+
85+
from box_sdk_gen.schemas.v2025_r0.list_user_v2025_r0 import *
86+
87+
from box_sdk_gen.schemas.v2025_r0.shared_link_permissions_v2025_r0 import *
88+
6589
from box_sdk_gen.schemas.v2025_r0.shield_list_mini_v2025_r0 import *
6690

6791
from box_sdk_gen.schemas.v2025_r0.shield_lists_v2025_r0 import *
@@ -86,6 +110,10 @@
86110

87111
from box_sdk_gen.schemas.v2025_r0.shield_list_v2025_r0 import *
88112

113+
from box_sdk_gen.schemas.v2025_r0.shield_rule_item_v2025_r0 import *
114+
115+
from box_sdk_gen.schemas.v2025_r0.enterprise_configuration_shield_v2025_r0 import *
116+
89117
from box_sdk_gen.schemas.v2025_r0.terms_of_service_base_v2025_r0 import *
90118

91119
from box_sdk_gen.schemas.v2025_r0.user_base_v2025_r0 import *
@@ -108,10 +136,24 @@
108136

109137
from box_sdk_gen.schemas.v2025_r0.doc_gen_jobs_full_v2025_r0 import *
110138

139+
from box_sdk_gen.schemas.v2025_r0.user_or_group_reference_v2025_r0 import *
140+
141+
from box_sdk_gen.schemas.v2025_r0.enterprise_feature_setting_v2025_r0 import *
142+
143+
from box_sdk_gen.schemas.v2025_r0.enterprise_feature_settings_item_v2025_r0 import *
144+
145+
from box_sdk_gen.schemas.v2025_r0.enterprise_configuration_content_and_sharing_v2025_r0 import *
146+
111147
from box_sdk_gen.schemas.v2025_r0.user_reference_v2025_r0 import *
112148

113149
from box_sdk_gen.schemas.v2025_r0.external_users_submit_delete_job_request_v2025_r0 import *
114150

151+
from box_sdk_gen.schemas.v2025_r0.user_tracking_code_v2025_r0 import *
152+
153+
from box_sdk_gen.schemas.v2025_r0.enterprise_configuration_user_settings_v2025_r0 import *
154+
155+
from box_sdk_gen.schemas.v2025_r0.enterprise_configuration_v2025_r0 import *
156+
115157
from box_sdk_gen.schemas.v2025_r0.weblink_reference_v2025_r0 import *
116158

117159
from box_sdk_gen.schemas.v2025_r0.hub_item_reference_v2025_r0 import *
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
from typing import Optional
2+
3+
from box_sdk_gen.internal.base_object import BaseObject
4+
5+
from box_sdk_gen.box.errors import BoxSDKError
6+
7+
8+
class CollaborationPermissionsV2025R0(BaseObject):
9+
def __init__(
10+
self,
11+
*,
12+
is_co_owner_role_enabled: Optional[bool] = None,
13+
is_editor_role_enabled: Optional[bool] = None,
14+
is_previewer_role_enabled: Optional[bool] = None,
15+
is_previewer_uploader_role_enabled: Optional[bool] = None,
16+
is_uploader_role_enabled: Optional[bool] = None,
17+
is_viewer_role_enabled: Optional[bool] = None,
18+
is_viewer_uploader_role_enabled: Optional[bool] = None,
19+
**kwargs
20+
):
21+
"""
22+
:param is_co_owner_role_enabled: The co-owner role is enabled for collaboration., defaults to None
23+
:type is_co_owner_role_enabled: Optional[bool], optional
24+
:param is_editor_role_enabled: The editor role is enabled for collaboration., defaults to None
25+
:type is_editor_role_enabled: Optional[bool], optional
26+
:param is_previewer_role_enabled: The previewer role is enabled for collaboration., defaults to None
27+
:type is_previewer_role_enabled: Optional[bool], optional
28+
:param is_previewer_uploader_role_enabled: The previewer uploader role is enabled for collaboration., defaults to None
29+
:type is_previewer_uploader_role_enabled: Optional[bool], optional
30+
:param is_uploader_role_enabled: The uploader role is enabled for collaboration., defaults to None
31+
:type is_uploader_role_enabled: Optional[bool], optional
32+
:param is_viewer_role_enabled: The viewer role is enabled for collaboration., defaults to None
33+
:type is_viewer_role_enabled: Optional[bool], optional
34+
:param is_viewer_uploader_role_enabled: The viewer uploader role is enabled for collaboration., defaults to None
35+
:type is_viewer_uploader_role_enabled: Optional[bool], optional
36+
"""
37+
super().__init__(**kwargs)
38+
self.is_co_owner_role_enabled = is_co_owner_role_enabled
39+
self.is_editor_role_enabled = is_editor_role_enabled
40+
self.is_previewer_role_enabled = is_previewer_role_enabled
41+
self.is_previewer_uploader_role_enabled = is_previewer_uploader_role_enabled
42+
self.is_uploader_role_enabled = is_uploader_role_enabled
43+
self.is_viewer_role_enabled = is_viewer_role_enabled
44+
self.is_viewer_uploader_role_enabled = is_viewer_uploader_role_enabled
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from enum import Enum
2+
3+
from box_sdk_gen.box.errors import BoxSDKError
4+
5+
6+
class CollaborationRestrictionV2025R0(str, Enum):
7+
INTERNAL = 'internal'
8+
EXTERNAL = 'external'
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from typing import Optional
2+
3+
from box_sdk_gen.internal.base_object import BaseObject
4+
5+
from box_sdk_gen.box.errors import BoxSDKError
6+
7+
8+
class CustomSessionDurationGroupItemV2025R0(BaseObject):
9+
def __init__(
10+
self, *, id: Optional[str] = None, name: Optional[str] = None, **kwargs
11+
):
12+
"""
13+
:param id: Group ID (numerical)., defaults to None
14+
:type id: Optional[str], optional
15+
:param name: Group Name., defaults to None
16+
:type name: Optional[str], optional
17+
"""
18+
super().__init__(**kwargs)
19+
self.id = id
20+
self.name = name

0 commit comments

Comments
 (0)