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
69 changes: 69 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46522,6 +46522,7 @@ components:
- $ref: "#/components/schemas/ObservabilityPipelineSplunkHecDestination"
- $ref: "#/components/schemas/ObservabilityPipelineSumoLogicDestination"
- $ref: "#/components/schemas/ObservabilityPipelineSyslogNgDestination"
- $ref: "#/components/schemas/ObservabilityPipelineDatabricksZerobusDestination"
- $ref: "#/components/schemas/ObservabilityPipelineDatadogMetricsDestination"
ObservabilityPipelineConfigPipelineType:
default: logs
Expand Down Expand Up @@ -46806,6 +46807,74 @@ components:
- name
- config
type: object
ObservabilityPipelineDatabricksZerobusDestination:
description: |-
The `databricks_zerobus` destination sends logs to Databricks using the Zerobus ingestion API, streaming data directly into your Databricks Lakehouse.

**Supported pipeline types:** Logs, rehydration
properties:
auth:
$ref: "#/components/schemas/ObservabilityPipelineDatabricksZerobusDestinationAuth"
buffer:
$ref: "#/components/schemas/ObservabilityPipelineBufferOptions"
id:
description: The unique identifier for this component.
example: databricks-zerobus-destination
type: string
ingestion_endpoint:
description: Your Databricks Zerobus ingestion endpoint. This is the endpoint used to stream data directly into your Databricks Lakehouse.
example: https://my-workspace-id.zerobus.us-east-1.cloud.databricks.com
type: string
inputs:
description: A list of component IDs whose output is used as the `input` for this component.
example: ["filter-processor"]
items:
description: The ID of a component whose output is used as input for this destination.
type: string
type: array
table_name:
description: The fully qualified name of your target Databricks table. Make sure this table already exists in your Databricks workspace before deploying.
example: catalog.schema.table
type: string
type:
$ref: "#/components/schemas/ObservabilityPipelineDatabricksZerobusDestinationType"
unity_catalog_endpoint:
description: Your Databricks workspace URL. This is used to communicate with the Unity Catalog API.
example: https://my-workspace.cloud.databricks.com
type: string
required:
- id
- type
- inputs
- ingestion_endpoint
- table_name
- unity_catalog_endpoint
- auth
type: object
x-pipeline-types: [logs, rehydration]
ObservabilityPipelineDatabricksZerobusDestinationAuth:
description: OAuth credentials for authenticating with the Databricks Zerobus ingestion API.
properties:
client_id:
description: Your service principal application ID (UUID).
example: 9a8b7c6d-1234-5678-abcd-ef0123456789
type: string
client_secret_key:
description: Name of the environment variable or secret that holds the OAuth client secret used to authenticate with the Databricks ingestion endpoint.
example: DD_OP_DESTINATION_DATABRICKS_ZEROBUS_OAUTH_CLIENT_SECRET
type: string
required:
- client_id
type: object
ObservabilityPipelineDatabricksZerobusDestinationType:
default: databricks_zerobus
description: The destination type. The value must be `databricks_zerobus`.
enum:
- databricks_zerobus
example: databricks_zerobus
type: string
x-enum-varnames:
- DATABRICKS_ZEROBUS
ObservabilityPipelineDatadogAgentSource:
description: |-
The `datadog_agent` source collects logs/metrics from the Datadog Agent.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ type ObservabilityPipelineConfigDestinationItem struct {
ObservabilityPipelineSplunkHecDestination *ObservabilityPipelineSplunkHecDestination
ObservabilityPipelineSumoLogicDestination *ObservabilityPipelineSumoLogicDestination
ObservabilityPipelineSyslogNgDestination *ObservabilityPipelineSyslogNgDestination
ObservabilityPipelineDatabricksZerobusDestination *ObservabilityPipelineDatabricksZerobusDestination
ObservabilityPipelineDatadogMetricsDestination *ObservabilityPipelineDatadogMetricsDestination

// UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct
Expand Down Expand Up @@ -154,6 +155,11 @@ func ObservabilityPipelineSyslogNgDestinationAsObservabilityPipelineConfigDestin
return ObservabilityPipelineConfigDestinationItem{ObservabilityPipelineSyslogNgDestination: v}
}

// ObservabilityPipelineDatabricksZerobusDestinationAsObservabilityPipelineConfigDestinationItem is a convenience function that returns ObservabilityPipelineDatabricksZerobusDestination wrapped in ObservabilityPipelineConfigDestinationItem.
func ObservabilityPipelineDatabricksZerobusDestinationAsObservabilityPipelineConfigDestinationItem(v *ObservabilityPipelineDatabricksZerobusDestination) ObservabilityPipelineConfigDestinationItem {
return ObservabilityPipelineConfigDestinationItem{ObservabilityPipelineDatabricksZerobusDestination: v}
}

// ObservabilityPipelineDatadogMetricsDestinationAsObservabilityPipelineConfigDestinationItem is a convenience function that returns ObservabilityPipelineDatadogMetricsDestination wrapped in ObservabilityPipelineConfigDestinationItem.
func ObservabilityPipelineDatadogMetricsDestinationAsObservabilityPipelineConfigDestinationItem(v *ObservabilityPipelineDatadogMetricsDestination) ObservabilityPipelineConfigDestinationItem {
return ObservabilityPipelineConfigDestinationItem{ObservabilityPipelineDatadogMetricsDestination: v}
Expand Down Expand Up @@ -554,6 +560,23 @@ func (obj *ObservabilityPipelineConfigDestinationItem) UnmarshalJSON(data []byte
obj.ObservabilityPipelineSyslogNgDestination = nil
}

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

// try to unmarshal data into ObservabilityPipelineDatadogMetricsDestination
err = datadog.Unmarshal(data, &obj.ObservabilityPipelineDatadogMetricsDestination)
if err == nil {
Expand Down Expand Up @@ -596,6 +619,7 @@ func (obj *ObservabilityPipelineConfigDestinationItem) UnmarshalJSON(data []byte
obj.ObservabilityPipelineSplunkHecDestination = nil
obj.ObservabilityPipelineSumoLogicDestination = nil
obj.ObservabilityPipelineSyslogNgDestination = nil
obj.ObservabilityPipelineDatabricksZerobusDestination = nil
obj.ObservabilityPipelineDatadogMetricsDestination = nil
return datadog.Unmarshal(data, &obj.UnparsedObject)
}
Expand Down Expand Up @@ -696,6 +720,10 @@ func (obj ObservabilityPipelineConfigDestinationItem) MarshalJSON() ([]byte, err
return datadog.Marshal(&obj.ObservabilityPipelineSyslogNgDestination)
}

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

if obj.ObservabilityPipelineDatadogMetricsDestination != nil {
return datadog.Marshal(&obj.ObservabilityPipelineDatadogMetricsDestination)
}
Expand Down Expand Up @@ -800,6 +828,10 @@ func (obj *ObservabilityPipelineConfigDestinationItem) GetActualInstance() inter
return obj.ObservabilityPipelineSyslogNgDestination
}

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

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