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
17 changes: 17 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4591,6 +4591,22 @@ components:
- id
- base_severity
type: object
AgentTrigger:
description: "Trigger a workflow from an agent via the MCP execute tool. Workflow can be executed from Bits Chat, Bits Agent Builder, Claude Code, Codex, Cursor, and any other coding agent using the Datadog MCP."
properties:
rateLimit:
$ref: "#/components/schemas/TriggerRateLimit"
type: object
AgentTriggerWrapper:
description: "Schema for an agent-based trigger."
properties:
agentTrigger:
$ref: "#/components/schemas/AgentTrigger"
startStepNames:
$ref: "#/components/schemas/StartStepNames"
required:
- agentTrigger
type: object
AggregatedHighFrozenFrameRate:
description: Aggregated high frozen frame rate detection at view level.
properties:
Expand Down Expand Up @@ -114425,6 +114441,7 @@ components:
Trigger:
description: "One of the triggers that can start the execution of a workflow."
oneOf:
- $ref: "#/components/schemas/AgentTriggerWrapper"
- $ref: "#/components/schemas/APITriggerWrapper"
- $ref: "#/components/schemas/AppTriggerWrapper"
- $ref: "#/components/schemas/CaseTriggerWrapper"
Expand Down
14 changes: 14 additions & 0 deletions docs/datadog_api_client.v2.model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,20 @@ datadog\_api\_client.v2.model.advisory module
:members:
:show-inheritance:

datadog\_api\_client.v2.model.agent\_trigger module
---------------------------------------------------

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

datadog\_api\_client.v2.model.agent\_trigger\_wrapper module
------------------------------------------------------------

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

datadog\_api\_client.v2.model.aggregated\_high\_frozen\_frame\_rate module
--------------------------------------------------------------------------

Expand Down
42 changes: 42 additions & 0 deletions src/datadog_api_client/v2/model/agent_trigger.py
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.trigger_rate_limit import TriggerRateLimit


class AgentTrigger(ModelNormal):
@cached_property
def openapi_types(_):
from datadog_api_client.v2.model.trigger_rate_limit import TriggerRateLimit

return {
"rate_limit": (TriggerRateLimit,),
}

attribute_map = {
"rate_limit": "rateLimit",
}

def __init__(self_, rate_limit: Union[TriggerRateLimit, UnsetType] = unset, **kwargs):
"""
Trigger a workflow from an agent via the MCP execute tool. Workflow can be executed from Bits Chat, Bits Agent Builder, Claude Code, Codex, Cursor, and any other coding agent using the Datadog MCP.

:param rate_limit: Defines a rate limit for a trigger.
:type rate_limit: TriggerRateLimit, optional
"""
if rate_limit is not unset:
kwargs["rate_limit"] = rate_limit
super().__init__(kwargs)
49 changes: 49 additions & 0 deletions src/datadog_api_client/v2/model/agent_trigger_wrapper.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# 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 List, Union, TYPE_CHECKING

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


if TYPE_CHECKING:
from datadog_api_client.v2.model.agent_trigger import AgentTrigger


class AgentTriggerWrapper(ModelNormal):
@cached_property
def openapi_types(_):
from datadog_api_client.v2.model.agent_trigger import AgentTrigger

return {
"agent_trigger": (AgentTrigger,),
"start_step_names": ([str],),
}

attribute_map = {
"agent_trigger": "agentTrigger",
"start_step_names": "startStepNames",
}

def __init__(self_, agent_trigger: AgentTrigger, start_step_names: Union[List[str], UnsetType] = unset, **kwargs):
"""
Schema for an agent-based trigger.

:param agent_trigger: Trigger a workflow from an agent via the MCP execute tool. Workflow can be executed from Bits Chat, Bits Agent Builder, Claude Code, Codex, Cursor, and any other coding agent using the Datadog MCP.
:type agent_trigger: AgentTrigger

:param start_step_names: Names of existing workflow steps that run first after a trigger fires.
:type start_step_names: [str], optional
"""
if start_step_names is not unset:
kwargs["start_step_names"] = start_step_names
super().__init__(kwargs)

