Skip to content

Commit 8b28a19

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Workflow Automation - Add Form Trigger (DataDog#3728)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent 10b76d6 commit 8b28a19

4 files changed

Lines changed: 298 additions & 0 deletions

File tree

.generator/schemas/v2/openapi.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26516,6 +26516,24 @@ components:
2651626516
required:
2651726517
- data
2651826518
type: object
26519+
FormTrigger:
26520+
description: Trigger a workflow from a Form.
26521+
properties:
26522+
formId:
26523+
description: The form UUID.
26524+
example: ''
26525+
type: string
26526+
type: object
26527+
FormTriggerWrapper:
26528+
description: Schema for a Form-based trigger.
26529+
properties:
26530+
formTrigger:
26531+
$ref: '#/components/schemas/FormTrigger'
26532+
startStepNames:
26533+
$ref: '#/components/schemas/StartStepNames'
26534+
required:
26535+
- formTrigger
26536+
type: object
2651926537
FormulaLimit:
2652026538
description: 'Message for specifying limits to the number of values returned
2652126539
by a query.
@@ -66222,6 +66240,7 @@ components:
6622266240
- $ref: '#/components/schemas/DatabaseMonitoringTriggerWrapper'
6622366241
- $ref: '#/components/schemas/DatastoreTriggerWrapper'
6622466242
- $ref: '#/components/schemas/DashboardTriggerWrapper'
66243+
- $ref: '#/components/schemas/FormTriggerWrapper'
6622566244
- $ref: '#/components/schemas/GithubWebhookTriggerWrapper'
6622666245
- $ref: '#/components/schemas/IncidentTriggerWrapper'
6622766246
- $ref: '#/components/schemas/MonitorTriggerWrapper'
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
// Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
// This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
// Copyright 2019-Present Datadog, Inc.
4+
5+
package datadogV2
6+
7+
import (
8+
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
9+
)
10+
11+
// FormTrigger Trigger a workflow from a Form.
12+
type FormTrigger struct {
13+
// The form UUID.
14+
FormId *string `json:"formId,omitempty"`
15+
// UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct
16+
UnparsedObject map[string]interface{} `json:"-"`
17+
AdditionalProperties map[string]interface{} `json:"-"`
18+
}
19+
20+
// NewFormTrigger instantiates a new FormTrigger object.
21+
// This constructor will assign default values to properties that have it defined,
22+
// and makes sure properties required by API are set, but the set of arguments
23+
// will change when the set of required properties is changed.
24+
func NewFormTrigger() *FormTrigger {
25+
this := FormTrigger{}
26+
return &this
27+
}
28+
29+
// NewFormTriggerWithDefaults instantiates a new FormTrigger object.
30+
// This constructor will only assign default values to properties that have it defined,
31+
// but it doesn't guarantee that properties required by API are set.
32+
func NewFormTriggerWithDefaults() *FormTrigger {
33+
this := FormTrigger{}
34+
return &this
35+
}
36+
37+
// GetFormId returns the FormId field value if set, zero value otherwise.
38+
func (o *FormTrigger) GetFormId() string {
39+
if o == nil || o.FormId == nil {
40+
var ret string
41+
return ret
42+
}
43+
return *o.FormId
44+
}
45+
46+
// GetFormIdOk returns a tuple with the FormId field value if set, nil otherwise
47+
// and a boolean to check if the value has been set.
48+
func (o *FormTrigger) GetFormIdOk() (*string, bool) {
49+
if o == nil || o.FormId == nil {
50+
return nil, false
51+
}
52+
return o.FormId, true
53+
}
54+
55+
// HasFormId returns a boolean if a field has been set.
56+
func (o *FormTrigger) HasFormId() bool {
57+
return o != nil && o.FormId != nil
58+
}
59+
60+
// SetFormId gets a reference to the given string and assigns it to the FormId field.
61+
func (o *FormTrigger) SetFormId(v string) {
62+
o.FormId = &v
63+
}
64+
65+
// MarshalJSON serializes the struct using spec logic.
66+
func (o FormTrigger) MarshalJSON() ([]byte, error) {
67+
toSerialize := map[string]interface{}{}
68+
if o.UnparsedObject != nil {
69+
return datadog.Marshal(o.UnparsedObject)
70+
}
71+
if o.FormId != nil {
72+
toSerialize["formId"] = o.FormId
73+
}
74+
75+
for key, value := range o.AdditionalProperties {
76+
toSerialize[key] = value
77+
}
78+
return datadog.Marshal(toSerialize)
79+
}
80+
81+
// UnmarshalJSON deserializes the given payload.
82+
func (o *FormTrigger) UnmarshalJSON(bytes []byte) (err error) {
83+
all := struct {
84+
FormId *string `json:"formId,omitempty"`
85+
}{}
86+
if err = datadog.Unmarshal(bytes, &all); err != nil {
87+
return datadog.Unmarshal(bytes, &o.UnparsedObject)
88+
}
89+
additionalProperties := make(map[string]interface{})
90+
if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil {
91+
datadog.DeleteKeys(additionalProperties, &[]string{"formId"})
92+
} else {
93+
return err
94+
}
95+
o.FormId = all.FormId
96+
97+
if len(additionalProperties) > 0 {
98+
o.AdditionalProperties = additionalProperties
99+
}
100+
101+
return nil
102+
}
Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
// Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
// This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
// Copyright 2019-Present Datadog, Inc.
4+
5+
package datadogV2
6+
7+
import (
8+
"fmt"
9+
10+
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
11+
)
12+
13+
// FormTriggerWrapper Schema for a Form-based trigger.
14+
type FormTriggerWrapper struct {
15+
// Trigger a workflow from a Form.
16+
FormTrigger FormTrigger `json:"formTrigger"`
17+
// A list of steps that run first after a trigger fires.
18+
StartStepNames []string `json:"startStepNames,omitempty"`
19+
// UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct
20+
UnparsedObject map[string]interface{} `json:"-"`
21+
AdditionalProperties map[string]interface{} `json:"-"`
22+
}
23+
24+
// NewFormTriggerWrapper instantiates a new FormTriggerWrapper object.
25+
// This constructor will assign default values to properties that have it defined,
26+
// and makes sure properties required by API are set, but the set of arguments
27+
// will change when the set of required properties is changed.
28+
func NewFormTriggerWrapper(formTrigger FormTrigger) *FormTriggerWrapper {
29+
this := FormTriggerWrapper{}
30+
this.FormTrigger = formTrigger
31+
return &this
32+
}
33+
34+
// NewFormTriggerWrapperWithDefaults instantiates a new FormTriggerWrapper object.
35+
// This constructor will only assign default values to properties that have it defined,
36+
// but it doesn't guarantee that properties required by API are set.
37+
func NewFormTriggerWrapperWithDefaults() *FormTriggerWrapper {
38+
this := FormTriggerWrapper{}
39+
return &this
40+
}
41+
42+
// GetFormTrigger returns the FormTrigger field value.
43+
func (o *FormTriggerWrapper) GetFormTrigger() FormTrigger {
44+
if o == nil {
45+
var ret FormTrigger
46+
return ret
47+
}
48+
return o.FormTrigger
49+
}
50+
51+
// GetFormTriggerOk returns a tuple with the FormTrigger field value
52+
// and a boolean to check if the value has been set.
53+
func (o *FormTriggerWrapper) GetFormTriggerOk() (*FormTrigger, bool) {
54+
if o == nil {
55+
return nil, false
56+
}
57+
return &o.FormTrigger, true
58+
}
59+
60+
// SetFormTrigger sets field value.
61+
func (o *FormTriggerWrapper) SetFormTrigger(v FormTrigger) {
62+
o.FormTrigger = v
63+
}
64+
65+
// GetStartStepNames returns the StartStepNames field value if set, zero value otherwise.
66+
func (o *FormTriggerWrapper) GetStartStepNames() []string {
67+
if o == nil || o.StartStepNames == nil {
68+
var ret []string
69+
return ret
70+
}
71+
return o.StartStepNames
72+
}
73+
74+
// GetStartStepNamesOk returns a tuple with the StartStepNames field value if set, nil otherwise
75+
// and a boolean to check if the value has been set.
76+
func (o *FormTriggerWrapper) GetStartStepNamesOk() (*[]string, bool) {
77+
if o == nil || o.StartStepNames == nil {
78+
return nil, false
79+
}
80+
return &o.StartStepNames, true
81+
}
82+
83+
// HasStartStepNames returns a boolean if a field has been set.
84+
func (o *FormTriggerWrapper) HasStartStepNames() bool {
85+
return o != nil && o.StartStepNames != nil
86+
}
87+
88+
// SetStartStepNames gets a reference to the given []string and assigns it to the StartStepNames field.
89+
func (o *FormTriggerWrapper) SetStartStepNames(v []string) {
90+
o.StartStepNames = v
91+
}
92+
93+
// MarshalJSON serializes the struct using spec logic.
94+
func (o FormTriggerWrapper) MarshalJSON() ([]byte, error) {
95+
toSerialize := map[string]interface{}{}
96+
if o.UnparsedObject != nil {
97+
return datadog.Marshal(o.UnparsedObject)
98+
}
99+
toSerialize["formTrigger"] = o.FormTrigger
100+
if o.StartStepNames != nil {
101+
toSerialize["startStepNames"] = o.StartStepNames
102+
}
103+
104+
for key, value := range o.AdditionalProperties {
105+
toSerialize[key] = value
106+
}
107+
return datadog.Marshal(toSerialize)
108+
}
109+
110+
// UnmarshalJSON deserializes the given payload.
111+
func (o *FormTriggerWrapper) UnmarshalJSON(bytes []byte) (err error) {
112+
all := struct {
113+
FormTrigger *FormTrigger `json:"formTrigger"`
114+
StartStepNames []string `json:"startStepNames,omitempty"`
115+
}{}
116+
if err = datadog.Unmarshal(bytes, &all); err != nil {
117+
return datadog.Unmarshal(bytes, &o.UnparsedObject)
118+
}
119+
if all.FormTrigger == nil {
120+
return fmt.Errorf("required field formTrigger missing")
121+
}
122+
additionalProperties := make(map[string]interface{})
123+
if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil {
124+
datadog.DeleteKeys(additionalProperties, &[]string{"formTrigger", "startStepNames"})
125+
} else {
126+
return err
127+
}
128+
129+
hasInvalidField := false
130+
if all.FormTrigger.UnparsedObject != nil && o.UnparsedObject == nil {
131+
hasInvalidField = true
132+
}
133+
o.FormTrigger = *all.FormTrigger
134+
o.StartStepNames = all.StartStepNames
135+
136+
if len(additionalProperties) > 0 {
137+
o.AdditionalProperties = additionalProperties
138+
}
139+
140+
if hasInvalidField {
141+
return datadog.Unmarshal(bytes, &o.UnparsedObject)
142+
}
143+
144+
return nil
145+
}

api/datadogV2/model_trigger.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ type Trigger struct {
1717
DatabaseMonitoringTriggerWrapper *DatabaseMonitoringTriggerWrapper
1818
DatastoreTriggerWrapper *DatastoreTriggerWrapper
1919
DashboardTriggerWrapper *DashboardTriggerWrapper
20+
FormTriggerWrapper *FormTriggerWrapper
2021
GithubWebhookTriggerWrapper *GithubWebhookTriggerWrapper
2122
IncidentTriggerWrapper *IncidentTriggerWrapper
2223
MonitorTriggerWrapper *MonitorTriggerWrapper
@@ -68,6 +69,11 @@ func DashboardTriggerWrapperAsTrigger(v *DashboardTriggerWrapper) Trigger {
6869
return Trigger{DashboardTriggerWrapper: v}
6970
}
7071

72+
// FormTriggerWrapperAsTrigger is a convenience function that returns FormTriggerWrapper wrapped in Trigger.
73+
func FormTriggerWrapperAsTrigger(v *FormTriggerWrapper) Trigger {
74+
return Trigger{FormTriggerWrapper: v}
75+
}
76+
7177
// GithubWebhookTriggerWrapperAsTrigger is a convenience function that returns GithubWebhookTriggerWrapper wrapped in Trigger.
7278
func GithubWebhookTriggerWrapperAsTrigger(v *GithubWebhookTriggerWrapper) Trigger {
7379
return Trigger{GithubWebhookTriggerWrapper: v}
@@ -246,6 +252,23 @@ func (obj *Trigger) UnmarshalJSON(data []byte) error {
246252
obj.DashboardTriggerWrapper = nil
247253
}
248254

255+
// try to unmarshal data into FormTriggerWrapper
256+
err = datadog.Unmarshal(data, &obj.FormTriggerWrapper)
257+
if err == nil {
258+
if obj.FormTriggerWrapper != nil && obj.FormTriggerWrapper.UnparsedObject == nil {
259+
jsonFormTriggerWrapper, _ := datadog.Marshal(obj.FormTriggerWrapper)
260+
if string(jsonFormTriggerWrapper) == "{}" { // empty struct
261+
obj.FormTriggerWrapper = nil
262+
} else {
263+
match++
264+
}
265+
} else {
266+
obj.FormTriggerWrapper = nil
267+
}
268+
} else {
269+
obj.FormTriggerWrapper = nil
270+
}
271+
249272
// try to unmarshal data into GithubWebhookTriggerWrapper
250273
err = datadog.Unmarshal(data, &obj.GithubWebhookTriggerWrapper)
251274
if err == nil {
@@ -442,6 +465,7 @@ func (obj *Trigger) UnmarshalJSON(data []byte) error {
442465
obj.DatabaseMonitoringTriggerWrapper = nil
443466
obj.DatastoreTriggerWrapper = nil
444467
obj.DashboardTriggerWrapper = nil
468+
obj.FormTriggerWrapper = nil
445469
obj.GithubWebhookTriggerWrapper = nil
446470
obj.IncidentTriggerWrapper = nil
447471
obj.MonitorTriggerWrapper = nil
@@ -488,6 +512,10 @@ func (obj Trigger) MarshalJSON() ([]byte, error) {
488512
return datadog.Marshal(&obj.DashboardTriggerWrapper)
489513
}
490514

515+
if obj.FormTriggerWrapper != nil {
516+
return datadog.Marshal(&obj.FormTriggerWrapper)
517+
}
518+
491519
if obj.GithubWebhookTriggerWrapper != nil {
492520
return datadog.Marshal(&obj.GithubWebhookTriggerWrapper)
493521
}
@@ -568,6 +596,10 @@ func (obj *Trigger) GetActualInstance() interface{} {
568596
return obj.DashboardTriggerWrapper
569597
}
570598

599+
if obj.FormTriggerWrapper != nil {
600+
return obj.FormTriggerWrapper
601+
}
602+
571603
if obj.GithubWebhookTriggerWrapper != nil {
572604
return obj.GithubWebhookTriggerWrapper
573605
}

0 commit comments

Comments
 (0)