Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17412,6 +17412,16 @@ components:
Must have HTTPS scheme and forwarding back to Datadog is not allowed.
example: https://example.com
type: string
sourcetype:
description: |-
The Splunk sourcetype for the events sent to this Splunk destination.

If absent, the default sourcetype `_json` is used. If set to `null`, the `sourcetype`
field is omitted from the Splunk HEC payload entirely. Otherwise, the provided string
value is used as the sourcetype.
example: my-source
nullable: true
type: string
type:
$ref: "#/components/schemas/CustomDestinationForwardDestinationSplunkType"
required:
Expand Down Expand Up @@ -17687,6 +17697,16 @@ components:
Must have HTTPS scheme and forwarding back to Datadog is not allowed.
example: https://example.com
type: string
sourcetype:
description: |-
The Splunk sourcetype for the events sent to this Splunk destination.

If absent, the default sourcetype `_json` is used. If set to `null`, the `sourcetype`
field is omitted from the Splunk HEC payload entirely. Otherwise, the provided string
value is used as the sourcetype.
example: my-source
nullable: true
type: string
type:
$ref: "#/components/schemas/CustomDestinationResponseForwardDestinationSplunkType"
required:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
"""
Create a Splunk custom destination with a sourcetype returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.logs_custom_destinations_api import LogsCustomDestinationsApi
from datadog_api_client.v2.model.custom_destination_create_request import CustomDestinationCreateRequest
from datadog_api_client.v2.model.custom_destination_create_request_attributes import (
CustomDestinationCreateRequestAttributes,
)
from datadog_api_client.v2.model.custom_destination_create_request_definition import (
CustomDestinationCreateRequestDefinition,
)
from datadog_api_client.v2.model.custom_destination_forward_destination_splunk import (
CustomDestinationForwardDestinationSplunk,
)
from datadog_api_client.v2.model.custom_destination_forward_destination_splunk_type import (
CustomDestinationForwardDestinationSplunkType,
)
from datadog_api_client.v2.model.custom_destination_type import CustomDestinationType

body = CustomDestinationCreateRequest(
data=CustomDestinationCreateRequestDefinition(
attributes=CustomDestinationCreateRequestAttributes(
enabled=False,
forward_tags=False,
forwarder_destination=CustomDestinationForwardDestinationSplunk(
access_token="my-access-token",
endpoint="https://example.com",
type=CustomDestinationForwardDestinationSplunkType.SPLUNK_HEC,
sourcetype="my-sourcetype",
),
name="Nginx logs",
query="source:nginx",
),
type=CustomDestinationType.CUSTOM_DESTINATION,
),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = LogsCustomDestinationsApi(api_client)
response = api_instance.create_logs_custom_destination(body=body)

print(response)
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
"""
Create a Splunk custom destination without a sourcetype returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.logs_custom_destinations_api import LogsCustomDestinationsApi
from datadog_api_client.v2.model.custom_destination_create_request import CustomDestinationCreateRequest
from datadog_api_client.v2.model.custom_destination_create_request_attributes import (
CustomDestinationCreateRequestAttributes,
)
from datadog_api_client.v2.model.custom_destination_create_request_definition import (
CustomDestinationCreateRequestDefinition,
)
from datadog_api_client.v2.model.custom_destination_forward_destination_splunk import (
CustomDestinationForwardDestinationSplunk,
)
from datadog_api_client.v2.model.custom_destination_forward_destination_splunk_type import (
CustomDestinationForwardDestinationSplunkType,
)
from datadog_api_client.v2.model.custom_destination_type import CustomDestinationType

