From c3ed1b41e0f1e27b2969b91a2d88b6c8c7c41b7a Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Tue, 16 Sep 2025 10:54:58 +0000 Subject: [PATCH] Regenerate client from commit 6876f24 of spec repo --- .generator/schemas/v2/openapi.yaml | 28 +++ ...servability_pipeline_config_source_item.go | 32 +++ ...rvability_pipeline_opentelemetry_source.go | 183 ++++++++++++++++++ ...lity_pipeline_opentelemetry_source_type.go | 64 ++++++ 4 files changed, 307 insertions(+) create mode 100644 api/datadogV2/model_observability_pipeline_opentelemetry_source.go create mode 100644 api/datadogV2/model_observability_pipeline_opentelemetry_source_type.go diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 42b12a3fb05..16759b6739b 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -29098,6 +29098,7 @@ components: - $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubSource' - $ref: '#/components/schemas/ObservabilityPipelineHttpClientSource' - $ref: '#/components/schemas/ObservabilityPipelineLogstashSource' + - $ref: '#/components/schemas/ObservabilityPipelineOpentelemetrySource' - $ref: '#/components/schemas/ObservabilityPipelineSocketSource' ObservabilityPipelineCrowdStrikeNextGenSiemDestination: description: The `crowdstrike_next_gen_siem` destination forwards logs to CrowdStrike @@ -30547,6 +30548,33 @@ components: type: string x-enum-varnames: - OPENSEARCH + ObservabilityPipelineOpentelemetrySource: + description: The `opentelemetry` source receives OpenTelemetry data through + gRPC or HTTP. + properties: + id: + description: The unique identifier for this component. Used to reference + this component in other parts of the pipeline (e.g., as input to downstream + components). + example: opentelemetry-source + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineOpentelemetrySourceType' + required: + - id + - type + type: object + ObservabilityPipelineOpentelemetrySourceType: + default: opentelemetry + description: The source type. The value should always be `opentelemetry`. + enum: + - opentelemetry + example: opentelemetry + type: string + x-enum-varnames: + - OPENTELEMETRY ObservabilityPipelineParseGrokProcessor: description: The `parse_grok` processor extracts structured fields from unstructured log messages using Grok patterns. diff --git a/api/datadogV2/model_observability_pipeline_config_source_item.go b/api/datadogV2/model_observability_pipeline_config_source_item.go index 5fc97b57e17..b5f84585a98 100644 --- a/api/datadogV2/model_observability_pipeline_config_source_item.go +++ b/api/datadogV2/model_observability_pipeline_config_source_item.go @@ -25,6 +25,7 @@ type ObservabilityPipelineConfigSourceItem struct { ObservabilityPipelineGooglePubSubSource *ObservabilityPipelineGooglePubSubSource ObservabilityPipelineHttpClientSource *ObservabilityPipelineHttpClientSource ObservabilityPipelineLogstashSource *ObservabilityPipelineLogstashSource + ObservabilityPipelineOpentelemetrySource *ObservabilityPipelineOpentelemetrySource ObservabilityPipelineSocketSource *ObservabilityPipelineSocketSource // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct @@ -106,6 +107,11 @@ func ObservabilityPipelineLogstashSourceAsObservabilityPipelineConfigSourceItem( return ObservabilityPipelineConfigSourceItem{ObservabilityPipelineLogstashSource: v} } +// ObservabilityPipelineOpentelemetrySourceAsObservabilityPipelineConfigSourceItem is a convenience function that returns ObservabilityPipelineOpentelemetrySource wrapped in ObservabilityPipelineConfigSourceItem. +func ObservabilityPipelineOpentelemetrySourceAsObservabilityPipelineConfigSourceItem(v *ObservabilityPipelineOpentelemetrySource) ObservabilityPipelineConfigSourceItem { + return ObservabilityPipelineConfigSourceItem{ObservabilityPipelineOpentelemetrySource: v} +} + // ObservabilityPipelineSocketSourceAsObservabilityPipelineConfigSourceItem is a convenience function that returns ObservabilityPipelineSocketSource wrapped in ObservabilityPipelineConfigSourceItem. func ObservabilityPipelineSocketSourceAsObservabilityPipelineConfigSourceItem(v *ObservabilityPipelineSocketSource) ObservabilityPipelineConfigSourceItem { return ObservabilityPipelineConfigSourceItem{ObservabilityPipelineSocketSource: v} @@ -370,6 +376,23 @@ func (obj *ObservabilityPipelineConfigSourceItem) UnmarshalJSON(data []byte) err obj.ObservabilityPipelineLogstashSource = nil } + // try to unmarshal data into ObservabilityPipelineOpentelemetrySource + err = datadog.Unmarshal(data, &obj.ObservabilityPipelineOpentelemetrySource) + if err == nil { + if obj.ObservabilityPipelineOpentelemetrySource != nil && obj.ObservabilityPipelineOpentelemetrySource.UnparsedObject == nil { + jsonObservabilityPipelineOpentelemetrySource, _ := datadog.Marshal(obj.ObservabilityPipelineOpentelemetrySource) + if string(jsonObservabilityPipelineOpentelemetrySource) == "{}" { // empty struct + obj.ObservabilityPipelineOpentelemetrySource = nil + } else { + match++ + } + } else { + obj.ObservabilityPipelineOpentelemetrySource = nil + } + } else { + obj.ObservabilityPipelineOpentelemetrySource = nil + } + // try to unmarshal data into ObservabilityPipelineSocketSource err = datadog.Unmarshal(data, &obj.ObservabilityPipelineSocketSource) if err == nil { @@ -404,6 +427,7 @@ func (obj *ObservabilityPipelineConfigSourceItem) UnmarshalJSON(data []byte) err obj.ObservabilityPipelineGooglePubSubSource = nil obj.ObservabilityPipelineHttpClientSource = nil obj.ObservabilityPipelineLogstashSource = nil + obj.ObservabilityPipelineOpentelemetrySource = nil obj.ObservabilityPipelineSocketSource = nil return datadog.Unmarshal(data, &obj.UnparsedObject) } @@ -472,6 +496,10 @@ func (obj ObservabilityPipelineConfigSourceItem) MarshalJSON() ([]byte, error) { return datadog.Marshal(&obj.ObservabilityPipelineLogstashSource) } + if obj.ObservabilityPipelineOpentelemetrySource != nil { + return datadog.Marshal(&obj.ObservabilityPipelineOpentelemetrySource) + } + if obj.ObservabilityPipelineSocketSource != nil { return datadog.Marshal(&obj.ObservabilityPipelineSocketSource) } @@ -544,6 +572,10 @@ func (obj *ObservabilityPipelineConfigSourceItem) GetActualInstance() interface{ return obj.ObservabilityPipelineLogstashSource } + if obj.ObservabilityPipelineOpentelemetrySource != nil { + return obj.ObservabilityPipelineOpentelemetrySource + } + if obj.ObservabilityPipelineSocketSource != nil { return obj.ObservabilityPipelineSocketSource } diff --git a/api/datadogV2/model_observability_pipeline_opentelemetry_source.go b/api/datadogV2/model_observability_pipeline_opentelemetry_source.go new file mode 100644 index 00000000000..43a01ea1e31 --- /dev/null +++ b/api/datadogV2/model_observability_pipeline_opentelemetry_source.go @@ -0,0 +1,183 @@ +// 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" +) + +// ObservabilityPipelineOpentelemetrySource The `opentelemetry` source receives OpenTelemetry data through gRPC or HTTP. +type ObservabilityPipelineOpentelemetrySource struct { + // The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). + Id string `json:"id"` + // Configuration for enabling TLS encryption between the pipeline component and external services. + Tls *ObservabilityPipelineTls `json:"tls,omitempty"` + // The source type. The value should always be `opentelemetry`. + Type ObservabilityPipelineOpentelemetrySourceType `json:"type"` + // 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:"-"` +} + +// NewObservabilityPipelineOpentelemetrySource instantiates a new ObservabilityPipelineOpentelemetrySource 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 NewObservabilityPipelineOpentelemetrySource(id string, typeVar ObservabilityPipelineOpentelemetrySourceType) *ObservabilityPipelineOpentelemetrySource { + this := ObservabilityPipelineOpentelemetrySource{} + this.Id = id + this.Type = typeVar + return &this +} + +// NewObservabilityPipelineOpentelemetrySourceWithDefaults instantiates a new ObservabilityPipelineOpentelemetrySource 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 NewObservabilityPipelineOpentelemetrySourceWithDefaults() *ObservabilityPipelineOpentelemetrySource { + this := ObservabilityPipelineOpentelemetrySource{} + var typeVar ObservabilityPipelineOpentelemetrySourceType = OBSERVABILITYPIPELINEOPENTELEMETRYSOURCETYPE_OPENTELEMETRY + this.Type = typeVar + return &this +} + +// GetId returns the Id field value. +func (o *ObservabilityPipelineOpentelemetrySource) GetId() string { + if o == nil { + var ret string + return ret + } + return o.Id +} + +// GetIdOk returns a tuple with the Id field value +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineOpentelemetrySource) GetIdOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Id, true +} + +// SetId sets field value. +func (o *ObservabilityPipelineOpentelemetrySource) SetId(v string) { + o.Id = v +} + +// GetTls returns the Tls field value if set, zero value otherwise. +func (o *ObservabilityPipelineOpentelemetrySource) GetTls() ObservabilityPipelineTls { + if o == nil || o.Tls == nil { + var ret ObservabilityPipelineTls + return ret + } + return *o.Tls +} + +// GetTlsOk returns a tuple with the Tls field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineOpentelemetrySource) GetTlsOk() (*ObservabilityPipelineTls, bool) { + if o == nil || o.Tls == nil { + return nil, false + } + return o.Tls, true +} + +// HasTls returns a boolean if a field has been set. +func (o *ObservabilityPipelineOpentelemetrySource) HasTls() bool { + return o != nil && o.Tls != nil +} + +// SetTls gets a reference to the given ObservabilityPipelineTls and assigns it to the Tls field. +func (o *ObservabilityPipelineOpentelemetrySource) SetTls(v ObservabilityPipelineTls) { + o.Tls = &v +} + +// GetType returns the Type field value. +func (o *ObservabilityPipelineOpentelemetrySource) GetType() ObservabilityPipelineOpentelemetrySourceType { + if o == nil { + var ret ObservabilityPipelineOpentelemetrySourceType + return ret + } + return o.Type +} + +// GetTypeOk returns a tuple with the Type field value +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineOpentelemetrySource) GetTypeOk() (*ObservabilityPipelineOpentelemetrySourceType, bool) { + if o == nil { + return nil, false + } + return &o.Type, true +} + +// SetType sets field value. +func (o *ObservabilityPipelineOpentelemetrySource) SetType(v ObservabilityPipelineOpentelemetrySourceType) { + o.Type = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o ObservabilityPipelineOpentelemetrySource) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["id"] = o.Id + if o.Tls != nil { + toSerialize["tls"] = o.Tls + } + toSerialize["type"] = o.Type + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *ObservabilityPipelineOpentelemetrySource) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + Id *string `json:"id"` + Tls *ObservabilityPipelineTls `json:"tls,omitempty"` + Type *ObservabilityPipelineOpentelemetrySourceType `json:"type"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.Id == nil { + return fmt.Errorf("required field id missing") + } + if all.Type == nil { + return fmt.Errorf("required field type missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"id", "tls", "type"}) + } else { + return err + } + + hasInvalidField := false + o.Id = *all.Id + if all.Tls != nil && all.Tls.UnparsedObject != nil && o.UnparsedObject == nil { + hasInvalidField = true + } + o.Tls = all.Tls + if !all.Type.IsValid() { + hasInvalidField = true + } else { + o.Type = *all.Type + } + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + if hasInvalidField { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + + return nil +} diff --git a/api/datadogV2/model_observability_pipeline_opentelemetry_source_type.go b/api/datadogV2/model_observability_pipeline_opentelemetry_source_type.go new file mode 100644 index 00000000000..a0668e1e485 --- /dev/null +++ b/api/datadogV2/model_observability_pipeline_opentelemetry_source_type.go @@ -0,0 +1,64 @@ +// 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" +) + +// ObservabilityPipelineOpentelemetrySourceType The source type. The value should always be `opentelemetry`. +type ObservabilityPipelineOpentelemetrySourceType string + +// List of ObservabilityPipelineOpentelemetrySourceType. +const ( + OBSERVABILITYPIPELINEOPENTELEMETRYSOURCETYPE_OPENTELEMETRY ObservabilityPipelineOpentelemetrySourceType = "opentelemetry" +) + +var allowedObservabilityPipelineOpentelemetrySourceTypeEnumValues = []ObservabilityPipelineOpentelemetrySourceType{ + OBSERVABILITYPIPELINEOPENTELEMETRYSOURCETYPE_OPENTELEMETRY, +} + +// GetAllowedValues reeturns the list of possible values. +func (v *ObservabilityPipelineOpentelemetrySourceType) GetAllowedValues() []ObservabilityPipelineOpentelemetrySourceType { + return allowedObservabilityPipelineOpentelemetrySourceTypeEnumValues +} + +// UnmarshalJSON deserializes the given payload. +func (v *ObservabilityPipelineOpentelemetrySourceType) UnmarshalJSON(src []byte) error { + var value string + err := datadog.Unmarshal(src, &value) + if err != nil { + return err + } + *v = ObservabilityPipelineOpentelemetrySourceType(value) + return nil +} + +// NewObservabilityPipelineOpentelemetrySourceTypeFromValue returns a pointer to a valid ObservabilityPipelineOpentelemetrySourceType +// for the value passed as argument, or an error if the value passed is not allowed by the enum. +func NewObservabilityPipelineOpentelemetrySourceTypeFromValue(v string) (*ObservabilityPipelineOpentelemetrySourceType, error) { + ev := ObservabilityPipelineOpentelemetrySourceType(v) + if ev.IsValid() { + return &ev, nil + } + return nil, fmt.Errorf("invalid value '%v' for ObservabilityPipelineOpentelemetrySourceType: valid values are %v", v, allowedObservabilityPipelineOpentelemetrySourceTypeEnumValues) +} + +// IsValid return true if the value is valid for the enum, false otherwise. +func (v ObservabilityPipelineOpentelemetrySourceType) IsValid() bool { + for _, existing := range allowedObservabilityPipelineOpentelemetrySourceTypeEnumValues { + if existing == v { + return true + } + } + return false +} + +// Ptr returns reference to ObservabilityPipelineOpentelemetrySourceType value. +func (v ObservabilityPipelineOpentelemetrySourceType) Ptr() *ObservabilityPipelineOpentelemetrySourceType { + return &v +}