// 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 datadogV1 import ( "encoding/json" "github.com/DataDog/datadog-api-client-go/v2/api/datadog" ) // Pagination Pagination object. type Pagination struct { // Total count. TotalCount *int64 `json:"total_count,omitempty"` // Total count of elements matched by the filter. TotalFilteredCount *int64 `json:"total_filtered_count,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{} } // NewPagination instantiates a new Pagination 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 NewPagination() *Pagination { this := Pagination{} return &this } // NewPaginationWithDefaults instantiates a new Pagination 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 NewPaginationWithDefaults() *Pagination { this := Pagination{} return &this } // GetTotalCount returns the TotalCount field value if set, zero value otherwise. func (o *Pagination) GetTotalCount() int64 { if o == nil || o.TotalCount == nil { var ret int64 return ret } return *o.TotalCount } // GetTotalCountOk returns a tuple with the TotalCount field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Pagination) GetTotalCountOk() (*int64, bool) { if o == nil || o.TotalCount == nil { return nil, false } return o.TotalCount, true } // HasTotalCount returns a boolean if a field has been set. func (o *Pagination) HasTotalCount() bool { return o != nil && o.TotalCount != nil } // SetTotalCount gets a reference to the given int64 and assigns it to the TotalCount field. func (o *Pagination) SetTotalCount(v int64) { o.TotalCount = &v } // GetTotalFilteredCount returns the TotalFilteredCount field value if set, zero value otherwise. func (o *Pagination) GetTotalFilteredCount() int64 { if o == nil || o.TotalFilteredCount == nil { var ret int64 return ret } return *o.TotalFilteredCount } // GetTotalFilteredCountOk returns a tuple with the TotalFilteredCount field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Pagination) GetTotalFilteredCountOk() (*int64, bool) { if o == nil || o.TotalFilteredCount == nil { return nil, false } return o.TotalFilteredCount, true } // HasTotalFilteredCount returns a boolean if a field has been set. func (o *Pagination) HasTotalFilteredCount() bool { return o != nil && o.TotalFilteredCount != nil } // SetTotalFilteredCount gets a reference to the given int64 and assigns it to the TotalFilteredCount field. func (o *Pagination) SetTotalFilteredCount(v int64) { o.TotalFilteredCount = &v } // MarshalJSON serializes the struct using spec logic. func (o Pagination) MarshalJSON() ([]byte, error) { toSerialize := map[string]interface{}{} if o.UnparsedObject != nil { return json.Marshal(o.UnparsedObject) } if o.TotalCount != nil { toSerialize["total_count"] = o.TotalCount } if o.TotalFilteredCount != nil { toSerialize["total_filtered_count"] = o.TotalFilteredCount } for key, value := range o.AdditionalProperties { toSerialize[key] = value } return json.Marshal(toSerialize) } // UnmarshalJSON deserializes the given payload. func (o *Pagination) UnmarshalJSON(bytes []byte) (err error) { raw := map[string]interface{}{} all := struct { TotalCount *int64 `json:"total_count,omitempty"` TotalFilteredCount *int64 `json:"total_filtered_count,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{"total_count", "total_filtered_count"}) } else { return err } o.TotalCount = all.TotalCount o.TotalFilteredCount = all.TotalFilteredCount if len(additionalProperties) > 0 { o.AdditionalProperties = additionalProperties } return nil }