114 lines
3.3 KiB
TypeScript
114 lines
3.3 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { BaseLogDriverProps } from './base-log-driver';
|
|
import type { LogDriverConfig } from './log-driver';
|
|
import { LogDriver } from './log-driver';
|
|
import type { SecretValue } from '../../../core';
|
|
import type { ContainerDefinition, Secret } from '../container-definition';
|
|
/**
|
|
* Log Message Format
|
|
*/
|
|
export declare enum SplunkLogFormat {
|
|
INLINE = "inline",
|
|
JSON = "json",
|
|
RAW = "raw"
|
|
}
|
|
/**
|
|
* Specifies the splunk log driver configuration options.
|
|
*
|
|
* [Source](https://docs.docker.com/config/containers/logging/splunk/)
|
|
*/
|
|
export interface SplunkLogDriverProps extends BaseLogDriverProps {
|
|
/**
|
|
* Splunk HTTP Event Collector token (Secret).
|
|
*
|
|
* The splunk-token is added to the SecretOptions property of the Log Driver Configuration. So the secret value will not be
|
|
* resolved or viewable as plain text.
|
|
*/
|
|
readonly secretToken: Secret;
|
|
/**
|
|
* Path to your Splunk Enterprise, self-service Splunk Cloud instance, or Splunk
|
|
* Cloud managed cluster (including port and scheme used by HTTP Event Collector)
|
|
* in one of the following formats: https://your_splunk_instance:8088 or
|
|
* https://input-prd-p-XXXXXXX.cloud.splunk.com:8088 or https://http-inputs-XXXXXXXX.splunkcloud.com.
|
|
*/
|
|
readonly url: string;
|
|
/**
|
|
* Event source.
|
|
*
|
|
* @default - source not set.
|
|
*/
|
|
readonly source?: string;
|
|
/**
|
|
* Event source type.
|
|
*
|
|
* @default - sourceType not set.
|
|
*/
|
|
readonly sourceType?: string;
|
|
/**
|
|
* Event index.
|
|
*
|
|
* @default - index not set.
|
|
*/
|
|
readonly index?: string;
|
|
/**
|
|
* Path to root certificate.
|
|
*
|
|
* @default - caPath not set.
|
|
*/
|
|
readonly caPath?: string;
|
|
/**
|
|
* Name to use for validating server certificate.
|
|
*
|
|
* @default - The hostname of the splunk-url
|
|
*/
|
|
readonly caName?: string;
|
|
/**
|
|
* Ignore server certificate validation.
|
|
*
|
|
* @default - insecureSkipVerify not set.
|
|
*/
|
|
readonly insecureSkipVerify?: string;
|
|
/**
|
|
* Message format. Can be inline, json or raw.
|
|
*
|
|
* @default - inline
|
|
*/
|
|
readonly format?: SplunkLogFormat;
|
|
/**
|
|
* Verify on start, that docker can connect to Splunk server.
|
|
*
|
|
* @default - true
|
|
*/
|
|
readonly verifyConnection?: boolean;
|
|
/**
|
|
* Enable/disable gzip compression to send events to Splunk Enterprise or Splunk
|
|
* Cloud instance.
|
|
*
|
|
* @default - false
|
|
*/
|
|
readonly gzip?: boolean;
|
|
/**
|
|
* Set compression level for gzip. Valid values are -1 (default), 0 (no compression),
|
|
* 1 (best speed) ... 9 (best compression).
|
|
*
|
|
* @default - -1 (Default Compression)
|
|
*/
|
|
readonly gzipLevel?: number;
|
|
}
|
|
/**
|
|
* A log driver that sends log information to splunk Logs.
|
|
*/
|
|
export declare class SplunkLogDriver extends LogDriver {
|
|
private readonly props;
|
|
/**
|
|
* Constructs a new instance of the SplunkLogDriver class.
|
|
*
|
|
* @param props the splunk log driver configuration options.
|
|
*/
|
|
constructor(props: SplunkLogDriverProps);
|
|
/**
|
|
* Called when the log driver is configured on a container
|
|
*/
|
|
bind(_scope: Construct, _containerDefinition: ContainerDefinition): LogDriverConfig;
|
|
}
|