Skip to content

Commit cb6f455

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit ce55d33 of spec repo
1 parent 433cb9c commit cb6f455

17 files changed

Lines changed: 726 additions & 0 deletions

.generator/schemas/v2/openapi.yaml

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3980,6 +3980,114 @@ components:
39803980
description: The `markdownTextAnnotation` `text`.
39813981
type: string
39823982
type: object
3983+
AnonymizeUserError:
3984+
description: Error encountered when anonymizing a specific user.
3985+
properties:
3986+
error:
3987+
description: Error message describing why anonymization failed.
3988+
example: ""
3989+
type: string
3990+
user_id:
3991+
description: UUID of the user that failed to be anonymized.
3992+
example: "00000000-0000-0000-0000-000000000000"
3993+
type: string
3994+
required:
3995+
- user_id
3996+
- error
3997+
type: object
3998+
AnonymizeUsersRequest:
3999+
description: Request body for anonymizing users.
4000+
properties:
4001+
data:
4002+
$ref: "#/components/schemas/AnonymizeUsersRequestData"
4003+
required:
4004+
- data
4005+
type: object
4006+
AnonymizeUsersRequestAttributes:
4007+
description: Attributes of an anonymize users request.
4008+
properties:
4009+
user_ids:
4010+
description: List of user IDs (UUIDs) to anonymize.
4011+
example:
4012+
- "00000000-0000-0000-0000-000000000000"
4013+
items:
4014+
example: "00000000-0000-0000-0000-000000000000"
4015+
type: string
4016+
type: array
4017+
required:
4018+
- user_ids
4019+
type: object
4020+
AnonymizeUsersRequestData:
4021+
description: Object to anonymize a list of users.
4022+
properties:
4023+
attributes:
4024+
$ref: "#/components/schemas/AnonymizeUsersRequestAttributes"
4025+
id:
4026+
description: Unique identifier for the request. Not used server-side.
4027+
example: "00000000-0000-0000-0000-000000000000"
4028+
type: string
4029+
type:
4030+
$ref: "#/components/schemas/AnonymizeUsersRequestType"
4031+
required:
4032+
- type
4033+
- attributes
4034+
type: object
4035+
AnonymizeUsersRequestType:
4036+
default: anonymize_users_request
4037+
description: Type of the anonymize users request.
4038+
enum:
4039+
- anonymize_users_request
4040+
example: anonymize_users_request
4041+
type: string
4042+
x-enum-varnames:
4043+
- ANONYMIZE_USERS_REQUEST
4044+
AnonymizeUsersResponse:
4045+
description: Response containing the result of an anonymize users request.
4046+
properties:
4047+
data:
4048+
$ref: "#/components/schemas/AnonymizeUsersResponseData"
4049+
type: object
4050+
AnonymizeUsersResponseAttributes:
4051+
description: Attributes of an anonymize users response.
4052+
properties:
4053+
anonymize_errors:
4054+
description: List of errors encountered during anonymization, one entry per failed user.
4055+
items:
4056+
$ref: "#/components/schemas/AnonymizeUserError"
4057+
type: array
4058+
anonymized_user_ids:
4059+
description: List of user IDs (UUIDs) that were successfully anonymized.
4060+
example:
4061+
- "00000000-0000-0000-0000-000000000000"
4062+
items:
4063+
example: "00000000-0000-0000-0000-000000000000"
4064+
type: string
4065+
type: array
4066+
required:
4067+
- anonymized_user_ids
4068+
- anonymize_errors
4069+
type: object
4070+
AnonymizeUsersResponseData:
4071+
description: Response data for anonymizing users.
4072+
properties:
4073+
attributes:
4074+
$ref: "#/components/schemas/AnonymizeUsersResponseAttributes"
4075+
id:
4076+
description: Unique identifier of the response.
4077+
example: "00000000-0000-0000-0000-000000000000"
4078+
type: string
4079+
type:
4080+
$ref: "#/components/schemas/AnonymizeUsersResponseType"
4081+
type: object
4082+
AnonymizeUsersResponseType:
4083+
default: anonymize_users_response
4084+
description: Type of the anonymize users response.
4085+
enum:
4086+
- anonymize_users_response
4087+
example: anonymize_users_response
4088+
type: string
4089+
x-enum-varnames:
4090+
- ANONYMIZE_USERS_RESPONSE
39834091
AnthropicAPIKey:
39844092
description: The definition of the `AnthropicAPIKey` object.
39854093
properties:
@@ -82971,6 +83079,53 @@ paths:
8297183079
operator: OR
8297283080
permissions:
8297383081
- security_monitoring_findings_read
83082+
/api/v2/anonymize_users:
83083+
put:
83084+
description: |-
83085+
Anonymize a list of users, removing their personal data. This operation is irreversible.
83086+
Requires the `user_access_manage` permission.
83087+
operationId: AnonymizeUsers
83088+
requestBody:
83089+
content:
83090+
application/json:
83091+
schema:
83092+
$ref: "#/components/schemas/AnonymizeUsersRequest"
83093+
required: true
83094+
responses:
83095+
"200":
83096+
content:
83097+
application/json:
83098+
schema:
83099+
$ref: "#/components/schemas/AnonymizeUsersResponse"
83100+
description: OK
83101+
"400":
83102+
content:
83103+
application/json:
83104+
schema:
83105+
$ref: "#/components/schemas/APIErrorResponse"
83106+
description: Bad Request
83107+
"403":
83108+
content:
83109+
application/json:
83110+
schema:
83111+
$ref: "#/components/schemas/APIErrorResponse"
83112+
description: Authentication error
83113+
"429":
83114+
$ref: "#/components/responses/TooManyRequestsResponse"
83115+
security:
83116+
- apiKeyAuth: []
83117+
appKeyAuth: []
83118+
- AuthZ:
83119+
- user_access_manage
83120+
summary: Anonymize users
83121+
tags:
83122+
- Users
83123+
x-codegen-request-body-name: body
83124+
x-permission:
83125+
operator: OR
83126+
permissions:
83127+
- user_access_manage
83128+
x-unstable: "**Note**: This endpoint is in Preview and may be subject to changes."
8297483129
/api/v2/api_keys:
8297583130
get:
8297683131
description: List all API keys available for your account.

