import * as ros from '@alicloud/ros-cdk-core'; import { RosLogtailConfig } from './sls.generated'; export { RosLogtailConfig as LogtailConfigProperty }; /** * Properties for defining a `LogtailConfig`. * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-sls-logtailconfig */ export interface LogtailConfigProps { /** * Property logstoreName: Logstore name: * 1. Only supports lowercase letters, numbers, hyphens (-) and underscores (_). * 2. Must start and end with lowercase letters and numbers. * 3. The name length is 3-63 characters. */ readonly logstoreName: string | ros.IResolvable; /** * Property logtailConfigName: Logtail config name: * 1. Only supports lowercase letters, numbers, hyphens (-) and underscores (_). * 2. Must start and end with lowercase letters and numbers. * 3. The name length is 3-63 characters. */ readonly logtailConfigName: string | ros.IResolvable; /** * Property projectName: Project name: * 1. Only supports lowercase letters, numbers, hyphens (-) and underscores (_). * 2. Must start and end with lowercase letters and numbers. * 3. The name length is 3-63 characters. */ readonly projectName: string | ros.IResolvable; /** * Property cloneFrom: Clone logtail config data from existing logtail config. * Either CloneFrom or RawConfigData must be specified. If CloneFrom and RawConfigData are both specified, logtail config data will be merged from both with RawConfigData first. */ readonly cloneFrom?: RosLogtailConfig.CloneFromProperty | ros.IResolvable; /** * Property rawConfigData: The format is the same as the response of SLS API GetConfig. * Either CloneFrom or RawConfigData must be specified. If CloneFrom and RawConfigData are both specified, logtail config data will be merged from both with RawConfigData first. * configName, outputType, outputDetail in data will be ignored.For example: * { * "configName": "test-logtail-config", * "createTime": 1574843554, * "inputDetail": { * "acceptNoEnoughKeys": false, * "adjustTimezone": false, * "advanced": { * "force_multiconfig": false * }, * "autoExtend": true, * "delayAlarmBytes": 0, * "delaySkipBytes": 0, * "discardNonUtf8": false, * "discardUnmatch": false, * "dockerExcludeEnv": {}, * "dockerExcludeLabel": {}, * "dockerFile": false, * "dockerIncludeEnv": {}, * "dockerIncludeLabel": {}, * "enableRawLog": false, * "enableTag": false, * "fileEncoding": "utf8", * "filePattern": "test.log*", * "filterKey": [], * "filterRegex": [], * "key": [ * "time", * "logger", * "level", * "request_id", * "user_id", * "region_id", * "content" * ], * "localStorage": true, * "logPath": "\/var\/log\/test", * "logTimezone": "", * "logType": "delimiter_log", * "maxDepth": 100, * "maxSendRate": -1, * "mergeType": "topic", * "preserve": true, * "preserveDepth": 1, * "priority": 0, * "quote": "", * "sendRateExpire": 0, * "sensitive_keys": [], * "separator": ",,,", * "shardHashKey": [], * "tailExisted": false, * "timeFormat": "", * "timeKey": "", * "topicFormat": "none" * }, * "inputType": "file", * "lastModifyTime": 1574843554, * "logSample": "2019-11-27 10:48:23,160,,,MAIN,,,INFO,,,98DCC51D-BE5D-49C7-B3FD-37B2BAEFB296,,,123456789,,,cn-hangzhou,,,this is a simple test.", * "outputDetail": { * "endpoint": "cn-hangzhou-intranet.log.aliyuncs.com", * "logstoreName": "test-logstore", * "region": "cn-hangzhou" * }, * "outputType": "LogService" * } */ readonly rawConfigData?: { [key: string]: (any | ros.IResolvable); } | ros.IResolvable; } /** * Represents a `LogtailConfig`. */ export interface ILogtailConfig extends ros.IResource { readonly props: LogtailConfigProps; /** * Attribute AppliedMachineGroups: Applied machine groups. */ readonly attrAppliedMachineGroups: ros.IResolvable | string; /** * Attribute Endpoint: Endpoint address. */ readonly attrEndpoint: ros.IResolvable | string; /** * Attribute LogtailConfigName: Logtail config name. */ readonly attrLogtailConfigName: ros.IResolvable | string; } /** * This class encapsulates and extends the ROS resource type `ALIYUN::SLS::LogtailConfig`, which is used to configure Logtail properties for data collection. * @Note This class may have some new functions to facilitate development, so it is recommended to use this class instead of `RosLogtailConfig`for a more convenient development experience. * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-sls-logtailconfig */ export declare class LogtailConfig extends ros.Resource implements ILogtailConfig { protected scope: ros.Construct; protected id: string; readonly props: LogtailConfigProps; protected enableResourcePropertyConstraint: boolean; /** * Attribute AppliedMachineGroups: Applied machine groups. */ readonly attrAppliedMachineGroups: ros.IResolvable | string; /** * Attribute Endpoint: Endpoint address. */ readonly attrEndpoint: ros.IResolvable | string; /** * Attribute LogtailConfigName: Logtail config name. */ readonly attrLogtailConfigName: ros.IResolvable | string; /** * Param scope - scope in which this resource is defined * Param id - scoped id of the resource * Param props - resource properties */ constructor(scope: ros.Construct, id: string, props: LogtailConfigProps, enableResourcePropertyConstraint?: boolean); }