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
18 changes: 18 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14697,6 +14697,23 @@ components:
x-enum-varnames:
- NONE
- UUID
DatastoreTrigger:
description: Trigger a workflow from a Datastore. For automatic triggering a
handle must be configured and the workflow must be published.
properties:
rateLimit:
$ref: '#/components/schemas/TriggerRateLimit'
type: object
DatastoreTriggerWrapper:
description: Schema for a Datastore-based trigger.
properties:
datastoreTrigger:
$ref: '#/components/schemas/DatastoreTrigger'
startStepNames:
$ref: '#/components/schemas/StartStepNames'
required:
- datastoreTrigger
type: object
Date:
description: Date as Unix timestamp in milliseconds.
example: 1722439510282
Expand Down Expand Up @@ -47710,6 +47727,7 @@ components:
- $ref: '#/components/schemas/CaseTriggerWrapper'
- $ref: '#/components/schemas/ChangeEventTriggerWrapper'
- $ref: '#/components/schemas/DatabaseMonitoringTriggerWrapper'
- $ref: '#/components/schemas/DatastoreTriggerWrapper'
- $ref: '#/components/schemas/DashboardTriggerWrapper'
- $ref: '#/components/schemas/GithubWebhookTriggerWrapper'
- $ref: '#/components/schemas/IncidentTriggerWrapper'
Expand Down
111 changes: 111 additions & 0 deletions api/datadogV2/model_datastore_trigger.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
// 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.

package datadogV2

import (
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
)

// DatastoreTrigger Trigger a workflow from a Datastore. For automatic triggering a handle must be configured and the workflow must be published.
type DatastoreTrigger struct {
// Defines a rate limit for a trigger.
RateLimit *TriggerRateLimit `json:"rateLimit,omitempty"`
// UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct
UnparsedObject map[string]interface{} `json:"-"`
AdditionalProperties map[string]interface{} `json:"-"`
}

// NewDatastoreTrigger instantiates a new DatastoreTrigger object.
// This constructor will assign default values to properties that have it defined,
// and makes sure properties required by API are set, but the set of arguments
// will change when the set of required properties is changed.
func NewDatastoreTrigger() *DatastoreTrigger {
this := DatastoreTrigger{}
return &this
}

// NewDatastoreTriggerWithDefaults instantiates a new DatastoreTrigger object.
// This constructor will only assign default values to properties that have it defined,
// but it doesn't guarantee that properties required by API are set.
func NewDatastoreTriggerWithDefaults() *DatastoreTrigger {
this := DatastoreTrigger{}
return &this
}

// GetRateLimit returns the RateLimit field value if set, zero value otherwise.
func (o *DatastoreTrigger) GetRateLimit() TriggerRateLimit {
if o == nil || o.RateLimit == nil {
var ret TriggerRateLimit
return ret
}
return *o.RateLimit
}

// GetRateLimitOk returns a tuple with the RateLimit field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *DatastoreTrigger) GetRateLimitOk() (*TriggerRateLimit, bool) {
if o == nil || o.RateLimit == nil {
return nil, false
}
return o.RateLimit, true
}

// HasRateLimit returns a boolean if a field has been set.
func (o *DatastoreTrigger) HasRateLimit() bool {
return o != nil && o.RateLimit != nil
}

// SetRateLimit gets a reference to the given TriggerRateLimit and assigns it to the RateLimit field.
func (o *DatastoreTrigger) SetRateLimit(v TriggerRateLimit) {
o.RateLimit = &v
}

// MarshalJSON serializes the struct using spec logic.
func (o DatastoreTrigger) MarshalJSON() ([]byte, error) {
toSerialize := map[string]interface{}{}
if o.UnparsedObject != nil {
return datadog.Marshal(o.UnparsedObject)
}
if o.RateLimit != nil {
toSerialize["rateLimit"] = o.RateLimit
}

for key, value := range o.AdditionalProperties {
toSerialize[key] = value
}
return datadog.Marshal(toSerialize)
}

// UnmarshalJSON deserializes the given payload.
func (o *DatastoreTrigger) UnmarshalJSON(bytes []byte) (err error) {
all := struct {
RateLimit *TriggerRateLimit `json:"rateLimit,omitempty"`
}{}
if err = datadog.Unmarshal(bytes, &all); err != nil {
return datadog.Unmarshal(bytes, &o.UnparsedObject)
}
additionalProperties := make(map[string]interface{})
if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil {
datadog.DeleteKeys(additionalProperties, &[]string{"rateLimit"})
} else {
return err
}

hasInvalidField := false
if all.RateLimit != nil && all.RateLimit.UnparsedObject != nil && o.UnparsedObject == nil {
hasInvalidField = true
}
o.RateLimit = all.RateLimit

if len(additionalProperties) > 0 {
o.AdditionalProperties = additionalProperties
}

if hasInvalidField {
return datadog.Unmarshal(bytes, &o.UnparsedObject)
}

return nil
}
145 changes: 145 additions & 0 deletions api/datadogV2/model_datastore_trigger_wrapper.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
// 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.

