// Update a pipeline returns "OK" response package main import ( "context" "encoding/json" "fmt" "os" "github.com/DataDog/datadog-api-client-go/v2/api/datadog" "github.com/DataDog/datadog-api-client-go/v2/api/datadogV2" ) func main() { // there is a valid "pipeline" in the system PipelineDataID := os.Getenv("PIPELINE_DATA_ID") body := datadogV2.ObservabilityPipeline{ Data: datadogV2.ObservabilityPipelineData{ Attributes: datadogV2.ObservabilityPipelineDataAttributes{ Config: datadogV2.ObservabilityPipelineConfig{ Destinations: []datadogV2.ObservabilityPipelineConfigDestinationItem{ datadogV2.ObservabilityPipelineConfigDestinationItem{ ObservabilityPipelineDatadogLogsDestination: &datadogV2.ObservabilityPipelineDatadogLogsDestination{ Id: "updated-datadog-logs-destination-id", Inputs: []string{ "filter-processor", }, Type: datadogV2.OBSERVABILITYPIPELINEDATADOGLOGSDESTINATIONTYPE_DATADOG_LOGS, }}, }, Processors: []datadogV2.ObservabilityPipelineConfigProcessorItem{ datadogV2.ObservabilityPipelineConfigProcessorItem{ ObservabilityPipelineFilterProcessor: &datadogV2.ObservabilityPipelineFilterProcessor{ Id: "filter-processor", Include: "service:my-service", Inputs: []string{ "datadog-agent-source", }, Type: datadogV2.OBSERVABILITYPIPELINEFILTERPROCESSORTYPE_FILTER, }}, }, Sources: []datadogV2.ObservabilityPipelineConfigSourceItem{ datadogV2.ObservabilityPipelineConfigSourceItem{ ObservabilityPipelineDatadogAgentSource: &datadogV2.ObservabilityPipelineDatadogAgentSource{ Id: "datadog-agent-source", Type: datadogV2.OBSERVABILITYPIPELINEDATADOGAGENTSOURCETYPE_DATADOG_AGENT, }}, }, }, Name: "Updated Pipeline Name", }, Id: PipelineDataID, Type: "pipelines", }, } ctx := datadog.NewDefaultContext(context.Background()) configuration := datadog.NewConfiguration() configuration.SetUnstableOperationEnabled("v2.UpdatePipeline", true) apiClient := datadog.NewAPIClient(configuration) api := datadogV2.NewObservabilityPipelinesApi(apiClient) resp, r, err := api.UpdatePipeline(ctx, PipelineDataID, body) if err != nil { fmt.Fprintf(os.Stderr, "Error when calling `ObservabilityPipelinesApi.UpdatePipeline`: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) } responseContent, _ := json.MarshalIndent(resp, "", " ") fmt.Fprintf(os.Stdout, "Response from `ObservabilityPipelinesApi.UpdatePipeline`:\n%s\n", responseContent) }