self_.agent_trigger = agent_trigger
2 changes: 2 additions & 0 deletions src/datadog_api_client/v2/model/spec.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
from datadog_api_client.v2.model.output_schema import OutputSchema
from datadog_api_client.v2.model.step import Step
from datadog_api_client.v2.model.trigger import Trigger
from datadog_api_client.v2.model.agent_trigger_wrapper import AgentTriggerWrapper
from datadog_api_client.v2.model.api_trigger_wrapper import APITriggerWrapper
from datadog_api_client.v2.model.app_trigger_wrapper import AppTriggerWrapper
from datadog_api_client.v2.model.case_trigger_wrapper import CaseTriggerWrapper
Expand Down Expand Up @@ -83,6 +84,7 @@ def __init__(
List[
Union[
Trigger,
AgentTriggerWrapper,
APITriggerWrapper,
AppTriggerWrapper,
CaseTriggerWrapper,
Expand Down
9 changes: 7 additions & 2 deletions src/datadog_api_client/v2/model/trigger.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,15 @@ def __init__(self, **kwargs):
"""
One of the triggers that can start the execution of a workflow.

:param api_trigger: Trigger a workflow from an API request. The workflow must be published.
:type api_trigger: APITrigger
:param agent_trigger: Trigger a workflow from an agent via the MCP execute tool. Workflow can be executed from Bits Chat, Bits Agent Builder, Claude Code, Codex, Cursor, and any other coding agent using the Datadog MCP.
:type agent_trigger: AgentTrigger

:param start_step_names: Names of existing workflow steps that run first after a trigger fires.
:type start_step_names: [str], optional

:param api_trigger: Trigger a workflow from an API request. The workflow must be published.
:type api_trigger: APITrigger

:param app_trigger: Trigger a workflow from an App.
:type app_trigger: dict

Expand Down Expand Up @@ -86,6 +89,7 @@ def _composed_schemas(_):
# code would be run when this module is imported, and these composed
# classes don't exist yet because their module has not finished
# loading
from datadog_api_client.v2.model.agent_trigger_wrapper import AgentTriggerWrapper
from datadog_api_client.v2.model.api_trigger_wrapper import APITriggerWrapper
from datadog_api_client.v2.model.app_trigger_wrapper import AppTriggerWrapper
from datadog_api_client.v2.model.case_trigger_wrapper import CaseTriggerWrapper
Expand All @@ -108,6 +112,7 @@ def _composed_schemas(_):

return {
"oneOf": [
AgentTriggerWrapper,
APITriggerWrapper,
AppTriggerWrapper,
CaseTriggerWrapper,
Expand Down
4 changes: 4 additions & 0 deletions src/datadog_api_client/v2/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,8 @@
from datadog_api_client.v2.model.active_billing_dimensions_type import ActiveBillingDimensionsType
from datadog_api_client.v2.model.add_member_team_request import AddMemberTeamRequest
from datadog_api_client.v2.model.advisory import Advisory
from datadog_api_client.v2.model.agent_trigger import AgentTrigger
from datadog_api_client.v2.model.agent_trigger_wrapper import AgentTriggerWrapper
from datadog_api_client.v2.model.aggregated_high_frozen_frame_rate import AggregatedHighFrozenFrameRate
from datadog_api_client.v2.model.aggregated_high_script_eval import AggregatedHighScriptEval
from datadog_api_client.v2.model.aggregated_long_tasks_by_invoker_type import AggregatedLongTasksByInvokerType
Expand Down Expand Up @@ -10762,6 +10764,8 @@
"ActiveBillingDimensionsType",
"AddMemberTeamRequest",
"Advisory",
"AgentTrigger",
"AgentTriggerWrapper",
"AggregatedHighFrozenFrameRate",
"AggregatedHighScriptEval",
"AggregatedLongTasksByInvokerType",
Expand Down
Loading