Skip to content

Commit da84bf2

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit c25a1d7 of spec repo
1 parent 0b3df26 commit da84bf2

17 files changed

+726
-0
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3734,6 +3734,114 @@ components:
37343734
description: The `markdownTextAnnotation` `text`.
37353735
type: string
37363736
type: object
3737+
AnonymizeUserError:
3738+
description: Error encountered when anonymizing a specific user.
3739+
properties:
3740+
error:
3741+
description: Error message describing why anonymization failed.
3742+
example: ""
3743+
type: string
3744+
user_id:
3745+
description: UUID of the user that failed to be anonymized.
3746+
example: "00000000-0000-0000-0000-000000000000"
3747+
type: string
3748+
required:
3749+
- user_id
3750+
- error
3751+
type: object
3752+
AnonymizeUsersRequest:
3753+
description: Request body for anonymizing users.
3754+
properties:
3755+
data:
3756+
$ref: "#/components/schemas/AnonymizeUsersRequestData"
3757+
required:
3758+
- data
3759+
type: object
3760+
AnonymizeUsersRequestAttributes:
3761+
description: Attributes of an anonymize users request.
3762+
properties:
3763+
user_ids:
3764+
description: List of user IDs (UUIDs) to anonymize.
3765+
example:
3766+
- "00000000-0000-0000-0000-000000000000"
3767+
items:
3768+
example: "00000000-0000-0000-0000-000000000000"
3769+
type: string
3770+
type: array
3771+
required:
3772+
- user_ids
3773+
type: object
3774+
AnonymizeUsersRequestData:
3775+
description: Object to anonymize a list of users.
3776+
properties:
3777+
attributes:
3778+
$ref: "#/components/schemas/AnonymizeUsersRequestAttributes"
3779+
id:
3780+
description: Unique identifier for the request. Not used server-side.
3781+
example: "00000000-0000-0000-0000-000000000000"
3782+
type: string
3783+
type:
3784+
$ref: "#/components/schemas/AnonymizeUsersRequestType"
3785+
required:
3786+
- type
3787+
- attributes
3788+
type: object
3789+
AnonymizeUsersRequestType:
3790+
default: anonymize_users_request
3791+
description: Type of the anonymize users request.
3792+
enum:
3793+
- anonymize_users_request
3794+
example: anonymize_users_request
3795+
type: string
3796+
x-enum-varnames:
3797+
- ANONYMIZE_USERS_REQUEST
3798+
AnonymizeUsersResponse:
3799+
description: Response containing the result of an anonymize users request.
3800+
properties:
3801+
data:
3802+
$ref: "#/components/schemas/AnonymizeUsersResponseData"
3803+
type: object
3804+
AnonymizeUsersResponseAttributes:
3805+
description: Attributes of an anonymize users response.
3806+
properties:
3807+
anonymize_errors:
3808+
description: List of errors encountered during anonymization, one entry per failed user.
3809+
items:
3810+
$ref: "#/components/schemas/AnonymizeUserError"
3811+
type: array
3812+
anonymized_user_ids:
3813+
description: List of user IDs (UUIDs) that were successfully anonymized.
3814+
example:
3815+
- "00000000-0000-0000-0000-000000000000"
3816+
items:
3817+
example: "00000000-0000-0000-0000-000000000000"
3818+
type: string
3819+
type: array
3820+
required:
3821+
- anonymized_user_ids
3822+
- anonymize_errors
3823+
type: object
3824+
AnonymizeUsersResponseData:
3825+
description: Response data for anonymizing users.
3826+
properties:
3827+
attributes:
3828+
$ref: "#/components/schemas/AnonymizeUsersResponseAttributes"
3829+
id:
3830+
description: Unique identifier of the response.
3831+
example: "00000000-0000-0000-0000-000000000000"
3832+
type: string
3833+
type:
3834+
$ref: "#/components/schemas/AnonymizeUsersResponseType"
3835+
type: object
3836+
AnonymizeUsersResponseType:
3837+
default: anonymize_users_response
3838+
description: Type of the anonymize users response.
3839+
enum:
3840+
- anonymize_users_response
3841+
example: anonymize_users_response
3842+
type: string
3843+
x-enum-varnames:
3844+
- ANONYMIZE_USERS_RESPONSE
37373845
AnthropicAPIKey:
37383846
description: The definition of the `AnthropicAPIKey` object.
37393847
properties:
@@ -76578,6 +76686,53 @@ paths:
7657876686
operator: OR
7657976687
permissions:
7658076688
- security_monitoring_findings_read
76689+
/api/v2/anonymize_users:
76690+
put:
76691+
description: |-
76692+
Anonymize a list of users, removing their personal data. This operation is irreversible.
76693+
Requires the `user_access_manage` permission.
76694+
operationId: AnonymizeUsers
76695+
requestBody:
76696+
content:
76697+
application/json:
76698+
schema:
76699+
$ref: "#/components/schemas/AnonymizeUsersRequest"
76700+
required: true
76701+
responses:
76702+
"200":
76703+
content:
76704+
application/json:
76705+
schema:
76706+
$ref: "#/components/schemas/AnonymizeUsersResponse"
76707+
description: OK
76708+
"400":
76709+
content:
76710+
application/json:
76711+
schema:
76712+
$ref: "#/components/schemas/APIErrorResponse"
76713+
description: Bad Request
76714+
"403":
76715+
content:
76716+
application/json:
76717+
schema:
76718+
$ref: "#/components/schemas/APIErrorResponse"
76719+
description: Authentication error
76720+
"429":
76721+
$ref: "#/components/responses/TooManyRequestsResponse"
76722+
security:
76723+
- apiKeyAuth: []
76724+
appKeyAuth: []
76725+
- AuthZ:
76726+
- user_access_manage
76727+
summary: Anonymize users
76728+
tags:
76729+
- Users
76730+
x-codegen-request-body-name: body
76731+
x-permission:
76732+
operator: OR
76733+
permissions:
76734+
- user_access_manage
76735+
x-unstable: "**Note**: This endpoint is in Preview and may be subject to changes."
7658176736
/api/v2/api_keys:
7658276737
get:
7658376738
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
@@ -261,6 +261,7 @@ def __init__(
261261
"v2.list_fleet_schedules": False,
262262
"v2.trigger_fleet_schedule": False,
263263
"v2.update_fleet_schedule": False,
264+
"v2.anonymize_users": False,
264265
"v2.create_open_api": False,
265266
"v2.delete_open_api": False,
266267
"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)