import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Provides a Datadog Logs Custom Destination API resource, which is used to create and manage Datadog log forwarding. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as datadog from "@pulumi/datadog"; * * const sampleDestination = new datadog.LogsCustomDestination("sample_destination", { * name: "sample destination", * query: "service:my-service", * enabled: true, * httpDestination: { * endpoint: "https://example.org", * basicAuth: { * username: "my-username", * password: "my-password", * }, * }, * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * Custom destinations can be imported using the destination ID. Caution: auth credentials can not be imported. * * ```sh * $ pulumi import datadog:index/logsCustomDestination:LogsCustomDestination sample_destination "destination-id" * ``` */ export declare class LogsCustomDestination extends pulumi.CustomResource { /** * Get an existing LogsCustomDestination resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: LogsCustomDestinationState, opts?: pulumi.CustomResourceOptions): LogsCustomDestination; /** * Returns true if the given object is an instance of LogsCustomDestination. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is LogsCustomDestination; /** * The Elasticsearch destination. */ readonly elasticsearchDestination: pulumi.Output; /** * Whether logs matching this custom destination should be forwarded or not. */ readonly enabled: pulumi.Output; /** * Whether tags from the forwarded logs should be forwarded or not. */ readonly forwardTags: pulumi.Output; /** * How the `forwardTagsRestrictionList` parameter should be interpreted. * If `ALLOW_LIST`, then only tags whose keys on the forwarded logs match the ones on the restriction list * are forwarded. * `BLOCK_LIST` works the opposite way. It does not forward the tags matching the ones on the list. Valid values are `ALLOW_LIST`, `BLOCK_LIST`. */ readonly forwardTagsRestrictionListType: pulumi.Output; /** * List of [tag keys](https://docs.datadoghq.com/getting_started/tagging/#define-tags) to be filtered. * An empty list represents no restriction is in place and either all or no tags will be * forwarded depending on `forwardTagsRestrictionListType` parameter. */ readonly forwardTagsRestrictionLists: pulumi.Output; /** * The HTTP destination. */ readonly httpDestination: pulumi.Output; /** * The Microsoft Sentinel destination. */ readonly microsoftSentinelDestination: pulumi.Output; /** * The custom destination name. */ readonly name: pulumi.Output; /** * The custom destination query filter. Logs matching this query are forwarded to the destination. */ readonly query: pulumi.Output; /** * The Splunk HTTP Event Collector (HEC) destination. */ readonly splunkDestination: pulumi.Output; /** * Create a LogsCustomDestination resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: LogsCustomDestinationArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering LogsCustomDestination resources. */ export interface LogsCustomDestinationState { /** * The Elasticsearch destination. */ elasticsearchDestination?: pulumi.Input; /** * Whether logs matching this custom destination should be forwarded or not. */ enabled?: pulumi.Input; /** * Whether tags from the forwarded logs should be forwarded or not. */ forwardTags?: pulumi.Input; /** * How the `forwardTagsRestrictionList` parameter should be interpreted. * If `ALLOW_LIST`, then only tags whose keys on the forwarded logs match the ones on the restriction list * are forwarded. * `BLOCK_LIST` works the opposite way. It does not forward the tags matching the ones on the list. Valid values are `ALLOW_LIST`, `BLOCK_LIST`. */ forwardTagsRestrictionListType?: pulumi.Input; /** * List of [tag keys](https://docs.datadoghq.com/getting_started/tagging/#define-tags) to be filtered. * An empty list represents no restriction is in place and either all or no tags will be * forwarded depending on `forwardTagsRestrictionListType` parameter. */ forwardTagsRestrictionLists?: pulumi.Input[]>; /** * The HTTP destination. */ httpDestination?: pulumi.Input; /** * The Microsoft Sentinel destination. */ microsoftSentinelDestination?: pulumi.Input; /** * The custom destination name. */ name?: pulumi.Input; /** * The custom destination query filter. Logs matching this query are forwarded to the destination. */ query?: pulumi.Input; /** * The Splunk HTTP Event Collector (HEC) destination. */ splunkDestination?: pulumi.Input; } /** * The set of arguments for constructing a LogsCustomDestination resource. */ export interface LogsCustomDestinationArgs { /** * The Elasticsearch destination. */ elasticsearchDestination?: pulumi.Input; /** * Whether logs matching this custom destination should be forwarded or not. */ enabled?: pulumi.Input; /** * Whether tags from the forwarded logs should be forwarded or not. */ forwardTags?: pulumi.Input; /** * How the `forwardTagsRestrictionList` parameter should be interpreted. * If `ALLOW_LIST`, then only tags whose keys on the forwarded logs match the ones on the restriction list * are forwarded. * `BLOCK_LIST` works the opposite way. It does not forward the tags matching the ones on the list. Valid values are `ALLOW_LIST`, `BLOCK_LIST`. */ forwardTagsRestrictionListType?: pulumi.Input; /** * List of [tag keys](https://docs.datadoghq.com/getting_started/tagging/#define-tags) to be filtered. * An empty list represents no restriction is in place and either all or no tags will be * forwarded depending on `forwardTagsRestrictionListType` parameter. */ forwardTagsRestrictionLists?: pulumi.Input[]>; /** * The HTTP destination. */ httpDestination?: pulumi.Input; /** * The Microsoft Sentinel destination. */ microsoftSentinelDestination?: pulumi.Input; /** * The custom destination name. */ name: pulumi.Input; /** * The custom destination query filter. Logs matching this query are forwarded to the destination. */ query?: pulumi.Input; /** * The Splunk HTTP Event Collector (HEC) destination. */ splunkDestination?: pulumi.Input; }