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
81 changes: 81 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17075,6 +17075,12 @@ components:
required:
- id
type: object
DeploymentGateRulesResponse:
description: Response for a deployment gate rules.
properties:
data:
$ref: '#/components/schemas/ListDeploymentRuleResponseData'
type: object
DeploymentMetadata:
description: Metadata object containing the publication creation information.
properties:
Expand Down Expand Up @@ -30199,6 +30205,37 @@ components:
type: string
x-enum-varnames:
- LIST_CONNECTIONS_RESPONSE
ListDeploymentRuleResponseData:
description: Data for a list of deployment rules.
properties:
attributes:
$ref: '#/components/schemas/ListDeploymentRulesResponseDataAttributes'
id:
description: Unique identifier of the deployment rule.
example: 1111-2222-3333-4444-555566667777
type: string
type:
$ref: '#/components/schemas/ListDeploymentRulesDataType'
required:
- type
- attributes
- id
type: object
ListDeploymentRulesDataType:
description: List deployment rule resource type.
enum:
- list_deployment_rules
example: list_deployment_rules
type: string
x-enum-varnames:
- LIST_DEPLOYMENT_RULES
ListDeploymentRulesResponseDataAttributes:
properties:
rules:
items:
$ref: '#/components/schemas/DeploymentRuleResponseDataAttributes'
type: array
type: object
ListDevicesResponse:
description: List devices response.
properties:
Expand Down Expand Up @@ -66236,6 +66273,50 @@ paths:

If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).'
/api/v2/deployment_gates/{gate_id}/rules:
get:
description: Endpoint to get rules for a deployment gate.
operationId: GetDeploymentGateRules
parameters:
- description: The ID of the deployment gate.
in: path
name: gate_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentGateRulesResponse'
description: OK
'400':
$ref: '#/components/responses/HTTPCDGatesBadRequestResponse'
'401':
$ref: '#/components/responses/UnauthorizedResponse'
'403':
$ref: '#/components/responses/ForbiddenResponse'
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPCIAppErrors'
description: Internal Server Error
security:
- apiKeyAuth: []
appKeyAuth: []
summary: Get rules for a deployment gate
tags:
- Deployment Gates
x-permission:
operator: OR
permissions:
- deployment_gates_read
x-unstable: '**Note**: This endpoint is in preview and may be subject to change.

If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).'
post:
description: Endpoint to create a deployment rule. A gate for the rule must
already exist.
Expand Down
28 changes: 28 additions & 0 deletions docs/datadog_api_client.v2.model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6850,6 +6850,13 @@ datadog\_api\_client.v2.model.deployment\_gate\_response\_data\_attributes\_upda
:members:
:show-inheritance:

datadog\_api\_client.v2.model.deployment\_gate\_rules\_response module
----------------------------------------------------------------------

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

datadog\_api\_client.v2.model.deployment\_metadata module
---------------------------------------------------------

Expand Down Expand Up @@ -12933,6 +12940,27 @@ datadog\_api\_client.v2.model.list\_connections\_response\_data\_type module
:members:
:show-inheritance:

datadog\_api\_client.v2.model.list\_deployment\_rule\_response\_data module
---------------------------------------------------------------------------

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

datadog\_api\_client.v2.model.list\_deployment\_rules\_data\_type module
------------------------------------------------------------------------

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

datadog\_api\_client.v2.model.list\_deployment\_rules\_response\_data\_attributes module
----------------------------------------------------------------------------------------

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

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

