diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index a02006e0ef21..db9d07fc09fe 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -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: @@ -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. diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index da2d4fe19009..cf815abeafc9 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -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"; diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts index 7778349f71c6..e6a204c0643c 100644 --- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts @@ -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"; @@ -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"], @@ -5535,6 +5538,8 @@ const typeMap: { [index: string]: any } = { ObservabilityPipelineGoogleChronicleDestination, ObservabilityPipelineGoogleCloudStorageDestination: ObservabilityPipelineGoogleCloudStorageDestination, + ObservabilityPipelineGooglePubSubDestination: + ObservabilityPipelineGooglePubSubDestination, ObservabilityPipelineGooglePubSubSource: ObservabilityPipelineGooglePubSubSource, ObservabilityPipelineHttpClientSource: ObservabilityPipelineHttpClientSource, @@ -6900,6 +6905,7 @@ const oneOfMap: { [index: string]: string[] } = { "ObservabilityPipelineSocketDestination", "ObservabilityPipelineAmazonSecurityLakeDestination", "ObservabilityPipelineCrowdStrikeNextGenSiemDestination", + "ObservabilityPipelineGooglePubSubDestination", ], ObservabilityPipelineConfigProcessorItem: [ "ObservabilityPipelineFilterProcessor", diff --git a/packages/datadog-api-client-v2/models/ObservabilityPipelineConfigDestinationItem.ts b/packages/datadog-api-client-v2/models/ObservabilityPipelineConfigDestinationItem.ts index f6e0588699b8..1c319fbe550c 100644 --- a/packages/datadog-api-client-v2/models/ObservabilityPipelineConfigDestinationItem.ts +++ b/packages/datadog-api-client-v2/models/ObservabilityPipelineConfigDestinationItem.ts @@ -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"; @@ -47,4 +48,5 @@ export type ObservabilityPipelineConfigDestinationItem = | ObservabilityPipelineSocketDestination | ObservabilityPipelineAmazonSecurityLakeDestination | ObservabilityPipelineCrowdStrikeNextGenSiemDestination + | ObservabilityPipelineGooglePubSubDestination | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/ObservabilityPipelineGooglePubSubDestination.ts b/packages/datadog-api-client-v2/models/ObservabilityPipelineGooglePubSubDestination.ts new file mode 100644 index 000000000000..b3d5c6cdb062 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ObservabilityPipelineGooglePubSubDestination.ts @@ -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; + /** + * 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", + 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() {} +} diff --git a/packages/datadog-api-client-v2/models/ObservabilityPipelineGooglePubSubDestinationEncoding.ts b/packages/datadog-api-client-v2/models/ObservabilityPipelineGooglePubSubDestinationEncoding.ts new file mode 100644 index 000000000000..bcdd07b24ca9 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ObservabilityPipelineGooglePubSubDestinationEncoding.ts @@ -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"; diff --git a/packages/datadog-api-client-v2/models/ObservabilityPipelineGooglePubSubDestinationType.ts b/packages/datadog-api-client-v2/models/ObservabilityPipelineGooglePubSubDestinationType.ts new file mode 100644 index 000000000000..ac1629bd4257 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ObservabilityPipelineGooglePubSubDestinationType.ts @@ -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";