-
Notifications
You must be signed in to change notification settings - Fork 12
/
createtriggerrequest.go
126 lines (86 loc) · 3.52 KB
/
createtriggerrequest.go
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
package platformclientv2
import (
"github.com/leekchan/timeutil"
"encoding/json"
"strconv"
"strings"
)
// Createtriggerrequest
type Createtriggerrequest struct {
// Target - The target to invoke when a matching event is received
Target *Triggertarget `json:"target,omitempty"`
// Enabled - Boolean indicating if Trigger is enabled
Enabled *bool `json:"enabled,omitempty"`
// MatchCriteria - The configuration for when a trigger is considered to be a match for an event. When not provided, all events will fire the trigger
MatchCriteria *[]Matchcriteria `json:"matchCriteria,omitempty"`
// Name - The name of the trigger
Name *string `json:"name,omitempty"`
// TopicName - The topic that will cause the trigger to be invoked. Cannot be updated after creation. Valid topics can be found at /processautomation/triggers/topics
TopicName *string `json:"topicName,omitempty"`
// EventTTLSeconds - How long each event is meaningful after origination, in seconds. Events older than this threshold may be dropped if the platform is delayed in processing events. Unset means events are valid indefinitely.
EventTTLSeconds *int `json:"eventTTLSeconds,omitempty"`
// Description - Description of the trigger. Can be up to 512 characters in length.
Description *string `json:"description,omitempty"`
}
func (o *Createtriggerrequest) MarshalJSON() ([]byte, error) {
// Redundant initialization to avoid unused import errors for models with no Time values
_ = timeutil.Timedelta{}
type Alias Createtriggerrequest
return json.Marshal(&struct {
Target *Triggertarget `json:"target,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
MatchCriteria *[]Matchcriteria `json:"matchCriteria,omitempty"`
Name *string `json:"name,omitempty"`
TopicName *string `json:"topicName,omitempty"`
EventTTLSeconds *int `json:"eventTTLSeconds,omitempty"`
Description *string `json:"description,omitempty"`
*Alias
}{
Target: o.Target,
Enabled: o.Enabled,
MatchCriteria: o.MatchCriteria,
Name: o.Name,
TopicName: o.TopicName,
EventTTLSeconds: o.EventTTLSeconds,
Description: o.Description,
Alias: (*Alias)(o),
})
}
func (o *Createtriggerrequest) UnmarshalJSON(b []byte) error {
var CreatetriggerrequestMap map[string]interface{}
err := json.Unmarshal(b, &CreatetriggerrequestMap)
if err != nil {
return err
}
if Target, ok := CreatetriggerrequestMap["target"].(map[string]interface{}); ok {
TargetString, _ := json.Marshal(Target)
json.Unmarshal(TargetString, &o.Target)
}
if Enabled, ok := CreatetriggerrequestMap["enabled"].(bool); ok {
o.Enabled = &Enabled
}
if MatchCriteria, ok := CreatetriggerrequestMap["matchCriteria"].([]interface{}); ok {
MatchCriteriaString, _ := json.Marshal(MatchCriteria)
json.Unmarshal(MatchCriteriaString, &o.MatchCriteria)
}
if Name, ok := CreatetriggerrequestMap["name"].(string); ok {
o.Name = &Name
}
if TopicName, ok := CreatetriggerrequestMap["topicName"].(string); ok {
o.TopicName = &TopicName
}
if EventTTLSeconds, ok := CreatetriggerrequestMap["eventTTLSeconds"].(float64); ok {
EventTTLSecondsInt := int(EventTTLSeconds)
o.EventTTLSeconds = &EventTTLSecondsInt
}
if Description, ok := CreatetriggerrequestMap["description"].(string); ok {
o.Description = &Description
}
return nil
}
// String returns a JSON representation of the model
func (o *Createtriggerrequest) String() string {
j, _ := json.Marshal(o)
str, _ := strconv.Unquote(strings.Replace(strconv.Quote(string(j)), `\\u`, `\u`, -1))
return str
}