Skip to content

Commit ff3a665

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Assert permission values on RBAC APIs (#1955)
Co-authored-by: ci.datadog-api-spec <[email protected]> Co-authored-by: api-clients-generation-pipeline[bot] <54105614+api-clients-generation-pipeline[bot]@users.noreply.github.com>
1 parent 932dfa1 commit ff3a665

19 files changed

+2296
-569
lines changed

.apigentools-info

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"spec_versions": {
55
"v1": {
66
"apigentools_version": "1.6.6",
7-
"regenerated": "2024-04-23 18:07:52.376077",
8-
"spec_repo_commit": "be732945"
7+
"regenerated": "2024-04-23 18:21:41.461719",
8+
"spec_repo_commit": "50a32b2b"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2024-04-23 18:07:52.392884",
13-
"spec_repo_commit": "be732945"
12+
"regenerated": "2024-04-23 18:21:41.482171",
13+
"spec_repo_commit": "50a32b2b"
1414
}
1515
}
1616
}

examples/v2/roles/CreateRole.py

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,34 @@
44

55
from datadog_api_client import ApiClient, Configuration
66
from datadog_api_client.v2.api.roles_api import RolesApi
7+
from datadog_api_client.v2.model.permissions_type import PermissionsType
8+
from datadog_api_client.v2.model.relationship_to_permission_data import RelationshipToPermissionData
9+
from datadog_api_client.v2.model.relationship_to_permissions import RelationshipToPermissions
10+
from datadog_api_client.v2.model.relationship_to_users import RelationshipToUsers
711
from datadog_api_client.v2.model.role_create_attributes import RoleCreateAttributes
812
from datadog_api_client.v2.model.role_create_data import RoleCreateData
913
from datadog_api_client.v2.model.role_create_request import RoleCreateRequest
14+
from datadog_api_client.v2.model.role_relationships import RoleRelationships
1015
from datadog_api_client.v2.model.roles_type import RolesType
1116

1217
body = RoleCreateRequest(
1318
data=RoleCreateData(
14-
type=RolesType.ROLES,
1519
attributes=RoleCreateAttributes(
16-
name="Example-Role",
20+
name="developers",
21+
),
22+
relationships=RoleRelationships(
23+
permissions=RelationshipToPermissions(
24+
data=[
25+
RelationshipToPermissionData(
26+
type=PermissionsType.PERMISSIONS,
27+
),
28+
],
29+
),
30+
users=RelationshipToUsers(
31+
data=[],
32+
),
1733
),
34+
type=RolesType.ROLES,
1835
),
1936
)
2037

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
"""
2+
Create role with a permission returns "OK" response
3+
"""
4+
5+
from os import environ
6+
from datadog_api_client import ApiClient, Configuration
7+
from datadog_api_client.v2.api.roles_api import RolesApi
8+
from datadog_api_client.v2.model.permissions_type import PermissionsType
9+
from datadog_api_client.v2.model.relationship_to_permission_data import RelationshipToPermissionData
10+
from datadog_api_client.v2.model.relationship_to_permissions import RelationshipToPermissions
11+
from datadog_api_client.v2.model.role_create_attributes import RoleCreateAttributes
12+
from datadog_api_client.v2.model.role_create_data import RoleCreateData
13+
from datadog_api_client.v2.model.role_create_request import RoleCreateRequest
14+
from datadog_api_client.v2.model.role_relationships import RoleRelationships
15+
from datadog_api_client.v2.model.roles_type import RolesType
16+
17+
# there is a valid "permission" in the system
18+
PERMISSION_ID = environ["PERMISSION_ID"]
19+
20+
body = RoleCreateRequest(
21+
data=RoleCreateData(
22+
type=RolesType.ROLES,
23+
attributes=RoleCreateAttributes(
24+
name="Example-Role",
25+
),
26+
relationships=RoleRelationships(
27+
permissions=RelationshipToPermissions(
28+
data=[
29+
RelationshipToPermissionData(
30+
id=PERMISSION_ID,
31+
type=PermissionsType.PERMISSIONS,
32+
),
33+
],
34+
),
35+
),
36+
),
37+
)
38+
39+
configuration = Configuration()
40+
with ApiClient(configuration) as api_client:
41+
api_instance = RolesApi(api_client)
42+
response = api_instance.create_role(body=body)
43+
44+
print(response)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2024-04-22T22:41:44.684Z

tests/v2/cassettes/test_scenarios/test_create_role_with_a_permission_returns_ok_response.yaml

Lines changed: 445 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2022-05-12T09:52:50.112Z
1+
2024-04-22T22:41:46.620Z

tests/v2/cassettes/test_scenarios/test_grant_permission_to_a_role_returns_ok_response.yaml

Lines changed: 299 additions & 82 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2022-05-12T09:52:52.295Z
1+
2024-04-22T22:41:48.488Z

tests/v2/cassettes/test_scenarios/test_list_permissions_for_a_role_returns_ok_response.yaml

Lines changed: 319 additions & 101 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2022-01-06T00:52:05.331Z
1+
2024-04-22T22:41:50.838Z

0 commit comments

Comments
 (0)