diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 53a4ea6a1a50..442e3f4f762e 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -67238,6 +67238,32 @@ components: type: string x-enum-varnames: - CLICKHOUSE + ObservabilityPipelineClientTls: + description: Configuration for enabling TLS encryption between the pipeline component and external services. + properties: + ca_file: + description: Path to the Certificate Authority (CA) file used to validate the server’s TLS certificate. + type: string + crt_file: + description: Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. + example: "/path/to/cert.crt" + type: string + key_file: + description: Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. + type: string + key_pass_key: + description: Name of the environment variable or secret that holds the passphrase for the private key file. + example: TLS_KEY_PASSPHRASE + type: string + server_name: + description: Server name to use for Server Name Indication (SNI) and to verify against the certificate presented by the remote host. Use this when the address you connect to doesn't match the certificate's Common Name or Subject Alternative Name. + example: server.example.com + maxLength: 253 + minLength: 1 + type: string + required: + - crt_file + type: object ObservabilityPipelineCloudPremDestination: description: |- The `cloud_prem` destination sends logs to Datadog CloudPrem. @@ -67262,7 +67288,7 @@ components: type: string type: array tls: - $ref: "#/components/schemas/ObservabilityPipelineTls" + $ref: "#/components/schemas/ObservabilityPipelineClientTls" description: Configuration for TLS encryption. type: $ref: "#/components/schemas/ObservabilityPipelineCloudPremDestinationType" @@ -68977,7 +69003,7 @@ components: example: HTTP_AUTH_PASSWORD type: string tls: - $ref: "#/components/schemas/ObservabilityPipelineTls" + $ref: "#/components/schemas/ObservabilityPipelineClientTls" token_key: description: Name of the environment variable or secret that holds the bearer token (used when `auth_strategy` is `bearer`). example: HTTP_AUTH_TOKEN @@ -69075,7 +69101,7 @@ components: format: int64 type: integer tls: - $ref: "#/components/schemas/ObservabilityPipelineTls" + $ref: "#/components/schemas/ObservabilityPipelineClientTls" token_key: description: Name of the environment variable or secret that holds the bearer token (used when `auth_strategy` is `bearer`). example: HTTP_AUTH_TOKEN @@ -71158,7 +71184,7 @@ components: mode: $ref: "#/components/schemas/ObservabilityPipelineSocketDestinationMode" tls: - $ref: "#/components/schemas/ObservabilityPipelineTls" + $ref: "#/components/schemas/ObservabilityPipelineClientTls" description: TLS configuration. Relevant only when `mode` is `tcp`. type: $ref: "#/components/schemas/ObservabilityPipelineSocketDestinationType" @@ -71890,7 +71916,7 @@ components: minimum: 0 type: integer tls: - $ref: "#/components/schemas/ObservabilityPipelineTls" + $ref: "#/components/schemas/ObservabilityPipelineClientTls" type: $ref: "#/components/schemas/ObservabilityPipelineSyslogNgDestinationType" required: diff --git a/services/observability_pipelines/src/v2/index.ts b/services/observability_pipelines/src/v2/index.ts index 5a075dced08a..98896e3b5b17 100644 --- a/services/observability_pipelines/src/v2/index.ts +++ b/services/observability_pipelines/src/v2/index.ts @@ -74,6 +74,7 @@ export { ObservabilityPipelineClickhouseDestinationCompressionAlgorithm } from " export { ObservabilityPipelineClickhouseDestinationCompressionObject } from "./models/ObservabilityPipelineClickhouseDestinationCompressionObject"; export { ObservabilityPipelineClickhouseDestinationFormat } from "./models/ObservabilityPipelineClickhouseDestinationFormat"; export { ObservabilityPipelineClickhouseDestinationType } from "./models/ObservabilityPipelineClickhouseDestinationType"; +export { ObservabilityPipelineClientTls } from "./models/ObservabilityPipelineClientTls"; export { ObservabilityPipelineCloudPremDestination } from "./models/ObservabilityPipelineCloudPremDestination"; export { ObservabilityPipelineCloudPremDestinationType } from "./models/ObservabilityPipelineCloudPremDestinationType"; export { ObservabilityPipelineConfig } from "./models/ObservabilityPipelineConfig"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineClientTls.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineClientTls.ts new file mode 100644 index 000000000000..76a9aed43351 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineClientTls.ts @@ -0,0 +1,77 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +/** + * Configuration for enabling TLS encryption between the pipeline component and external services. + */ +export class ObservabilityPipelineClientTls { + /** + * Path to the Certificate Authority (CA) file used to validate the server’s TLS certificate. + */ + "caFile"?: string; + /** + * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. + */ + "crtFile": string; + /** + * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. + */ + "keyFile"?: string; + /** + * Name of the environment variable or secret that holds the passphrase for the private key file. + */ + "keyPassKey"?: string; + /** + * Server name to use for Server Name Indication (SNI) and to verify against the certificate presented by the remote host. Use this when the address you connect to doesn't match the certificate's Common Name or Subject Alternative Name. + */ + "serverName"?: string; + /** + * 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 = { + caFile: { + baseName: "ca_file", + type: "string", + }, + crtFile: { + baseName: "crt_file", + type: "string", + required: true, + }, + keyFile: { + baseName: "key_file", + type: "string", + }, + keyPassKey: { + baseName: "key_pass_key", + type: "string", + }, + serverName: { + baseName: "server_name", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineClientTls.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineCloudPremDestination.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineCloudPremDestination.ts index 4558e7083553..08eb49fdbbb7 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineCloudPremDestination.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineCloudPremDestination.ts @@ -1,8 +1,8 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; import { ObservabilityPipelineBufferOptions } from "./ObservabilityPipelineBufferOptions"; +import { ObservabilityPipelineClientTls } from "./ObservabilityPipelineClientTls"; import { ObservabilityPipelineCloudPremDestinationType } from "./ObservabilityPipelineCloudPremDestinationType"; -import { ObservabilityPipelineTls } from "./ObservabilityPipelineTls"; /** * The `cloud_prem` destination sends logs to Datadog CloudPrem. @@ -29,7 +29,7 @@ export class ObservabilityPipelineCloudPremDestination { /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ - "tls"?: ObservabilityPipelineTls; + "tls"?: ObservabilityPipelineClientTls; /** * The destination type. The value should always be `cloud_prem`. */ @@ -69,7 +69,7 @@ export class ObservabilityPipelineCloudPremDestination { }, tls: { baseName: "tls", - type: "ObservabilityPipelineTls", + type: "ObservabilityPipelineClientTls", }, type: { baseName: "type", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineHttpClientDestination.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineHttpClientDestination.ts index 74b148b7a501..f77883521e8e 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineHttpClientDestination.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineHttpClientDestination.ts @@ -1,11 +1,11 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; import { ObservabilityPipelineBufferOptions } from "./ObservabilityPipelineBufferOptions"; +import { ObservabilityPipelineClientTls } from "./ObservabilityPipelineClientTls"; import { ObservabilityPipelineHttpClientDestinationAuthStrategy } from "./ObservabilityPipelineHttpClientDestinationAuthStrategy"; import { ObservabilityPipelineHttpClientDestinationCompression } from "./ObservabilityPipelineHttpClientDestinationCompression"; import { ObservabilityPipelineHttpClientDestinationEncoding } from "./ObservabilityPipelineHttpClientDestinationEncoding"; import { ObservabilityPipelineHttpClientDestinationType } from "./ObservabilityPipelineHttpClientDestinationType"; -import { ObservabilityPipelineTls } from "./ObservabilityPipelineTls"; /** * The `http_client` destination sends data to an HTTP endpoint. @@ -48,7 +48,7 @@ export class ObservabilityPipelineHttpClientDestination { /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ - "tls"?: ObservabilityPipelineTls; + "tls"?: ObservabilityPipelineClientTls; /** * Name of the environment variable or secret that holds the bearer token (used when `auth_strategy` is `bearer`). */ @@ -117,7 +117,7 @@ export class ObservabilityPipelineHttpClientDestination { }, tls: { baseName: "tls", - type: "ObservabilityPipelineTls", + type: "ObservabilityPipelineClientTls", }, tokenKey: { baseName: "token_key", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineHttpClientSource.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineHttpClientSource.ts index 09e4e00bf5e9..4527265b3130 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineHttpClientSource.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineHttpClientSource.ts @@ -1,9 +1,9 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; +import { ObservabilityPipelineClientTls } from "./ObservabilityPipelineClientTls"; import { ObservabilityPipelineDecoding } from "./ObservabilityPipelineDecoding"; import { ObservabilityPipelineHttpClientSourceAuthStrategy } from "./ObservabilityPipelineHttpClientSourceAuthStrategy"; import { ObservabilityPipelineHttpClientSourceType } from "./ObservabilityPipelineHttpClientSourceType"; -import { ObservabilityPipelineTls } from "./ObservabilityPipelineTls"; /** * The `http_client` source scrapes logs from HTTP endpoints at regular intervals. @@ -46,7 +46,7 @@ export class ObservabilityPipelineHttpClientSource { /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ - "tls"?: ObservabilityPipelineTls; + "tls"?: ObservabilityPipelineClientTls; /** * Name of the environment variable or secret that holds the bearer token (used when `auth_strategy` is `bearer`). */ @@ -112,7 +112,7 @@ export class ObservabilityPipelineHttpClientSource { }, tls: { baseName: "tls", - type: "ObservabilityPipelineTls", + type: "ObservabilityPipelineClientTls", }, tokenKey: { baseName: "token_key", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestination.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestination.ts index f68153fae09b..b367ec902c8d 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestination.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestination.ts @@ -1,11 +1,11 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; import { ObservabilityPipelineBufferOptions } from "./ObservabilityPipelineBufferOptions"; +import { ObservabilityPipelineClientTls } from "./ObservabilityPipelineClientTls"; import { ObservabilityPipelineSocketDestinationEncoding } from "./ObservabilityPipelineSocketDestinationEncoding"; import { ObservabilityPipelineSocketDestinationFraming } from "./ObservabilityPipelineSocketDestinationFraming"; import { ObservabilityPipelineSocketDestinationMode } from "./ObservabilityPipelineSocketDestinationMode"; import { ObservabilityPipelineSocketDestinationType } from "./ObservabilityPipelineSocketDestinationType"; -import { ObservabilityPipelineTls } from "./ObservabilityPipelineTls"; /** * The `socket` destination sends logs over TCP or UDP to a remote server. @@ -44,7 +44,7 @@ export class ObservabilityPipelineSocketDestination { /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ - "tls"?: ObservabilityPipelineTls; + "tls"?: ObservabilityPipelineClientTls; /** * The destination type. The value should always be `socket`. */ @@ -99,7 +99,7 @@ export class ObservabilityPipelineSocketDestination { }, tls: { baseName: "tls", - type: "ObservabilityPipelineTls", + type: "ObservabilityPipelineClientTls", }, type: { baseName: "type", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSyslogNgDestination.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSyslogNgDestination.ts index 400990bf585d..6454c3137e37 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSyslogNgDestination.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSyslogNgDestination.ts @@ -1,8 +1,8 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; import { ObservabilityPipelineBufferOptions } from "./ObservabilityPipelineBufferOptions"; +import { ObservabilityPipelineClientTls } from "./ObservabilityPipelineClientTls"; import { ObservabilityPipelineSyslogNgDestinationType } from "./ObservabilityPipelineSyslogNgDestinationType"; -import { ObservabilityPipelineTls } from "./ObservabilityPipelineTls"; /** * The `syslog_ng` destination forwards logs to an external `syslog-ng` server over TCP or UDP using the syslog protocol. @@ -33,7 +33,7 @@ export class ObservabilityPipelineSyslogNgDestination { /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ - "tls"?: ObservabilityPipelineTls; + "tls"?: ObservabilityPipelineClientTls; /** * The destination type. The value should always be `syslog_ng`. */ @@ -78,7 +78,7 @@ export class ObservabilityPipelineSyslogNgDestination { }, tls: { baseName: "tls", - type: "ObservabilityPipelineTls", + type: "ObservabilityPipelineClientTls", }, type: { baseName: "type", diff --git a/services/observability_pipelines/src/v2/models/TypingInfo.ts b/services/observability_pipelines/src/v2/models/TypingInfo.ts index 5167c4ae1468..c451bc768dab 100644 --- a/services/observability_pipelines/src/v2/models/TypingInfo.ts +++ b/services/observability_pipelines/src/v2/models/TypingInfo.ts @@ -31,6 +31,7 @@ import { ObservabilityPipelineClickhouseDestinationAuth } from "./ObservabilityP import { ObservabilityPipelineClickhouseDestinationBatch } from "./ObservabilityPipelineClickhouseDestinationBatch"; import { ObservabilityPipelineClickhouseDestinationBatchEncoding } from "./ObservabilityPipelineClickhouseDestinationBatchEncoding"; import { ObservabilityPipelineClickhouseDestinationCompressionObject } from "./ObservabilityPipelineClickhouseDestinationCompressionObject"; +import { ObservabilityPipelineClientTls } from "./ObservabilityPipelineClientTls"; import { ObservabilityPipelineCloudPremDestination } from "./ObservabilityPipelineCloudPremDestination"; import { ObservabilityPipelineConfig } from "./ObservabilityPipelineConfig"; import { ObservabilityPipelineConfigProcessorGroup } from "./ObservabilityPipelineConfigProcessorGroup"; @@ -754,6 +755,7 @@ export const TypingInfo: ModelTypingInfo = { ObservabilityPipelineClickhouseDestinationBatchEncoding, ObservabilityPipelineClickhouseDestinationCompressionObject: ObservabilityPipelineClickhouseDestinationCompressionObject, + ObservabilityPipelineClientTls: ObservabilityPipelineClientTls, ObservabilityPipelineCloudPremDestination: ObservabilityPipelineCloudPremDestination, ObservabilityPipelineConfig: ObservabilityPipelineConfig,