Skip to content

Commit 231008a

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 919fef7 of spec repo
1 parent 5ec250c commit 231008a

22 files changed

Lines changed: 1061 additions & 78 deletions

.generator/schemas/v2/openapi.yaml

Lines changed: 281 additions & 30 deletions
Large diffs are not rendered by default.

docs/datadog_api_client.v2.api.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,13 @@ datadog\_api\_client.v2.api.downtimes\_api module
284284
:members:
285285
:show-inheritance:
286286

287+
datadog\_api\_client.v2.api.entity\_integration\_configs\_api module
288+
--------------------------------------------------------------------
289+
290+
.. automodule:: datadog_api_client.v2.api.entity_integration_configs_api
291+
:members:
292+
:show-inheritance:
293+
287294
datadog\_api\_client.v2.api.entity\_risk\_scores\_api module
288295
------------------------------------------------------------
289296

docs/datadog_api_client.v2.model.rst

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11050,6 +11050,69 @@ datadog\_api\_client.v2.model.entity\_data module
1105011050
:members:
1105111051
:show-inheritance:
1105211052

11053+
datadog\_api\_client.v2.model.entity\_integration\_config\_attributes module
11054+
----------------------------------------------------------------------------
11055+
11056+
.. automodule:: datadog_api_client.v2.model.entity_integration_config_attributes
11057+
:members:
11058+
:show-inheritance:
11059+
11060+
datadog\_api\_client.v2.model.entity\_integration\_config\_data module
11061+
----------------------------------------------------------------------
11062+
11063+
.. automodule:: datadog_api_client.v2.model.entity_integration_config_data
11064+
:members:
11065+
:show-inheritance:
11066+
11067+
datadog\_api\_client.v2.model.entity\_integration\_config\_payload module
11068+
-------------------------------------------------------------------------
11069+
11070+
.. automodule:: datadog_api_client.v2.model.entity_integration_config_payload
11071+
:members:
11072+
:show-inheritance:
11073+
11074+
datadog\_api\_client.v2.model.entity\_integration\_config\_request module
11075+
-------------------------------------------------------------------------
11076+
11077+
.. automodule:: datadog_api_client.v2.model.entity_integration_config_request
11078+
:members:
11079+
:show-inheritance:
11080+
11081+
datadog\_api\_client.v2.model.entity\_integration\_config\_request\_attributes module
11082+
-------------------------------------------------------------------------------------
11083+
11084+
.. automodule:: datadog_api_client.v2.model.entity_integration_config_request_attributes
11085+
:members:
11086+
:show-inheritance:
11087+
11088+
datadog\_api\_client.v2.model.entity\_integration\_config\_request\_data module
11089+
-------------------------------------------------------------------------------
11090+
11091+
.. automodule:: datadog_api_client.v2.model.entity_integration_config_request_data
11092+
:members:
11093+
:show-inheritance:
11094+
11095+
datadog\_api\_client.v2.model.entity\_integration\_config\_request\_type module
11096+
-------------------------------------------------------------------------------
11097+
11098+
.. automodule:: datadog_api_client.v2.model.entity_integration_config_request_type
11099+
:members:
11100+
:show-inheritance:
11101+
11102+
datadog\_api\_client.v2.model.entity\_integration\_config\_response module
11103+
--------------------------------------------------------------------------
11104+
11105+
.. automodule:: datadog_api_client.v2.model.entity_integration_config_response
11106+
:members:
11107+
:show-inheritance:
11108+
11109+
datadog\_api\_client.v2.model.entity\_integration\_config\_type module
11110+
----------------------------------------------------------------------
11111+
11112+
.. automodule:: datadog_api_client.v2.model.entity_integration_config_type
11113+
:members:
11114+
:show-inheritance:
11115+
1105311116
datadog\_api\_client.v2.model.entity\_meta module
1105411117
-------------------------------------------------
1105511118

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
"""
2+
Delete an entity integration configuration returns "No Content" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.entity_integration_configs_api import EntityIntegrationConfigsApi
7+
8+
configuration = Configuration()
9+
configuration.unstable_operations["delete_entity_integration_config"] = True
10+
with ApiClient(configuration) as api_client:
11+
api_instance = EntityIntegrationConfigsApi(api_client)
12+
api_instance.delete_entity_integration_config(
13+
integration_id="github",
14+
)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"""
2+
Get an entity integration configuration returns "OK" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.entity_integration_configs_api import EntityIntegrationConfigsApi
7+
8+
configuration = Configuration()
9+
configuration.unstable_operations["get_entity_integration_config"] = True
10+
with ApiClient(configuration) as api_client:
11+
api_instance = EntityIntegrationConfigsApi(api_client)
12+
response = api_instance.get_entity_integration_config(
13+
integration_id="github",
14+
)
15+
16+
print(response)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
"""
2+
Create or update entity integration config returns "OK" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.entity_integration_configs_api import EntityIntegrationConfigsApi
7+
from datadog_api_client.v2.model.entity_integration_config_payload import EntityIntegrationConfigPayload
8+
from datadog_api_client.v2.model.entity_integration_config_request import EntityIntegrationConfigRequest
9+
from datadog_api_client.v2.model.entity_integration_config_request_attributes import (
10+
EntityIntegrationConfigRequestAttributes,
11+
)
12+
from datadog_api_client.v2.model.entity_integration_config_request_data import EntityIntegrationConfigRequestData
13+
from datadog_api_client.v2.model.entity_integration_config_request_type import EntityIntegrationConfigRequestType
14+
15+
body = EntityIntegrationConfigRequest(
16+
data=EntityIntegrationConfigRequestData(
17+
attributes=EntityIntegrationConfigRequestAttributes(
18+
config=EntityIntegrationConfigPayload(
19+
[("enabled_repos", "[{'github_org_name': 'myorg', 'hostname': 'github.com', 'repo_name': 'myrepo'}]")]
20+
),
21+
),
22+
type=EntityIntegrationConfigRequestType.ENTITY_INTEGRATION_CONFIG_REQUESTS,
23+
),
24+
)
25+
26+
configuration = Configuration()
27+
configuration.unstable_operations["update_entity_integration_config"] = True
28+
with ApiClient(configuration) as api_client:
29+
api_instance = EntityIntegrationConfigsApi(api_client)
30+
response = api_instance.update_entity_integration_config(integration_id="github", body=body)
31+
32+
print(response)

src/datadog_api_client/configuration.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,9 @@ def __init__(
442442
"v2.update_deployment_rule": False,
443443
"v2.create_hamr_org_connection": False,
444444
"v2.get_hamr_org_connection": False,
445+
"v2.delete_entity_integration_config": False,
446+
"v2.get_entity_integration_config": False,
447+
"v2.update_entity_integration_config": False,
445448
"v2.create_global_incident_handle": False,
446449
"v2.create_incident": False,
447450
"v2.create_incident_attachment": False,
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
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+
from typing import Any, Dict
7+
8+
from datadog_api_client.api_client import ApiClient, Endpoint as _Endpoint
9+
from datadog_api_client.configuration import Configuration
10+
from datadog_api_client.v2.model.entity_integration_config_response import EntityIntegrationConfigResponse
11+
from datadog_api_client.v2.model.entity_integration_config_request import EntityIntegrationConfigRequest
12+
13+
14+
class EntityIntegrationConfigsApi:
15+
"""
16+
Manage per-integration configurations for the Internal Developer Portal (IDP). These configurations control which external resources (for example, GitHub repositories, Jira projects, or PagerDuty services) are synced as entities into the Software Catalog.
17+
"""
18+
19+
def __init__(self, api_client=None):
20+
if api_client is None:
21+
api_client = ApiClient(Configuration())
22+
self.api_client = api_client
23+
24+
self._delete_entity_integration_config_endpoint = _Endpoint(
25+
settings={
26+
"response_type": None,
27+
"auth": ["apiKeyAuth", "appKeyAuth"],
28+
"endpoint_path": "/api/v2/idp/entity_integrations/{integration_id}",
29+
"operation_id": "delete_entity_integration_config",
30+
"http_method": "DELETE",
31+
"version": "v2",
32+
},
33+
params_map={
34+
"integration_id": {
35+
"required": True,
36+
"openapi_types": (str,),
37+
"attribute": "integration_id",
38+
"location": "path",
39+
},
40+
},
41+
headers_map={
42+
"accept": ["*/*"],
43+
},
44+
api_client=api_client,
45+
)
46+
47+
self._get_entity_integration_config_endpoint = _Endpoint(
48+
settings={
49+
"response_type": (EntityIntegrationConfigResponse,),
50+
"auth": ["apiKeyAuth", "appKeyAuth"],
51+
"endpoint_path": "/api/v2/idp/entity_integrations/{integration_id}",
52+
"operation_id": "get_entity_integration_config",
53+
"http_method": "GET",
54+
"version": "v2",
55+
},
56+
params_map={
57+
"integration_id": {
58+
"required": True,
59+
"openapi_types": (str,),
60+
"attribute": "integration_id",
61+
"location": "path",
62+
},
63+
},
64+
headers_map={
65+
"accept": ["application/json"],
66+
},
67+
api_client=api_client,
68+
)
69+
70+
self._update_entity_integration_config_endpoint = _Endpoint(
71+
settings={
72+
"response_type": (EntityIntegrationConfigResponse,),
73+
"auth": ["apiKeyAuth", "appKeyAuth"],
74+
"endpoint_path": "/api/v2/idp/entity_integrations/{integration_id}",
75+
"operation_id": "update_entity_integration_config",
76+
"http_method": "PUT",
77+
"version": "v2",
78+
},
79+
params_map={
80+
"integration_id": {
81+
"required": True,
82+
"openapi_types": (str,),
83+
"attribute": "integration_id",
84+
"location": "path",
85+
},
86+
"body": {
87+
"required": True,
88+
"openapi_types": (EntityIntegrationConfigRequest,),
89+
"location": "body",
90+
},
91+
},
92+
headers_map={"accept": ["application/json"], "content_type": ["application/json"]},
93+
api_client=api_client,
94+
)
95+
96+
def delete_entity_integration_config(
97+
self,
98+
integration_id: str,
99+
) -> None:
100+
"""Delete an entity integration configuration.
101+
102+
Delete the configuration stored for a given integration in the caller's organization.
103+
104+
:param integration_id: The identifier of the integration whose configuration is being managed. Supported values are ``github`` , ``jira`` , and ``pagerduty``.
105+
:type integration_id: str
106+
:rtype: None
107+
"""
108+
kwargs: Dict[str, Any] = {}
109+
kwargs["integration_id"] = integration_id
110+
111+
return self._delete_entity_integration_config_endpoint.call_with_http_info(**kwargs)
112+
113+
def get_entity_integration_config(
114+
self,
115+
integration_id: str,
116+
) -> EntityIntegrationConfigResponse:
117+
"""Get an entity integration configuration.
118+
119+
Retrieve the configuration currently stored for a given integration in the caller's organization. The integration is identified by the ``integration_id`` path parameter.
120+
121+
:param integration_id: The identifier of the integration whose configuration is being managed. Supported values are ``github`` , ``jira`` , and ``pagerduty``.
122+
:type integration_id: str
123+
:rtype: EntityIntegrationConfigResponse
124+
"""
125+
kwargs: Dict[str, Any] = {}
126+
kwargs["integration_id"] = integration_id
127+
128+
return self._get_entity_integration_config_endpoint.call_with_http_info(**kwargs)
129+
130+
def update_entity_integration_config(
131+
self,
132+
integration_id: str,
133+
body: EntityIntegrationConfigRequest,
134+
) -> EntityIntegrationConfigResponse:
135+
"""Create or update entity integration config.
136+
137+
Create or replace the configuration for a given integration in the caller's organization. The shape of ``data.attributes.config`` depends on the integration:
138+
139+
* For ``github`` : ``config`` must contain an ``enabled_repos`` array of objects with ``hostname`` , ``github_org_name`` , and ``repo_name``.
140+
* For ``jira`` : ``config`` must contain an ``enabled_projects`` array of objects with ``hostname`` , ``account_id`` , and ``project_key``.
141+
* For ``pagerduty`` : ``config`` must contain an ``accounts`` array of objects with a required ``enabled`` boolean and an optional ``subdomain`` string.
142+
143+
:param integration_id: The identifier of the integration whose configuration is being managed. Supported values are ``github`` , ``jira`` , and ``pagerduty``.
144+
:type integration_id: str
145+
:type body: EntityIntegrationConfigRequest
146+
:rtype: EntityIntegrationConfigResponse
147+
"""
148+
kwargs: Dict[str, Any] = {}
149+
kwargs["integration_id"] = integration_id
150+
151+
kwargs["body"] = body
152+
153+
return self._update_entity_integration_config_endpoint.call_with_http_info(**kwargs)

src/datadog_api_client/v2/apis/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
from datadog_api_client.v2.api.deployment_gates_api import DeploymentGatesApi
3939
from datadog_api_client.v2.api.domain_allowlist_api import DomainAllowlistApi
4040
from datadog_api_client.v2.api.downtimes_api import DowntimesApi
41+
from datadog_api_client.v2.api.entity_integration_configs_api import EntityIntegrationConfigsApi
4142
from datadog_api_client.v2.api.entity_risk_scores_api import EntityRiskScoresApi
4243
from datadog_api_client.v2.api.error_tracking_api import ErrorTrackingApi
4344
from datadog_api_client.v2.api.events_api import EventsApi
@@ -153,6 +154,7 @@
153154
"DeploymentGatesApi",
154155
"DomainAllowlistApi",
155156
"DowntimesApi",
157+
"EntityIntegrationConfigsApi",
156158
"EntityRiskScoresApi",
157159
"ErrorTrackingApi",
158160
"EventsApi",
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
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+
from typing import TYPE_CHECKING
7+
8+
from datadog_api_client.model_utils import (
9+
ModelNormal,
10+
cached_property,
11+
)
12+
13+
14+
if TYPE_CHECKING:
15+
from datadog_api_client.v2.model.entity_integration_config_payload import EntityIntegrationConfigPayload
16+
17+
18+
class EntityIntegrationConfigAttributes(ModelNormal):
19+
@cached_property
20+
def openapi_types(_):
21+
from datadog_api_client.v2.model.entity_integration_config_payload import EntityIntegrationConfigPayload
22+
23+
return {
24+
"config": (EntityIntegrationConfigPayload,),
25+
"integration_id": (str,),
26+
"org_id": (int,),
27+
}
28+
29+
attribute_map = {
30+
"config": "config",
31+
"integration_id": "integration_id",
32+
"org_id": "org_id",
33+
}
34+
35+
def __init__(self_, config: EntityIntegrationConfigPayload, integration_id: str, org_id: int, **kwargs):
36+
"""
37+
The organization ID, integration identifier, and integration-specific configuration payload for an entity integration configuration.
38+
39+
:param config: Integration-specific configuration payload. The shape of this object depends on the integration identified by the path parameter. For ``github`` , the object must contain an ``enabled_repos`` array. For ``jira`` , it must contain an ``enabled_projects`` array. For ``pagerduty`` , it must contain an ``accounts`` array.
40+
:type config: EntityIntegrationConfigPayload
41+
42+
:param integration_id: The identifier of the integration this configuration applies to (for example, ``github`` , ``jira`` , or ``pagerduty`` ).
43+
:type integration_id: str
44+
45+
:param org_id: The Datadog organization identifier that owns this configuration.
46+
:type org_id: int
47+
"""
48+
super().__init__(kwargs)
49+
50+
self_.config = config
51+
self_.integration_id = integration_id
52+
self_.org_id = org_id

0 commit comments

Comments
 (0)