diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index cfbcb7286a..203e7aa044 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -6570,8 +6570,11 @@ components: x-enum-varnames: - AZURE_SCAN_OPTIONS AzureStorageDestination: - description: The `azure_storage` destination forwards logs to an Azure Blob + description: 'The `azure_storage` destination forwards logs to an Azure Blob Storage container. + + + **Supported pipeline types:** logs' properties: blob_prefix: description: Optional prefix for blobs written to the container. @@ -6602,6 +6605,8 @@ components: - inputs - container_name type: object + x-pipeline-types: + - logs AzureStorageDestinationType: default: azure_storage description: The destination type. The value should always be `azure_storage`. @@ -33395,8 +33400,11 @@ components: - query type: object MicrosoftSentinelDestination: - description: The `microsoft_sentinel` destination forwards logs to Microsoft + description: 'The `microsoft_sentinel` destination forwards logs to Microsoft Sentinel. + + + **Supported pipeline types:** logs' properties: client_id: description: Azure AD client ID used for authentication. @@ -33437,6 +33445,8 @@ components: - dcr_immutable_id - table type: object + x-pipeline-types: + - logs MicrosoftSentinelDestinationType: default: microsoft_sentinel description: The destination type. The value should always be `microsoft_sentinel`. @@ -35141,8 +35151,11 @@ components: - data type: object ObservabilityPipelineAddEnvVarsProcessor: - description: The `add_env_vars` processor adds environment variable values to - log events. + description: 'The `add_env_vars` processor adds environment variable values + to log events. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -35174,6 +35187,8 @@ components: - variables - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineAddEnvVarsProcessorType: default: add_env_vars description: The processor type. The value should always be `add_env_vars`. @@ -35199,7 +35214,10 @@ components: - name type: object ObservabilityPipelineAddFieldsProcessor: - description: The `add_fields` processor adds static key-value fields to logs. + description: 'The `add_fields` processor adds static key-value fields to logs. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -35233,6 +35251,8 @@ components: - fields - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineAddFieldsProcessorType: default: add_fields description: The processor type. The value should always be `add_fields`. @@ -35243,7 +35263,10 @@ components: x-enum-varnames: - ADD_FIELDS ObservabilityPipelineAmazonDataFirehoseSource: - description: The `amazon_data_firehose` source ingests logs from AWS Data Firehose. + description: 'The `amazon_data_firehose` source ingests logs from AWS Data Firehose. + + + **Supported pipeline types:** logs' properties: auth: $ref: '#/components/schemas/ObservabilityPipelineAwsAuth' @@ -35261,6 +35284,8 @@ components: - id - type type: object + x-pipeline-types: + - logs ObservabilityPipelineAmazonDataFirehoseSourceType: default: amazon_data_firehose description: The source type. The value should always be `amazon_data_firehose`. @@ -35271,7 +35296,10 @@ components: x-enum-varnames: - AMAZON_DATA_FIREHOSE ObservabilityPipelineAmazonOpenSearchDestination: - description: The `amazon_opensearch` destination writes logs to Amazon OpenSearch. + description: 'The `amazon_opensearch` destination writes logs to Amazon OpenSearch. + + + **Supported pipeline types:** logs' properties: auth: $ref: '#/components/schemas/ObservabilityPipelineAmazonOpenSearchDestinationAuth' @@ -35299,6 +35327,8 @@ components: - inputs - auth type: object + x-pipeline-types: + - logs ObservabilityPipelineAmazonOpenSearchDestinationAuth: description: 'Authentication settings for the Amazon OpenSearch destination. @@ -35342,8 +35372,11 @@ components: x-enum-varnames: - AMAZON_OPENSEARCH ObservabilityPipelineAmazonS3Destination: - description: The `amazon_s3` destination sends your logs in Datadog-rehydratable + description: 'The `amazon_s3` destination sends your logs in Datadog-rehydratable format to an Amazon S3 bucket for archiving. + + + **Supported pipeline types:** logs' properties: auth: $ref: '#/components/schemas/ObservabilityPipelineAwsAuth' @@ -35384,6 +35417,8 @@ components: - region - storage_class type: object + x-pipeline-types: + - logs ObservabilityPipelineAmazonS3DestinationStorageClass: description: S3 storage class. enum: @@ -35420,7 +35455,10 @@ components: ObservabilityPipelineAmazonS3Source: description: 'The `amazon_s3` source ingests logs from an Amazon S3 bucket. - It supports AWS authentication and TLS encryption.' + It supports AWS authentication and TLS encryption. + + + **Supported pipeline types:** logs' properties: auth: $ref: '#/components/schemas/ObservabilityPipelineAwsAuth' @@ -35443,6 +35481,8 @@ components: - type - region type: object + x-pipeline-types: + - logs ObservabilityPipelineAmazonS3SourceType: default: amazon_s3 description: The source type. Always `amazon_s3`. @@ -35453,8 +35493,11 @@ components: x-enum-varnames: - AMAZON_S3 ObservabilityPipelineAmazonSecurityLakeDestination: - description: The `amazon_security_lake` destination sends your logs to Amazon + description: 'The `amazon_security_lake` destination sends your logs to Amazon Security Lake. + + + **Supported pipeline types:** logs' properties: auth: $ref: '#/components/schemas/ObservabilityPipelineAwsAuth' @@ -35494,6 +35537,8 @@ components: - region - custom_source_name type: object + x-pipeline-types: + - logs ObservabilityPipelineAmazonSecurityLakeDestinationType: default: amazon_security_lake description: The destination type. Always `amazon_security_lake`. @@ -35537,6 +35582,8 @@ components: items: $ref: '#/components/schemas/ObservabilityPipelineConfigDestinationItem' type: array + pipeline_type: + $ref: '#/components/schemas/ObservabilityPipelineConfigPipelineType' processors: description: A list of processor groups that transform or enrich log data. example: @@ -35573,25 +35620,38 @@ components: ObservabilityPipelineConfigDestinationItem: description: A destination for the pipeline. oneOf: - - $ref: '#/components/schemas/ObservabilityPipelineDatadogLogsDestination' + - $ref: '#/components/schemas/ObservabilityPipelineHttpClientDestination' + - $ref: '#/components/schemas/ObservabilityPipelineAmazonOpenSearchDestination' - $ref: '#/components/schemas/ObservabilityPipelineAmazonS3Destination' - - $ref: '#/components/schemas/ObservabilityPipelineGoogleCloudStorageDestination' - - $ref: '#/components/schemas/ObservabilityPipelineSplunkHecDestination' - - $ref: '#/components/schemas/ObservabilityPipelineSumoLogicDestination' - - $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestination' - - $ref: '#/components/schemas/ObservabilityPipelineRsyslogDestination' - - $ref: '#/components/schemas/ObservabilityPipelineSyslogNgDestination' + - $ref: '#/components/schemas/ObservabilityPipelineAmazonSecurityLakeDestination' - $ref: '#/components/schemas/AzureStorageDestination' - - $ref: '#/components/schemas/MicrosoftSentinelDestination' + - $ref: '#/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestination' + - $ref: '#/components/schemas/ObservabilityPipelineDatadogLogsDestination' + - $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestination' - $ref: '#/components/schemas/ObservabilityPipelineGoogleChronicleDestination' + - $ref: '#/components/schemas/ObservabilityPipelineGoogleCloudStorageDestination' + - $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubDestination' + - $ref: '#/components/schemas/MicrosoftSentinelDestination' - $ref: '#/components/schemas/ObservabilityPipelineNewRelicDestination' - - $ref: '#/components/schemas/ObservabilityPipelineSentinelOneDestination' - $ref: '#/components/schemas/ObservabilityPipelineOpenSearchDestination' - - $ref: '#/components/schemas/ObservabilityPipelineAmazonOpenSearchDestination' + - $ref: '#/components/schemas/ObservabilityPipelineRsyslogDestination' + - $ref: '#/components/schemas/ObservabilityPipelineSentinelOneDestination' - $ref: '#/components/schemas/ObservabilityPipelineSocketDestination' - - $ref: '#/components/schemas/ObservabilityPipelineAmazonSecurityLakeDestination' - - $ref: '#/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestination' - - $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubDestination' + - $ref: '#/components/schemas/ObservabilityPipelineSplunkHecDestination' + - $ref: '#/components/schemas/ObservabilityPipelineSumoLogicDestination' + - $ref: '#/components/schemas/ObservabilityPipelineSyslogNgDestination' + - $ref: '#/components/schemas/ObservabilityPipelineDatadogMetricsDestination' + ObservabilityPipelineConfigPipelineType: + default: logs + description: The type of data being ingested. Defaults to `logs` if not specified. + enum: + - logs + - metrics + example: logs + type: string + x-enum-varnames: + - LOGS + - METRICS ObservabilityPipelineConfigProcessorGroup: description: A group of processors. example: @@ -35665,45 +35725,49 @@ components: description: A processor for the pipeline. oneOf: - $ref: '#/components/schemas/ObservabilityPipelineFilterProcessor' + - $ref: '#/components/schemas/ObservabilityPipelineAddEnvVarsProcessor' + - $ref: '#/components/schemas/ObservabilityPipelineAddFieldsProcessor' + - $ref: '#/components/schemas/ObservabilityPipelineCustomProcessor' + - $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessor' + - $ref: '#/components/schemas/ObservabilityPipelineDedupeProcessor' + - $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableProcessor' + - $ref: '#/components/schemas/ObservabilityPipelineGenerateMetricsProcessor' + - $ref: '#/components/schemas/ObservabilityPipelineOcsfMapperProcessor' + - $ref: '#/components/schemas/ObservabilityPipelineParseGrokProcessor' - $ref: '#/components/schemas/ObservabilityPipelineParseJSONProcessor' - $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineAddFieldsProcessor' + - $ref: '#/components/schemas/ObservabilityPipelineReduceProcessor' - $ref: '#/components/schemas/ObservabilityPipelineRemoveFieldsProcessor' - $ref: '#/components/schemas/ObservabilityPipelineRenameFieldsProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineGenerateMetricsProcessor' - $ref: '#/components/schemas/ObservabilityPipelineSampleProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineParseGrokProcessor' - $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineOcsfMapperProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineAddEnvVarsProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineDedupeProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineReduceProcessor' - $ref: '#/components/schemas/ObservabilityPipelineThrottleProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineCustomProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessor' + - $ref: '#/components/schemas/ObservabilityPipelineMetricTagsProcessor' ObservabilityPipelineConfigSourceItem: description: A data source for the pipeline. oneOf: - - $ref: '#/components/schemas/ObservabilityPipelineKafkaSource' - $ref: '#/components/schemas/ObservabilityPipelineDatadogAgentSource' - - $ref: '#/components/schemas/ObservabilityPipelineSplunkTcpSource' - - $ref: '#/components/schemas/ObservabilityPipelineSplunkHecSource' + - $ref: '#/components/schemas/ObservabilityPipelineAmazonDataFirehoseSource' - $ref: '#/components/schemas/ObservabilityPipelineAmazonS3Source' - - $ref: '#/components/schemas/ObservabilityPipelineFluentdSource' - $ref: '#/components/schemas/ObservabilityPipelineFluentBitSource' - - $ref: '#/components/schemas/ObservabilityPipelineHttpServerSource' - - $ref: '#/components/schemas/ObservabilityPipelineSumoLogicSource' - - $ref: '#/components/schemas/ObservabilityPipelineRsyslogSource' - - $ref: '#/components/schemas/ObservabilityPipelineSyslogNgSource' - - $ref: '#/components/schemas/ObservabilityPipelineAmazonDataFirehoseSource' + - $ref: '#/components/schemas/ObservabilityPipelineFluentdSource' - $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubSource' - $ref: '#/components/schemas/ObservabilityPipelineHttpClientSource' + - $ref: '#/components/schemas/ObservabilityPipelineHttpServerSource' + - $ref: '#/components/schemas/ObservabilityPipelineKafkaSource' - $ref: '#/components/schemas/ObservabilityPipelineLogstashSource' + - $ref: '#/components/schemas/ObservabilityPipelineRsyslogSource' - $ref: '#/components/schemas/ObservabilityPipelineSocketSource' + - $ref: '#/components/schemas/ObservabilityPipelineSplunkHecSource' + - $ref: '#/components/schemas/ObservabilityPipelineSplunkTcpSource' + - $ref: '#/components/schemas/ObservabilityPipelineSumoLogicSource' + - $ref: '#/components/schemas/ObservabilityPipelineSyslogNgSource' ObservabilityPipelineCrowdStrikeNextGenSiemDestination: - description: The `crowdstrike_next_gen_siem` destination forwards logs to CrowdStrike + description: 'The `crowdstrike_next_gen_siem` destination forwards logs to CrowdStrike Next Gen SIEM. + + + **Supported pipeline types:** logs' properties: compression: $ref: '#/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression' @@ -35731,6 +35795,8 @@ components: - inputs - encoding type: object + x-pipeline-types: + - logs ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression: description: Compression configuration for log events. properties: @@ -35774,9 +35840,12 @@ components: x-enum-varnames: - CROWDSTRIKE_NEXT_GEN_SIEM ObservabilityPipelineCustomProcessor: - description: The `custom_processor` processor transforms events using [Vector + description: 'The `custom_processor` processor transforms events using [Vector Remap Language (VRL)](https://vector.dev/docs/reference/vrl/) scripts with advanced filtering capabilities. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -35810,6 +35879,8 @@ components: - remaps - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineCustomProcessorRemap: description: Defines a single VRL remap rule with its own filtering and transformation logic. @@ -35885,7 +35956,11 @@ components: - config type: object ObservabilityPipelineDatadogAgentSource: - description: The `datadog_agent` source collects logs from the Datadog Agent. + description: 'The `datadog_agent` source collects logs/metrics from the Datadog + Agent. + + + **Supported pipeline types:** logs, metrics' properties: id: description: The unique identifier for this component. Used to reference @@ -35901,6 +35976,9 @@ components: - id - type type: object + x-pipeline-types: + - logs + - metrics ObservabilityPipelineDatadogAgentSourceType: default: datadog_agent description: The source type. The value should always be `datadog_agent`. @@ -35911,7 +35989,10 @@ components: x-enum-varnames: - DATADOG_AGENT ObservabilityPipelineDatadogLogsDestination: - description: The `datadog_logs` destination forwards logs to Datadog Log Management. + description: 'The `datadog_logs` destination forwards logs to Datadog Log Management. + + + **Supported pipeline types:** logs' properties: id: description: The unique identifier for this component. @@ -35932,6 +36013,8 @@ components: - type - inputs type: object + x-pipeline-types: + - logs ObservabilityPipelineDatadogLogsDestinationType: default: datadog_logs description: The destination type. The value should always be `datadog_logs`. @@ -35941,9 +36024,48 @@ components: type: string x-enum-varnames: - DATADOG_LOGS + ObservabilityPipelineDatadogMetricsDestination: + description: 'The `datadog_metrics` destination forwards metrics to Datadog. + + + **Supported pipeline types:** metrics' + properties: + id: + description: The unique identifier for this component. + example: datadog-metrics-destination + type: string + inputs: + description: A list of component IDs whose output is used as the input for + this component. + example: + - metric-tags-processor + items: + type: string + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineDatadogMetricsDestinationType' + required: + - id + - type + - inputs + type: object + x-pipeline-types: + - metrics + ObservabilityPipelineDatadogMetricsDestinationType: + default: datadog_metrics + description: The destination type. The value should always be `datadog_metrics`. + enum: + - datadog_metrics + example: datadog_metrics + type: string + x-enum-varnames: + - DATADOG_METRICS ObservabilityPipelineDatadogTagsProcessor: - description: The `datadog_tags` processor includes or excludes specific Datadog + description: 'The `datadog_tags` processor includes or excludes specific Datadog tags in your logs. + + + **Supported pipeline types:** logs' properties: action: $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorAction' @@ -35986,6 +36108,8 @@ components: - keys - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineDatadogTagsProcessorAction: description: The action to take on tags with matching keys. enum: @@ -36028,7 +36152,10 @@ components: - DECODE_JSON - DECODE_SYSLOG ObservabilityPipelineDedupeProcessor: - description: The `dedupe` processor removes duplicate fields in log events. + description: 'The `dedupe` processor removes duplicate fields in log events. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -36065,6 +36192,8 @@ components: - mode - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineDedupeProcessorMode: description: The deduplication mode to apply to the fields. enum: @@ -36085,8 +36214,11 @@ components: x-enum-varnames: - DEDUPE ObservabilityPipelineElasticsearchDestination: - description: The `elasticsearch` destination writes logs to an Elasticsearch + description: 'The `elasticsearch` destination writes logs to an Elasticsearch cluster. + + + **Supported pipeline types:** logs' properties: api_version: $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationApiVersion' @@ -36113,6 +36245,8 @@ components: - type - inputs type: object + x-pipeline-types: + - logs ObservabilityPipelineElasticsearchDestinationApiVersion: description: The Elasticsearch API version to use. Set to `auto` to auto-detect. enum: @@ -36266,8 +36400,11 @@ components: - path type: object ObservabilityPipelineEnrichmentTableProcessor: - description: The `enrichment_table` processor enriches logs using a static CSV - file or GeoIP database. + description: 'The `enrichment_table` processor enriches logs using a static + CSV file or GeoIP database. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -36301,6 +36438,8 @@ components: - target - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineEnrichmentTableProcessorType: default: enrichment_table description: The processor type. The value should always be `enrichment_table`. @@ -36326,9 +36465,12 @@ components: - value type: object ObservabilityPipelineFilterProcessor: - description: The `filter` processor allows conditional processing of logs based - on a Datadog search query. Logs that match the `include` query are passed - through; others are discarded. + description: 'The `filter` processor allows conditional processing of logs/metrics + based on a Datadog search query. Logs/metrics that match the `include` query + are passed through; others are discarded. + + + **Supported pipeline types:** logs, metrics' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -36343,9 +36485,9 @@ components: example: filter-processor type: string include: - description: A Datadog search query used to determine which logs should - pass through the filter. Logs that match this query continue to downstream - components; others are dropped. + description: A Datadog search query used to determine which logs/metrics + should pass through the filter. Logs/metrics that match this query continue + to downstream components; others are dropped. example: service:my-service type: string type: @@ -36356,6 +36498,9 @@ components: - include - enabled type: object + x-pipeline-types: + - logs + - metrics ObservabilityPipelineFilterProcessorType: default: filter description: The processor type. The value should always be `filter`. @@ -36366,7 +36511,10 @@ components: x-enum-varnames: - FILTER ObservabilityPipelineFluentBitSource: - description: The `fluent_bit` source ingests logs from Fluent Bit. + description: 'The `fluent_bit` source ingests logs from Fluent Bit. + + + **Supported pipeline types:** logs' properties: id: description: The unique identifier for this component. Used to reference @@ -36382,6 +36530,8 @@ components: - id - type type: object + x-pipeline-types: + - logs ObservabilityPipelineFluentBitSourceType: default: fluent_bit description: The source type. The value should always be `fluent_bit`. @@ -36392,7 +36542,10 @@ components: x-enum-varnames: - FLUENT_BIT ObservabilityPipelineFluentdSource: - description: The `fluentd` source ingests logs from a Fluentd-compatible service. + description: 'The `fluentd` source ingests logs from a Fluentd-compatible service. + + + **Supported pipeline types:** logs' properties: id: description: The unique identifier for this component. Used to reference @@ -36408,6 +36561,8 @@ components: - id - type type: object + x-pipeline-types: + - logs ObservabilityPipelineFluentdSourceType: default: fluentd description: The source type. The value should always be `fluentd. @@ -36432,7 +36587,10 @@ components: from logs and sends them to Datadog. Metrics can be counters, gauges, or distributions and optionally grouped by - log fields.' + log fields. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -36462,6 +36620,8 @@ components: - type - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineGenerateMetricsProcessorType: default: generate_datadog_metrics description: The processor type. Always `generate_datadog_metrics`. @@ -36556,7 +36716,10 @@ components: - GAUGE - DISTRIBUTION ObservabilityPipelineGoogleChronicleDestination: - description: The `google_chronicle` destination sends logs to Google Chronicle. + description: 'The `google_chronicle` destination sends logs to Google Chronicle. + + + **Supported pipeline types:** logs' properties: auth: $ref: '#/components/schemas/ObservabilityPipelineGcpAuth' @@ -36590,6 +36753,8 @@ components: - inputs - customer_id type: object + x-pipeline-types: + - logs ObservabilityPipelineGoogleChronicleDestinationEncoding: description: The encoding format for the logs sent to Chronicle. enum: @@ -36613,7 +36778,10 @@ components: description: 'The `google_cloud_storage` destination stores logs in a Google Cloud Storage (GCS) bucket. - It requires a bucket name, GCP authentication, and metadata fields.' + It requires a bucket name, GCP authentication, and metadata fields. + + + **Supported pipeline types:** logs' properties: acl: $ref: '#/components/schemas/ObservabilityPipelineGoogleCloudStorageDestinationAcl' @@ -36655,6 +36823,8 @@ components: - bucket - storage_class type: object + x-pipeline-types: + - logs ObservabilityPipelineGoogleCloudStorageDestinationAcl: description: Access control list setting for objects written to the bucket. enum: @@ -36697,8 +36867,11 @@ components: x-enum-varnames: - GOOGLE_CLOUD_STORAGE ObservabilityPipelineGooglePubSubDestination: - description: The `google_pubsub` destination publishes logs to a Google Cloud + description: 'The `google_pubsub` destination publishes logs to a Google Cloud Pub/Sub topic. + + + **Supported pipeline types:** logs' properties: auth: $ref: '#/components/schemas/ObservabilityPipelineGcpAuth' @@ -36736,6 +36909,8 @@ components: - project - topic type: object + x-pipeline-types: + - logs ObservabilityPipelineGooglePubSubDestinationEncoding: description: Encoding format for log events. enum: @@ -36756,8 +36931,11 @@ components: x-enum-varnames: - GOOGLE_PUBSUB ObservabilityPipelineGooglePubSubSource: - description: The `google_pubsub` source ingests logs from a Google Cloud Pub/Sub + description: 'The `google_pubsub` source ingests logs from a Google Cloud Pub/Sub subscription. + + + **Supported pipeline types:** logs' properties: auth: $ref: '#/components/schemas/ObservabilityPipelineGcpAuth' @@ -36788,6 +36966,8 @@ components: - project - subscription type: object + x-pipeline-types: + - logs ObservabilityPipelineGooglePubSubSourceType: default: google_pubsub description: The source type. The value should always be `google_pubsub`. @@ -36797,9 +36977,92 @@ components: type: string x-enum-varnames: - GOOGLE_PUBSUB + ObservabilityPipelineHttpClientDestination: + description: 'The `http_client` destination sends data to an HTTP endpoint. + + + **Supported pipeline types:** logs, metrics' + properties: + auth_strategy: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientDestinationAuthStrategy' + compression: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientDestinationCompression' + encoding: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientDestinationEncoding' + id: + description: The unique identifier for this component. + example: http-client-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 + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientDestinationType' + required: + - id + - type + - inputs + - encoding + type: object + x-pipeline-types: + - logs + - metrics + ObservabilityPipelineHttpClientDestinationAuthStrategy: + description: HTTP authentication strategy. + enum: + - basic + - bearer + example: basic + type: string + x-enum-varnames: + - BASIC + - BEARER + ObservabilityPipelineHttpClientDestinationCompression: + description: Compression configuration for HTTP requests. + properties: + algorithm: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientDestinationCompressionAlgorithm' + required: + - algorithm + type: object + ObservabilityPipelineHttpClientDestinationCompressionAlgorithm: + description: Compression algorithm. + enum: + - gzip + example: gzip + type: string + x-enum-varnames: + - GZIP + ObservabilityPipelineHttpClientDestinationEncoding: + description: Encoding format for log events. + enum: + - json + example: json + type: string + x-enum-varnames: + - JSON + ObservabilityPipelineHttpClientDestinationType: + default: http_client + description: The destination type. The value should always be `http_client`. + enum: + - http_client + example: http_client + type: string + x-enum-varnames: + - HTTP_CLIENT ObservabilityPipelineHttpClientSource: - description: The `http_client` source scrapes logs from HTTP endpoints at regular + description: 'The `http_client` source scrapes logs from HTTP endpoints at regular intervals. + + + **Supported pipeline types:** logs' properties: auth_strategy: $ref: '#/components/schemas/ObservabilityPipelineHttpClientSourceAuthStrategy' @@ -36830,6 +37093,8 @@ components: - type - decoding type: object + x-pipeline-types: + - logs ObservabilityPipelineHttpClientSourceAuthStrategy: description: Optional authentication strategy for HTTP requests. enum: @@ -36850,8 +37115,11 @@ components: x-enum-varnames: - HTTP_CLIENT ObservabilityPipelineHttpServerSource: - description: The `http_server` source collects logs over HTTP POST from external + description: 'The `http_server` source collects logs over HTTP POST from external services. + + + **Supported pipeline types:** logs' properties: auth_strategy: $ref: '#/components/schemas/ObservabilityPipelineHttpServerSourceAuthStrategy' @@ -36871,6 +37139,8 @@ components: - auth_strategy - decoding type: object + x-pipeline-types: + - logs ObservabilityPipelineHttpServerSourceAuthStrategy: description: HTTP authentication method. enum: @@ -36891,7 +37161,10 @@ components: x-enum-varnames: - HTTP_SERVER ObservabilityPipelineKafkaSource: - description: The `kafka` source ingests data from Apache Kafka topics. + description: 'The `kafka` source ingests data from Apache Kafka topics. + + + **Supported pipeline types:** logs' properties: group_id: description: Consumer group ID used by the Kafka client. @@ -36930,6 +37203,8 @@ components: - group_id - topics type: object + x-pipeline-types: + - logs ObservabilityPipelineKafkaSourceLibrdkafkaOption: description: Represents a key-value pair used to configure low-level `librdkafka` client options for Kafka sources, such as timeouts, buffer sizes, and security @@ -36964,7 +37239,10 @@ components: x-enum-varnames: - KAFKA ObservabilityPipelineLogstashSource: - description: The `logstash` source ingests logs from a Logstash forwarder. + description: 'The `logstash` source ingests logs from a Logstash forwarder. + + + **Supported pipeline types:** logs' properties: id: description: The unique identifier for this component. Used to reference @@ -36980,6 +37258,8 @@ components: - id - type type: object + x-pipeline-types: + - logs ObservabilityPipelineLogstashSourceType: default: logstash description: The source type. The value should always be `logstash`. @@ -37004,13 +37284,104 @@ components: - name - value type: object + ObservabilityPipelineMetricTagsProcessor: + description: 'The `metric_tags` processor filters metrics based on their tags + using Datadog tag key patterns. + + + **Supported pipeline types:** metrics' + properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used to reference + this component in other parts of the pipeline (for example, as the `input` + to downstream components). + example: metric-tags-processor + type: string + include: + description: A Datadog search query used to determine which metrics this + processor targets. + example: '*' + type: string + rules: + description: A list of rules for filtering metric tags. + items: + $ref: '#/components/schemas/ObservabilityPipelineMetricTagsProcessorRule' + maxItems: 100 + minItems: 1 + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineMetricTagsProcessorType' + required: + - id + - type + - include + - rules + - enabled + type: object + x-pipeline-types: + - metrics + ObservabilityPipelineMetricTagsProcessorRule: + description: Defines a rule for filtering metric tags based on key patterns. + properties: + action: + $ref: '#/components/schemas/ObservabilityPipelineMetricTagsProcessorRuleAction' + keys: + description: A list of tag keys to include or exclude. + example: + - env + - service + - version + items: + type: string + type: array + mode: + $ref: '#/components/schemas/ObservabilityPipelineMetricTagsProcessorRuleMode' + required: + - mode + - action + - keys + type: object + ObservabilityPipelineMetricTagsProcessorRuleAction: + description: The action to take on tags with matching keys. + enum: + - include + - exclude + example: include + type: string + x-enum-varnames: + - INCLUDE + - EXCLUDE + ObservabilityPipelineMetricTagsProcessorRuleMode: + description: The processing mode for tag filtering. + enum: + - filter + example: filter + type: string + x-enum-varnames: + - FILTER + ObservabilityPipelineMetricTagsProcessorType: + default: metric_tags + description: The processor type. The value should always be `metric_tags`. + enum: + - metric_tags + example: metric_tags + type: string + x-enum-varnames: + - METRIC_TAGS ObservabilityPipelineMetricValue: description: Specifies how the value of the generated metric is computed. oneOf: - $ref: '#/components/schemas/ObservabilityPipelineGeneratedMetricIncrementByOne' - $ref: '#/components/schemas/ObservabilityPipelineGeneratedMetricIncrementByField' ObservabilityPipelineNewRelicDestination: - description: The `new_relic` destination sends logs to the New Relic platform. + description: 'The `new_relic` destination sends logs to the New Relic platform. + + + **Supported pipeline types:** logs' properties: id: description: The unique identifier for this component. @@ -37034,6 +37405,8 @@ components: - inputs - region type: object + x-pipeline-types: + - logs ObservabilityPipelineNewRelicDestinationRegion: description: The New Relic region. enum: @@ -37054,8 +37427,11 @@ components: x-enum-varnames: - NEW_RELIC ObservabilityPipelineOcsfMapperProcessor: - description: The `ocsf_mapper` processor transforms logs into the OCSF schema + description: 'The `ocsf_mapper` processor transforms logs into the OCSF schema using a predefined mapping configuration. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -37087,6 +37463,8 @@ components: - mappings - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineOcsfMapperProcessorMapping: description: Defines how specific events are transformed to OCSF using a mapping configuration. @@ -37146,7 +37524,10 @@ components: - OKTA_SYSTEM_LOG_AUTHENTICATION - PALO_ALTO_NETWORKS_FIREWALL_TRAFFIC ObservabilityPipelineOpenSearchDestination: - description: The `opensearch` destination writes logs to an OpenSearch cluster. + description: 'The `opensearch` destination writes logs to an OpenSearch cluster. + + + **Supported pipeline types:** logs' properties: bulk_index: description: The index to write logs to. @@ -37171,6 +37552,8 @@ components: - type - inputs type: object + x-pipeline-types: + - logs ObservabilityPipelineOpenSearchDestinationType: default: opensearch description: The destination type. The value should always be `opensearch`. @@ -37181,8 +37564,11 @@ components: x-enum-varnames: - OPENSEARCH ObservabilityPipelineParseGrokProcessor: - description: The `parse_grok` processor extracts structured fields from unstructured + description: 'The `parse_grok` processor extracts structured fields from unstructured log messages using Grok patterns. + + + **Supported pipeline types:** logs' properties: disable_library_rules: default: false @@ -37221,6 +37607,8 @@ components: - rules - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineParseGrokProcessorRule: description: 'A Grok parsing rule used in the `parse_grok` processor. Each rule defines how to extract structured fields @@ -37300,9 +37688,12 @@ components: x-enum-varnames: - PARSE_GROK ObservabilityPipelineParseJSONProcessor: - description: The `parse_json` processor extracts JSON from a specified field + description: 'The `parse_json` processor extracts JSON from a specified field and flattens it into the event. This is useful when logs contain embedded JSON as a string. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -37334,6 +37725,8 @@ components: - field - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineParseJSONProcessorType: default: parse_json description: The processor type. The value should always be `parse_json`. @@ -37355,9 +37748,12 @@ components: - SCRAMNOT_SHANOT_256 - SCRAMNOT_SHANOT_512 ObservabilityPipelineQuotaProcessor: - description: The Quota Processor measures logging traffic for logs that match + description: 'The `quota` processor measures logging traffic for logs that match a specified filter. When the configured daily quota is met, the processor can drop or alert. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -37418,6 +37814,8 @@ components: - limit - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineQuotaProcessorLimit: description: The maximum amount of data or number of events allowed before the quota is enforced. Can be specified in bytes or events. @@ -37489,8 +37887,11 @@ components: x-enum-varnames: - QUOTA ObservabilityPipelineReduceProcessor: - description: The `reduce` processor aggregates and merges logs based on matching + description: 'The `reduce` processor aggregates and merges logs based on matching keys and merge strategies. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -37531,6 +37932,8 @@ components: - merge_strategies - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineReduceProcessorMergeStrategy: description: Defines how a specific field should be merged across grouped events. properties: @@ -37584,7 +37987,10 @@ components: x-enum-varnames: - REDUCE ObservabilityPipelineRemoveFieldsProcessor: - description: The `remove_fields` processor deletes specified fields from logs. + description: 'The `remove_fields` processor deletes specified fields from logs. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -37620,6 +38026,8 @@ components: - fields - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineRemoveFieldsProcessorType: default: remove_fields description: The processor type. The value should always be `remove_fields`. @@ -37630,7 +38038,10 @@ components: x-enum-varnames: - REMOVE_FIELDS ObservabilityPipelineRenameFieldsProcessor: - description: The `rename_fields` processor changes field names. + description: 'The `rename_fields` processor changes field names. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -37665,6 +38076,8 @@ components: - fields - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineRenameFieldsProcessorField: description: Defines how to rename a field in log events. properties: @@ -37696,8 +38109,11 @@ components: x-enum-varnames: - RENAME_FIELDS ObservabilityPipelineRsyslogDestination: - description: The `rsyslog` destination forwards logs to an external `rsyslog` + description: 'The `rsyslog` destination forwards logs to an external `rsyslog` server over TCP or UDP using the syslog protocol. + + + **Supported pipeline types:** logs' properties: id: description: The unique identifier for this component. @@ -37726,6 +38142,8 @@ components: - type - inputs type: object + x-pipeline-types: + - logs ObservabilityPipelineRsyslogDestinationType: default: rsyslog description: The destination type. The value should always be `rsyslog`. @@ -37736,8 +38154,11 @@ components: x-enum-varnames: - RSYSLOG ObservabilityPipelineRsyslogSource: - description: The `rsyslog` source listens for logs over TCP or UDP from an `rsyslog` - server using the syslog protocol. + description: 'The `rsyslog` source listens for logs over TCP or UDP from an + `rsyslog` server using the syslog protocol. + + + **Supported pipeline types:** logs' properties: id: description: The unique identifier for this component. Used to reference @@ -37756,6 +38177,8 @@ components: - type - mode type: object + x-pipeline-types: + - logs ObservabilityPipelineRsyslogSourceType: default: rsyslog description: The source type. The value should always be `rsyslog`. @@ -37766,8 +38189,11 @@ components: x-enum-varnames: - RSYSLOG ObservabilityPipelineSampleProcessor: - description: The `sample` processor allows probabilistic sampling of logs at + description: 'The `sample` processor allows probabilistic sampling of logs at a fixed rate. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -37805,6 +38231,8 @@ components: - include - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineSampleProcessorType: default: sample description: The processor type. The value should always be `sample`. @@ -37815,8 +38243,11 @@ components: x-enum-varnames: - SAMPLE ObservabilityPipelineSensitiveDataScannerProcessor: - description: The `sensitive_data_scanner` processor detects and optionally redacts - sensitive data in log events. + description: 'The `sensitive_data_scanner` processor detects and optionally + redacts sensitive data in log events. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -37850,6 +38281,8 @@ components: - rules - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineSensitiveDataScannerProcessorAction: description: Defines what action to take when sensitive data is matched. oneOf: @@ -38167,7 +38600,10 @@ components: x-enum-varnames: - SENSITIVE_DATA_SCANNER ObservabilityPipelineSentinelOneDestination: - description: The `sentinel_one` destination sends logs to SentinelOne. + description: 'The `sentinel_one` destination sends logs to SentinelOne. + + + **Supported pipeline types:** logs' properties: id: description: The unique identifier for this component. @@ -38191,6 +38627,8 @@ components: - inputs - region type: object + x-pipeline-types: + - logs ObservabilityPipelineSentinelOneDestinationRegion: description: The SentinelOne region to send logs to. enum: @@ -38215,8 +38653,11 @@ components: x-enum-varnames: - SENTINEL_ONE ObservabilityPipelineSocketDestination: - description: The `socket` destination sends logs over TCP or UDP to a remote + description: 'The `socket` destination sends logs over TCP or UDP to a remote server. + + + **Supported pipeline types:** logs' properties: encoding: $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationEncoding' @@ -38249,6 +38690,8 @@ components: - framing - mode type: object + x-pipeline-types: + - logs ObservabilityPipelineSocketDestinationEncoding: description: Encoding format for log events. enum: @@ -38343,7 +38786,10 @@ components: x-enum-varnames: - SOCKET ObservabilityPipelineSocketSource: - description: The `socket` source ingests logs over TCP or UDP. + description: 'The `socket` source ingests logs over TCP or UDP. + + + **Supported pipeline types:** logs' properties: framing: $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFraming' @@ -38366,6 +38812,8 @@ components: - mode - framing type: object + x-pipeline-types: + - logs ObservabilityPipelineSocketSourceFraming: description: Framing method configuration for the socket source. oneOf: @@ -38507,8 +38955,11 @@ components: - attributes type: object ObservabilityPipelineSplunkHecDestination: - description: The `splunk_hec` destination forwards logs to Splunk using the + description: 'The `splunk_hec` destination forwards logs to Splunk using the HTTP Event Collector (HEC). + + + **Supported pipeline types:** logs' properties: auto_extract_timestamp: description: 'If `true`, Splunk tries to extract timestamps from incoming @@ -38548,6 +38999,8 @@ components: - type - inputs type: object + x-pipeline-types: + - logs ObservabilityPipelineSplunkHecDestinationEncoding: description: Encoding format for log events. enum: @@ -38568,8 +39021,11 @@ components: x-enum-varnames: - SPLUNK_HEC ObservabilityPipelineSplunkHecSource: - description: The `splunk_hec` source implements the Splunk HTTP Event Collector + description: 'The `splunk_hec` source implements the Splunk HTTP Event Collector (HEC) API. + + + **Supported pipeline types:** logs' properties: id: description: The unique identifier for this component. Used to reference @@ -38585,6 +39041,8 @@ components: - id - type type: object + x-pipeline-types: + - logs ObservabilityPipelineSplunkHecSourceType: default: splunk_hec description: The source type. Always `splunk_hec`. @@ -38598,7 +39056,10 @@ components: description: 'The `splunk_tcp` source receives logs from a Splunk Universal Forwarder over TCP. - TLS is supported for secure transmission.' + TLS is supported for secure transmission. + + + **Supported pipeline types:** logs' properties: id: description: The unique identifier for this component. Used to reference @@ -38614,6 +39075,8 @@ components: - id - type type: object + x-pipeline-types: + - logs ObservabilityPipelineSplunkTcpSourceType: default: splunk_tcp description: The source type. Always `splunk_tcp`. @@ -38624,7 +39087,10 @@ components: x-enum-varnames: - SPLUNK_TCP ObservabilityPipelineSumoLogicDestination: - description: The `sumo_logic` destination forwards logs to Sumo Logic. + description: 'The `sumo_logic` destination forwards logs to Sumo Logic. + + + **Supported pipeline types:** logs' properties: encoding: $ref: '#/components/schemas/ObservabilityPipelineSumoLogicDestinationEncoding' @@ -38665,6 +39131,8 @@ components: - type - inputs type: object + x-pipeline-types: + - logs ObservabilityPipelineSumoLogicDestinationEncoding: description: The output encoding format. enum: @@ -38702,7 +39170,10 @@ components: x-enum-varnames: - SUMO_LOGIC ObservabilityPipelineSumoLogicSource: - description: The `sumo_logic` source receives logs from Sumo Logic collectors. + description: 'The `sumo_logic` source receives logs from Sumo Logic collectors. + + + **Supported pipeline types:** logs' properties: id: description: The unique identifier for this component. Used to reference @@ -38716,6 +39187,8 @@ components: - id - type type: object + x-pipeline-types: + - logs ObservabilityPipelineSumoLogicSourceType: default: sumo_logic description: The source type. The value should always be `sumo_logic`. @@ -38726,8 +39199,11 @@ components: x-enum-varnames: - SUMO_LOGIC ObservabilityPipelineSyslogNgDestination: - description: The `syslog_ng` destination forwards logs to an external `syslog-ng` + description: 'The `syslog_ng` destination forwards logs to an external `syslog-ng` server over TCP or UDP using the syslog protocol. + + + **Supported pipeline types:** logs' properties: id: description: The unique identifier for this component. @@ -38756,6 +39232,8 @@ components: - type - inputs type: object + x-pipeline-types: + - logs ObservabilityPipelineSyslogNgDestinationType: default: syslog_ng description: The destination type. The value should always be `syslog_ng`. @@ -38766,8 +39244,11 @@ components: x-enum-varnames: - SYSLOG_NG ObservabilityPipelineSyslogNgSource: - description: The `syslog_ng` source listens for logs over TCP or UDP from a + description: 'The `syslog_ng` source listens for logs over TCP or UDP from a `syslog-ng` server using the syslog protocol. + + + **Supported pipeline types:** logs' properties: id: description: The unique identifier for this component. Used to reference @@ -38786,6 +39267,8 @@ components: - type - mode type: object + x-pipeline-types: + - logs ObservabilityPipelineSyslogNgSourceType: default: syslog_ng description: The source type. The value should always be `syslog_ng`. @@ -38806,8 +39289,11 @@ components: - TCP - UDP ObservabilityPipelineThrottleProcessor: - description: The `throttle` processor limits the number of events that pass + description: 'The `throttle` processor limits the number of events that pass through over a given time window. + + + **Supported pipeline types:** logs' properties: display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' @@ -38853,6 +39339,8 @@ components: - window - enabled type: object + x-pipeline-types: + - logs ObservabilityPipelineThrottleProcessorType: default: throttle description: The processor type. The value should always be `throttle`. diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 6220d558aa..8b7c47d5f7 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -15481,6 +15481,13 @@ datadog\_api\_client.v2.model.observability\_pipeline\_config\_destination\_item :members: :show-inheritance: +datadog\_api\_client.v2.model.observability\_pipeline\_config\_pipeline\_type module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_config_pipeline_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.observability\_pipeline\_config\_processor\_group module -------------------------------------------------------------------------------------- @@ -15600,6 +15607,20 @@ datadog\_api\_client.v2.model.observability\_pipeline\_datadog\_logs\_destinatio :members: :show-inheritance: +datadog\_api\_client.v2.model.observability\_pipeline\_datadog\_metrics\_destination module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_datadog_metrics_destination + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_datadog\_metrics\_destination\_type module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_datadog_metrics_destination_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.observability\_pipeline\_datadog\_tags\_processor module -------------------------------------------------------------------------------------- @@ -15936,6 +15957,48 @@ datadog\_api\_client.v2.model.observability\_pipeline\_google\_pub\_sub\_source\ :members: :show-inheritance: +datadog\_api\_client.v2.model.observability\_pipeline\_http\_client\_destination module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_http_client_destination + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_http\_client\_destination\_auth\_strategy module +------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_http_client_destination_auth_strategy + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_http\_client\_destination\_compression module +---------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_http_client_destination_compression + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_http\_client\_destination\_compression\_algorithm module +--------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_http_client_destination_compression_algorithm + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_http\_client\_destination\_encoding module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_http_client_destination_encoding + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_http\_client\_destination\_type module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_http_client_destination_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.observability\_pipeline\_http\_client\_source module ---------------------------------------------------------------------------------- @@ -16027,6 +16090,41 @@ datadog\_api\_client.v2.model.observability\_pipeline\_metadata\_entry module :members: :show-inheritance: +datadog\_api\_client.v2.model.observability\_pipeline\_metric\_tags\_processor module +------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_metric_tags_processor + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_metric\_tags\_processor\_rule module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_rule + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_metric\_tags\_processor\_rule\_action module +--------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_rule_action + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_metric\_tags\_processor\_rule\_mode module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_rule_mode + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_metric\_tags\_processor\_type module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.observability\_pipeline\_metric\_value module --------------------------------------------------------------------------- diff --git a/src/datadog_api_client/v2/model/azure_storage_destination.py b/src/datadog_api_client/v2/model/azure_storage_destination.py index 283e2df4aa..09c1195596 100644 --- a/src/datadog_api_client/v2/model/azure_storage_destination.py +++ b/src/datadog_api_client/v2/model/azure_storage_destination.py @@ -50,6 +50,8 @@ def __init__( """ The ``azure_storage`` destination forwards logs to an Azure Blob Storage container. + **Supported pipeline types:** logs + :param blob_prefix: Optional prefix for blobs written to the container. :type blob_prefix: str, optional diff --git a/src/datadog_api_client/v2/model/microsoft_sentinel_destination.py b/src/datadog_api_client/v2/model/microsoft_sentinel_destination.py index 44868adb77..9b70faf693 100644 --- a/src/datadog_api_client/v2/model/microsoft_sentinel_destination.py +++ b/src/datadog_api_client/v2/model/microsoft_sentinel_destination.py @@ -54,6 +54,8 @@ def __init__( """ The ``microsoft_sentinel`` destination forwards logs to Microsoft Sentinel. + **Supported pipeline types:** logs + :param client_id: Azure AD client ID used for authentication. :type client_id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_add_env_vars_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_add_env_vars_processor.py index afef01d8e9..ff31018b01 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_add_env_vars_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_add_env_vars_processor.py @@ -63,6 +63,8 @@ def __init__( """ The ``add_env_vars`` processor adds environment variable values to log events. + **Supported pipeline types:** logs + :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_add_fields_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_add_fields_processor.py index 47e7dd254c..64f63e7ba8 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_add_fields_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_add_fields_processor.py @@ -59,6 +59,8 @@ def __init__( """ The ``add_fields`` processor adds static key-value fields to logs. + **Supported pipeline types:** logs + :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_amazon_data_firehose_source.py b/src/datadog_api_client/v2/model/observability_pipeline_amazon_data_firehose_source.py index cdb35acf00..29b1d8dc9d 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_amazon_data_firehose_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_amazon_data_firehose_source.py @@ -55,6 +55,8 @@ def __init__( """ The ``amazon_data_firehose`` source ingests logs from AWS Data Firehose. + **Supported pipeline types:** logs + :param auth: AWS authentication credentials used for accessing AWS services such as S3. If omitted, the system’s default credentials are used (for example, the IAM role and environment variables). :type auth: ObservabilityPipelineAwsAuth, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_amazon_open_search_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_amazon_open_search_destination.py index 639d156f8b..003a449c9c 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_amazon_open_search_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_amazon_open_search_destination.py @@ -60,6 +60,8 @@ def __init__( """ The ``amazon_opensearch`` destination writes logs to Amazon OpenSearch. + **Supported pipeline types:** logs + :param auth: Authentication settings for the Amazon OpenSearch destination. The ``strategy`` field determines whether basic or AWS-based authentication is used. :type auth: ObservabilityPipelineAmazonOpenSearchDestinationAuth diff --git a/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_destination.py index 1a7af99838..0018d410eb 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_destination.py @@ -76,6 +76,8 @@ def __init__( """ The ``amazon_s3`` destination sends your logs in Datadog-rehydratable format to an Amazon S3 bucket for archiving. + **Supported pipeline types:** logs + :param auth: AWS authentication credentials used for accessing AWS services such as S3. If omitted, the system’s default credentials are used (for example, the IAM role and environment variables). :type auth: ObservabilityPipelineAwsAuth, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_source.py b/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_source.py index fe4730a921..5d81b16d63 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_source.py @@ -59,6 +59,8 @@ def __init__( The ``amazon_s3`` source ingests logs from an Amazon S3 bucket. It supports AWS authentication and TLS encryption. + **Supported pipeline types:** logs + :param auth: AWS authentication credentials used for accessing AWS services such as S3. If omitted, the system’s default credentials are used (for example, the IAM role and environment variables). :type auth: ObservabilityPipelineAwsAuth, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_amazon_security_lake_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_amazon_security_lake_destination.py index 6757c5f25c..2f286a9755 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_amazon_security_lake_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_amazon_security_lake_destination.py @@ -67,6 +67,8 @@ def __init__( """ The ``amazon_security_lake`` destination sends your logs to Amazon Security Lake. + **Supported pipeline types:** logs + :param auth: AWS authentication credentials used for accessing AWS services such as S3. If omitted, the system’s default credentials are used (for example, the IAM role and environment variables). :type auth: ObservabilityPipelineAwsAuth, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_config.py b/src/datadog_api_client/v2/model/observability_pipeline_config.py index 48cf842a5d..b0f965694b 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_config.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_config.py @@ -17,99 +17,108 @@ from datadog_api_client.v2.model.observability_pipeline_config_destination_item import ( ObservabilityPipelineConfigDestinationItem, ) + from datadog_api_client.v2.model.observability_pipeline_config_pipeline_type import ( + ObservabilityPipelineConfigPipelineType, + ) from datadog_api_client.v2.model.observability_pipeline_config_processor_group import ( ObservabilityPipelineConfigProcessorGroup, ) from datadog_api_client.v2.model.observability_pipeline_config_source_item import ( ObservabilityPipelineConfigSourceItem, ) - from datadog_api_client.v2.model.observability_pipeline_datadog_logs_destination import ( - ObservabilityPipelineDatadogLogsDestination, + from datadog_api_client.v2.model.observability_pipeline_http_client_destination import ( + ObservabilityPipelineHttpClientDestination, + ) + from datadog_api_client.v2.model.observability_pipeline_amazon_open_search_destination import ( + ObservabilityPipelineAmazonOpenSearchDestination, ) from datadog_api_client.v2.model.observability_pipeline_amazon_s3_destination import ( ObservabilityPipelineAmazonS3Destination, ) - from datadog_api_client.v2.model.observability_pipeline_google_cloud_storage_destination import ( - ObservabilityPipelineGoogleCloudStorageDestination, + from datadog_api_client.v2.model.observability_pipeline_amazon_security_lake_destination import ( + ObservabilityPipelineAmazonSecurityLakeDestination, ) - from datadog_api_client.v2.model.observability_pipeline_splunk_hec_destination import ( - ObservabilityPipelineSplunkHecDestination, + from datadog_api_client.v2.model.azure_storage_destination import AzureStorageDestination + from datadog_api_client.v2.model.observability_pipeline_crowd_strike_next_gen_siem_destination import ( + ObservabilityPipelineCrowdStrikeNextGenSiemDestination, ) - from datadog_api_client.v2.model.observability_pipeline_sumo_logic_destination import ( - ObservabilityPipelineSumoLogicDestination, + from datadog_api_client.v2.model.observability_pipeline_datadog_logs_destination import ( + ObservabilityPipelineDatadogLogsDestination, ) from datadog_api_client.v2.model.observability_pipeline_elasticsearch_destination import ( ObservabilityPipelineElasticsearchDestination, ) - from datadog_api_client.v2.model.observability_pipeline_rsyslog_destination import ( - ObservabilityPipelineRsyslogDestination, - ) - from datadog_api_client.v2.model.observability_pipeline_syslog_ng_destination import ( - ObservabilityPipelineSyslogNgDestination, - ) - from datadog_api_client.v2.model.azure_storage_destination import AzureStorageDestination - from datadog_api_client.v2.model.microsoft_sentinel_destination import MicrosoftSentinelDestination from datadog_api_client.v2.model.observability_pipeline_google_chronicle_destination import ( ObservabilityPipelineGoogleChronicleDestination, ) + from datadog_api_client.v2.model.observability_pipeline_google_cloud_storage_destination import ( + ObservabilityPipelineGoogleCloudStorageDestination, + ) + from datadog_api_client.v2.model.observability_pipeline_google_pub_sub_destination import ( + ObservabilityPipelineGooglePubSubDestination, + ) + from datadog_api_client.v2.model.microsoft_sentinel_destination import MicrosoftSentinelDestination from datadog_api_client.v2.model.observability_pipeline_new_relic_destination import ( ObservabilityPipelineNewRelicDestination, ) - from datadog_api_client.v2.model.observability_pipeline_sentinel_one_destination import ( - ObservabilityPipelineSentinelOneDestination, - ) from datadog_api_client.v2.model.observability_pipeline_open_search_destination import ( ObservabilityPipelineOpenSearchDestination, ) - from datadog_api_client.v2.model.observability_pipeline_amazon_open_search_destination import ( - ObservabilityPipelineAmazonOpenSearchDestination, + from datadog_api_client.v2.model.observability_pipeline_rsyslog_destination import ( + ObservabilityPipelineRsyslogDestination, + ) + from datadog_api_client.v2.model.observability_pipeline_sentinel_one_destination import ( + ObservabilityPipelineSentinelOneDestination, ) from datadog_api_client.v2.model.observability_pipeline_socket_destination import ( ObservabilityPipelineSocketDestination, ) - from datadog_api_client.v2.model.observability_pipeline_amazon_security_lake_destination import ( - ObservabilityPipelineAmazonSecurityLakeDestination, + from datadog_api_client.v2.model.observability_pipeline_splunk_hec_destination import ( + ObservabilityPipelineSplunkHecDestination, ) - from datadog_api_client.v2.model.observability_pipeline_crowd_strike_next_gen_siem_destination import ( - ObservabilityPipelineCrowdStrikeNextGenSiemDestination, + from datadog_api_client.v2.model.observability_pipeline_sumo_logic_destination import ( + ObservabilityPipelineSumoLogicDestination, ) - from datadog_api_client.v2.model.observability_pipeline_google_pub_sub_destination import ( - ObservabilityPipelineGooglePubSubDestination, + from datadog_api_client.v2.model.observability_pipeline_syslog_ng_destination import ( + ObservabilityPipelineSyslogNgDestination, + ) + from datadog_api_client.v2.model.observability_pipeline_datadog_metrics_destination import ( + ObservabilityPipelineDatadogMetricsDestination, ) - from datadog_api_client.v2.model.observability_pipeline_kafka_source import ObservabilityPipelineKafkaSource from datadog_api_client.v2.model.observability_pipeline_datadog_agent_source import ( ObservabilityPipelineDatadogAgentSource, ) - from datadog_api_client.v2.model.observability_pipeline_splunk_tcp_source import ( - ObservabilityPipelineSplunkTcpSource, - ) - from datadog_api_client.v2.model.observability_pipeline_splunk_hec_source import ( - ObservabilityPipelineSplunkHecSource, + from datadog_api_client.v2.model.observability_pipeline_amazon_data_firehose_source import ( + ObservabilityPipelineAmazonDataFirehoseSource, ) from datadog_api_client.v2.model.observability_pipeline_amazon_s3_source import ObservabilityPipelineAmazonS3Source - from datadog_api_client.v2.model.observability_pipeline_fluentd_source import ObservabilityPipelineFluentdSource from datadog_api_client.v2.model.observability_pipeline_fluent_bit_source import ( ObservabilityPipelineFluentBitSource, ) - from datadog_api_client.v2.model.observability_pipeline_http_server_source import ( - ObservabilityPipelineHttpServerSource, - ) - from datadog_api_client.v2.model.observability_pipeline_sumo_logic_source import ( - ObservabilityPipelineSumoLogicSource, - ) - from datadog_api_client.v2.model.observability_pipeline_rsyslog_source import ObservabilityPipelineRsyslogSource - from datadog_api_client.v2.model.observability_pipeline_syslog_ng_source import ObservabilityPipelineSyslogNgSource - from datadog_api_client.v2.model.observability_pipeline_amazon_data_firehose_source import ( - ObservabilityPipelineAmazonDataFirehoseSource, - ) + from datadog_api_client.v2.model.observability_pipeline_fluentd_source import ObservabilityPipelineFluentdSource from datadog_api_client.v2.model.observability_pipeline_google_pub_sub_source import ( ObservabilityPipelineGooglePubSubSource, ) from datadog_api_client.v2.model.observability_pipeline_http_client_source import ( ObservabilityPipelineHttpClientSource, ) + from datadog_api_client.v2.model.observability_pipeline_http_server_source import ( + ObservabilityPipelineHttpServerSource, + ) + from datadog_api_client.v2.model.observability_pipeline_kafka_source import ObservabilityPipelineKafkaSource from datadog_api_client.v2.model.observability_pipeline_logstash_source import ObservabilityPipelineLogstashSource + from datadog_api_client.v2.model.observability_pipeline_rsyslog_source import ObservabilityPipelineRsyslogSource from datadog_api_client.v2.model.observability_pipeline_socket_source import ObservabilityPipelineSocketSource + from datadog_api_client.v2.model.observability_pipeline_splunk_hec_source import ( + ObservabilityPipelineSplunkHecSource, + ) + from datadog_api_client.v2.model.observability_pipeline_splunk_tcp_source import ( + ObservabilityPipelineSplunkTcpSource, + ) + from datadog_api_client.v2.model.observability_pipeline_sumo_logic_source import ( + ObservabilityPipelineSumoLogicSource, + ) + from datadog_api_client.v2.model.observability_pipeline_syslog_ng_source import ObservabilityPipelineSyslogNgSource class ObservabilityPipelineConfig(ModelNormal): @@ -118,6 +127,9 @@ def openapi_types(_): from datadog_api_client.v2.model.observability_pipeline_config_destination_item import ( ObservabilityPipelineConfigDestinationItem, ) + from datadog_api_client.v2.model.observability_pipeline_config_pipeline_type import ( + ObservabilityPipelineConfigPipelineType, + ) from datadog_api_client.v2.model.observability_pipeline_config_processor_group import ( ObservabilityPipelineConfigProcessorGroup, ) @@ -127,12 +139,14 @@ def openapi_types(_): return { "destinations": ([ObservabilityPipelineConfigDestinationItem],), + "pipeline_type": (ObservabilityPipelineConfigPipelineType,), "processors": ([ObservabilityPipelineConfigProcessorGroup],), "sources": ([ObservabilityPipelineConfigSourceItem],), } attribute_map = { "destinations": "destinations", + "pipeline_type": "pipeline_type", "processors": "processors", "sources": "sources", } @@ -142,48 +156,51 @@ def __init__( destinations: List[ Union[ ObservabilityPipelineConfigDestinationItem, - ObservabilityPipelineDatadogLogsDestination, + ObservabilityPipelineHttpClientDestination, + ObservabilityPipelineAmazonOpenSearchDestination, ObservabilityPipelineAmazonS3Destination, - ObservabilityPipelineGoogleCloudStorageDestination, - ObservabilityPipelineSplunkHecDestination, - ObservabilityPipelineSumoLogicDestination, - ObservabilityPipelineElasticsearchDestination, - ObservabilityPipelineRsyslogDestination, - ObservabilityPipelineSyslogNgDestination, + ObservabilityPipelineAmazonSecurityLakeDestination, AzureStorageDestination, - MicrosoftSentinelDestination, + ObservabilityPipelineCrowdStrikeNextGenSiemDestination, + ObservabilityPipelineDatadogLogsDestination, + ObservabilityPipelineElasticsearchDestination, ObservabilityPipelineGoogleChronicleDestination, + ObservabilityPipelineGoogleCloudStorageDestination, + ObservabilityPipelineGooglePubSubDestination, + MicrosoftSentinelDestination, ObservabilityPipelineNewRelicDestination, - ObservabilityPipelineSentinelOneDestination, ObservabilityPipelineOpenSearchDestination, - ObservabilityPipelineAmazonOpenSearchDestination, + ObservabilityPipelineRsyslogDestination, + ObservabilityPipelineSentinelOneDestination, ObservabilityPipelineSocketDestination, - ObservabilityPipelineAmazonSecurityLakeDestination, - ObservabilityPipelineCrowdStrikeNextGenSiemDestination, - ObservabilityPipelineGooglePubSubDestination, + ObservabilityPipelineSplunkHecDestination, + ObservabilityPipelineSumoLogicDestination, + ObservabilityPipelineSyslogNgDestination, + ObservabilityPipelineDatadogMetricsDestination, ] ], sources: List[ Union[ ObservabilityPipelineConfigSourceItem, - ObservabilityPipelineKafkaSource, ObservabilityPipelineDatadogAgentSource, - ObservabilityPipelineSplunkTcpSource, - ObservabilityPipelineSplunkHecSource, + ObservabilityPipelineAmazonDataFirehoseSource, ObservabilityPipelineAmazonS3Source, - ObservabilityPipelineFluentdSource, ObservabilityPipelineFluentBitSource, - ObservabilityPipelineHttpServerSource, - ObservabilityPipelineSumoLogicSource, - ObservabilityPipelineRsyslogSource, - ObservabilityPipelineSyslogNgSource, - ObservabilityPipelineAmazonDataFirehoseSource, + ObservabilityPipelineFluentdSource, ObservabilityPipelineGooglePubSubSource, ObservabilityPipelineHttpClientSource, + ObservabilityPipelineHttpServerSource, + ObservabilityPipelineKafkaSource, ObservabilityPipelineLogstashSource, + ObservabilityPipelineRsyslogSource, ObservabilityPipelineSocketSource, + ObservabilityPipelineSplunkHecSource, + ObservabilityPipelineSplunkTcpSource, + ObservabilityPipelineSumoLogicSource, + ObservabilityPipelineSyslogNgSource, ] ], + pipeline_type: Union[ObservabilityPipelineConfigPipelineType, UnsetType] = unset, processors: Union[List[ObservabilityPipelineConfigProcessorGroup], UnsetType] = unset, **kwargs, ): @@ -193,12 +210,17 @@ def __init__( :param destinations: A list of destination components where processed logs are sent. :type destinations: [ObservabilityPipelineConfigDestinationItem] + :param pipeline_type: The type of data being ingested. Defaults to ``logs`` if not specified. + :type pipeline_type: ObservabilityPipelineConfigPipelineType, optional + :param processors: A list of processor groups that transform or enrich log data. :type processors: [ObservabilityPipelineConfigProcessorGroup], optional :param sources: A list of configured data sources for the pipeline. :type sources: [ObservabilityPipelineConfigSourceItem] """ + if pipeline_type is not unset: + kwargs["pipeline_type"] = pipeline_type if processors is not unset: kwargs["processors"] = processors super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py b/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py index df018bec4e..f1f143cde8 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py @@ -15,18 +15,33 @@ def __init__(self, **kwargs): """ A destination for the pipeline. + :param auth_strategy: HTTP authentication strategy. + :type auth_strategy: ObservabilityPipelineHttpClientDestinationAuthStrategy, optional + + :param compression: Compression configuration for HTTP requests. + :type compression: ObservabilityPipelineHttpClientDestinationCompression, optional + + :param encoding: Encoding format for log events. + :type encoding: ObservabilityPipelineHttpClientDestinationEncoding + :param id: The unique identifier for this component. :type id: str - :param inputs: A list of component IDs whose output is used as the `input` for this component. + :param inputs: A list of component IDs whose output is used as the input for this component. :type inputs: [str] - :param type: The destination type. The value should always be `datadog_logs`. - :type type: ObservabilityPipelineDatadogLogsDestinationType + :param tls: Configuration for enabling TLS encryption between the pipeline component and external services. + :type tls: ObservabilityPipelineTls, optional + + :param type: The destination type. The value should always be `http_client`. + :type type: ObservabilityPipelineHttpClientDestinationType + + :param auth: Authentication settings for the Amazon OpenSearch destination. + The `strategy` field determines whether basic or AWS-based authentication is used. + :type auth: ObservabilityPipelineAmazonOpenSearchDestinationAuth - :param auth: AWS authentication credentials used for accessing AWS services such as S3. - If omitted, the system’s default credentials are used (for example, the IAM role and environment variables). - :type auth: ObservabilityPipelineAwsAuth, optional + :param bulk_index: The index to write logs to. + :type bulk_index: str, optional :param bucket: S3 bucket name. :type bucket: str @@ -40,54 +55,35 @@ def __init__(self, **kwargs): :param storage_class: S3 storage class. :type storage_class: ObservabilityPipelineAmazonS3DestinationStorageClass - :param tls: Configuration for enabling TLS encryption between the pipeline component and external services. - :type tls: ObservabilityPipelineTls, optional - - :param acl: Access control list setting for objects written to the bucket. - :type acl: ObservabilityPipelineGoogleCloudStorageDestinationAcl, optional - - :param metadata: Custom metadata to attach to each object uploaded to the GCS bucket. - :type metadata: [ObservabilityPipelineMetadataEntry], optional - - :param auto_extract_timestamp: If `true`, Splunk tries to extract timestamps from incoming log events. - If `false`, Splunk assigns the time the event was received. - :type auto_extract_timestamp: bool, optional - - :param encoding: Encoding format for log events. - :type encoding: ObservabilityPipelineSplunkHecDestinationEncoding, optional - - :param index: Optional name of the Splunk index where logs are written. - :type index: str, optional - - :param sourcetype: The Splunk sourcetype to assign to log events. - :type sourcetype: str, optional - - :param header_custom_fields: A list of custom headers to include in the request to Sumo Logic. - :type header_custom_fields: [ObservabilityPipelineSumoLogicDestinationHeaderCustomFieldsItem], optional - - :param header_host_name: Optional override for the host name header. - :type header_host_name: str, optional + :param custom_source_name: Custom source name for the logs in Security Lake. + :type custom_source_name: str - :param header_source_category: Optional override for the source category header. - :type header_source_category: str, optional + :param blob_prefix: Optional prefix for blobs written to the container. + :type blob_prefix: str, optional - :param header_source_name: Optional override for the source name header. - :type header_source_name: str, optional + :param container_name: The name of the Azure Blob Storage container to store logs in. + :type container_name: str :param api_version: The Elasticsearch API version to use. Set to `auto` to auto-detect. :type api_version: ObservabilityPipelineElasticsearchDestinationApiVersion, optional - :param bulk_index: The index to write logs to in Elasticsearch. - :type bulk_index: str, optional + :param customer_id: The Google Chronicle customer ID. + :type customer_id: str - :param keepalive: Optional socket keepalive duration in milliseconds. - :type keepalive: int, optional + :param log_type: The log type metadata associated with the Chronicle destination. + :type log_type: str, optional - :param blob_prefix: Optional prefix for blobs written to the container. - :type blob_prefix: str, optional + :param acl: Access control list setting for objects written to the bucket. + :type acl: ObservabilityPipelineGoogleCloudStorageDestinationAcl, optional - :param container_name: The name of the Azure Blob Storage container to store logs in. - :type container_name: str + :param metadata: Custom metadata to attach to each object uploaded to the GCS bucket. + :type metadata: [ObservabilityPipelineMetadataEntry], optional + + :param project: The GCP project ID that owns the Pub/Sub topic. + :type project: str + + :param topic: The Pub/Sub topic name to publish logs to. + :type topic: str :param client_id: Azure AD client ID used for authentication. :type client_id: str @@ -101,11 +97,8 @@ def __init__(self, **kwargs): :param tenant_id: Azure AD tenant ID. :type tenant_id: str - :param customer_id: The Google Chronicle customer ID. - :type customer_id: str - - :param log_type: The log type metadata associated with the Chronicle destination. - :type log_type: str, optional + :param keepalive: Optional socket keepalive duration in milliseconds. + :type keepalive: int, optional :param framing: Framing method configuration. :type framing: ObservabilityPipelineSocketDestinationFraming @@ -113,17 +106,27 @@ def __init__(self, **kwargs): :param mode: Protocol used to send logs. :type mode: ObservabilityPipelineSocketDestinationMode - :param custom_source_name: Custom source name for the logs in Security Lake. - :type custom_source_name: str + :param auto_extract_timestamp: If `true`, Splunk tries to extract timestamps from incoming log events. + If `false`, Splunk assigns the time the event was received. + :type auto_extract_timestamp: bool, optional + + :param index: Optional name of the Splunk index where logs are written. + :type index: str, optional - :param compression: Compression configuration for log events. - :type compression: ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression, optional + :param sourcetype: The Splunk sourcetype to assign to log events. + :type sourcetype: str, optional - :param project: The GCP project ID that owns the Pub/Sub topic. - :type project: str + :param header_custom_fields: A list of custom headers to include in the request to Sumo Logic. + :type header_custom_fields: [ObservabilityPipelineSumoLogicDestinationHeaderCustomFieldsItem], optional - :param topic: The Pub/Sub topic name to publish logs to. - :type topic: str + :param header_host_name: Optional override for the host name header. + :type header_host_name: str, optional + + :param header_source_category: Optional override for the source category header. + :type header_source_category: str, optional + + :param header_source_name: Optional override for the source name header. + :type header_source_name: str, optional """ super().__init__(kwargs) @@ -136,80 +139,88 @@ def _composed_schemas(_): # code would be run when this module is imported, and these composed # classes don't exist yet because their module has not finished # loading - from datadog_api_client.v2.model.observability_pipeline_datadog_logs_destination import ( - ObservabilityPipelineDatadogLogsDestination, + from datadog_api_client.v2.model.observability_pipeline_http_client_destination import ( + ObservabilityPipelineHttpClientDestination, + ) + from datadog_api_client.v2.model.observability_pipeline_amazon_open_search_destination import ( + ObservabilityPipelineAmazonOpenSearchDestination, ) from datadog_api_client.v2.model.observability_pipeline_amazon_s3_destination import ( ObservabilityPipelineAmazonS3Destination, ) - from datadog_api_client.v2.model.observability_pipeline_google_cloud_storage_destination import ( - ObservabilityPipelineGoogleCloudStorageDestination, + from datadog_api_client.v2.model.observability_pipeline_amazon_security_lake_destination import ( + ObservabilityPipelineAmazonSecurityLakeDestination, ) - from datadog_api_client.v2.model.observability_pipeline_splunk_hec_destination import ( - ObservabilityPipelineSplunkHecDestination, + from datadog_api_client.v2.model.azure_storage_destination import AzureStorageDestination + from datadog_api_client.v2.model.observability_pipeline_crowd_strike_next_gen_siem_destination import ( + ObservabilityPipelineCrowdStrikeNextGenSiemDestination, ) - from datadog_api_client.v2.model.observability_pipeline_sumo_logic_destination import ( - ObservabilityPipelineSumoLogicDestination, + from datadog_api_client.v2.model.observability_pipeline_datadog_logs_destination import ( + ObservabilityPipelineDatadogLogsDestination, ) from datadog_api_client.v2.model.observability_pipeline_elasticsearch_destination import ( ObservabilityPipelineElasticsearchDestination, ) - from datadog_api_client.v2.model.observability_pipeline_rsyslog_destination import ( - ObservabilityPipelineRsyslogDestination, - ) - from datadog_api_client.v2.model.observability_pipeline_syslog_ng_destination import ( - ObservabilityPipelineSyslogNgDestination, - ) - from datadog_api_client.v2.model.azure_storage_destination import AzureStorageDestination - from datadog_api_client.v2.model.microsoft_sentinel_destination import MicrosoftSentinelDestination from datadog_api_client.v2.model.observability_pipeline_google_chronicle_destination import ( ObservabilityPipelineGoogleChronicleDestination, ) + from datadog_api_client.v2.model.observability_pipeline_google_cloud_storage_destination import ( + ObservabilityPipelineGoogleCloudStorageDestination, + ) + from datadog_api_client.v2.model.observability_pipeline_google_pub_sub_destination import ( + ObservabilityPipelineGooglePubSubDestination, + ) + from datadog_api_client.v2.model.microsoft_sentinel_destination import MicrosoftSentinelDestination from datadog_api_client.v2.model.observability_pipeline_new_relic_destination import ( ObservabilityPipelineNewRelicDestination, ) - from datadog_api_client.v2.model.observability_pipeline_sentinel_one_destination import ( - ObservabilityPipelineSentinelOneDestination, - ) from datadog_api_client.v2.model.observability_pipeline_open_search_destination import ( ObservabilityPipelineOpenSearchDestination, ) - from datadog_api_client.v2.model.observability_pipeline_amazon_open_search_destination import ( - ObservabilityPipelineAmazonOpenSearchDestination, + from datadog_api_client.v2.model.observability_pipeline_rsyslog_destination import ( + ObservabilityPipelineRsyslogDestination, + ) + from datadog_api_client.v2.model.observability_pipeline_sentinel_one_destination import ( + ObservabilityPipelineSentinelOneDestination, ) from datadog_api_client.v2.model.observability_pipeline_socket_destination import ( ObservabilityPipelineSocketDestination, ) - from datadog_api_client.v2.model.observability_pipeline_amazon_security_lake_destination import ( - ObservabilityPipelineAmazonSecurityLakeDestination, + from datadog_api_client.v2.model.observability_pipeline_splunk_hec_destination import ( + ObservabilityPipelineSplunkHecDestination, ) - from datadog_api_client.v2.model.observability_pipeline_crowd_strike_next_gen_siem_destination import ( - ObservabilityPipelineCrowdStrikeNextGenSiemDestination, + from datadog_api_client.v2.model.observability_pipeline_sumo_logic_destination import ( + ObservabilityPipelineSumoLogicDestination, ) - from datadog_api_client.v2.model.observability_pipeline_google_pub_sub_destination import ( - ObservabilityPipelineGooglePubSubDestination, + from datadog_api_client.v2.model.observability_pipeline_syslog_ng_destination import ( + ObservabilityPipelineSyslogNgDestination, + ) + from datadog_api_client.v2.model.observability_pipeline_datadog_metrics_destination import ( + ObservabilityPipelineDatadogMetricsDestination, ) return { "oneOf": [ - ObservabilityPipelineDatadogLogsDestination, + ObservabilityPipelineHttpClientDestination, + ObservabilityPipelineAmazonOpenSearchDestination, ObservabilityPipelineAmazonS3Destination, - ObservabilityPipelineGoogleCloudStorageDestination, - ObservabilityPipelineSplunkHecDestination, - ObservabilityPipelineSumoLogicDestination, - ObservabilityPipelineElasticsearchDestination, - ObservabilityPipelineRsyslogDestination, - ObservabilityPipelineSyslogNgDestination, + ObservabilityPipelineAmazonSecurityLakeDestination, AzureStorageDestination, - MicrosoftSentinelDestination, + ObservabilityPipelineCrowdStrikeNextGenSiemDestination, + ObservabilityPipelineDatadogLogsDestination, + ObservabilityPipelineElasticsearchDestination, ObservabilityPipelineGoogleChronicleDestination, + ObservabilityPipelineGoogleCloudStorageDestination, + ObservabilityPipelineGooglePubSubDestination, + MicrosoftSentinelDestination, ObservabilityPipelineNewRelicDestination, - ObservabilityPipelineSentinelOneDestination, ObservabilityPipelineOpenSearchDestination, - ObservabilityPipelineAmazonOpenSearchDestination, + ObservabilityPipelineRsyslogDestination, + ObservabilityPipelineSentinelOneDestination, ObservabilityPipelineSocketDestination, - ObservabilityPipelineAmazonSecurityLakeDestination, - ObservabilityPipelineCrowdStrikeNextGenSiemDestination, - ObservabilityPipelineGooglePubSubDestination, + ObservabilityPipelineSplunkHecDestination, + ObservabilityPipelineSumoLogicDestination, + ObservabilityPipelineSyslogNgDestination, + ObservabilityPipelineDatadogMetricsDestination, ], } diff --git a/src/datadog_api_client/v2/model/observability_pipeline_config_pipeline_type.py b/src/datadog_api_client/v2/model/observability_pipeline_config_pipeline_type.py new file mode 100644 index 0000000000..bdf1f81a18 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_config_pipeline_type.py @@ -0,0 +1,38 @@ +# 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 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class ObservabilityPipelineConfigPipelineType(ModelSimple): + """ + The type of data being ingested. Defaults to `logs` if not specified. + + :param value: If omitted defaults to "logs". Must be one of ["logs", "metrics"]. + :type value: str + """ + + allowed_values = { + "logs", + "metrics", + } + LOGS: ClassVar["ObservabilityPipelineConfigPipelineType"] + METRICS: ClassVar["ObservabilityPipelineConfigPipelineType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineConfigPipelineType.LOGS = ObservabilityPipelineConfigPipelineType("logs") +ObservabilityPipelineConfigPipelineType.METRICS = ObservabilityPipelineConfigPipelineType("metrics") diff --git a/src/datadog_api_client/v2/model/observability_pipeline_config_processor_group.py b/src/datadog_api_client/v2/model/observability_pipeline_config_processor_group.py index 6579870f58..1b59ed26b8 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_config_processor_group.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_config_processor_group.py @@ -18,46 +18,49 @@ ObservabilityPipelineConfigProcessorItem, ) from datadog_api_client.v2.model.observability_pipeline_filter_processor import ObservabilityPipelineFilterProcessor - from datadog_api_client.v2.model.observability_pipeline_parse_json_processor import ( - ObservabilityPipelineParseJSONProcessor, + from datadog_api_client.v2.model.observability_pipeline_add_env_vars_processor import ( + ObservabilityPipelineAddEnvVarsProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_quota_processor import ObservabilityPipelineQuotaProcessor from datadog_api_client.v2.model.observability_pipeline_add_fields_processor import ( ObservabilityPipelineAddFieldsProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_remove_fields_processor import ( - ObservabilityPipelineRemoveFieldsProcessor, + from datadog_api_client.v2.model.observability_pipeline_custom_processor import ObservabilityPipelineCustomProcessor + from datadog_api_client.v2.model.observability_pipeline_datadog_tags_processor import ( + ObservabilityPipelineDatadogTagsProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_rename_fields_processor import ( - ObservabilityPipelineRenameFieldsProcessor, + from datadog_api_client.v2.model.observability_pipeline_dedupe_processor import ObservabilityPipelineDedupeProcessor + from datadog_api_client.v2.model.observability_pipeline_enrichment_table_processor import ( + ObservabilityPipelineEnrichmentTableProcessor, ) from datadog_api_client.v2.model.observability_pipeline_generate_metrics_processor import ( ObservabilityPipelineGenerateMetricsProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_sample_processor import ObservabilityPipelineSampleProcessor + from datadog_api_client.v2.model.observability_pipeline_ocsf_mapper_processor import ( + ObservabilityPipelineOcsfMapperProcessor, + ) from datadog_api_client.v2.model.observability_pipeline_parse_grok_processor import ( ObservabilityPipelineParseGrokProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_sensitive_data_scanner_processor import ( - ObservabilityPipelineSensitiveDataScannerProcessor, + from datadog_api_client.v2.model.observability_pipeline_parse_json_processor import ( + ObservabilityPipelineParseJSONProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_ocsf_mapper_processor import ( - ObservabilityPipelineOcsfMapperProcessor, + from datadog_api_client.v2.model.observability_pipeline_quota_processor import ObservabilityPipelineQuotaProcessor + from datadog_api_client.v2.model.observability_pipeline_reduce_processor import ObservabilityPipelineReduceProcessor + from datadog_api_client.v2.model.observability_pipeline_remove_fields_processor import ( + ObservabilityPipelineRemoveFieldsProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_add_env_vars_processor import ( - ObservabilityPipelineAddEnvVarsProcessor, + from datadog_api_client.v2.model.observability_pipeline_rename_fields_processor import ( + ObservabilityPipelineRenameFieldsProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_dedupe_processor import ObservabilityPipelineDedupeProcessor - from datadog_api_client.v2.model.observability_pipeline_enrichment_table_processor import ( - ObservabilityPipelineEnrichmentTableProcessor, + from datadog_api_client.v2.model.observability_pipeline_sample_processor import ObservabilityPipelineSampleProcessor + from datadog_api_client.v2.model.observability_pipeline_sensitive_data_scanner_processor import ( + ObservabilityPipelineSensitiveDataScannerProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_reduce_processor import ObservabilityPipelineReduceProcessor from datadog_api_client.v2.model.observability_pipeline_throttle_processor import ( ObservabilityPipelineThrottleProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_custom_processor import ObservabilityPipelineCustomProcessor - from datadog_api_client.v2.model.observability_pipeline_datadog_tags_processor import ( - ObservabilityPipelineDatadogTagsProcessor, + from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor import ( + ObservabilityPipelineMetricTagsProcessor, ) @@ -96,23 +99,24 @@ def __init__( Union[ ObservabilityPipelineConfigProcessorItem, ObservabilityPipelineFilterProcessor, + ObservabilityPipelineAddEnvVarsProcessor, + ObservabilityPipelineAddFieldsProcessor, + ObservabilityPipelineCustomProcessor, + ObservabilityPipelineDatadogTagsProcessor, + ObservabilityPipelineDedupeProcessor, + ObservabilityPipelineEnrichmentTableProcessor, + ObservabilityPipelineGenerateMetricsProcessor, + ObservabilityPipelineOcsfMapperProcessor, + ObservabilityPipelineParseGrokProcessor, ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineQuotaProcessor, - ObservabilityPipelineAddFieldsProcessor, + ObservabilityPipelineReduceProcessor, ObservabilityPipelineRemoveFieldsProcessor, ObservabilityPipelineRenameFieldsProcessor, - ObservabilityPipelineGenerateMetricsProcessor, ObservabilityPipelineSampleProcessor, - ObservabilityPipelineParseGrokProcessor, ObservabilityPipelineSensitiveDataScannerProcessor, - ObservabilityPipelineOcsfMapperProcessor, - ObservabilityPipelineAddEnvVarsProcessor, - ObservabilityPipelineDedupeProcessor, - ObservabilityPipelineEnrichmentTableProcessor, - ObservabilityPipelineReduceProcessor, ObservabilityPipelineThrottleProcessor, - ObservabilityPipelineCustomProcessor, - ObservabilityPipelineDatadogTagsProcessor, + ObservabilityPipelineMetricTagsProcessor, ] ], display_name: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v2/model/observability_pipeline_config_processor_item.py b/src/datadog_api_client/v2/model/observability_pipeline_config_processor_item.py index 8becc43c0d..e34d3cd3f1 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_config_processor_item.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_config_processor_item.py @@ -24,12 +24,51 @@ def __init__(self, **kwargs): :param id: The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the `input` to downstream components). :type id: str - :param include: A Datadog search query used to determine which logs should pass through the filter. Logs that match this query continue to downstream components; others are dropped. + :param include: A Datadog search query used to determine which logs/metrics should pass through the filter. Logs/metrics that match this query continue to downstream components; others are dropped. :type include: str :param type: The processor type. The value should always be `filter`. :type type: ObservabilityPipelineFilterProcessorType + :param variables: A list of environment variable mappings to apply to log fields. + :type variables: [ObservabilityPipelineAddEnvVarsProcessorVariable] + + :param fields: A list of static fields (key-value pairs) that is added to each log event processed by this component. + :type fields: [ObservabilityPipelineFieldValue] + + :param remaps: Array of VRL remap rules. + :type remaps: [ObservabilityPipelineCustomProcessorRemap] + + :param action: The action to take on tags with matching keys. + :type action: ObservabilityPipelineDatadogTagsProcessorAction + + :param keys: A list of tag keys. + :type keys: [str] + + :param mode: The processing mode. + :type mode: ObservabilityPipelineDatadogTagsProcessorMode + + :param file: Defines a static enrichment table loaded from a CSV file. + :type file: ObservabilityPipelineEnrichmentTableFile, optional + + :param geoip: Uses a GeoIP database to enrich logs based on an IP field. + :type geoip: ObservabilityPipelineEnrichmentTableGeoIp, optional + + :param target: Path where enrichment results should be stored in the log. + :type target: str + + :param metrics: Configuration for generating individual metrics. + :type metrics: [ObservabilityPipelineGeneratedMetric], optional + + :param mappings: A list of mapping rules to convert events to the OCSF format. + :type mappings: [ObservabilityPipelineOcsfMapperProcessorMapping] + + :param disable_library_rules: If set to `true`, disables the default Grok rules provided by Datadog. + :type disable_library_rules: bool, optional + + :param rules: The list of Grok parsing rules. If multiple matching rules are provided, they are evaluated in order. The first successful match is applied. + :type rules: [ObservabilityPipelineParseGrokProcessorRule] + :param field: The name of the log field that contains a JSON string. :type field: str @@ -57,11 +96,11 @@ def __init__(self, **kwargs): :param partition_fields: A list of fields used to segment log traffic for quota enforcement. Quotas are tracked independently by unique combinations of these field values. :type partition_fields: [str], optional - :param fields: A list of static fields (key-value pairs) that is added to each log event processed by this component. - :type fields: [ObservabilityPipelineFieldValue] + :param group_by: A list of fields used to group log events for merging. + :type group_by: [str] - :param metrics: Configuration for generating individual metrics. - :type metrics: [ObservabilityPipelineGeneratedMetric], optional + :param merge_strategies: List of merge strategies defining how values from grouped events should be combined. + :type merge_strategies: [ObservabilityPipelineReduceProcessorMergeStrategy] :param percentage: The percentage of logs to sample. :type percentage: float, optional @@ -69,50 +108,11 @@ def __init__(self, **kwargs): :param rate: Number of events to sample (1 in N). :type rate: int, optional - :param disable_library_rules: If set to `true`, disables the default Grok rules provided by Datadog. - :type disable_library_rules: bool, optional - - :param rules: The list of Grok parsing rules. If multiple matching rules are provided, they are evaluated in order. The first successful match is applied. - :type rules: [ObservabilityPipelineParseGrokProcessorRule] - - :param mappings: A list of mapping rules to convert events to the OCSF format. - :type mappings: [ObservabilityPipelineOcsfMapperProcessorMapping] - - :param variables: A list of environment variable mappings to apply to log fields. - :type variables: [ObservabilityPipelineAddEnvVarsProcessorVariable] - - :param mode: The deduplication mode to apply to the fields. - :type mode: ObservabilityPipelineDedupeProcessorMode - - :param file: Defines a static enrichment table loaded from a CSV file. - :type file: ObservabilityPipelineEnrichmentTableFile, optional - - :param geoip: Uses a GeoIP database to enrich logs based on an IP field. - :type geoip: ObservabilityPipelineEnrichmentTableGeoIp, optional - - :param target: Path where enrichment results should be stored in the log. - :type target: str - - :param group_by: A list of fields used to group log events for merging. - :type group_by: [str] - - :param merge_strategies: List of merge strategies defining how values from grouped events should be combined. - :type merge_strategies: [ObservabilityPipelineReduceProcessorMergeStrategy] - :param threshold: the number of events allowed in a given time window. Events sent after the threshold has been reached, are dropped. :type threshold: int :param window: The time window in seconds over which the threshold applies. :type window: float - - :param remaps: Array of VRL remap rules. - :type remaps: [ObservabilityPipelineCustomProcessorRemap] - - :param action: The action to take on tags with matching keys. - :type action: ObservabilityPipelineDatadogTagsProcessorAction - - :param keys: A list of tag keys. - :type keys: [str] """ super().__init__(kwargs) @@ -128,77 +128,81 @@ def _composed_schemas(_): from datadog_api_client.v2.model.observability_pipeline_filter_processor import ( ObservabilityPipelineFilterProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_parse_json_processor import ( - ObservabilityPipelineParseJSONProcessor, - ) - from datadog_api_client.v2.model.observability_pipeline_quota_processor import ( - ObservabilityPipelineQuotaProcessor, + from datadog_api_client.v2.model.observability_pipeline_add_env_vars_processor import ( + ObservabilityPipelineAddEnvVarsProcessor, ) from datadog_api_client.v2.model.observability_pipeline_add_fields_processor import ( ObservabilityPipelineAddFieldsProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_remove_fields_processor import ( - ObservabilityPipelineRemoveFieldsProcessor, + from datadog_api_client.v2.model.observability_pipeline_custom_processor import ( + ObservabilityPipelineCustomProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_rename_fields_processor import ( - ObservabilityPipelineRenameFieldsProcessor, + from datadog_api_client.v2.model.observability_pipeline_datadog_tags_processor import ( + ObservabilityPipelineDatadogTagsProcessor, + ) + from datadog_api_client.v2.model.observability_pipeline_dedupe_processor import ( + ObservabilityPipelineDedupeProcessor, + ) + from datadog_api_client.v2.model.observability_pipeline_enrichment_table_processor import ( + ObservabilityPipelineEnrichmentTableProcessor, ) from datadog_api_client.v2.model.observability_pipeline_generate_metrics_processor import ( ObservabilityPipelineGenerateMetricsProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_sample_processor import ( - ObservabilityPipelineSampleProcessor, + from datadog_api_client.v2.model.observability_pipeline_ocsf_mapper_processor import ( + ObservabilityPipelineOcsfMapperProcessor, ) from datadog_api_client.v2.model.observability_pipeline_parse_grok_processor import ( ObservabilityPipelineParseGrokProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_sensitive_data_scanner_processor import ( - ObservabilityPipelineSensitiveDataScannerProcessor, + from datadog_api_client.v2.model.observability_pipeline_parse_json_processor import ( + ObservabilityPipelineParseJSONProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_ocsf_mapper_processor import ( - ObservabilityPipelineOcsfMapperProcessor, + from datadog_api_client.v2.model.observability_pipeline_quota_processor import ( + ObservabilityPipelineQuotaProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_add_env_vars_processor import ( - ObservabilityPipelineAddEnvVarsProcessor, + from datadog_api_client.v2.model.observability_pipeline_reduce_processor import ( + ObservabilityPipelineReduceProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_dedupe_processor import ( - ObservabilityPipelineDedupeProcessor, + from datadog_api_client.v2.model.observability_pipeline_remove_fields_processor import ( + ObservabilityPipelineRemoveFieldsProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_enrichment_table_processor import ( - ObservabilityPipelineEnrichmentTableProcessor, + from datadog_api_client.v2.model.observability_pipeline_rename_fields_processor import ( + ObservabilityPipelineRenameFieldsProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_reduce_processor import ( - ObservabilityPipelineReduceProcessor, + from datadog_api_client.v2.model.observability_pipeline_sample_processor import ( + ObservabilityPipelineSampleProcessor, + ) + from datadog_api_client.v2.model.observability_pipeline_sensitive_data_scanner_processor import ( + ObservabilityPipelineSensitiveDataScannerProcessor, ) from datadog_api_client.v2.model.observability_pipeline_throttle_processor import ( ObservabilityPipelineThrottleProcessor, ) - from datadog_api_client.v2.model.observability_pipeline_custom_processor import ( - ObservabilityPipelineCustomProcessor, - ) - from datadog_api_client.v2.model.observability_pipeline_datadog_tags_processor import ( - ObservabilityPipelineDatadogTagsProcessor, + from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor import ( + ObservabilityPipelineMetricTagsProcessor, ) return { "oneOf": [ ObservabilityPipelineFilterProcessor, + ObservabilityPipelineAddEnvVarsProcessor, + ObservabilityPipelineAddFieldsProcessor, + ObservabilityPipelineCustomProcessor, + ObservabilityPipelineDatadogTagsProcessor, + ObservabilityPipelineDedupeProcessor, + ObservabilityPipelineEnrichmentTableProcessor, + ObservabilityPipelineGenerateMetricsProcessor, + ObservabilityPipelineOcsfMapperProcessor, + ObservabilityPipelineParseGrokProcessor, ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineQuotaProcessor, - ObservabilityPipelineAddFieldsProcessor, + ObservabilityPipelineReduceProcessor, ObservabilityPipelineRemoveFieldsProcessor, ObservabilityPipelineRenameFieldsProcessor, - ObservabilityPipelineGenerateMetricsProcessor, ObservabilityPipelineSampleProcessor, - ObservabilityPipelineParseGrokProcessor, ObservabilityPipelineSensitiveDataScannerProcessor, - ObservabilityPipelineOcsfMapperProcessor, - ObservabilityPipelineAddEnvVarsProcessor, - ObservabilityPipelineDedupeProcessor, - ObservabilityPipelineEnrichmentTableProcessor, - ObservabilityPipelineReduceProcessor, ObservabilityPipelineThrottleProcessor, - ObservabilityPipelineCustomProcessor, - ObservabilityPipelineDatadogTagsProcessor, + ObservabilityPipelineMetricTagsProcessor, ], } diff --git a/src/datadog_api_client/v2/model/observability_pipeline_config_source_item.py b/src/datadog_api_client/v2/model/observability_pipeline_config_source_item.py index 04e30172c1..bd886ccdf1 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_config_source_item.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_config_source_item.py @@ -15,26 +15,14 @@ def __init__(self, **kwargs): """ A data source for the pipeline. - :param group_id: Consumer group ID used by the Kafka client. - :type group_id: str - :param id: The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). :type id: str - :param librdkafka_options: Optional list of advanced Kafka client configuration options, defined as key-value pairs. - :type librdkafka_options: [ObservabilityPipelineKafkaSourceLibrdkafkaOption], optional - - :param sasl: Specifies the SASL mechanism for authenticating with a Kafka cluster. - :type sasl: ObservabilityPipelineKafkaSourceSasl, optional - :param tls: Configuration for enabling TLS encryption between the pipeline component and external services. :type tls: ObservabilityPipelineTls, optional - :param topics: A list of Kafka topic names to subscribe to. The source ingests messages from each topic specified. - :type topics: [str] - - :param type: The source type. The value should always be `kafka`. - :type type: ObservabilityPipelineKafkaSourceType + :param type: The source type. The value should always be `datadog_agent`. + :type type: ObservabilityPipelineDatadogAgentSourceType :param auth: AWS authentication credentials used for accessing AWS services such as S3. If omitted, the system’s default credentials are used (for example, the IAM role and environment variables). @@ -43,27 +31,39 @@ def __init__(self, **kwargs): :param region: AWS region where the S3 bucket resides. :type region: str - :param auth_strategy: HTTP authentication method. - :type auth_strategy: ObservabilityPipelineHttpServerSourceAuthStrategy - :param decoding: The decoding format used to interpret incoming logs. :type decoding: ObservabilityPipelineDecoding - :param mode: Protocol used by the syslog source to receive messages. - :type mode: ObservabilityPipelineSyslogSourceMode - :param project: The GCP project ID that owns the Pub/Sub subscription. :type project: str :param subscription: The Pub/Sub subscription name from which messages are consumed. :type subscription: str + :param auth_strategy: Optional authentication strategy for HTTP requests. + :type auth_strategy: ObservabilityPipelineHttpClientSourceAuthStrategy, optional + :param scrape_interval_secs: The interval (in seconds) between HTTP scrape requests. :type scrape_interval_secs: int, optional :param scrape_timeout_secs: The timeout (in seconds) for each scrape request. :type scrape_timeout_secs: int, optional + :param group_id: Consumer group ID used by the Kafka client. + :type group_id: str + + :param librdkafka_options: Optional list of advanced Kafka client configuration options, defined as key-value pairs. + :type librdkafka_options: [ObservabilityPipelineKafkaSourceLibrdkafkaOption], optional + + :param sasl: Specifies the SASL mechanism for authenticating with a Kafka cluster. + :type sasl: ObservabilityPipelineKafkaSourceSasl, optional + + :param topics: A list of Kafka topic names to subscribe to. The source ingests messages from each topic specified. + :type topics: [str] + + :param mode: Protocol used by the syslog source to receive messages. + :type mode: ObservabilityPipelineSyslogSourceMode + :param framing: Framing method configuration for the socket source. :type framing: ObservabilityPipelineSocketSourceFraming """ @@ -78,64 +78,64 @@ def _composed_schemas(_): # code would be run when this module is imported, and these composed # classes don't exist yet because their module has not finished # loading - from datadog_api_client.v2.model.observability_pipeline_kafka_source import ObservabilityPipelineKafkaSource from datadog_api_client.v2.model.observability_pipeline_datadog_agent_source import ( ObservabilityPipelineDatadogAgentSource, ) - from datadog_api_client.v2.model.observability_pipeline_splunk_tcp_source import ( - ObservabilityPipelineSplunkTcpSource, - ) - from datadog_api_client.v2.model.observability_pipeline_splunk_hec_source import ( - ObservabilityPipelineSplunkHecSource, + from datadog_api_client.v2.model.observability_pipeline_amazon_data_firehose_source import ( + ObservabilityPipelineAmazonDataFirehoseSource, ) from datadog_api_client.v2.model.observability_pipeline_amazon_s3_source import ( ObservabilityPipelineAmazonS3Source, ) - from datadog_api_client.v2.model.observability_pipeline_fluentd_source import ObservabilityPipelineFluentdSource from datadog_api_client.v2.model.observability_pipeline_fluent_bit_source import ( ObservabilityPipelineFluentBitSource, ) - from datadog_api_client.v2.model.observability_pipeline_http_server_source import ( - ObservabilityPipelineHttpServerSource, - ) - from datadog_api_client.v2.model.observability_pipeline_sumo_logic_source import ( - ObservabilityPipelineSumoLogicSource, - ) - from datadog_api_client.v2.model.observability_pipeline_rsyslog_source import ObservabilityPipelineRsyslogSource - from datadog_api_client.v2.model.observability_pipeline_syslog_ng_source import ( - ObservabilityPipelineSyslogNgSource, - ) - from datadog_api_client.v2.model.observability_pipeline_amazon_data_firehose_source import ( - ObservabilityPipelineAmazonDataFirehoseSource, - ) + from datadog_api_client.v2.model.observability_pipeline_fluentd_source import ObservabilityPipelineFluentdSource from datadog_api_client.v2.model.observability_pipeline_google_pub_sub_source import ( ObservabilityPipelineGooglePubSubSource, ) from datadog_api_client.v2.model.observability_pipeline_http_client_source import ( ObservabilityPipelineHttpClientSource, ) + from datadog_api_client.v2.model.observability_pipeline_http_server_source import ( + ObservabilityPipelineHttpServerSource, + ) + from datadog_api_client.v2.model.observability_pipeline_kafka_source import ObservabilityPipelineKafkaSource from datadog_api_client.v2.model.observability_pipeline_logstash_source import ( ObservabilityPipelineLogstashSource, ) + from datadog_api_client.v2.model.observability_pipeline_rsyslog_source import ObservabilityPipelineRsyslogSource from datadog_api_client.v2.model.observability_pipeline_socket_source import ObservabilityPipelineSocketSource + from datadog_api_client.v2.model.observability_pipeline_splunk_hec_source import ( + ObservabilityPipelineSplunkHecSource, + ) + from datadog_api_client.v2.model.observability_pipeline_splunk_tcp_source import ( + ObservabilityPipelineSplunkTcpSource, + ) + from datadog_api_client.v2.model.observability_pipeline_sumo_logic_source import ( + ObservabilityPipelineSumoLogicSource, + ) + from datadog_api_client.v2.model.observability_pipeline_syslog_ng_source import ( + ObservabilityPipelineSyslogNgSource, + ) return { "oneOf": [ - ObservabilityPipelineKafkaSource, ObservabilityPipelineDatadogAgentSource, - ObservabilityPipelineSplunkTcpSource, - ObservabilityPipelineSplunkHecSource, + ObservabilityPipelineAmazonDataFirehoseSource, ObservabilityPipelineAmazonS3Source, - ObservabilityPipelineFluentdSource, ObservabilityPipelineFluentBitSource, - ObservabilityPipelineHttpServerSource, - ObservabilityPipelineSumoLogicSource, - ObservabilityPipelineRsyslogSource, - ObservabilityPipelineSyslogNgSource, - ObservabilityPipelineAmazonDataFirehoseSource, + ObservabilityPipelineFluentdSource, ObservabilityPipelineGooglePubSubSource, ObservabilityPipelineHttpClientSource, + ObservabilityPipelineHttpServerSource, + ObservabilityPipelineKafkaSource, ObservabilityPipelineLogstashSource, + ObservabilityPipelineRsyslogSource, ObservabilityPipelineSocketSource, + ObservabilityPipelineSplunkHecSource, + ObservabilityPipelineSplunkTcpSource, + ObservabilityPipelineSumoLogicSource, + ObservabilityPipelineSyslogNgSource, ], } diff --git a/src/datadog_api_client/v2/model/observability_pipeline_crowd_strike_next_gen_siem_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_crowd_strike_next_gen_siem_destination.py index d1dbc9facf..a84a24c745 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_crowd_strike_next_gen_siem_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_crowd_strike_next_gen_siem_destination.py @@ -71,6 +71,8 @@ def __init__( """ The ``crowdstrike_next_gen_siem`` destination forwards logs to CrowdStrike Next Gen SIEM. + **Supported pipeline types:** logs + :param compression: Compression configuration for log events. :type compression: ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_custom_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_custom_processor.py index 3304418aaf..237c88b0bf 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_custom_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_custom_processor.py @@ -68,6 +68,8 @@ def __init__( """ The ``custom_processor`` processor transforms events using `Vector Remap Language (VRL) `_ scripts with advanced filtering capabilities. + **Supported pipeline types:** logs + :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_datadog_agent_source.py b/src/datadog_api_client/v2/model/observability_pipeline_datadog_agent_source.py index 3614768ec1..565c998f82 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_datadog_agent_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_datadog_agent_source.py @@ -48,7 +48,9 @@ def __init__( **kwargs, ): """ - The ``datadog_agent`` source collects logs from the Datadog Agent. + The ``datadog_agent`` source collects logs/metrics from the Datadog Agent. + + **Supported pipeline types:** logs, metrics :param id: The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). :type id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_datadog_logs_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_datadog_logs_destination.py index b519b48735..453881dfc4 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_datadog_logs_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_datadog_logs_destination.py @@ -40,6 +40,8 @@ def __init__(self_, id: str, inputs: List[str], type: ObservabilityPipelineDatad """ The ``datadog_logs`` destination forwards logs to Datadog Log Management. + **Supported pipeline types:** logs + :param id: The unique identifier for this component. :type id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_datadog_metrics_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_datadog_metrics_destination.py new file mode 100644 index 0000000000..4c42f53f56 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_datadog_metrics_destination.py @@ -0,0 +1,58 @@ +# 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 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.observability_pipeline_datadog_metrics_destination_type import ( + ObservabilityPipelineDatadogMetricsDestinationType, + ) + + +class ObservabilityPipelineDatadogMetricsDestination(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_datadog_metrics_destination_type import ( + ObservabilityPipelineDatadogMetricsDestinationType, + ) + + return { + "id": (str,), + "inputs": ([str],), + "type": (ObservabilityPipelineDatadogMetricsDestinationType,), + } + + attribute_map = { + "id": "id", + "inputs": "inputs", + "type": "type", + } + + def __init__(self_, id: str, inputs: List[str], type: ObservabilityPipelineDatadogMetricsDestinationType, **kwargs): + """ + The ``datadog_metrics`` destination forwards metrics to Datadog. + + **Supported pipeline types:** metrics + + :param id: The unique identifier for this component. + :type id: str + + :param inputs: A list of component IDs whose output is used as the input for this component. + :type inputs: [str] + + :param type: The destination type. The value should always be ``datadog_metrics``. + :type type: ObservabilityPipelineDatadogMetricsDestinationType + """ + super().__init__(kwargs) + + self_.id = id + self_.inputs = inputs + self_.type = type diff --git a/src/datadog_api_client/v2/model/observability_pipeline_datadog_metrics_destination_type.py b/src/datadog_api_client/v2/model/observability_pipeline_datadog_metrics_destination_type.py new file mode 100644 index 0000000000..b0897c7d8b --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_datadog_metrics_destination_type.py @@ -0,0 +1,37 @@ +# 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 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class ObservabilityPipelineDatadogMetricsDestinationType(ModelSimple): + """ + The destination type. The value should always be `datadog_metrics`. + + :param value: If omitted defaults to "datadog_metrics". Must be one of ["datadog_metrics"]. + :type value: str + """ + + allowed_values = { + "datadog_metrics", + } + DATADOG_METRICS: ClassVar["ObservabilityPipelineDatadogMetricsDestinationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineDatadogMetricsDestinationType.DATADOG_METRICS = ObservabilityPipelineDatadogMetricsDestinationType( + "datadog_metrics" +) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_datadog_tags_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_datadog_tags_processor.py index c96b59c4a6..3a9e2130e6 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_datadog_tags_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_datadog_tags_processor.py @@ -75,6 +75,8 @@ def __init__( """ The ``datadog_tags`` processor includes or excludes specific Datadog tags in your logs. + **Supported pipeline types:** logs + :param action: The action to take on tags with matching keys. :type action: ObservabilityPipelineDatadogTagsProcessorAction diff --git a/src/datadog_api_client/v2/model/observability_pipeline_dedupe_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_dedupe_processor.py index 9c4e3999c9..01b401de6b 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_dedupe_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_dedupe_processor.py @@ -66,6 +66,8 @@ def __init__( """ The ``dedupe`` processor removes duplicate fields in log events. + **Supported pipeline types:** logs + :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_elasticsearch_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_elasticsearch_destination.py index 8ce413b7ef..b5cddb8982 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_elasticsearch_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_elasticsearch_destination.py @@ -60,6 +60,8 @@ def __init__( """ The ``elasticsearch`` destination writes logs to an Elasticsearch cluster. + **Supported pipeline types:** logs + :param api_version: The Elasticsearch API version to use. Set to ``auto`` to auto-detect. :type api_version: ObservabilityPipelineElasticsearchDestinationApiVersion, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_enrichment_table_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_enrichment_table_processor.py index 3483c95ae4..a4af090ed4 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_enrichment_table_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_enrichment_table_processor.py @@ -75,6 +75,8 @@ def __init__( """ The ``enrichment_table`` processor enriches logs using a static CSV file or GeoIP database. + **Supported pipeline types:** logs + :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_filter_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_filter_processor.py index 1098a4c6a6..e20d3023c3 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_filter_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_filter_processor.py @@ -52,7 +52,9 @@ def __init__( **kwargs, ): """ - The ``filter`` processor allows conditional processing of logs based on a Datadog search query. Logs that match the ``include`` query are passed through; others are discarded. + The ``filter`` processor allows conditional processing of logs/metrics based on a Datadog search query. Logs/metrics that match the ``include`` query are passed through; others are discarded. + + **Supported pipeline types:** logs, metrics :param display_name: The display name for a component. :type display_name: str, optional @@ -63,7 +65,7 @@ def __init__( :param id: The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the ``input`` to downstream components). :type id: str - :param include: A Datadog search query used to determine which logs should pass through the filter. Logs that match this query continue to downstream components; others are dropped. + :param include: A Datadog search query used to determine which logs/metrics should pass through the filter. Logs/metrics that match this query continue to downstream components; others are dropped. :type include: str :param type: The processor type. The value should always be ``filter``. diff --git a/src/datadog_api_client/v2/model/observability_pipeline_fluent_bit_source.py b/src/datadog_api_client/v2/model/observability_pipeline_fluent_bit_source.py index ba39b1d678..62195c5a5e 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_fluent_bit_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_fluent_bit_source.py @@ -50,6 +50,8 @@ def __init__( """ The ``fluent_bit`` source ingests logs from Fluent Bit. + **Supported pipeline types:** logs + :param id: The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the ``input`` to downstream components). :type id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_fluentd_source.py b/src/datadog_api_client/v2/model/observability_pipeline_fluentd_source.py index 2e64961b5f..063c2f5262 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_fluentd_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_fluentd_source.py @@ -50,6 +50,8 @@ def __init__( """ The ``fluentd`` source ingests logs from a Fluentd-compatible service. + **Supported pipeline types:** logs + :param id: The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the ``input`` to downstream components). :type id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_generate_metrics_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_generate_metrics_processor.py index 97aa67e007..195aa223e8 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_generate_metrics_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_generate_metrics_processor.py @@ -62,6 +62,8 @@ def __init__( The ``generate_datadog_metrics`` processor creates custom metrics from logs and sends them to Datadog. Metrics can be counters, gauges, or distributions and optionally grouped by log fields. + **Supported pipeline types:** logs + :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_google_chronicle_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_google_chronicle_destination.py index 964a09e959..44f294ec03 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_google_chronicle_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_google_chronicle_destination.py @@ -68,6 +68,8 @@ def __init__( """ The ``google_chronicle`` destination sends logs to Google Chronicle. + **Supported pipeline types:** logs + :param auth: GCP credentials used to authenticate with Google Cloud Storage. :type auth: ObservabilityPipelineGcpAuth, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_google_cloud_storage_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_google_cloud_storage_destination.py index a2e8b0c337..8c5e4f1527 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_google_cloud_storage_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_google_cloud_storage_destination.py @@ -83,6 +83,8 @@ def __init__( The ``google_cloud_storage`` destination stores logs in a Google Cloud Storage (GCS) bucket. It requires a bucket name, GCP authentication, and metadata fields. + **Supported pipeline types:** logs + :param acl: Access control list setting for objects written to the bucket. :type acl: ObservabilityPipelineGoogleCloudStorageDestinationAcl, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_google_pub_sub_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_google_pub_sub_destination.py index 5fc600f35e..847bdd482f 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_google_pub_sub_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_google_pub_sub_destination.py @@ -73,6 +73,8 @@ def __init__( """ The ``google_pubsub`` destination publishes logs to a Google Cloud Pub/Sub topic. + **Supported pipeline types:** logs + :param auth: GCP credentials used to authenticate with Google Cloud Storage. :type auth: ObservabilityPipelineGcpAuth, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_google_pub_sub_source.py b/src/datadog_api_client/v2/model/observability_pipeline_google_pub_sub_source.py index 6135892ad0..f2571ed23e 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_google_pub_sub_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_google_pub_sub_source.py @@ -66,6 +66,8 @@ def __init__( """ The ``google_pubsub`` source ingests logs from a Google Cloud Pub/Sub subscription. + **Supported pipeline types:** logs + :param auth: GCP credentials used to authenticate with Google Cloud Storage. :type auth: ObservabilityPipelineGcpAuth, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination.py new file mode 100644 index 0000000000..c26d7bf7ce --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination.py @@ -0,0 +1,117 @@ +# 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 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.observability_pipeline_http_client_destination_auth_strategy import ( + ObservabilityPipelineHttpClientDestinationAuthStrategy, + ) + from datadog_api_client.v2.model.observability_pipeline_http_client_destination_compression import ( + ObservabilityPipelineHttpClientDestinationCompression, + ) + from datadog_api_client.v2.model.observability_pipeline_http_client_destination_encoding import ( + ObservabilityPipelineHttpClientDestinationEncoding, + ) + from datadog_api_client.v2.model.observability_pipeline_tls import ObservabilityPipelineTls + from datadog_api_client.v2.model.observability_pipeline_http_client_destination_type import ( + ObservabilityPipelineHttpClientDestinationType, + ) + + +class ObservabilityPipelineHttpClientDestination(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_http_client_destination_auth_strategy import ( + ObservabilityPipelineHttpClientDestinationAuthStrategy, + ) + from datadog_api_client.v2.model.observability_pipeline_http_client_destination_compression import ( + ObservabilityPipelineHttpClientDestinationCompression, + ) + from datadog_api_client.v2.model.observability_pipeline_http_client_destination_encoding import ( + ObservabilityPipelineHttpClientDestinationEncoding, + ) + from datadog_api_client.v2.model.observability_pipeline_tls import ObservabilityPipelineTls + from datadog_api_client.v2.model.observability_pipeline_http_client_destination_type import ( + ObservabilityPipelineHttpClientDestinationType, + ) + + return { + "auth_strategy": (ObservabilityPipelineHttpClientDestinationAuthStrategy,), + "compression": (ObservabilityPipelineHttpClientDestinationCompression,), + "encoding": (ObservabilityPipelineHttpClientDestinationEncoding,), + "id": (str,), + "inputs": ([str],), + "tls": (ObservabilityPipelineTls,), + "type": (ObservabilityPipelineHttpClientDestinationType,), + } + + attribute_map = { + "auth_strategy": "auth_strategy", + "compression": "compression", + "encoding": "encoding", + "id": "id", + "inputs": "inputs", + "tls": "tls", + "type": "type", + } + + def __init__( + self_, + encoding: ObservabilityPipelineHttpClientDestinationEncoding, + id: str, + inputs: List[str], + type: ObservabilityPipelineHttpClientDestinationType, + auth_strategy: Union[ObservabilityPipelineHttpClientDestinationAuthStrategy, UnsetType] = unset, + compression: Union[ObservabilityPipelineHttpClientDestinationCompression, UnsetType] = unset, + tls: Union[ObservabilityPipelineTls, UnsetType] = unset, + **kwargs, + ): + """ + The ``http_client`` destination sends data to an HTTP endpoint. + + **Supported pipeline types:** logs, metrics + + :param auth_strategy: HTTP authentication strategy. + :type auth_strategy: ObservabilityPipelineHttpClientDestinationAuthStrategy, optional + + :param compression: Compression configuration for HTTP requests. + :type compression: ObservabilityPipelineHttpClientDestinationCompression, optional + + :param encoding: Encoding format for log events. + :type encoding: ObservabilityPipelineHttpClientDestinationEncoding + + :param id: The unique identifier for this component. + :type id: str + + :param inputs: A list of component IDs whose output is used as the input for this component. + :type inputs: [str] + + :param tls: Configuration for enabling TLS encryption between the pipeline component and external services. + :type tls: ObservabilityPipelineTls, optional + + :param type: The destination type. The value should always be ``http_client``. + :type type: ObservabilityPipelineHttpClientDestinationType + """ + if auth_strategy is not unset: + kwargs["auth_strategy"] = auth_strategy + if compression is not unset: + kwargs["compression"] = compression + if tls is not unset: + kwargs["tls"] = tls + super().__init__(kwargs) + + self_.encoding = encoding + self_.id = id + self_.inputs = inputs + self_.type = type diff --git a/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_auth_strategy.py b/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_auth_strategy.py new file mode 100644 index 0000000000..c6ef4059dc --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_auth_strategy.py @@ -0,0 +1,42 @@ +# 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 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class ObservabilityPipelineHttpClientDestinationAuthStrategy(ModelSimple): + """ + HTTP authentication strategy. + + :param value: Must be one of ["basic", "bearer"]. + :type value: str + """ + + allowed_values = { + "basic", + "bearer", + } + BASIC: ClassVar["ObservabilityPipelineHttpClientDestinationAuthStrategy"] + BEARER: ClassVar["ObservabilityPipelineHttpClientDestinationAuthStrategy"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineHttpClientDestinationAuthStrategy.BASIC = ObservabilityPipelineHttpClientDestinationAuthStrategy( + "basic" +) +ObservabilityPipelineHttpClientDestinationAuthStrategy.BEARER = ObservabilityPipelineHttpClientDestinationAuthStrategy( + "bearer" +) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_compression.py b/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_compression.py new file mode 100644 index 0000000000..be42af4291 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_compression.py @@ -0,0 +1,44 @@ +# 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 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.observability_pipeline_http_client_destination_compression_algorithm import ( + ObservabilityPipelineHttpClientDestinationCompressionAlgorithm, + ) + + +class ObservabilityPipelineHttpClientDestinationCompression(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_http_client_destination_compression_algorithm import ( + ObservabilityPipelineHttpClientDestinationCompressionAlgorithm, + ) + + return { + "algorithm": (ObservabilityPipelineHttpClientDestinationCompressionAlgorithm,), + } + + attribute_map = { + "algorithm": "algorithm", + } + + def __init__(self_, algorithm: ObservabilityPipelineHttpClientDestinationCompressionAlgorithm, **kwargs): + """ + Compression configuration for HTTP requests. + + :param algorithm: Compression algorithm. + :type algorithm: ObservabilityPipelineHttpClientDestinationCompressionAlgorithm + """ + super().__init__(kwargs) + + self_.algorithm = algorithm diff --git a/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_compression_algorithm.py b/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_compression_algorithm.py new file mode 100644 index 0000000000..0adcb8b2f3 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_compression_algorithm.py @@ -0,0 +1,37 @@ +# 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 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class ObservabilityPipelineHttpClientDestinationCompressionAlgorithm(ModelSimple): + """ + Compression algorithm. + + :param value: If omitted defaults to "gzip". Must be one of ["gzip"]. + :type value: str + """ + + allowed_values = { + "gzip", + } + GZIP: ClassVar["ObservabilityPipelineHttpClientDestinationCompressionAlgorithm"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineHttpClientDestinationCompressionAlgorithm.GZIP = ( + ObservabilityPipelineHttpClientDestinationCompressionAlgorithm("gzip") +) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_encoding.py b/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_encoding.py new file mode 100644 index 0000000000..573d3f2798 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_encoding.py @@ -0,0 +1,35 @@ +# 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 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class ObservabilityPipelineHttpClientDestinationEncoding(ModelSimple): + """ + Encoding format for log events. + + :param value: If omitted defaults to "json". Must be one of ["json"]. + :type value: str + """ + + allowed_values = { + "json", + } + JSON: ClassVar["ObservabilityPipelineHttpClientDestinationEncoding"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineHttpClientDestinationEncoding.JSON = ObservabilityPipelineHttpClientDestinationEncoding("json") diff --git a/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_type.py b/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_type.py new file mode 100644 index 0000000000..3bbe09a7c1 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_http_client_destination_type.py @@ -0,0 +1,37 @@ +# 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 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class ObservabilityPipelineHttpClientDestinationType(ModelSimple): + """ + The destination type. The value should always be `http_client`. + + :param value: If omitted defaults to "http_client". Must be one of ["http_client"]. + :type value: str + """ + + allowed_values = { + "http_client", + } + HTTP_CLIENT: ClassVar["ObservabilityPipelineHttpClientDestinationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineHttpClientDestinationType.HTTP_CLIENT = ObservabilityPipelineHttpClientDestinationType( + "http_client" +) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_http_client_source.py b/src/datadog_api_client/v2/model/observability_pipeline_http_client_source.py index 5d6b534568..278e70fcb0 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_http_client_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_http_client_source.py @@ -70,6 +70,8 @@ def __init__( """ The ``http_client`` source scrapes logs from HTTP endpoints at regular intervals. + **Supported pipeline types:** logs + :param auth_strategy: Optional authentication strategy for HTTP requests. :type auth_strategy: ObservabilityPipelineHttpClientSourceAuthStrategy, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_http_server_source.py b/src/datadog_api_client/v2/model/observability_pipeline_http_server_source.py index 260387f57b..c1cc317bc8 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_http_server_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_http_server_source.py @@ -64,6 +64,8 @@ def __init__( """ The ``http_server`` source collects logs over HTTP POST from external services. + **Supported pipeline types:** logs + :param auth_strategy: HTTP authentication method. :type auth_strategy: ObservabilityPipelineHttpServerSourceAuthStrategy diff --git a/src/datadog_api_client/v2/model/observability_pipeline_kafka_source.py b/src/datadog_api_client/v2/model/observability_pipeline_kafka_source.py index 3ba6cfe651..108b80707a 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_kafka_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_kafka_source.py @@ -74,6 +74,8 @@ def __init__( """ The ``kafka`` source ingests data from Apache Kafka topics. + **Supported pipeline types:** logs + :param group_id: Consumer group ID used by the Kafka client. :type group_id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_logstash_source.py b/src/datadog_api_client/v2/model/observability_pipeline_logstash_source.py index 1971cae326..51eb2876f8 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_logstash_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_logstash_source.py @@ -50,6 +50,8 @@ def __init__( """ The ``logstash`` source ingests logs from a Logstash forwarder. + **Supported pipeline types:** logs + :param id: The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). :type id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor.py new file mode 100644 index 0000000000..ce8bdc45de --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor.py @@ -0,0 +1,91 @@ +# 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 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_rule import ( + ObservabilityPipelineMetricTagsProcessorRule, + ) + from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_type import ( + ObservabilityPipelineMetricTagsProcessorType, + ) + + +class ObservabilityPipelineMetricTagsProcessor(ModelNormal): + validations = { + "rules": { + "max_items": 100, + "min_items": 1, + }, + } + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_rule import ( + ObservabilityPipelineMetricTagsProcessorRule, + ) + from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_type import ( + ObservabilityPipelineMetricTagsProcessorType, + ) + + return { + "enabled": (bool,), + "id": (str,), + "include": (str,), + "rules": ([ObservabilityPipelineMetricTagsProcessorRule],), + "type": (ObservabilityPipelineMetricTagsProcessorType,), + } + + attribute_map = { + "enabled": "enabled", + "id": "id", + "include": "include", + "rules": "rules", + "type": "type", + } + + def __init__( + self_, + enabled: bool, + id: str, + include: str, + rules: List[ObservabilityPipelineMetricTagsProcessorRule], + type: ObservabilityPipelineMetricTagsProcessorType, + **kwargs, + ): + """ + The ``metric_tags`` processor filters metrics based on their tags using Datadog tag key patterns. + + **Supported pipeline types:** metrics + + :param enabled: Whether this processor is enabled. + :type enabled: bool + + :param id: The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the ``input`` to downstream components). + :type id: str + + :param include: A Datadog search query used to determine which metrics this processor targets. + :type include: str + + :param rules: A list of rules for filtering metric tags. + :type rules: [ObservabilityPipelineMetricTagsProcessorRule] + + :param type: The processor type. The value should always be ``metric_tags``. + :type type: ObservabilityPipelineMetricTagsProcessorType + """ + super().__init__(kwargs) + + self_.enabled = enabled + self_.id = id + self_.include = include + self_.rules = rules + self_.type = type diff --git a/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor_rule.py b/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor_rule.py new file mode 100644 index 0000000000..f0fb218038 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor_rule.py @@ -0,0 +1,68 @@ +# 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 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_rule_action import ( + ObservabilityPipelineMetricTagsProcessorRuleAction, + ) + from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_rule_mode import ( + ObservabilityPipelineMetricTagsProcessorRuleMode, + ) + + +class ObservabilityPipelineMetricTagsProcessorRule(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_rule_action import ( + ObservabilityPipelineMetricTagsProcessorRuleAction, + ) + from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_rule_mode import ( + ObservabilityPipelineMetricTagsProcessorRuleMode, + ) + + return { + "action": (ObservabilityPipelineMetricTagsProcessorRuleAction,), + "keys": ([str],), + "mode": (ObservabilityPipelineMetricTagsProcessorRuleMode,), + } + + attribute_map = { + "action": "action", + "keys": "keys", + "mode": "mode", + } + + def __init__( + self_, + action: ObservabilityPipelineMetricTagsProcessorRuleAction, + keys: List[str], + mode: ObservabilityPipelineMetricTagsProcessorRuleMode, + **kwargs, + ): + """ + Defines a rule for filtering metric tags based on key patterns. + + :param action: The action to take on tags with matching keys. + :type action: ObservabilityPipelineMetricTagsProcessorRuleAction + + :param keys: A list of tag keys to include or exclude. + :type keys: [str] + + :param mode: The processing mode for tag filtering. + :type mode: ObservabilityPipelineMetricTagsProcessorRuleMode + """ + super().__init__(kwargs) + + self_.action = action + self_.keys = keys + self_.mode = mode diff --git a/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor_rule_action.py b/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor_rule_action.py new file mode 100644 index 0000000000..2f2e45809a --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor_rule_action.py @@ -0,0 +1,42 @@ +# 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 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class ObservabilityPipelineMetricTagsProcessorRuleAction(ModelSimple): + """ + The action to take on tags with matching keys. + + :param value: Must be one of ["include", "exclude"]. + :type value: str + """ + + allowed_values = { + "include", + "exclude", + } + INCLUDE: ClassVar["ObservabilityPipelineMetricTagsProcessorRuleAction"] + EXCLUDE: ClassVar["ObservabilityPipelineMetricTagsProcessorRuleAction"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineMetricTagsProcessorRuleAction.INCLUDE = ObservabilityPipelineMetricTagsProcessorRuleAction( + "include" +) +ObservabilityPipelineMetricTagsProcessorRuleAction.EXCLUDE = ObservabilityPipelineMetricTagsProcessorRuleAction( + "exclude" +) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor_rule_mode.py b/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor_rule_mode.py new file mode 100644 index 0000000000..6add98b0c0 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor_rule_mode.py @@ -0,0 +1,35 @@ +# 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 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class ObservabilityPipelineMetricTagsProcessorRuleMode(ModelSimple): + """ + The processing mode for tag filtering. + + :param value: If omitted defaults to "filter". Must be one of ["filter"]. + :type value: str + """ + + allowed_values = { + "filter", + } + FILTER: ClassVar["ObservabilityPipelineMetricTagsProcessorRuleMode"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineMetricTagsProcessorRuleMode.FILTER = ObservabilityPipelineMetricTagsProcessorRuleMode("filter") diff --git a/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor_type.py b/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor_type.py new file mode 100644 index 0000000000..ad85ed7e23 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_metric_tags_processor_type.py @@ -0,0 +1,35 @@ +# 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 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class ObservabilityPipelineMetricTagsProcessorType(ModelSimple): + """ + The processor type. The value should always be `metric_tags`. + + :param value: If omitted defaults to "metric_tags". Must be one of ["metric_tags"]. + :type value: str + """ + + allowed_values = { + "metric_tags", + } + METRIC_TAGS: ClassVar["ObservabilityPipelineMetricTagsProcessorType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineMetricTagsProcessorType.METRIC_TAGS = ObservabilityPipelineMetricTagsProcessorType("metric_tags") diff --git a/src/datadog_api_client/v2/model/observability_pipeline_new_relic_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_new_relic_destination.py index ec0cb39481..e8cf62c104 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_new_relic_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_new_relic_destination.py @@ -55,6 +55,8 @@ def __init__( """ The ``new_relic`` destination sends logs to the New Relic platform. + **Supported pipeline types:** logs + :param id: The unique identifier for this component. :type id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_ocsf_mapper_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_ocsf_mapper_processor.py index 45ce411dc2..6f95d50319 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_ocsf_mapper_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_ocsf_mapper_processor.py @@ -63,6 +63,8 @@ def __init__( """ The ``ocsf_mapper`` processor transforms logs into the OCSF schema using a predefined mapping configuration. + **Supported pipeline types:** logs + :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_open_search_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_open_search_destination.py index d817a4b558..d2753ebdb7 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_open_search_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_open_search_destination.py @@ -51,6 +51,8 @@ def __init__( """ The ``opensearch`` destination writes logs to an OpenSearch cluster. + **Supported pipeline types:** logs + :param bulk_index: The index to write logs to. :type bulk_index: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_parse_grok_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_parse_grok_processor.py index 32e6da60d0..f361e1b7e5 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_parse_grok_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_parse_grok_processor.py @@ -66,6 +66,8 @@ def __init__( """ The ``parse_grok`` processor extracts structured fields from unstructured log messages using Grok patterns. + **Supported pipeline types:** logs + :param disable_library_rules: If set to ``true`` , disables the default Grok rules provided by Datadog. :type disable_library_rules: bool, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_parse_json_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_parse_json_processor.py index 134700560c..a5e1c90cf8 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_parse_json_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_parse_json_processor.py @@ -57,6 +57,8 @@ def __init__( """ The ``parse_json`` processor extracts JSON from a specified field and flattens it into the event. This is useful when logs contain embedded JSON as a string. + **Supported pipeline types:** logs + :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_quota_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_quota_processor.py index a122a03915..eaff3da6f2 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_quota_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_quota_processor.py @@ -91,7 +91,9 @@ def __init__( **kwargs, ): """ - The Quota Processor measures logging traffic for logs that match a specified filter. When the configured daily quota is met, the processor can drop or alert. + The ``quota`` processor measures logging traffic for logs that match a specified filter. When the configured daily quota is met, the processor can drop or alert. + + **Supported pipeline types:** logs :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_reduce_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_reduce_processor.py index 86cf0c092a..bb3f832f3e 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_reduce_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_reduce_processor.py @@ -66,6 +66,8 @@ def __init__( """ The ``reduce`` processor aggregates and merges logs based on matching keys and merge strategies. + **Supported pipeline types:** logs + :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_remove_fields_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_remove_fields_processor.py index d439328fca..3d165d78f5 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_remove_fields_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_remove_fields_processor.py @@ -57,6 +57,8 @@ def __init__( """ The ``remove_fields`` processor deletes specified fields from logs. + **Supported pipeline types:** logs + :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_rename_fields_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_rename_fields_processor.py index c32d90a194..eedd34a56e 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_rename_fields_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_rename_fields_processor.py @@ -63,6 +63,8 @@ def __init__( """ The ``rename_fields`` processor changes field names. + **Supported pipeline types:** logs + :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_rsyslog_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_rsyslog_destination.py index 486442d4aa..ead5f47857 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_rsyslog_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_rsyslog_destination.py @@ -62,6 +62,8 @@ def __init__( """ The ``rsyslog`` destination forwards logs to an external ``rsyslog`` server over TCP or UDP using the syslog protocol. + **Supported pipeline types:** logs + :param id: The unique identifier for this component. :type id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_rsyslog_source.py b/src/datadog_api_client/v2/model/observability_pipeline_rsyslog_source.py index 90c9a6dc6b..c197260efb 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_rsyslog_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_rsyslog_source.py @@ -59,6 +59,8 @@ def __init__( """ The ``rsyslog`` source listens for logs over TCP or UDP from an ``rsyslog`` server using the syslog protocol. + **Supported pipeline types:** logs + :param id: The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). :type id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_sample_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_sample_processor.py index b301a81a73..032f9aa514 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_sample_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_sample_processor.py @@ -66,6 +66,8 @@ def __init__( """ The ``sample`` processor allows probabilistic sampling of logs at a fixed rate. + **Supported pipeline types:** logs + :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_sensitive_data_scanner_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_sensitive_data_scanner_processor.py index 750d0619d3..fb61fade83 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_sensitive_data_scanner_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_sensitive_data_scanner_processor.py @@ -63,6 +63,8 @@ def __init__( """ The ``sensitive_data_scanner`` processor detects and optionally redacts sensitive data in log events. + **Supported pipeline types:** logs + :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_sentinel_one_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_sentinel_one_destination.py index 924aa9b0f5..85fca46e4d 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_sentinel_one_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_sentinel_one_destination.py @@ -55,6 +55,8 @@ def __init__( """ The ``sentinel_one`` destination sends logs to SentinelOne. + **Supported pipeline types:** logs + :param id: The unique identifier for this component. :type id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination.py index 8ff0d447f2..c631f27cc2 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_socket_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination.py @@ -94,6 +94,8 @@ def __init__( """ The ``socket`` destination sends logs over TCP or UDP to a remote server. + **Supported pipeline types:** logs + :param encoding: Encoding format for log events. :type encoding: ObservabilityPipelineSocketDestinationEncoding diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source.py index 23d1794735..d95c5fa558 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_socket_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source.py @@ -90,6 +90,8 @@ def __init__( """ The ``socket`` source ingests logs over TCP or UDP. + **Supported pipeline types:** logs + :param framing: Framing method configuration for the socket source. :type framing: ObservabilityPipelineSocketSourceFraming diff --git a/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_destination.py index e36b4aee74..f2e4f9fc57 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_destination.py @@ -66,6 +66,8 @@ def __init__( """ The ``splunk_hec`` destination forwards logs to Splunk using the HTTP Event Collector (HEC). + **Supported pipeline types:** logs + :param auto_extract_timestamp: If ``true`` , Splunk tries to extract timestamps from incoming log events. If ``false`` , Splunk assigns the time the event was received. :type auto_extract_timestamp: bool, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_source.py b/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_source.py index bf8e2f976f..1773dfefeb 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_source.py @@ -50,6 +50,8 @@ def __init__( """ The ``splunk_hec`` source implements the Splunk HTTP Event Collector (HEC) API. + **Supported pipeline types:** logs + :param id: The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). :type id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_splunk_tcp_source.py b/src/datadog_api_client/v2/model/observability_pipeline_splunk_tcp_source.py index 5cd32dc425..9e2f538c45 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_splunk_tcp_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_splunk_tcp_source.py @@ -51,6 +51,8 @@ def __init__( The ``splunk_tcp`` source receives logs from a Splunk Universal Forwarder over TCP. TLS is supported for secure transmission. + **Supported pipeline types:** logs + :param id: The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). :type id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_sumo_logic_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_sumo_logic_destination.py index d49e3044f8..bd8b1f6a65 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_sumo_logic_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_sumo_logic_destination.py @@ -77,6 +77,8 @@ def __init__( """ The ``sumo_logic`` destination forwards logs to Sumo Logic. + **Supported pipeline types:** logs + :param encoding: The output encoding format. :type encoding: ObservabilityPipelineSumoLogicDestinationEncoding, optional diff --git a/src/datadog_api_client/v2/model/observability_pipeline_sumo_logic_source.py b/src/datadog_api_client/v2/model/observability_pipeline_sumo_logic_source.py index c02e14c8c1..1338234aa6 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_sumo_logic_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_sumo_logic_source.py @@ -38,6 +38,8 @@ def __init__(self_, id: str, type: ObservabilityPipelineSumoLogicSourceType, **k """ The ``sumo_logic`` source receives logs from Sumo Logic collectors. + **Supported pipeline types:** logs + :param id: The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). :type id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_syslog_ng_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_syslog_ng_destination.py index 4984e69b5e..f9cc83262e 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_syslog_ng_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_syslog_ng_destination.py @@ -62,6 +62,8 @@ def __init__( """ The ``syslog_ng`` destination forwards logs to an external ``syslog-ng`` server over TCP or UDP using the syslog protocol. + **Supported pipeline types:** logs + :param id: The unique identifier for this component. :type id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_syslog_ng_source.py b/src/datadog_api_client/v2/model/observability_pipeline_syslog_ng_source.py index 5f3e91d9a1..778d5d6ed3 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_syslog_ng_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_syslog_ng_source.py @@ -59,6 +59,8 @@ def __init__( """ The ``syslog_ng`` source listens for logs over TCP or UDP from a ``syslog-ng`` server using the syslog protocol. + **Supported pipeline types:** logs + :param id: The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). :type id: str diff --git a/src/datadog_api_client/v2/model/observability_pipeline_throttle_processor.py b/src/datadog_api_client/v2/model/observability_pipeline_throttle_processor.py index 3240833d02..00cf8ff296 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_throttle_processor.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_throttle_processor.py @@ -63,6 +63,8 @@ def __init__( """ The ``throttle`` processor limits the number of events that pass through over a given time window. + **Supported pipeline types:** logs + :param display_name: The display name for a component. :type display_name: str, optional diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 8217f826ec..b3cbf0603e 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -2926,6 +2926,9 @@ from datadog_api_client.v2.model.observability_pipeline_config_destination_item import ( ObservabilityPipelineConfigDestinationItem, ) +from datadog_api_client.v2.model.observability_pipeline_config_pipeline_type import ( + ObservabilityPipelineConfigPipelineType, +) from datadog_api_client.v2.model.observability_pipeline_config_processor_group import ( ObservabilityPipelineConfigProcessorGroup, ) @@ -2969,6 +2972,12 @@ from datadog_api_client.v2.model.observability_pipeline_datadog_logs_destination_type import ( ObservabilityPipelineDatadogLogsDestinationType, ) +from datadog_api_client.v2.model.observability_pipeline_datadog_metrics_destination import ( + ObservabilityPipelineDatadogMetricsDestination, +) +from datadog_api_client.v2.model.observability_pipeline_datadog_metrics_destination_type import ( + ObservabilityPipelineDatadogMetricsDestinationType, +) from datadog_api_client.v2.model.observability_pipeline_datadog_tags_processor import ( ObservabilityPipelineDatadogTagsProcessor, ) @@ -3100,6 +3109,24 @@ from datadog_api_client.v2.model.observability_pipeline_google_pub_sub_source_type import ( ObservabilityPipelineGooglePubSubSourceType, ) +from datadog_api_client.v2.model.observability_pipeline_http_client_destination import ( + ObservabilityPipelineHttpClientDestination, +) +from datadog_api_client.v2.model.observability_pipeline_http_client_destination_auth_strategy import ( + ObservabilityPipelineHttpClientDestinationAuthStrategy, +) +from datadog_api_client.v2.model.observability_pipeline_http_client_destination_compression import ( + ObservabilityPipelineHttpClientDestinationCompression, +) +from datadog_api_client.v2.model.observability_pipeline_http_client_destination_compression_algorithm import ( + ObservabilityPipelineHttpClientDestinationCompressionAlgorithm, +) +from datadog_api_client.v2.model.observability_pipeline_http_client_destination_encoding import ( + ObservabilityPipelineHttpClientDestinationEncoding, +) +from datadog_api_client.v2.model.observability_pipeline_http_client_destination_type import ( + ObservabilityPipelineHttpClientDestinationType, +) from datadog_api_client.v2.model.observability_pipeline_http_client_source import ObservabilityPipelineHttpClientSource from datadog_api_client.v2.model.observability_pipeline_http_client_source_auth_strategy import ( ObservabilityPipelineHttpClientSourceAuthStrategy, @@ -3125,6 +3152,21 @@ ObservabilityPipelineLogstashSourceType, ) from datadog_api_client.v2.model.observability_pipeline_metadata_entry import ObservabilityPipelineMetadataEntry +from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor import ( + ObservabilityPipelineMetricTagsProcessor, +) +from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_rule import ( + ObservabilityPipelineMetricTagsProcessorRule, +) +from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_rule_action import ( + ObservabilityPipelineMetricTagsProcessorRuleAction, +) +from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_rule_mode import ( + ObservabilityPipelineMetricTagsProcessorRuleMode, +) +from datadog_api_client.v2.model.observability_pipeline_metric_tags_processor_type import ( + ObservabilityPipelineMetricTagsProcessorType, +) from datadog_api_client.v2.model.observability_pipeline_metric_value import ObservabilityPipelineMetricValue from datadog_api_client.v2.model.observability_pipeline_new_relic_destination import ( ObservabilityPipelineNewRelicDestination, @@ -7332,6 +7374,7 @@ "ObservabilityPipelineAwsAuth", "ObservabilityPipelineConfig", "ObservabilityPipelineConfigDestinationItem", + "ObservabilityPipelineConfigPipelineType", "ObservabilityPipelineConfigProcessorGroup", "ObservabilityPipelineConfigProcessorItem", "ObservabilityPipelineConfigSourceItem", @@ -7349,6 +7392,8 @@ "ObservabilityPipelineDatadogAgentSourceType", "ObservabilityPipelineDatadogLogsDestination", "ObservabilityPipelineDatadogLogsDestinationType", + "ObservabilityPipelineDatadogMetricsDestination", + "ObservabilityPipelineDatadogMetricsDestinationType", "ObservabilityPipelineDatadogTagsProcessor", "ObservabilityPipelineDatadogTagsProcessorAction", "ObservabilityPipelineDatadogTagsProcessorMode", @@ -7398,6 +7443,12 @@ "ObservabilityPipelineGooglePubSubDestinationType", "ObservabilityPipelineGooglePubSubSource", "ObservabilityPipelineGooglePubSubSourceType", + "ObservabilityPipelineHttpClientDestination", + "ObservabilityPipelineHttpClientDestinationAuthStrategy", + "ObservabilityPipelineHttpClientDestinationCompression", + "ObservabilityPipelineHttpClientDestinationCompressionAlgorithm", + "ObservabilityPipelineHttpClientDestinationEncoding", + "ObservabilityPipelineHttpClientDestinationType", "ObservabilityPipelineHttpClientSource", "ObservabilityPipelineHttpClientSourceAuthStrategy", "ObservabilityPipelineHttpClientSourceType", @@ -7411,6 +7462,11 @@ "ObservabilityPipelineLogstashSource", "ObservabilityPipelineLogstashSourceType", "ObservabilityPipelineMetadataEntry", + "ObservabilityPipelineMetricTagsProcessor", + "ObservabilityPipelineMetricTagsProcessorRule", + "ObservabilityPipelineMetricTagsProcessorRuleAction", + "ObservabilityPipelineMetricTagsProcessorRuleMode", + "ObservabilityPipelineMetricTagsProcessorType", "ObservabilityPipelineMetricValue", "ObservabilityPipelineNewRelicDestination", "ObservabilityPipelineNewRelicDestinationRegion", diff --git a/tests/v2/features/observability_pipelines.feature b/tests/v2/features/observability_pipelines.feature index c43fa8b3b7..a9b17ec7fd 100644 --- a/tests/v2/features/observability_pipelines.feature +++ b/tests/v2/features/observability_pipelines.feature @@ -20,7 +20,7 @@ Feature: Observability Pipelines Scenario: Create a new pipeline returns "Conflict" response Given operation "CreatePipeline" enabled And new "CreatePipeline" request - And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["filter-processor"], "type": "datadog_logs"}], "processors": [{"enabled": true, "id": "my-processor-group", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "filter-processor", "include": "status:error", "type": "filter"}, {"enabled": true, "field": "message", "id": "json-processor", "include": "*", "type": "parse_json"}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "type": "pipelines"}} + And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["filter-processor"], "type": "datadog_logs"}], "pipeline_type": "logs", "processors": [{"enabled": true, "id": "my-processor-group", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "filter-processor", "include": "status:error", "type": "filter"}, {"enabled": true, "field": "message", "id": "json-processor", "include": "*", "type": "parse_json"}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "type": "pipelines"}} When the request is sent Then the response status is 409 Conflict @@ -115,7 +115,7 @@ Feature: Observability Pipelines Given operation "UpdatePipeline" enabled And new "UpdatePipeline" request And request contains "pipeline_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["filter-processor"], "type": "datadog_logs"}], "processors": [{"enabled": true, "id": "my-processor-group", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "filter-processor", "include": "status:error", "type": "filter"}, {"enabled": true, "field": "message", "id": "json-processor", "include": "*", "type": "parse_json"}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "pipelines"}} + And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["filter-processor"], "type": "datadog_logs"}], "pipeline_type": "logs", "processors": [{"enabled": true, "id": "my-processor-group", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "filter-processor", "include": "status:error", "type": "filter"}, {"enabled": true, "field": "message", "id": "json-processor", "include": "*", "type": "parse_json"}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "pipelines"}} When the request is sent Then the response status is 409 Conflict