body = CustomDestinationCreateRequest(
data=CustomDestinationCreateRequestDefinition(
attributes=CustomDestinationCreateRequestAttributes(
enabled=False,
forward_tags=False,
forwarder_destination=CustomDestinationForwardDestinationSplunk(
access_token="my-access-token",
endpoint="https://example.com",
type=CustomDestinationForwardDestinationSplunkType.SPLUNK_HEC,
),
name="Nginx logs",
query="source:nginx",
),
type=CustomDestinationType.CUSTOM_DESTINATION,
),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = LogsCustomDestinationsApi(api_client)
response = api_instance.create_logs_custom_destination(body=body)

print(response)
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
"""
Create a Splunk custom destination with a null sourcetype returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.logs_custom_destinations_api import LogsCustomDestinationsApi
from datadog_api_client.v2.model.custom_destination_create_request import CustomDestinationCreateRequest
from datadog_api_client.v2.model.custom_destination_create_request_attributes import (
CustomDestinationCreateRequestAttributes,
)
from datadog_api_client.v2.model.custom_destination_create_request_definition import (
CustomDestinationCreateRequestDefinition,
)
from datadog_api_client.v2.model.custom_destination_forward_destination_splunk import (
CustomDestinationForwardDestinationSplunk,
)
from datadog_api_client.v2.model.custom_destination_forward_destination_splunk_type import (
CustomDestinationForwardDestinationSplunkType,
)
from datadog_api_client.v2.model.custom_destination_type import CustomDestinationType

body = CustomDestinationCreateRequest(
data=CustomDestinationCreateRequestDefinition(
attributes=CustomDestinationCreateRequestAttributes(
enabled=False,
forward_tags=False,
forwarder_destination=CustomDestinationForwardDestinationSplunk(
access_token="my-access-token",
endpoint="https://example.com",
type=CustomDestinationForwardDestinationSplunkType.SPLUNK_HEC,
sourcetype=None,
),
name="Nginx logs",
query="source:nginx",
),
type=CustomDestinationType.CUSTOM_DESTINATION,
),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = LogsCustomDestinationsApi(api_client)
response = api_instance.create_logs_custom_destination(body=body)

print(response)
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
"""
Create a Splunk custom destination with an empty string sourcetype returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.logs_custom_destinations_api import LogsCustomDestinationsApi
from datadog_api_client.v2.model.custom_destination_create_request import CustomDestinationCreateRequest
from datadog_api_client.v2.model.custom_destination_create_request_attributes import (
CustomDestinationCreateRequestAttributes,
)
from datadog_api_client.v2.model.custom_destination_create_request_definition import (
CustomDestinationCreateRequestDefinition,
)
from datadog_api_client.v2.model.custom_destination_forward_destination_splunk import (
CustomDestinationForwardDestinationSplunk,
)
from datadog_api_client.v2.model.custom_destination_forward_destination_splunk_type import (
CustomDestinationForwardDestinationSplunkType,
)
from datadog_api_client.v2.model.custom_destination_type import CustomDestinationType

body = CustomDestinationCreateRequest(
data=CustomDestinationCreateRequestDefinition(
attributes=CustomDestinationCreateRequestAttributes(
enabled=False,
forward_tags=False,
forwarder_destination=CustomDestinationForwardDestinationSplunk(
access_token="my-access-token",
endpoint="https://example.com",
type=CustomDestinationForwardDestinationSplunkType.SPLUNK_HEC,
sourcetype="",
),
name="Nginx logs",
query="source:nginx",
),
type=CustomDestinationType.CUSTOM_DESTINATION,
),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = LogsCustomDestinationsApi(api_client)
response = api_instance.create_logs_custom_destination(body=body)

print(response)
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
"""
Update a Splunk custom destination's destination preserves the null sourcetype returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.logs_custom_destinations_api import LogsCustomDestinationsApi
from datadog_api_client.v2.model.custom_destination_forward_destination_splunk import (
CustomDestinationForwardDestinationSplunk,
)
from datadog_api_client.v2.model.custom_destination_forward_destination_splunk_type import (
CustomDestinationForwardDestinationSplunkType,
)
from datadog_api_client.v2.model.custom_destination_type import CustomDestinationType
from datadog_api_client.v2.model.custom_destination_update_request import CustomDestinationUpdateRequest
from datadog_api_client.v2.model.custom_destination_update_request_attributes import (
CustomDestinationUpdateRequestAttributes,
)
from datadog_api_client.v2.model.custom_destination_update_request_definition import (
CustomDestinationUpdateRequestDefinition,
)

# there is a valid "custom_destination_splunk_with_null_sourcetype" in the system
CUSTOM_DESTINATION_SPLUNK_WITH_NULL_SOURCETYPE_DATA_ID = environ[
"CUSTOM_DESTINATION_SPLUNK_WITH_NULL_SOURCETYPE_DATA_ID"
]

body = CustomDestinationUpdateRequest(
data=CustomDestinationUpdateRequestDefinition(
attributes=CustomDestinationUpdateRequestAttributes(
forwarder_destination=CustomDestinationForwardDestinationSplunk(
type=CustomDestinationForwardDestinationSplunkType.SPLUNK_HEC,
endpoint="https://updated-example.com",
access_token="my-access-token",
),
),
type=CustomDestinationType.CUSTOM_DESTINATION,
id=CUSTOM_DESTINATION_SPLUNK_WITH_NULL_SOURCETYPE_DATA_ID,
),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = LogsCustomDestinationsApi(api_client)
response = api_instance.update_logs_custom_destination(
custom_destination_id=CUSTOM_DESTINATION_SPLUNK_WITH_NULL_SOURCETYPE_DATA_ID, body=body
)

print(response)
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
"""
Update a Splunk custom destination with a sourcetype returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.logs_custom_destinations_api import LogsCustomDestinationsApi
from datadog_api_client.v2.model.custom_destination_forward_destination_splunk import (
CustomDestinationForwardDestinationSplunk,
)
from datadog_api_client.v2.model.custom_destination_forward_destination_splunk_type import (
CustomDestinationForwardDestinationSplunkType,
)
from datadog_api_client.v2.model.custom_destination_type import CustomDestinationType
from datadog_api_client.v2.model.custom_destination_update_request import CustomDestinationUpdateRequest
from datadog_api_client.v2.model.custom_destination_update_request_attributes import (
CustomDestinationUpdateRequestAttributes,
)
from datadog_api_client.v2.model.custom_destination_update_request_definition import (
CustomDestinationUpdateRequestDefinition,
)

# there is a valid "custom_destination_splunk" in the system
CUSTOM_DESTINATION_SPLUNK_DATA_ID = environ["CUSTOM_DESTINATION_SPLUNK_DATA_ID"]

body = CustomDestinationUpdateRequest(
data=CustomDestinationUpdateRequestDefinition(
attributes=CustomDestinationUpdateRequestAttributes(
forwarder_destination=CustomDestinationForwardDestinationSplunk(
type=CustomDestinationForwardDestinationSplunkType.SPLUNK_HEC,
endpoint="https://example.com",
access_token="my-access-token",
sourcetype="new-sourcetype",
),
),
type=CustomDestinationType.CUSTOM_DESTINATION,
id=CUSTOM_DESTINATION_SPLUNK_DATA_ID,
),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = LogsCustomDestinationsApi(api_client)
response = api_instance.update_logs_custom_destination(
custom_destination_id=CUSTOM_DESTINATION_SPLUNK_DATA_ID, body=body
)

print(response)
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
"""
Update a Splunk custom destination with a null sourcetype returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.logs_custom_destinations_api import LogsCustomDestinationsApi
from datadog_api_client.v2.model.custom_destination_forward_destination_splunk import (
CustomDestinationForwardDestinationSplunk,
)
from datadog_api_client.v2.model.custom_destination_forward_destination_splunk_type import (
CustomDestinationForwardDestinationSplunkType,
)
from datadog_api_client.v2.model.custom_destination_type import CustomDestinationType
from datadog_api_client.v2.model.custom_destination_update_request import CustomDestinationUpdateRequest
from datadog_api_client.v2.model.custom_destination_update_request_attributes import (
CustomDestinationUpdateRequestAttributes,
)
from datadog_api_client.v2.model.custom_destination_update_request_definition import (
CustomDestinationUpdateRequestDefinition,
)

# there is a valid "custom_destination_splunk_with_sourcetype" in the system
CUSTOM_DESTINATION_SPLUNK_WITH_SOURCETYPE_DATA_ID = environ["CUSTOM_DESTINATION_SPLUNK_WITH_SOURCETYPE_DATA_ID"]

body = CustomDestinationUpdateRequest(
data=CustomDestinationUpdateRequestDefinition(
attributes=CustomDestinationUpdateRequestAttributes(
forwarder_destination=CustomDestinationForwardDestinationSplunk(
type=CustomDestinationForwardDestinationSplunkType.SPLUNK_HEC,
endpoint="https://example.com",
access_token="my-access-token",
sourcetype=None,
),
),
type=CustomDestinationType.CUSTOM_DESTINATION,
id=CUSTOM_DESTINATION_SPLUNK_WITH_SOURCETYPE_DATA_ID,
),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = LogsCustomDestinationsApi(api_client)
response = api_instance.update_logs_custom_destination(
custom_destination_id=CUSTOM_DESTINATION_SPLUNK_WITH_SOURCETYPE_DATA_ID, body=body
)

print(response)
Loading
Loading