docs/datadog_api_client.v2.model.rst

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,69 @@ datadog\_api\_client.v2.model.annotation\_markdown\_text\_annotation module
410410
:members:
411411
:show-inheritance:
412412

413+
datadog\_api\_client.v2.model.anonymize\_user\_error module
414+
-----------------------------------------------------------
415+
416+
.. automodule:: datadog_api_client.v2.model.anonymize_user_error
417+
:members:
418+
:show-inheritance:
419+
420+
datadog\_api\_client.v2.model.anonymize\_users\_request module
421+
--------------------------------------------------------------
422+
423+
.. automodule:: datadog_api_client.v2.model.anonymize_users_request
424+
:members:
425+
:show-inheritance:
426+
427+
datadog\_api\_client.v2.model.anonymize\_users\_request\_attributes module
428+
--------------------------------------------------------------------------
429+
430+
.. automodule:: datadog_api_client.v2.model.anonymize_users_request_attributes
431+
:members:
432+
:show-inheritance:
433+
434+
datadog\_api\_client.v2.model.anonymize\_users\_request\_data module
435+
--------------------------------------------------------------------
436+
437+
.. automodule:: datadog_api_client.v2.model.anonymize_users_request_data
438+
:members:
439+
:show-inheritance:
440+
441+
datadog\_api\_client.v2.model.anonymize\_users\_request\_type module
442+
--------------------------------------------------------------------
443+
444+
.. automodule:: datadog_api_client.v2.model.anonymize_users_request_type
445+
:members:
446+
:show-inheritance:
447+
448+
datadog\_api\_client.v2.model.anonymize\_users\_response module
449+
---------------------------------------------------------------
450+
451+
.. automodule:: datadog_api_client.v2.model.anonymize_users_response
452+
:members:
453+
:show-inheritance:
454+
455+
datadog\_api\_client.v2.model.anonymize\_users\_response\_attributes module
456+
---------------------------------------------------------------------------
457+
458+
.. automodule:: datadog_api_client.v2.model.anonymize_users_response_attributes
459+
:members:
460+
:show-inheritance:
461+
462+
datadog\_api\_client.v2.model.anonymize\_users\_response\_data module
463+
---------------------------------------------------------------------
464+
465+
.. automodule:: datadog_api_client.v2.model.anonymize_users_response_data
466+
:members:
467+
:show-inheritance:
468+
469+
datadog\_api\_client.v2.model.anonymize\_users\_response\_type module
470+
---------------------------------------------------------------------
471+
472+
.. automodule:: datadog_api_client.v2.model.anonymize_users_response_type
473+
:members:
474+
:show-inheritance:
475+
413476
datadog\_api\_client.v2.model.anthropic\_api\_key module
414477
--------------------------------------------------------
415478

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
"""
2+
Anonymize users returns "OK" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.users_api import UsersApi
7+
from datadog_api_client.v2.model.anonymize_users_request import AnonymizeUsersRequest
8+
from datadog_api_client.v2.model.anonymize_users_request_attributes import AnonymizeUsersRequestAttributes
9+
from datadog_api_client.v2.model.anonymize_users_request_data import AnonymizeUsersRequestData
10+
from datadog_api_client.v2.model.anonymize_users_request_type import AnonymizeUsersRequestType
11+
12+
body = AnonymizeUsersRequest(
13+
data=AnonymizeUsersRequestData(
14+
attributes=AnonymizeUsersRequestAttributes(
15+
user_ids=[
16+
"00000000-0000-0000-0000-000000000000",
17+
],
18+
),
19+
id="00000000-0000-0000-0000-000000000000",
20+
type=AnonymizeUsersRequestType.ANONYMIZE_USERS_REQUEST,
21+
),
22+
)
23+
24+
configuration = Configuration()
25+
configuration.unstable_operations["anonymize_users"] = True
26+
with ApiClient(configuration) as api_client:
27+
api_instance = UsersApi(api_client)
28+
response = api_instance.anonymize_users(body=body)
29+
30+
print(response)

src/datadog_api_client/configuration.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,7 @@ def __init__(
292292
"v2.update_llm_obs_dataset_records": False,
293293
"v2.update_llm_obs_experiment": False,
294294
"v2.update_llm_obs_project": False,
295+
"v2.anonymize_users": False,
295296
"v2.create_open_api": False,
296297
"v2.delete_open_api": False,
297298
"v2.get_open_api": False,

src/datadog_api_client/v2/api/users_api.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
UnsetType,
1515
unset,
1616
)
17+
from datadog_api_client.v2.model.anonymize_users_response import AnonymizeUsersResponse
18+
from datadog_api_client.v2.model.anonymize_users_request import AnonymizeUsersRequest
1719
from datadog_api_client.v2.model.user_invitations_response import UserInvitationsResponse
1820
from datadog_api_client.v2.model.user_invitations_request import UserInvitationsRequest
1921
from datadog_api_client.v2.model.user_invitation_response import UserInvitationResponse
@@ -36,6 +38,26 @@ def __init__(self, api_client=None):
3638
api_client = ApiClient(Configuration())
3739
self.api_client = api_client
3840

41+
self._anonymize_users_endpoint = _Endpoint(
42+
settings={
43+
"response_type": (AnonymizeUsersResponse,),
44+
"auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
45+
"endpoint_path": "/api/v2/anonymize_users",
46+
"operation_id": "anonymize_users",
47+
"http_method": "PUT",
48+
"version": "v2",
49+
},
50+
params_map={
51+
"body": {
52+
"required": True,
53+
"openapi_types": (AnonymizeUsersRequest,),
54+
"location": "body",
55+
},
56+
},
57+
headers_map={"accept": ["application/json"], "content_type": ["application/json"]},
58+
api_client=api_client,
59+
)
60+
3961
self._create_user_endpoint = _Endpoint(
4062
settings={
4163
"response_type": (UserResponse,),
@@ -264,6 +286,23 @@ def __init__(self, api_client=None):
264286
api_client=api_client,
265287
)
266288

289+
def anonymize_users(
290+
self,
291+
body: AnonymizeUsersRequest,
292+
) -> AnonymizeUsersResponse:
293+
"""Anonymize users.
294+
295+
Anonymize a list of users, removing their personal data. This operation is irreversible.
296+
Requires the ``user_access_manage`` permission.
297+
298+
:type body: AnonymizeUsersRequest
299+
:rtype: AnonymizeUsersResponse
300+
"""
301+
kwargs: Dict[str, Any] = {}
302+
kwargs["body"] = body
303+
304+
return self._anonymize_users_endpoint.call_with_http_info(**kwargs)
305+
267306
def create_user(
268307
self,
269308
body: UserCreateRequest,
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
# This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
# Copyright 2019-Present Datadog, Inc.
4+
from __future__ import annotations
5+
6+
7+
from datadog_api_client.model_utils import (
8+
ModelNormal,
9+
cached_property,
10+
)
11+
12+
13+
class AnonymizeUserError(ModelNormal):
14+
@cached_property
15+
def openapi_types(_):
16+
return {
17+
"error": (str,),
18+
"user_id": (str,),
19+
}
20+
21+
attribute_map = {
22+
"error": "error",
23+
"user_id": "user_id",
24+
}
25+
26+
def __init__(self_, error: str, user_id: str, **kwargs):
27+
"""
28+
Error encountered when anonymizing a specific user.
29+
30+
:param error: Error message describing why anonymization failed.
31+
:type error: str
32+
33+
:param user_id: UUID of the user that failed to be anonymized.
34+
:type user_id: str
35+
"""
36+
super().__init__(kwargs)
37+
38+
self_.error = error
39+
self_.user_id = user_id

0 commit comments

Comments
 (0)