// 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 ( "encoding/json" "github.com/DataDog/datadog-api-client-go/v2/api/datadog" ) // Event The metadata associated with a request. type Event struct { // Event ID. Id *string `json:"id,omitempty"` // The event name. Name *string `json:"name,omitempty"` // Event source ID. SourceId *int64 `json:"source_id,omitempty"` // Event type. Type *string `json:"type,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{} } // NewEvent instantiates a new Event 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 NewEvent() *Event { this := Event{} return &this } // NewEventWithDefaults instantiates a new Event 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 NewEventWithDefaults() *Event { this := Event{} return &this } // GetId returns the Id field value if set, zero value otherwise. func (o *Event) GetId() string { if o == nil || o.Id == nil { var ret string return ret } return *o.Id } // GetIdOk returns a tuple with the Id field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Event) GetIdOk() (*string, bool) { if o == nil || o.Id == nil { return nil, false } return o.Id, true } // HasId returns a boolean if a field has been set. func (o *Event) HasId() bool { return o != nil && o.Id != nil } // SetId gets a reference to the given string and assigns it to the Id field. func (o *Event) SetId(v string) { o.Id = &v } // GetName returns the Name field value if set, zero value otherwise. func (o *Event) GetName() string { if o == nil || o.Name == nil { var ret string return ret } return *o.Name } // GetNameOk returns a tuple with the Name field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Event) GetNameOk() (*string, bool) { if o == nil || o.Name == nil { return nil, false } return o.Name, true } // HasName returns a boolean if a field has been set. func (o *Event) HasName() bool { return o != nil && o.Name != nil } // SetName gets a reference to the given string and assigns it to the Name field. func (o *Event) SetName(v string) { o.Name = &v } // GetSourceId returns the SourceId field value if set, zero value otherwise. func (o *Event) GetSourceId() int64 { if o == nil || o.SourceId == nil { var ret int64 return ret } return *o.SourceId } // GetSourceIdOk returns a tuple with the SourceId field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Event) GetSourceIdOk() (*int64, bool) { if o == nil || o.SourceId == nil { return nil, false } return o.SourceId, true } // HasSourceId returns a boolean if a field has been set. func (o *Event) HasSourceId() bool { return o != nil && o.SourceId != nil } // SetSourceId gets a reference to the given int64 and assigns it to the SourceId field. func (o *Event) SetSourceId(v int64) { o.SourceId = &v } // GetType returns the Type field value if set, zero value otherwise. func (o *Event) GetType() string { if o == nil || o.Type == nil { var ret string return ret } return *o.Type } // GetTypeOk returns a tuple with the Type field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Event) GetTypeOk() (*string, bool) { if o == nil || o.Type == nil { return nil, false } return o.Type, true } // HasType returns a boolean if a field has been set. func (o *Event) HasType() bool { return o != nil && o.Type != nil } // SetType gets a reference to the given string and assigns it to the Type field. func (o *Event) SetType(v string) { o.Type = &v } // MarshalJSON serializes the struct using spec logic. func (o Event) MarshalJSON() ([]byte, error) { toSerialize := map[string]interface{}{} if o.UnparsedObject != nil { return json.Marshal(o.UnparsedObject) } if o.Id != nil { toSerialize["id"] = o.Id } if o.Name != nil { toSerialize["name"] = o.Name } if o.SourceId != nil { toSerialize["source_id"] = o.SourceId } if o.Type != nil { toSerialize["type"] = o.Type } for key, value := range o.AdditionalProperties { toSerialize[key] = value } return json.Marshal(toSerialize) } // UnmarshalJSON deserializes the given payload. func (o *Event) UnmarshalJSON(bytes []byte) (err error) { raw := map[string]interface{}{} all := struct { Id *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` SourceId *int64 `json:"source_id,omitempty"` Type *string `json:"type,omitempty"` }{} if err = json.Unmarshal(bytes, &all); err != nil { err = json.Unmarshal(bytes, &raw) if err != nil { return err } o.UnparsedObject = raw return nil } additionalProperties := make(map[string]interface{}) if err = json.Unmarshal(bytes, &additionalProperties); err == nil { datadog.DeleteKeys(additionalProperties, &[]string{"id", "name", "source_id", "type"}) } else { return err } o.Id = all.Id o.Name = all.Name o.SourceId = all.SourceId o.Type = all.Type if len(additionalProperties) > 0 { o.AdditionalProperties = additionalProperties } return nil }