package datadogV2

import (
"fmt"

"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
)

// DatastoreTriggerWrapper Schema for a Datastore-based trigger.
type DatastoreTriggerWrapper struct {
// Trigger a workflow from a Datastore. For automatic triggering a handle must be configured and the workflow must be published.
DatastoreTrigger DatastoreTrigger `json:"datastoreTrigger"`
// A list of steps that run first after a trigger fires.
StartStepNames []string `json:"startStepNames,omitempty"`
// UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct
UnparsedObject map[string]interface{} `json:"-"`
AdditionalProperties map[string]interface{} `json:"-"`
}

// NewDatastoreTriggerWrapper instantiates a new DatastoreTriggerWrapper object.
// This constructor will assign default values to properties that have it defined,
// and makes sure properties required by API are set, but the set of arguments
// will change when the set of required properties is changed.
func NewDatastoreTriggerWrapper(datastoreTrigger DatastoreTrigger) *DatastoreTriggerWrapper {
this := DatastoreTriggerWrapper{}
this.DatastoreTrigger = datastoreTrigger
return &this
}

// NewDatastoreTriggerWrapperWithDefaults instantiates a new DatastoreTriggerWrapper object.
// This constructor will only assign default values to properties that have it defined,
// but it doesn't guarantee that properties required by API are set.
func NewDatastoreTriggerWrapperWithDefaults() *DatastoreTriggerWrapper {
this := DatastoreTriggerWrapper{}
return &this
}

// GetDatastoreTrigger returns the DatastoreTrigger field value.
func (o *DatastoreTriggerWrapper) GetDatastoreTrigger() DatastoreTrigger {
if o == nil {
var ret DatastoreTrigger
return ret
}
return o.DatastoreTrigger
}

// GetDatastoreTriggerOk returns a tuple with the DatastoreTrigger field value
// and a boolean to check if the value has been set.
func (o *DatastoreTriggerWrapper) GetDatastoreTriggerOk() (*DatastoreTrigger, bool) {
if o == nil {
return nil, false
}
return &o.DatastoreTrigger, true
}

// SetDatastoreTrigger sets field value.
func (o *DatastoreTriggerWrapper) SetDatastoreTrigger(v DatastoreTrigger) {
o.DatastoreTrigger = v
}

// GetStartStepNames returns the StartStepNames field value if set, zero value otherwise.
func (o *DatastoreTriggerWrapper) GetStartStepNames() []string {
if o == nil || o.StartStepNames == nil {
var ret []string
return ret
}
return o.StartStepNames
}

// GetStartStepNamesOk returns a tuple with the StartStepNames field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *DatastoreTriggerWrapper) GetStartStepNamesOk() (*[]string, bool) {
if o == nil || o.StartStepNames == nil {
return nil, false
}
return &o.StartStepNames, true
}

// HasStartStepNames returns a boolean if a field has been set.
func (o *DatastoreTriggerWrapper) HasStartStepNames() bool {
return o != nil && o.StartStepNames != nil
}

// SetStartStepNames gets a reference to the given []string and assigns it to the StartStepNames field.
func (o *DatastoreTriggerWrapper) SetStartStepNames(v []string) {
o.StartStepNames = v
}

// MarshalJSON serializes the struct using spec logic.
func (o DatastoreTriggerWrapper) MarshalJSON() ([]byte, error) {
toSerialize := map[string]interface{}{}
if o.UnparsedObject != nil {
return datadog.Marshal(o.UnparsedObject)
}
toSerialize["datastoreTrigger"] = o.DatastoreTrigger
if o.StartStepNames != nil {
toSerialize["startStepNames"] = o.StartStepNames
}

for key, value := range o.AdditionalProperties {
toSerialize[key] = value
}
return datadog.Marshal(toSerialize)
}

