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
60 changes: 60 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30324,6 +30324,7 @@ components:
- $ref: '#/components/schemas/ObservabilityPipelineSocketDestination'
- $ref: '#/components/schemas/ObservabilityPipelineAmazonSecurityLakeDestination'
- $ref: '#/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestination'
- $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubDestination'
ObservabilityPipelineConfigProcessorItem:
description: A processor for the pipeline.
oneOf:
Expand Down Expand Up @@ -31385,6 +31386,65 @@ components:
type: string
x-enum-varnames:
- GOOGLE_CLOUD_STORAGE
ObservabilityPipelineGooglePubSubDestination:
description: The `google_pubsub` destination publishes logs to a Google Cloud
Pub/Sub topic.
properties:
auth:
$ref: '#/components/schemas/ObservabilityPipelineGcpAuth'
encoding:
$ref: '#/components/schemas/ObservabilityPipelineGooglePubSubDestinationEncoding'
id:
description: The unique identifier for this component.
example: google-pubsub-destination
type: string
inputs:
description: A list of component IDs whose output is used as the `input`
for this component.
example:
- filter-processor
items:
type: string
type: array
project:
description: The GCP project ID that owns the Pub/Sub topic.
example: my-gcp-project
type: string
tls:
$ref: '#/components/schemas/ObservabilityPipelineTls'
topic:
description: The Pub/Sub topic name to publish logs to.
example: logs-subscription
type: string
type:
$ref: '#/components/schemas/ObservabilityPipelineGooglePubSubDestinationType'
required:
- id
- type
- inputs
- encoding
- project
- topic
type: object
ObservabilityPipelineGooglePubSubDestinationEncoding:
description: Encoding format for log events.
enum:
- json
- raw_message
example: json
type: string
x-enum-varnames:
- JSON
- RAW_MESSAGE
ObservabilityPipelineGooglePubSubDestinationType:
default: google_pubsub
description: The destination type. The value should always be `google_pubsub`.
enum:
- google_pubsub
example: google_pubsub
type: string
x-enum-varnames:
- GOOGLE_PUBSUB
ObservabilityPipelineGooglePubSubSource:
description: The `google_pubsub` source ingests logs from a Google Cloud Pub/Sub
subscription.
Expand Down
3 changes: 3 additions & 0 deletions packages/datadog-api-client-v2/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2757,6 +2757,9 @@ export { ObservabilityPipelineGoogleCloudStorageDestination } from "./models/Obs
export { ObservabilityPipelineGoogleCloudStorageDestinationAcl } from "./models/ObservabilityPipelineGoogleCloudStorageDestinationAcl";
export { ObservabilityPipelineGoogleCloudStorageDestinationStorageClass } from "./models/ObservabilityPipelineGoogleCloudStorageDestinationStorageClass";
export { ObservabilityPipelineGoogleCloudStorageDestinationType } from "./models/ObservabilityPipelineGoogleCloudStorageDestinationType";
export { ObservabilityPipelineGooglePubSubDestination } from "./models/ObservabilityPipelineGooglePubSubDestination";
export { ObservabilityPipelineGooglePubSubDestinationEncoding } from "./models/ObservabilityPipelineGooglePubSubDestinationEncoding";
export { ObservabilityPipelineGooglePubSubDestinationType } from "./models/ObservabilityPipelineGooglePubSubDestinationType";
export { ObservabilityPipelineGooglePubSubSource } from "./models/ObservabilityPipelineGooglePubSubSource";
export { ObservabilityPipelineGooglePubSubSourceType } from "./models/ObservabilityPipelineGooglePubSubSourceType";
export { ObservabilityPipelineHttpClientSource } from "./models/ObservabilityPipelineHttpClientSource";
Expand Down
6 changes: 6 additions & 0 deletions packages/datadog-api-client-v2/models/ObjectSerializer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1428,6 +1428,7 @@ import { ObservabilityPipelineGeneratedMetricIncrementByField } from "./Observab
import { ObservabilityPipelineGeneratedMetricIncrementByOne } from "./ObservabilityPipelineGeneratedMetricIncrementByOne";
import { ObservabilityPipelineGoogleChronicleDestination } from "./ObservabilityPipelineGoogleChronicleDestination";
import { ObservabilityPipelineGoogleCloudStorageDestination } from "./ObservabilityPipelineGoogleCloudStorageDestination";
import { ObservabilityPipelineGooglePubSubDestination } from "./ObservabilityPipelineGooglePubSubDestination";
import { ObservabilityPipelineGooglePubSubSource } from "./ObservabilityPipelineGooglePubSubSource";
import { ObservabilityPipelineHttpClientSource } from "./ObservabilityPipelineHttpClientSource";
import { ObservabilityPipelineHttpServerSource } from "./ObservabilityPipelineHttpServerSource";
Expand Down Expand Up @@ -3183,6 +3184,8 @@ const enumsMap: { [key: string]: any[] } = {
ObservabilityPipelineGoogleCloudStorageDestinationType: [
"google_cloud_storage",
],
ObservabilityPipelineGooglePubSubDestinationEncoding: ["json", "raw_message"],
ObservabilityPipelineGooglePubSubDestinationType: ["google_pubsub"],
ObservabilityPipelineGooglePubSubSourceType: ["google_pubsub"],
ObservabilityPipelineHttpClientSourceAuthStrategy: ["basic", "bearer"],
ObservabilityPipelineHttpClientSourceType: ["http_client"],
Expand Down Expand Up @@ -5535,6 +5538,8 @@ const typeMap: { [index: string]: any } = {
ObservabilityPipelineGoogleChronicleDestination,
ObservabilityPipelineGoogleCloudStorageDestination:
ObservabilityPipelineGoogleCloudStorageDestination,
ObservabilityPipelineGooglePubSubDestination:
ObservabilityPipelineGooglePubSubDestination,
ObservabilityPipelineGooglePubSubSource:
ObservabilityPipelineGooglePubSubSource,
ObservabilityPipelineHttpClientSource: ObservabilityPipelineHttpClientSource,
Expand Down Expand Up @@ -6900,6 +6905,7 @@ const oneOfMap: { [index: string]: string[] } = {
"ObservabilityPipelineSocketDestination",
"ObservabilityPipelineAmazonSecurityLakeDestination",
"ObservabilityPipelineCrowdStrikeNextGenSiemDestination",
"ObservabilityPipelineGooglePubSubDestination",
],
ObservabilityPipelineConfigProcessorItem: [
"ObservabilityPipelineFilterProcessor",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import { ObservabilityPipelineDatadogLogsDestination } from "./ObservabilityPipe
import { ObservabilityPipelineElasticsearchDestination } from "./ObservabilityPipelineElasticsearchDestination";
import { ObservabilityPipelineGoogleChronicleDestination } from "./ObservabilityPipelineGoogleChronicleDestination";
import { ObservabilityPipelineGoogleCloudStorageDestination } from "./ObservabilityPipelineGoogleCloudStorageDestination";
import { ObservabilityPipelineGooglePubSubDestination } from "./ObservabilityPipelineGooglePubSubDestination";
import { ObservabilityPipelineNewRelicDestination } from "./ObservabilityPipelineNewRelicDestination";
import { ObservabilityPipelineOpenSearchDestination } from "./ObservabilityPipelineOpenSearchDestination";
import { ObservabilityPipelineRsyslogDestination } from "./ObservabilityPipelineRsyslogDestination";
Expand Down Expand Up @@ -47,4 +48,5 @@ export type ObservabilityPipelineConfigDestinationItem =
| ObservabilityPipelineSocketDestination
| ObservabilityPipelineAmazonSecurityLakeDestination
| ObservabilityPipelineCrowdStrikeNextGenSiemDestination
| ObservabilityPipelineGooglePubSubDestination
| UnparsedObject;
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
/**
* 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 2020-Present Datadog, Inc.
*/
import { ObservabilityPipelineGcpAuth } from "./ObservabilityPipelineGcpAuth";
import { ObservabilityPipelineGooglePubSubDestinationEncoding } from "./ObservabilityPipelineGooglePubSubDestinationEncoding";
import { ObservabilityPipelineGooglePubSubDestinationType } from "./ObservabilityPipelineGooglePubSubDestinationType";
import { ObservabilityPipelineTls } from "./ObservabilityPipelineTls";

import { AttributeTypeMap } from "../../datadog-api-client-common/util";

/**
* The `google_pubsub` destination publishes logs to a Google Cloud Pub/Sub topic.
*/
export class ObservabilityPipelineGooglePubSubDestination {
/**
* GCP credentials used to authenticate with Google Cloud Storage.
*/
"auth"?: ObservabilityPipelineGcpAuth;
/**
* Encoding format for log events.
*/
"encoding": ObservabilityPipelineGooglePubSubDestinationEncoding;
/**
* The unique identifier for this component.
*/
"id": string;
/**
* A list of component IDs whose output is used as the `input` for this component.
*/
"inputs": Array<string>;
/**
* The GCP project ID that owns the Pub/Sub topic.
*/
"project": string;
/**
* Configuration for enabling TLS encryption between the pipeline component and external services.
*/
"tls"?: ObservabilityPipelineTls;
/**
* The Pub/Sub topic name to publish logs to.
*/
"topic": string;
/**
* The destination type. The value should always be `google_pubsub`.
*/
"type": ObservabilityPipelineGooglePubSubDestinationType;

/**
* A container for additional, undeclared properties.
* This is a holder for any undeclared properties as specified with
* the 'additionalProperties' keyword in the OAS document.
*/
"additionalProperties"?: { [key: string]: any };

/**
* @ignore
*/
"_unparsed"?: boolean;

/**
* @ignore
*/
static readonly attributeTypeMap: AttributeTypeMap = {
auth: {
baseName: "auth",
type: "ObservabilityPipelineGcpAuth",
},
encoding: {
baseName: "encoding",
type: "ObservabilityPipelineGooglePubSubDestinationEncoding",
required: true,
},
id: {
baseName: "id",
type: "string",
required: true,
},
inputs: {
baseName: "inputs",
type: "Array<string>",
required: true,
},
project: {
baseName: "project",
type: "string",
required: true,
},
tls: {
baseName: "tls",
type: "ObservabilityPipelineTls",
},
topic: {
baseName: "topic",
type: "string",
required: true,
},
type: {
baseName: "type",
type: "ObservabilityPipelineGooglePubSubDestinationType",
required: true,
},
additionalProperties: {
baseName: "additionalProperties",
type: "{ [key: string]: any; }",
},
};

/**
* @ignore
*/
static getAttributeTypeMap(): AttributeTypeMap {
return ObservabilityPipelineGooglePubSubDestination.attributeTypeMap;
}

public constructor() {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/**
* 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 2020-Present Datadog, Inc.
*/

import { UnparsedObject } from "../../datadog-api-client-common/util";

/**
* Encoding format for log events.
*/

export type ObservabilityPipelineGooglePubSubDestinationEncoding =
| typeof JSON
| typeof RAW_MESSAGE
| UnparsedObject;
export const JSON = "json";
export const RAW_MESSAGE = "raw_message";
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/**
* 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 2020-Present Datadog, Inc.
*/

import { UnparsedObject } from "../../datadog-api-client-common/util";

/**
* The destination type. The value should always be `google_pubsub`.
*/

export type ObservabilityPipelineGooglePubSubDestinationType =
| typeof GOOGLE_PUBSUB
| UnparsedObject;
export const GOOGLE_PUBSUB = "google_pubsub";