Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 97 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32179,6 +32179,53 @@ components:
type: string
type: array
type: object
Integration:
description: Integration resource object.
properties:
attributes:
$ref: '#/components/schemas/IntegrationAttributes'
id:
description: The unique identifier of the integration.
example: calico
type: string
links:
$ref: '#/components/schemas/IntegrationLinks'
type:
$ref: '#/components/schemas/IntegrationType'
required:
- type
- id
- attributes
type: object
IntegrationAttributes:
description: Attributes for an integration.
properties:
categories:
description: List of categories associated with the integration.
example:
- Category::Kubernetes
- Category::Log Collection
items:
type: string
type: array
description:
description: A description of the integration.
example: Calico is a networking and network security solution for containers.
type: string
installed:
description: Whether the integration is installed.
example: true
type: boolean
title:
description: The name of the integration.
example: calico
type: string
required:
- title
- description
- categories
- installed
type: object
IntegrationIncident:
description: Incident integration settings
properties:
Expand Down Expand Up @@ -32284,6 +32331,14 @@ components:
value:
$ref: '#/components/schemas/AnyValue'
type: object
IntegrationLinks:
description: Links for the integration resource.
properties:
self:
description: Link to the integration resource.
example: /integrations?integrationId=calico
type: string
type: object
IntegrationMonitor:
description: Monitor integration settings
properties:
Expand Down Expand Up @@ -32385,6 +32440,15 @@ components:
type: string
type: object
type: object
IntegrationType:
default: integration
description: Integration resource type.
enum:
- integration
example: integration
type: string
x-enum-varnames:
- INTEGRATION
InterfaceAttributes:
description: The interface attributes
properties:
Expand Down Expand Up @@ -34776,6 +34840,17 @@ components:
- data
- meta
type: object
ListIntegrationsResponse:
description: Response containing information about multiple integrations.
properties:
data:
description: Array of integration objects.
items:
$ref: '#/components/schemas/Integration'
type: array
required:
- data
type: object
ListInterfaceTagsResponse:
description: Response for listing interface tags.
properties:
Expand Down Expand Up @@ -84205,6 +84280,24 @@ paths:
x-unstable: '**Note**: This endpoint is in public beta and is subject to change.