// UnmarshalJSON deserializes the given payload.
func (o *DatastoreTriggerWrapper) UnmarshalJSON(bytes []byte) (err error) {
all := struct {
DatastoreTrigger *DatastoreTrigger `json:"datastoreTrigger"`
StartStepNames []string `json:"startStepNames,omitempty"`
}{}
if err = datadog.Unmarshal(bytes, &all); err != nil {
return datadog.Unmarshal(bytes, &o.UnparsedObject)
}
if all.DatastoreTrigger == nil {
return fmt.Errorf("required field datastoreTrigger missing")
}
additionalProperties := make(map[string]interface{})
if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil {
datadog.DeleteKeys(additionalProperties, &[]string{"datastoreTrigger", "startStepNames"})
} else {
return err
}

hasInvalidField := false
if all.DatastoreTrigger.UnparsedObject != nil && o.UnparsedObject == nil {
hasInvalidField = true
}
o.DatastoreTrigger = *all.DatastoreTrigger
o.StartStepNames = all.StartStepNames

if len(additionalProperties) > 0 {
o.AdditionalProperties = additionalProperties
}

if hasInvalidField {
return datadog.Unmarshal(bytes, &o.UnparsedObject)
}

return nil
}
32 changes: 32 additions & 0 deletions api/datadogV2/model_trigger.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ type Trigger struct {
CaseTriggerWrapper *CaseTriggerWrapper
ChangeEventTriggerWrapper *ChangeEventTriggerWrapper
DatabaseMonitoringTriggerWrapper *DatabaseMonitoringTriggerWrapper
DatastoreTriggerWrapper *DatastoreTriggerWrapper
DashboardTriggerWrapper *DashboardTriggerWrapper
GithubWebhookTriggerWrapper *GithubWebhookTriggerWrapper
IncidentTriggerWrapper *IncidentTriggerWrapper
Expand Down Expand Up @@ -56,6 +57,11 @@ func DatabaseMonitoringTriggerWrapperAsTrigger(v *DatabaseMonitoringTriggerWrapp
return Trigger{DatabaseMonitoringTriggerWrapper: v}
}

// DatastoreTriggerWrapperAsTrigger is a convenience function that returns DatastoreTriggerWrapper wrapped in Trigger.
func DatastoreTriggerWrapperAsTrigger(v *DatastoreTriggerWrapper) Trigger {
return Trigger{DatastoreTriggerWrapper: v}
}

// DashboardTriggerWrapperAsTrigger is a convenience function that returns DashboardTriggerWrapper wrapped in Trigger.
func DashboardTriggerWrapperAsTrigger(v *DashboardTriggerWrapper) Trigger {
return Trigger{DashboardTriggerWrapper: v}
Expand Down Expand Up @@ -200,6 +206,23 @@ func (obj *Trigger) UnmarshalJSON(data []byte) error {
obj.DatabaseMonitoringTriggerWrapper = nil
}

// try to unmarshal data into DatastoreTriggerWrapper
err = datadog.Unmarshal(data, &obj.DatastoreTriggerWrapper)
if err == nil {
if obj.DatastoreTriggerWrapper != nil && obj.DatastoreTriggerWrapper.UnparsedObject == nil {
jsonDatastoreTriggerWrapper, _ := datadog.Marshal(obj.DatastoreTriggerWrapper)
if string(jsonDatastoreTriggerWrapper) == "{}" { // empty struct
obj.DatastoreTriggerWrapper = nil
} else {
match++
}
} else {
obj.DatastoreTriggerWrapper = nil
}
} else {
obj.DatastoreTriggerWrapper = nil
}

// try to unmarshal data into DashboardTriggerWrapper
err = datadog.Unmarshal(data, &obj.DashboardTriggerWrapper)
if err == nil {
Expand Down Expand Up @@ -394,6 +417,7 @@ func (obj *Trigger) UnmarshalJSON(data []byte) error {
obj.CaseTriggerWrapper = nil
obj.ChangeEventTriggerWrapper = nil
obj.DatabaseMonitoringTriggerWrapper = nil
obj.DatastoreTriggerWrapper = nil
obj.DashboardTriggerWrapper = nil
obj.GithubWebhookTriggerWrapper = nil
obj.IncidentTriggerWrapper = nil
Expand Down Expand Up @@ -432,6 +456,10 @@ func (obj Trigger) MarshalJSON() ([]byte, error) {
return datadog.Marshal(&obj.DatabaseMonitoringTriggerWrapper)
}

if obj.DatastoreTriggerWrapper != nil {
return datadog.Marshal(&obj.DatastoreTriggerWrapper)
}

if obj.DashboardTriggerWrapper != nil {
return datadog.Marshal(&obj.DashboardTriggerWrapper)
}
Expand Down Expand Up @@ -504,6 +532,10 @@ func (obj *Trigger) GetActualInstance() interface{} {
return obj.DatabaseMonitoringTriggerWrapper
}

if obj.DatastoreTriggerWrapper != nil {
return obj.DatastoreTriggerWrapper
}

if obj.DashboardTriggerWrapper != nil {
return obj.DashboardTriggerWrapper
}
Expand Down
Loading