-
Notifications
You must be signed in to change notification settings - Fork 53
Expand file tree
/
Copy pathtrigger.py
More file actions
131 lines (105 loc) · 6.9 KB
/
trigger.py
File metadata and controls
131 lines (105 loc) · 6.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# 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 (
ModelComposed,
cached_property,
)
class Trigger(ModelComposed):
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 start_step_names: A list of steps that run first after a trigger fires.
:type start_step_names: [str], optional
:param app_trigger: Trigger a workflow from an App.
:type app_trigger: dict
:param case_trigger: Trigger a workflow from a Case. For automatic triggering a handle must be configured and the workflow must be published.
:type case_trigger: CaseTrigger
:param change_event_trigger: Trigger a workflow from a Change Event.
:type change_event_trigger: dict
:param database_monitoring_trigger: Trigger a workflow from Database Monitoring.
:type database_monitoring_trigger: dict
:param datastore_trigger: Trigger a workflow from a Datastore. For automatic triggering a handle must be configured and the workflow must be published.
:type datastore_trigger: DatastoreTrigger
:param dashboard_trigger: Trigger a workflow from a Dashboard.
:type dashboard_trigger: dict
:param form_trigger: Trigger a workflow from a Form.
:type form_trigger: FormTrigger
:param github_webhook_trigger: Trigger a workflow from a GitHub webhook. To trigger a workflow from GitHub, you must set a `webhookSecret`. In your GitHub Webhook Settings, set the Payload URL to "base_url"/api/v2/workflows/"workflow_id"/webhook?orgId="org_id", select application/json for the content type, and be highly recommend enabling SSL verification for security. The workflow must be published.
:type github_webhook_trigger: GithubWebhookTrigger
:param incident_trigger: Trigger a workflow from an Incident. For automatic triggering a handle must be configured and the workflow must be published.
:type incident_trigger: IncidentTrigger
:param monitor_trigger: Trigger a workflow from a Monitor. For automatic triggering a handle must be configured and the workflow must be published.
:type monitor_trigger: MonitorTrigger
:param notebook_trigger: Trigger a workflow from a Notebook.
:type notebook_trigger: dict
:param on_call_trigger: Trigger a workflow from an On-Call Page or On-Call Handover. For automatic triggering a handle must be configured and the workflow must be published.
:type on_call_trigger: OnCallTrigger
:param schedule_trigger: Trigger a workflow from a Schedule. The workflow must be published.
:type schedule_trigger: ScheduleTrigger
:param security_trigger: Trigger a workflow from a Security Signal or Finding. For automatic triggering a handle must be configured and the workflow must be published.
:type security_trigger: SecurityTrigger
:param self_service_trigger: Trigger a workflow from Self Service.
:type self_service_trigger: dict
:param slack_trigger: Trigger a workflow from Slack. The workflow must be published.
:type slack_trigger: dict
:param software_catalog_trigger: Trigger a workflow from Software Catalog.
:type software_catalog_trigger: dict
:param workflow_trigger: Trigger a workflow from the Datadog UI. Only required if no other trigger exists.
:type workflow_trigger: dict
"""
super().__init__(kwargs)
@cached_property
def _composed_schemas(_):
# we need this here to make our import statements work
# we must store _composed_schemas in here so the code is only run
# when we invoke this method. If we kept this at the class
# level we would get an error because the class level
# 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.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
from datadog_api_client.v2.model.change_event_trigger_wrapper import ChangeEventTriggerWrapper
from datadog_api_client.v2.model.database_monitoring_trigger_wrapper import DatabaseMonitoringTriggerWrapper
from datadog_api_client.v2.model.datastore_trigger_wrapper import DatastoreTriggerWrapper
from datadog_api_client.v2.model.dashboard_trigger_wrapper import DashboardTriggerWrapper
from datadog_api_client.v2.model.form_trigger_wrapper import FormTriggerWrapper
from datadog_api_client.v2.model.github_webhook_trigger_wrapper import GithubWebhookTriggerWrapper
from datadog_api_client.v2.model.incident_trigger_wrapper import IncidentTriggerWrapper
from datadog_api_client.v2.model.monitor_trigger_wrapper import MonitorTriggerWrapper
from datadog_api_client.v2.model.notebook_trigger_wrapper import NotebookTriggerWrapper
from datadog_api_client.v2.model.on_call_trigger_wrapper import OnCallTriggerWrapper
from datadog_api_client.v2.model.schedule_trigger_wrapper import ScheduleTriggerWrapper
from datadog_api_client.v2.model.security_trigger_wrapper import SecurityTriggerWrapper
from datadog_api_client.v2.model.self_service_trigger_wrapper import SelfServiceTriggerWrapper
from datadog_api_client.v2.model.slack_trigger_wrapper import SlackTriggerWrapper
from datadog_api_client.v2.model.software_catalog_trigger_wrapper import SoftwareCatalogTriggerWrapper
from datadog_api_client.v2.model.workflow_trigger_wrapper import WorkflowTriggerWrapper
return {
"oneOf": [
APITriggerWrapper,
AppTriggerWrapper,
CaseTriggerWrapper,
ChangeEventTriggerWrapper,
DatabaseMonitoringTriggerWrapper,
DatastoreTriggerWrapper,
DashboardTriggerWrapper,
FormTriggerWrapper,
GithubWebhookTriggerWrapper,
IncidentTriggerWrapper,
MonitorTriggerWrapper,
NotebookTriggerWrapper,
OnCallTriggerWrapper,
ScheduleTriggerWrapper,
SecurityTriggerWrapper,
SelfServiceTriggerWrapper,
SlackTriggerWrapper,
SoftwareCatalogTriggerWrapper,
WorkflowTriggerWrapper,
],
}