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
13 changes: 13 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -87680,13 +87680,26 @@ components:
ScheduleTrigger:
description: "Trigger a workflow from a Schedule. The workflow must be published."
properties:
overlapBehavior:
$ref: "#/components/schemas/ScheduleTriggerOverlapBehavior"
rruleExpression:
description: "Recurrence rule expression for scheduling."
example: ""
type: string
required:
- rruleExpression
type: object
ScheduleTriggerOverlapBehavior:
default: EXCLUSIVE_RUN
description: Controls whether a scheduled workflow run may start while another instance is still running.
enum:
- EXCLUSIVE_RUN
- OVERLAP_ALLOWED
example: EXCLUSIVE_RUN
type: string
x-enum-varnames:
- EXCLUSIVE_RUN
- OVERLAP_ALLOWED
ScheduleTriggerWrapper:
description: "Schema for a Schedule-based trigger."
properties:
Expand Down
7 changes: 7 additions & 0 deletions docs/datadog_api_client.v2.model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37377,6 +37377,13 @@ datadog\_api\_client.v2.model.schedule\_trigger module
:members:
:show-inheritance:

datadog\_api\_client.v2.model.schedule\_trigger\_overlap\_behavior module
-------------------------------------------------------------------------

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

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

Expand Down
23 changes: 22 additions & 1 deletion src/datadog_api_client/v2/model/schedule_trigger.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,52 @@
# 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.schedule_trigger_overlap_behavior import ScheduleTriggerOverlapBehavior


class ScheduleTrigger(ModelNormal):
@cached_property
def openapi_types(_):
from datadog_api_client.v2.model.schedule_trigger_overlap_behavior import ScheduleTriggerOverlapBehavior

return {
"overlap_behavior": (ScheduleTriggerOverlapBehavior,),
"rrule_expression": (str,),
}

attribute_map = {
"overlap_behavior": "overlapBehavior",
"rrule_expression": "rruleExpression",
}

def __init__(self_, rrule_expression: str, **kwargs):
def __init__(
self_,
rrule_expression: str,
overlap_behavior: Union[ScheduleTriggerOverlapBehavior, UnsetType] = unset,
**kwargs,
):
"""
Trigger a workflow from a Schedule. The workflow must be published.

:param overlap_behavior: Controls whether a scheduled workflow run may start while another instance is still running.
:type overlap_behavior: ScheduleTriggerOverlapBehavior, optional

:param rrule_expression: Recurrence rule expression for scheduling.
:type rrule_expression: str
"""
if overlap_behavior is not unset:
kwargs["overlap_behavior"] = overlap_behavior
super().__init__(kwargs)

self_.rrule_expression = rrule_expression
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# 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 ScheduleTriggerOverlapBehavior(ModelSimple):
"""
Controls whether a scheduled workflow run may start while another instance is still running.

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

allowed_values = {
"EXCLUSIVE_RUN",
"OVERLAP_ALLOWED",
}
EXCLUSIVE_RUN: ClassVar["ScheduleTriggerOverlapBehavior"]
OVERLAP_ALLOWED: ClassVar["ScheduleTriggerOverlapBehavior"]

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


ScheduleTriggerOverlapBehavior.EXCLUSIVE_RUN = ScheduleTriggerOverlapBehavior("EXCLUSIVE_RUN")
ScheduleTriggerOverlapBehavior.OVERLAP_ALLOWED = ScheduleTriggerOverlapBehavior("OVERLAP_ALLOWED")
2 changes: 2 additions & 0 deletions src/datadog_api_client/v2/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7434,6 +7434,7 @@
from datadog_api_client.v2.model.schedule_target_position import ScheduleTargetPosition
from datadog_api_client.v2.model.schedule_target_type import ScheduleTargetType
from datadog_api_client.v2.model.schedule_trigger import ScheduleTrigger
from datadog_api_client.v2.model.schedule_trigger_overlap_behavior import ScheduleTriggerOverlapBehavior
from datadog_api_client.v2.model.schedule_trigger_wrapper import ScheduleTriggerWrapper
from datadog_api_client.v2.model.schedule_update_request import ScheduleUpdateRequest
from datadog_api_client.v2.model.schedule_update_request_data import ScheduleUpdateRequestData
Expand Down Expand Up @@ -15298,6 +15299,7 @@
"ScheduleTargetPosition",
"ScheduleTargetType",
"ScheduleTrigger",
"ScheduleTriggerOverlapBehavior",
"ScheduleTriggerWrapper",
"ScheduleUpdateRequest",
"ScheduleUpdateRequestData",
Expand Down
Loading