Expand Down
20 changes: 20 additions & 0 deletions examples/v2/deployment-gates/GetDeploymentGateRules.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
"""
Get rules for a deployment gate returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.deployment_gates_api import DeploymentGatesApi

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = environ["DEPLOYMENT_GATE_DATA_ID"]

configuration = Configuration()
configuration.unstable_operations["get_deployment_gate_rules"] = True
with ApiClient(configuration) as api_client:
api_instance = DeploymentGatesApi(api_client)
response = api_instance.get_deployment_gate_rules(
gate_id=DEPLOYMENT_GATE_DATA_ID,
)

print(response)
1 change: 1 addition & 0 deletions src/datadog_api_client/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,7 @@ def __init__(
"v2.delete_deployment_gate": False,
"v2.delete_deployment_rule": False,
"v2.get_deployment_gate": False,
"v2.get_deployment_gate_rules": False,
"v2.get_deployment_rule": False,
"v2.update_deployment_gate": False,
"v2.update_deployment_rule": False,
Expand Down
41 changes: 41 additions & 0 deletions src/datadog_api_client/v2/api/deployment_gates_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from datadog_api_client.configuration import Configuration
from datadog_api_client.v2.model.deployment_gate_response import DeploymentGateResponse
from datadog_api_client.v2.model.create_deployment_gate_params import CreateDeploymentGateParams
from datadog_api_client.v2.model.deployment_gate_rules_response import DeploymentGateRulesResponse
from datadog_api_client.v2.model.deployment_rule_response import DeploymentRuleResponse
from datadog_api_client.v2.model.create_deployment_rule_params import CreateDeploymentRuleParams
from datadog_api_client.v2.model.update_deployment_rule_params import UpdateDeploymentRuleParams
Expand Down Expand Up @@ -146,6 +147,29 @@ def __init__(self, api_client=None):
api_client=api_client,
)

self._get_deployment_gate_rules_endpoint = _Endpoint(
settings={
"response_type": (DeploymentGateRulesResponse,),
"auth": ["apiKeyAuth", "appKeyAuth"],
"endpoint_path": "/api/v2/deployment_gates/{gate_id}/rules",
"operation_id": "get_deployment_gate_rules",
"http_method": "GET",
"version": "v2",
},
params_map={
"gate_id": {
"required": True,
"openapi_types": (str,),
"attribute": "gate_id",
"location": "path",
},
},
headers_map={
"accept": ["application/json"],
},
api_client=api_client,
)

self._get_deployment_rule_endpoint = _Endpoint(
settings={
"response_type": (DeploymentRuleResponse,),
Expand Down Expand Up @@ -326,6 +350,23 @@ def get_deployment_gate(

return self._get_deployment_gate_endpoint.call_with_http_info(**kwargs)

def get_deployment_gate_rules(
self,
gate_id: str,
) -> DeploymentGateRulesResponse:
"""Get rules for a deployment gate.

Endpoint to get rules for a deployment gate.

:param gate_id: The ID of the deployment gate.
:type gate_id: str
:rtype: DeploymentGateRulesResponse
"""
kwargs: Dict[str, Any] = {}
kwargs["gate_id"] = gate_id

return self._get_deployment_gate_rules_endpoint.call_with_http_info(**kwargs)

def get_deployment_rule(
self,
gate_id: str,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# 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.list_deployment_rule_response_data import ListDeploymentRuleResponseData


class DeploymentGateRulesResponse(ModelNormal):
@cached_property
def openapi_types(_):
from datadog_api_client.v2.model.list_deployment_rule_response_data import ListDeploymentRuleResponseData

return {
"data": (ListDeploymentRuleResponseData,),
}

attribute_map = {
"data": "data",
}

def __init__(self_, data: Union[ListDeploymentRuleResponseData, UnsetType] = unset, **kwargs):
"""
Response for a deployment gate rules.

:param data: Data for a list of deployment rules.
:type data: ListDeploymentRuleResponseData, optional
"""
if data is not unset:
kwargs["data"] = data
super().__init__(kwargs)
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# 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 TYPE_CHECKING

from datadog_api_client.model_utils import (
ModelNormal,
cached_property,
)


if TYPE_CHECKING:
from datadog_api_client.v2.model.list_deployment_rules_response_data_attributes import (
ListDeploymentRulesResponseDataAttributes,
)
from datadog_api_client.v2.model.list_deployment_rules_data_type import ListDeploymentRulesDataType


class ListDeploymentRuleResponseData(ModelNormal):
@cached_property
def openapi_types(_):
from datadog_api_client.v2.model.list_deployment_rules_response_data_attributes import (
ListDeploymentRulesResponseDataAttributes,
)
from datadog_api_client.v2.model.list_deployment_rules_data_type import ListDeploymentRulesDataType

return {
"attributes": (ListDeploymentRulesResponseDataAttributes,),
"id": (str,),
"type": (ListDeploymentRulesDataType,),
}

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

def __init__(
self_,
attributes: ListDeploymentRulesResponseDataAttributes,
id: str,
type: ListDeploymentRulesDataType,
**kwargs,
):
"""
Data for a list of deployment rules.

:param attributes:
:type attributes: ListDeploymentRulesResponseDataAttributes

:param id: Unique identifier of the deployment rule.
:type id: str

:param type: List deployment rule resource type.
:type type: ListDeploymentRulesDataType
"""
super().__init__(kwargs)

self_.attributes = attributes
self_.id = id
self_.type = type
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# 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 datadog_api_client.model_utils import (
ModelSimple,
cached_property,
)

from typing import ClassVar


class ListDeploymentRulesDataType(ModelSimple):
"""
List deployment rule resource type.

:param value: If omitted defaults to "list_deployment_rules". Must be one of ["list_deployment_rules"].
:type value: str
"""

allowed_values = {
"list_deployment_rules",
}
LIST_DEPLOYMENT_RULES: ClassVar["ListDeploymentRulesDataType"]

@cached_property
def openapi_types(_):
return {
"value": (str,),
}


ListDeploymentRulesDataType.LIST_DEPLOYMENT_RULES = ListDeploymentRulesDataType("list_deployment_rules")
Loading