diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 3bec741a12..032ed96771 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -9898,6 +9898,7 @@ components: - data type: object CaseManagementProjectData: + description: Data object representing a case management project. properties: id: description: Unique identifier of the case management project. @@ -14698,6 +14699,7 @@ components: description: List of requests to create cases for security findings. properties: data: + description: Array of case creation request data objects. items: $ref: '#/components/schemas/CreateCaseRequestData' type: array @@ -15251,6 +15253,7 @@ components: description: List of requests to create Jira issues for security findings. properties: data: + description: Array of Jira issue creation request data objects. items: $ref: '#/components/schemas/CreateJiraIssueRequestData' type: array @@ -25031,6 +25034,7 @@ components: description: List of case responses. properties: data: + description: Array of case response data objects. items: $ref: '#/components/schemas/FindingCaseResponseData' type: array @@ -25067,8 +25071,11 @@ components: attributes: additionalProperties: items: + description: A custom attribute value string. type: string type: array + description: Custom attributes associated with the case as key-value pairs + where values are string arrays. type: object closed_at: description: Timestamp of when the case was closed. @@ -25148,6 +25155,7 @@ components: description: Project in which the case was created. type: object FindingData: + description: Data object representing a security finding. properties: id: description: Unique identifier of the security finding. @@ -25374,6 +25382,7 @@ components: description: A list of security findings. properties: data: + description: Array of security finding data objects. items: $ref: '#/components/schemas/FindingData' type: array @@ -44821,7 +44830,7 @@ components: Protocol (OTLP) over gRPC and HTTP. - **Supported pipeline types:** logs, metrics' + **Supported pipeline types:** logs' properties: grpc_address_key: description: Environment variable name containing the gRPC server address @@ -44851,7 +44860,6 @@ components: type: object x-pipeline-types: - logs - - metrics ObservabilityPipelineOpentelemetrySourceType: default: opentelemetry description: The source type. The value should always be `opentelemetry`. diff --git a/examples/v2/observability-pipelines/ValidatePipeline_884022323.py b/examples/v2/observability-pipelines/ValidatePipeline_884022323.py deleted file mode 100644 index fda04b4c53..0000000000 --- a/examples/v2/observability-pipelines/ValidatePipeline_884022323.py +++ /dev/null @@ -1,84 +0,0 @@ -""" -Validate a metrics pipeline with opentelemetry source returns "OK" response -""" - -from datadog_api_client import ApiClient, Configuration -from datadog_api_client.v2.api.observability_pipelines_api import ObservabilityPipelinesApi -from datadog_api_client.v2.model.observability_pipeline_config import ObservabilityPipelineConfig -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_data_attributes import ObservabilityPipelineDataAttributes -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_filter_processor import ObservabilityPipelineFilterProcessor -from datadog_api_client.v2.model.observability_pipeline_filter_processor_type import ( - ObservabilityPipelineFilterProcessorType, -) -from datadog_api_client.v2.model.observability_pipeline_opentelemetry_source import ( - ObservabilityPipelineOpentelemetrySource, -) -from datadog_api_client.v2.model.observability_pipeline_opentelemetry_source_type import ( - ObservabilityPipelineOpentelemetrySourceType, -) -from datadog_api_client.v2.model.observability_pipeline_spec import ObservabilityPipelineSpec -from datadog_api_client.v2.model.observability_pipeline_spec_data import ObservabilityPipelineSpecData - -body = ObservabilityPipelineSpec( - data=ObservabilityPipelineSpecData( - attributes=ObservabilityPipelineDataAttributes( - config=ObservabilityPipelineConfig( - pipeline_type=ObservabilityPipelineConfigPipelineType.METRICS, - destinations=[ - ObservabilityPipelineDatadogMetricsDestination( - id="datadog-metrics-destination", - inputs=[ - "my-processor-group", - ], - type=ObservabilityPipelineDatadogMetricsDestinationType.DATADOG_METRICS, - ), - ], - processor_groups=[ - ObservabilityPipelineConfigProcessorGroup( - enabled=True, - id="my-processor-group", - include="*", - inputs=[ - "opentelemetry-source", - ], - processors=[ - ObservabilityPipelineFilterProcessor( - enabled=True, - id="filter-processor", - include="env:production", - type=ObservabilityPipelineFilterProcessorType.FILTER, - ), - ], - ), - ], - sources=[ - ObservabilityPipelineOpentelemetrySource( - id="opentelemetry-source", - type=ObservabilityPipelineOpentelemetrySourceType.OPENTELEMETRY, - ), - ], - ), - name="Metrics OTel Pipeline", - ), - type="pipelines", - ), -) - -configuration = Configuration() -with ApiClient(configuration) as api_client: - api_instance = ObservabilityPipelinesApi(api_client) - response = api_instance.validate_pipeline(body=body) - - print(response) diff --git a/src/datadog_api_client/v2/model/case_management_project.py b/src/datadog_api_client/v2/model/case_management_project.py index b8b789d301..b845700ddc 100644 --- a/src/datadog_api_client/v2/model/case_management_project.py +++ b/src/datadog_api_client/v2/model/case_management_project.py @@ -32,7 +32,7 @@ def __init__(self_, data: CaseManagementProjectData, **kwargs): """ Case management project. - :param data: + :param data: Data object representing a case management project. :type data: CaseManagementProjectData """ super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/case_management_project_data.py b/src/datadog_api_client/v2/model/case_management_project_data.py index b43c704699..d62c9e01a1 100644 --- a/src/datadog_api_client/v2/model/case_management_project_data.py +++ b/src/datadog_api_client/v2/model/case_management_project_data.py @@ -32,7 +32,7 @@ def openapi_types(_): def __init__(self_, id: str, type: CaseManagementProjectDataType, **kwargs): """ - + Data object representing a case management project. :param id: Unique identifier of the case management project. :type id: str diff --git a/src/datadog_api_client/v2/model/create_case_request_array.py b/src/datadog_api_client/v2/model/create_case_request_array.py index 82952edd26..4d242d85bc 100644 --- a/src/datadog_api_client/v2/model/create_case_request_array.py +++ b/src/datadog_api_client/v2/model/create_case_request_array.py @@ -32,7 +32,7 @@ def __init__(self_, data: List[CreateCaseRequestData], **kwargs): """ List of requests to create cases for security findings. - :param data: + :param data: Array of case creation request data objects. :type data: [CreateCaseRequestData] """ super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/create_jira_issue_request_array.py b/src/datadog_api_client/v2/model/create_jira_issue_request_array.py index 03b3f9106c..710ac4007f 100644 --- a/src/datadog_api_client/v2/model/create_jira_issue_request_array.py +++ b/src/datadog_api_client/v2/model/create_jira_issue_request_array.py @@ -32,7 +32,7 @@ def __init__(self_, data: List[CreateJiraIssueRequestData], **kwargs): """ List of requests to create Jira issues for security findings. - :param data: + :param data: Array of Jira issue creation request data objects. :type data: [CreateJiraIssueRequestData] """ super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/finding_case_response_array.py b/src/datadog_api_client/v2/model/finding_case_response_array.py index 81b9d644a6..1f6814f2fd 100644 --- a/src/datadog_api_client/v2/model/finding_case_response_array.py +++ b/src/datadog_api_client/v2/model/finding_case_response_array.py @@ -32,7 +32,7 @@ def __init__(self_, data: List[FindingCaseResponseData], **kwargs): """ List of case responses. - :param data: + :param data: Array of case response data objects. :type data: [FindingCaseResponseData] """ super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/finding_case_response_data_attributes.py b/src/datadog_api_client/v2/model/finding_case_response_data_attributes.py index 1316817fa4..d36b899f78 100644 --- a/src/datadog_api_client/v2/model/finding_case_response_data_attributes.py +++ b/src/datadog_api_client/v2/model/finding_case_response_data_attributes.py @@ -100,7 +100,7 @@ def __init__( :param assigned_to: Relationship to user. :type assigned_to: RelationshipToUser, optional - :param attributes: + :param attributes: Custom attributes associated with the case as key-value pairs where values are string arrays. :type attributes: {str: ([str],)}, optional :param closed_at: Timestamp of when the case was closed. diff --git a/src/datadog_api_client/v2/model/finding_data.py b/src/datadog_api_client/v2/model/finding_data.py index d3852173ba..29f171c1ee 100644 --- a/src/datadog_api_client/v2/model/finding_data.py +++ b/src/datadog_api_client/v2/model/finding_data.py @@ -32,7 +32,7 @@ def openapi_types(_): def __init__(self_, id: str, type: FindingDataType, **kwargs): """ - + Data object representing a security finding. :param id: Unique identifier of the security finding. :type id: str diff --git a/src/datadog_api_client/v2/model/findings.py b/src/datadog_api_client/v2/model/findings.py index dadc91ca7d..1f1e5396d3 100644 --- a/src/datadog_api_client/v2/model/findings.py +++ b/src/datadog_api_client/v2/model/findings.py @@ -34,7 +34,7 @@ def __init__(self_, data: Union[List[FindingData], UnsetType] = unset, **kwargs) """ A list of security findings. - :param data: + :param data: Array of security finding data objects. :type data: [FindingData], optional """ if data is not unset: diff --git a/src/datadog_api_client/v2/model/observability_pipeline_opentelemetry_source.py b/src/datadog_api_client/v2/model/observability_pipeline_opentelemetry_source.py index da09b968f1..ac6090dcd9 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_opentelemetry_source.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_opentelemetry_source.py @@ -56,7 +56,7 @@ def __init__( """ The ``opentelemetry`` source receives telemetry data using the OpenTelemetry Protocol (OTLP) over gRPC and HTTP. - **Supported pipeline types:** logs, metrics + **Supported pipeline types:** logs :param grpc_address_key: Environment variable name containing the gRPC server address for receiving OTLP data. Must be a valid environment variable name (alphanumeric characters and underscores only). :type grpc_address_key: str, optional diff --git a/tests/v2/cassettes/test_scenarios/test_validate_a_metrics_pipeline_with_opentelemetry_source_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_validate_a_metrics_pipeline_with_opentelemetry_source_returns_ok_response.frozen deleted file mode 100644 index 9218d08a36..0000000000 --- a/tests/v2/cassettes/test_scenarios/test_validate_a_metrics_pipeline_with_opentelemetry_source_returns_ok_response.frozen +++ /dev/null @@ -1 +0,0 @@ -2026-03-10T16:11:47.487Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_validate_a_metrics_pipeline_with_opentelemetry_source_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_validate_a_metrics_pipeline_with_opentelemetry_source_returns_ok_response.yaml deleted file mode 100644 index b09e25bdb7..0000000000 --- a/tests/v2/cassettes/test_scenarios/test_validate_a_metrics_pipeline_with_opentelemetry_source_returns_ok_response.yaml +++ /dev/null @@ -1,23 +0,0 @@ -interactions: -- request: - body: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-metrics-destination","inputs":["my-processor-group"],"type":"datadog_metrics"}],"pipeline_type":"metrics","processor_groups":[{"enabled":true,"id":"my-processor-group","include":"*","inputs":["opentelemetry-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"env:production","type":"filter"}]}],"sources":[{"id":"opentelemetry-source","type":"opentelemetry"}]},"name":"Metrics - OTel Pipeline"},"type":"pipelines"}}' - headers: - accept: - - application/json - content-type: - - application/json - method: POST - uri: https://api.datadoghq.com/api/v2/obs-pipelines/pipelines/validate - response: - body: - string: '{"errors":[]} - - ' - headers: - content-type: - - application/vnd.api+json - status: - code: 200 - message: OK -version: 1 diff --git a/tests/v2/features/observability_pipelines.feature b/tests/v2/features/observability_pipelines.feature index e272303955..bf90c06c13 100644 --- a/tests/v2/features/observability_pipelines.feature +++ b/tests/v2/features/observability_pipelines.feature @@ -149,14 +149,6 @@ Feature: Observability Pipelines And the response "data.attributes.config.destinations" has length 1 And the response "data.attributes.config.destinations[0].id" is equal to "updated-datadog-logs-destination-id" - @team:DataDog/observability-pipelines - Scenario: Validate a metrics pipeline with opentelemetry source returns "OK" response - Given new "ValidatePipeline" request - And body with value {"data": {"attributes": {"config": {"pipeline_type": "metrics", "destinations": [{"id": "datadog-metrics-destination", "inputs": ["my-processor-group"], "type": "datadog_metrics"}], "processor_groups": [{"enabled": true, "id": "my-processor-group", "include": "*", "inputs": ["opentelemetry-source"], "processors": [{"enabled": true, "id": "filter-processor", "include": "env:production", "type": "filter"}]}], "sources": [{"id": "opentelemetry-source", "type": "opentelemetry"}]}, "name": "Metrics OTel Pipeline"}, "type": "pipelines"}} - When the request is sent - Then the response status is 200 OK - And the response "errors" has length 0 - @team:DataDog/observability-pipelines Scenario: Validate an observability pipeline returns "Bad Request" response Given new "ValidatePipeline" request