# QueryDefinitionProps

Properties for a QueryDefinition.

Extends: QueryDefinitionProps
Used as props by: QueryDefinition

- Source: [`aws-logs/lib/query-definition.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-logs/lib/query-definition.ts#L204)
- Type last changed: v2.235.0 · 15 Jan 2026

## Example

```ts
new logs.QueryDefinition(this, 'QueryDefinition', {
  queryDefinitionName: 'MyQuery',
  queryString: new logs.QueryString({
    fields: ['@timestamp', '@message'],
    parseStatements: [
      '@message "[*] *" as loggingType, loggingMessage',
      '@message "<*>: *" as differentLoggingType, differentLoggingMessage',
    ],
    filterStatements: [
      'loggingType = "ERROR"',
      'loggingMessage = "A very strange error occurred!"',
    ],
    statsStatements: [
      'count(loggingMessage) as loggingErrors',
      'count(differentLoggingMessage) as differentLoggingErrors',
    ],
    sort: '@timestamp desc',
    limit: 20,
  }),
});
```

## Properties

- `logGroups`: [ILogGroupRef](/cdk/api/v2/docs/aws-cdk-lib.interfaces.aws_logs.ILogGroupRef.html)[] — Specify certain log groups for the query definition.

  **Default:** no specified log groups

- `queryDefinitionName`: string (required) — Name of the query definition.

- `queryString`: [QueryString](/cdk/api/v2/docs/aws-cdk-lib.aws_logs.QueryString.html) (required) — The query string to use for this query definition.