If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).'
/api/v2/integrations:
get:
operationId: ListIntegrations
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListIntegrationsResponse'
description: Successful Response.
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
security:
- apiKeyAuth: []
appKeyAuth: []
summary: List Integrations
tags:
- Integrations
/api/v2/integrations/cloudflare/accounts:
get:
description: List Cloudflare accounts.
Expand Down Expand Up @@ -106288,6 +106381,10 @@ tags:
and todos. See the [Incident Management page](https://docs.datadoghq.com/service_management/incident_management/)
for more information.
name: Incidents
- description: 'The Integrations API is used to list available integrations

and retrieve information about their installation status.'
name: Integrations
- description: Manage your Jira Integration. Atlassian Jira is a project management
and issue tracking tool for teams to coordinate work and handle tasks efficiently.
name: Jira Integration
Expand Down
7 changes: 7 additions & 0 deletions docs/datadog_api_client.v2.api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,13 @@ datadog\_api\_client.v2.api.incidents\_api module
:members:
:show-inheritance:

datadog\_api\_client.v2.api.integrations\_api module
----------------------------------------------------

.. automodule:: datadog_api_client.v2.api.integrations_api
:members:
:show-inheritance:

datadog\_api\_client.v2.api.ip\_allowlist\_api module
-----------------------------------------------------

Expand Down
35 changes: 35 additions & 0 deletions docs/datadog_api_client.v2.model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13640,6 +13640,20 @@ datadog\_api\_client.v2.model.intake\_payload\_accepted module
:members:
:show-inheritance:

datadog\_api\_client.v2.model.integration module
------------------------------------------------

.. automodule:: datadog_api_client.v2.model.integration
:members:
:show-inheritance:

datadog\_api\_client.v2.model.integration\_attributes module
------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.integration_attributes
:members:
:show-inheritance:

datadog\_api\_client.v2.model.integration\_incident module
----------------------------------------------------------

Expand Down Expand Up @@ -13710,6 +13724,13 @@ datadog\_api\_client.v2.model.integration\_jira\_sync\_properties\_custom\_field
:members:
:show-inheritance:

datadog\_api\_client.v2.model.integration\_links module
-------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.integration_links
:members:
:show-inheritance:

datadog\_api\_client.v2.model.integration\_monitor module
---------------------------------------------------------

Expand Down Expand Up @@ -13773,6 +13794,13 @@ datadog\_api\_client.v2.model.integration\_service\_now\_sync\_config\_priority
:members:
:show-inheritance:

datadog\_api\_client.v2.model.integration\_type module
------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.integration_type
:members:
:show-inheritance:

datadog\_api\_client.v2.model.interface\_attributes module
----------------------------------------------------------

Expand Down Expand Up @@ -14970,6 +14998,13 @@ datadog\_api\_client.v2.model.list\_findings\_response module
:members:
:show-inheritance:

datadog\_api\_client.v2.model.list\_integrations\_response module
-----------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.list_integrations_response
:members:
:show-inheritance:

datadog\_api\_client.v2.model.list\_interface\_tags\_response module
--------------------------------------------------------------------

Expand Down
13 changes: 13 additions & 0 deletions examples/v2/integrations/ListIntegrations.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
"""
List Integrations returns "Successful Response." response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.integrations_api import IntegrationsApi

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = IntegrationsApi(api_client)
response = api_instance.list_integrations()

print(response)
48 changes: 48 additions & 0 deletions src/datadog_api_client/v2/api/integrations_api.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
# This product includes software developed at Datadog (https://www.datadoghq.com/).
# Copyright 2019-Present Datadog, Inc.
from __future__ import annotations

from typing import Any, Dict

from datadog_api_client.api_client import ApiClient, Endpoint as _Endpoint
from datadog_api_client.configuration import Configuration
from datadog_api_client.v2.model.list_integrations_response import ListIntegrationsResponse


class IntegrationsApi:
"""
The Integrations API is used to list available integrations
and retrieve information about their installation status.
"""

def __init__(self, api_client=None):
if api_client is None:
api_client = ApiClient(Configuration())
self.api_client = api_client

self._list_integrations_endpoint = _Endpoint(
settings={
"response_type": (ListIntegrationsResponse,),
"auth": ["apiKeyAuth", "appKeyAuth"],
"endpoint_path": "/api/v2/integrations",
"operation_id": "list_integrations",
"http_method": "GET",
"version": "v2",
},
params_map={},
headers_map={
"accept": ["application/json"],
},
api_client=api_client,
)

def list_integrations(
self,
) -> ListIntegrationsResponse:
"""List Integrations.

:rtype: ListIntegrationsResponse
"""
kwargs: Dict[str, Any] = {}
return self._list_integrations_endpoint.call_with_http_info(**kwargs)
2 changes: 2 additions & 0 deletions src/datadog_api_client/v2/apis/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
from datadog_api_client.v2.api.incident_services_api import IncidentServicesApi
from datadog_api_client.v2.api.incident_teams_api import IncidentTeamsApi
from datadog_api_client.v2.api.incidents_api import IncidentsApi
from datadog_api_client.v2.api.integrations_api import IntegrationsApi
from datadog_api_client.v2.api.jira_integration_api import JiraIntegrationApi
from datadog_api_client.v2.api.key_management_api import KeyManagementApi
from datadog_api_client.v2.api.logs_api import LogsApi
Expand Down Expand Up @@ -148,6 +149,7 @@
"IncidentServicesApi",
"IncidentTeamsApi",
"IncidentsApi",
"IntegrationsApi",
"JiraIntegrationApi",
"KeyManagementApi",
"LogsApi",
Expand Down
72 changes: 72 additions & 0 deletions src/datadog_api_client/v2/model/integration.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
# This product includes software developed at Datadog (https://www.datadoghq.com/).
# Copyright 2019-Present Datadog, Inc.
from __future__ import annotations

from typing import Union, TYPE_CHECKING

from datadog_api_client.model_utils import (
ModelNormal,
cached_property,
unset,
UnsetType,
)


if TYPE_CHECKING:
from datadog_api_client.v2.model.integration_attributes import IntegrationAttributes
from datadog_api_client.v2.model.integration_links import IntegrationLinks
from datadog_api_client.v2.model.integration_type import IntegrationType


class Integration(ModelNormal):
@cached_property
def openapi_types(_):
from datadog_api_client.v2.model.integration_attributes import IntegrationAttributes
from datadog_api_client.v2.model.integration_links import IntegrationLinks
from datadog_api_client.v2.model.integration_type import IntegrationType

return {
"attributes": (IntegrationAttributes,),
"id": (str,),
"links": (IntegrationLinks,),
"type": (IntegrationType,),
}

attribute_map = {
"attributes": "attributes",
"id": "id",
"links": "links",
"type": "type",
}

def __init__(
self_,
attributes: IntegrationAttributes,
id: str,
type: IntegrationType,
links: Union[IntegrationLinks, UnsetType] = unset,
**kwargs,
):
"""
Integration resource object.

:param attributes: Attributes for an integration.
:type attributes: IntegrationAttributes

:param id: The unique identifier of the integration.
:type id: str

:param links: Links for the integration resource.
:type links: IntegrationLinks, optional

:param type: Integration resource type.
:type type: IntegrationType
"""
if links is not unset:
kwargs["links"] = links
super().__init__(kwargs)

self_.attributes = attributes
self_.id = id
self_.type = type
Loading