UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

139 lines (138 loc) 4.28 kB
import { Construct } from 'constructs'; import { ILogGroup } from './log-group'; import { Resource } from '../../core'; /** * Properties for a QueryString */ export interface QueryStringProps { /** * Retrieves the specified fields from log events for display. * * @default - no fields in QueryString */ readonly fields?: string[]; /** * A single statement for parsing data from a log field and creating ephemeral fields that can * be processed further in the query. * * @deprecated Use `parseStatements` instead * @default - no parse in QueryString */ readonly parse?: string; /** * An array of one or more statements for parsing data from a log field and creating ephemeral * fields that can be processed further in the query. Each provided statement generates a separate * parse line in the query string. * * Note: If provided, this property overrides any value provided for the `parse` property. * * @default - no parse in QueryString */ readonly parseStatements?: string[]; /** * A single statement for filtering the results of a query based on a boolean expression. * * @deprecated Use `filterStatements` instead * @default - no filter in QueryString */ readonly filter?: string; /** * An array of one or more statements for filtering the results of a query based on a boolean * expression. Each provided statement generates a separate filter line in the query string. * * Note: If provided, this property overrides any value provided for the `filter` property. * * @default - no filter in QueryString */ readonly filterStatements?: string[]; /** * Uses log field values to calculate aggregate statistics. * * @default - no stats in QueryString */ readonly stats?: string; /** * Sorts the retrieved log events. * * @default - no sort in QueryString */ readonly sort?: string; /** * Specifies the number of log events returned by the query. * * @default - no limit in QueryString */ readonly limit?: Number; /** * Specifies which fields to display in the query results. * * @default - no display in QueryString */ readonly display?: string; } /** * Define a QueryString */ export declare class QueryString { private readonly fields?; private readonly parse; private readonly filter; private readonly stats?; private readonly sort?; private readonly limit?; private readonly display?; constructor(props?: QueryStringProps); /** * String representation of this QueryString. */ toString(): string; /** * Build an array of query lines given a command and statement(s). * * @param command a query command * @param statements one or more query statements for the specified command, or undefined * @returns an array of the query string lines generated from the provided command and statements */ private buildQueryLines; /** * Build a single query line given a command and statement. * * @param command a query command * @param statement a single query statement * @returns a single query string line generated from the provided command and statement */ private buildQueryLine; } /** * Properties for a QueryDefinition */ export interface QueryDefinitionProps { /** * Name of the query definition. */ readonly queryDefinitionName: string; /** * The query string to use for this query definition. */ readonly queryString: QueryString; /** * Specify certain log groups for the query definition. * * @default - no specified log groups */ readonly logGroups?: ILogGroup[]; } /** * Define a query definition for CloudWatch Logs Insights */ export declare class QueryDefinition extends Resource { /** Uniquely identifies this class. */ static readonly PROPERTY_INJECTION_ID: string; /** * The ID of the query definition. * * @attribute */ readonly queryDefinitionId: string; constructor(scope: Construct, id: string, props: QueryDefinitionProps); }