UNPKG

35.9 kBTypeScriptView Raw
1import * as cdk from '@aws-cdk/core';
2import * as cfn_parse from '@aws-cdk/core/lib/helpers-internal';
3/**
4 * Properties for defining a `CfnDestination`
5 *
6 * @struct
7 * @stability external
8 *
9 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html
10 */
11export interface CfnDestinationProps {
12 /**
13 * The name of the destination.
14 *
15 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html#cfn-logs-destination-destinationname
16 */
17 readonly destinationName: string;
18 /**
19 * An IAM policy document that governs which AWS accounts can create subscription filters against this destination.
20 *
21 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html#cfn-logs-destination-destinationpolicy
22 */
23 readonly destinationPolicy: string;
24 /**
25 * The ARN of an IAM role that permits CloudWatch Logs to send data to the specified AWS resource.
26 *
27 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html#cfn-logs-destination-rolearn
28 */
29 readonly roleArn: string;
30 /**
31 * The Amazon Resource Name (ARN) of the physical target where the log events are delivered (for example, a Kinesis stream).
32 *
33 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html#cfn-logs-destination-targetarn
34 */
35 readonly targetArn: string;
36}
37/**
38 * A CloudFormation `AWS::Logs::Destination`
39 *
40 * The AWS::Logs::Destination resource specifies a CloudWatch Logs destination. A destination encapsulates a physical resource (such as an Amazon Kinesis data stream) and enables you to subscribe that resource to a stream of log events.
41 *
42 * @cloudformationResource AWS::Logs::Destination
43 * @stability external
44 *
45 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html
46 */
47export declare class CfnDestination extends cdk.CfnResource implements cdk.IInspectable {
48 /**
49 * The CloudFormation resource type name for this resource class.
50 */
51 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Logs::Destination";
52 /**
53 * A factory method that creates a new instance of this class from an object
54 * containing the CloudFormation properties of this resource.
55 * Used in the @aws-cdk/cloudformation-include module.
56 *
57 * @internal
58 */
59 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDestination;
60 /**
61 * The ARN of the CloudWatch Logs destination, such as `arn:aws:logs:us-west-1:123456789012:destination:MyDestination` .
62 * @cloudformationAttribute Arn
63 */
64 readonly attrArn: string;
65 /**
66 * The name of the destination.
67 *
68 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html#cfn-logs-destination-destinationname
69 */
70 destinationName: string;
71 /**
72 * An IAM policy document that governs which AWS accounts can create subscription filters against this destination.
73 *
74 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html#cfn-logs-destination-destinationpolicy
75 */
76 destinationPolicy: string;
77 /**
78 * The ARN of an IAM role that permits CloudWatch Logs to send data to the specified AWS resource.
79 *
80 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html#cfn-logs-destination-rolearn
81 */
82 roleArn: string;
83 /**
84 * The Amazon Resource Name (ARN) of the physical target where the log events are delivered (for example, a Kinesis stream).
85 *
86 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html#cfn-logs-destination-targetarn
87 */
88 targetArn: string;
89 /**
90 * Create a new `AWS::Logs::Destination`.
91 *
92 * @param scope - scope in which this resource is defined
93 * @param id - scoped id of the resource
94 * @param props - resource properties
95 */
96 constructor(scope: cdk.Construct, id: string, props: CfnDestinationProps);
97 /**
98 * Examines the CloudFormation resource and discloses attributes.
99 *
100 * @param inspector - tree inspector to collect and process attributes
101 *
102 */
103 inspect(inspector: cdk.TreeInspector): void;
104 protected get cfnProperties(): {
105 [key: string]: any;
106 };
107 protected renderProperties(props: {
108 [key: string]: any;
109 }): {
110 [key: string]: any;
111 };
112}
113/**
114 * Properties for defining a `CfnLogGroup`
115 *
116 * @struct
117 * @stability external
118 *
119 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html
120 */
121export interface CfnLogGroupProps {
122 /**
123 * The Amazon Resource Name (ARN) of the AWS KMS key to use when encrypting log data.
124 *
125 * To associate an AWS KMS key with the log group, specify the ARN of that KMS key here. If you do so, ingested data is encrypted using this key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs . This enables CloudWatch Logs to decrypt this data whenever it is requested.
126 *
127 * If you attempt to associate a KMS key with the log group but the KMS key doesn't exist or is deactivated, you will receive an `InvalidParameterException` error.
128 *
129 * Log group data is always encrypted in CloudWatch Logs . If you omit this key, the encryption does not use AWS KMS . For more information, see [Encrypt log data in CloudWatch Logs using AWS Key Management Service](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html)
130 *
131 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-kmskeyid
132 */
133 readonly kmsKeyId?: string;
134 /**
135 * The name of the log group. If you don't specify a name, AWS CloudFormation generates a unique ID for the log group.
136 *
137 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-loggroupname
138 */
139 readonly logGroupName?: string;
140 /**
141 * The number of days to retain the log events in the specified log group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 2192, 2557, 2922, 3288, and 3653.
142 *
143 * To set a log group to never have log events expire, use [DeleteRetentionPolicy](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteRetentionPolicy.html) .
144 *
145 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-retentionindays
146 */
147 readonly retentionInDays?: number;
148 /**
149 * An array of key-value pairs to apply to the log group.
150 *
151 * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
152 *
153 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-tags
154 */
155 readonly tags?: cdk.CfnTag[];
156}
157/**
158 * A CloudFormation `AWS::Logs::LogGroup`
159 *
160 * The `AWS::Logs::LogGroup` resource specifies a log group. A log group defines common properties for log streams, such as their retention and access control rules. Each log stream must belong to one log group.
161 *
162 * You can create up to 1,000,000 log groups per Region per account. You must use the following guidelines when naming a log group:
163 *
164 * - Log group names must be unique within a Region for an AWS account.
165 * - Log group names can be between 1 and 512 characters long.
166 * - Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).
167 *
168 * @cloudformationResource AWS::Logs::LogGroup
169 * @stability external
170 *
171 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html
172 */
173export declare class CfnLogGroup extends cdk.CfnResource implements cdk.IInspectable {
174 /**
175 * The CloudFormation resource type name for this resource class.
176 */
177 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Logs::LogGroup";
178 /**
179 * A factory method that creates a new instance of this class from an object
180 * containing the CloudFormation properties of this resource.
181 * Used in the @aws-cdk/cloudformation-include module.
182 *
183 * @internal
184 */
185 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnLogGroup;
186 /**
187 * The ARN of the log group, such as `arn:aws:logs:us-west-1:123456789012:log-group:/mystack-testgroup-12ABC1AB12A1:*`
188 * @cloudformationAttribute Arn
189 */
190 readonly attrArn: string;
191 /**
192 * The Amazon Resource Name (ARN) of the AWS KMS key to use when encrypting log data.
193 *
194 * To associate an AWS KMS key with the log group, specify the ARN of that KMS key here. If you do so, ingested data is encrypted using this key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs . This enables CloudWatch Logs to decrypt this data whenever it is requested.
195 *
196 * If you attempt to associate a KMS key with the log group but the KMS key doesn't exist or is deactivated, you will receive an `InvalidParameterException` error.
197 *
198 * Log group data is always encrypted in CloudWatch Logs . If you omit this key, the encryption does not use AWS KMS . For more information, see [Encrypt log data in CloudWatch Logs using AWS Key Management Service](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html)
199 *
200 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-kmskeyid
201 */
202 kmsKeyId: string | undefined;
203 /**
204 * The name of the log group. If you don't specify a name, AWS CloudFormation generates a unique ID for the log group.
205 *
206 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-loggroupname
207 */
208 logGroupName: string | undefined;
209 /**
210 * The number of days to retain the log events in the specified log group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 2192, 2557, 2922, 3288, and 3653.
211 *
212 * To set a log group to never have log events expire, use [DeleteRetentionPolicy](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteRetentionPolicy.html) .
213 *
214 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-retentionindays
215 */
216 retentionInDays: number | undefined;
217 /**
218 * An array of key-value pairs to apply to the log group.
219 *
220 * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
221 *
222 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-tags
223 */
224 readonly tags: cdk.TagManager;
225 /**
226 * Create a new `AWS::Logs::LogGroup`.
227 *
228 * @param scope - scope in which this resource is defined
229 * @param id - scoped id of the resource
230 * @param props - resource properties
231 */
232 constructor(scope: cdk.Construct, id: string, props?: CfnLogGroupProps);
233 /**
234 * Examines the CloudFormation resource and discloses attributes.
235 *
236 * @param inspector - tree inspector to collect and process attributes
237 *
238 */
239 inspect(inspector: cdk.TreeInspector): void;
240 protected get cfnProperties(): {
241 [key: string]: any;
242 };
243 protected renderProperties(props: {
244 [key: string]: any;
245 }): {
246 [key: string]: any;
247 };
248}
249/**
250 * Properties for defining a `CfnLogStream`
251 *
252 * @struct
253 * @stability external
254 *
255 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html
256 */
257export interface CfnLogStreamProps {
258 /**
259 * The name of the log group where the log stream is created.
260 *
261 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html#cfn-logs-logstream-loggroupname
262 */
263 readonly logGroupName: string;
264 /**
265 * The name of the log stream. The name must be unique within the log group.
266 *
267 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html#cfn-logs-logstream-logstreamname
268 */
269 readonly logStreamName?: string;
270}
271/**
272 * A CloudFormation `AWS::Logs::LogStream`
273 *
274 * The `AWS::Logs::LogStream` resource specifies an Amazon CloudWatch Logs log stream in a specific log group. A log stream represents the sequence of events coming from an application instance or resource that you are monitoring.
275 *
276 * There is no limit on the number of log streams that you can create for a log group.
277 *
278 * You must use the following guidelines when naming a log stream:
279 *
280 * - Log stream names must be unique within the log group.
281 * - Log stream names can be between 1 and 512 characters long.
282 * - The ':' (colon) and '*' (asterisk) characters are not allowed.
283 *
284 * @cloudformationResource AWS::Logs::LogStream
285 * @stability external
286 *
287 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html
288 */
289export declare class CfnLogStream extends cdk.CfnResource implements cdk.IInspectable {
290 /**
291 * The CloudFormation resource type name for this resource class.
292 */
293 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Logs::LogStream";
294 /**
295 * A factory method that creates a new instance of this class from an object
296 * containing the CloudFormation properties of this resource.
297 * Used in the @aws-cdk/cloudformation-include module.
298 *
299 * @internal
300 */
301 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnLogStream;
302 /**
303 * The name of the log group where the log stream is created.
304 *
305 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html#cfn-logs-logstream-loggroupname
306 */
307 logGroupName: string;
308 /**
309 * The name of the log stream. The name must be unique within the log group.
310 *
311 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html#cfn-logs-logstream-logstreamname
312 */
313 logStreamName: string | undefined;
314 /**
315 * Create a new `AWS::Logs::LogStream`.
316 *
317 * @param scope - scope in which this resource is defined
318 * @param id - scoped id of the resource
319 * @param props - resource properties
320 */
321 constructor(scope: cdk.Construct, id: string, props: CfnLogStreamProps);
322 /**
323 * Examines the CloudFormation resource and discloses attributes.
324 *
325 * @param inspector - tree inspector to collect and process attributes
326 *
327 */
328 inspect(inspector: cdk.TreeInspector): void;
329 protected get cfnProperties(): {
330 [key: string]: any;
331 };
332 protected renderProperties(props: {
333 [key: string]: any;
334 }): {
335 [key: string]: any;
336 };
337}
338/**
339 * Properties for defining a `CfnMetricFilter`
340 *
341 * @struct
342 * @stability external
343 *
344 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html
345 */
346export interface CfnMetricFilterProps {
347 /**
348 * A filter pattern for extracting metric data out of ingested log events. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html) .
349 *
350 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html#cfn-cwl-metricfilter-filterpattern
351 */
352 readonly filterPattern: string;
353 /**
354 * The name of an existing log group that you want to associate with this metric filter.
355 *
356 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html#cfn-cwl-metricfilter-loggroupname
357 */
358 readonly logGroupName: string;
359 /**
360 * The metric transformations.
361 *
362 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html#cfn-cwl-metricfilter-metrictransformations
363 */
364 readonly metricTransformations: Array<CfnMetricFilter.MetricTransformationProperty | cdk.IResolvable> | cdk.IResolvable;
365}
366/**
367 * A CloudFormation `AWS::Logs::MetricFilter`
368 *
369 * The `AWS::Logs::MetricFilter` resource specifies a metric filter that describes how CloudWatch Logs extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.
370 *
371 * The maximum number of metric filters that can be associated with a log group is 100.
372 *
373 * @cloudformationResource AWS::Logs::MetricFilter
374 * @stability external
375 *
376 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html
377 */
378export declare class CfnMetricFilter extends cdk.CfnResource implements cdk.IInspectable {
379 /**
380 * The CloudFormation resource type name for this resource class.
381 */
382 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Logs::MetricFilter";
383 /**
384 * A factory method that creates a new instance of this class from an object
385 * containing the CloudFormation properties of this resource.
386 * Used in the @aws-cdk/cloudformation-include module.
387 *
388 * @internal
389 */
390 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnMetricFilter;
391 /**
392 * A filter pattern for extracting metric data out of ingested log events. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html) .
393 *
394 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html#cfn-cwl-metricfilter-filterpattern
395 */
396 filterPattern: string;
397 /**
398 * The name of an existing log group that you want to associate with this metric filter.
399 *
400 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html#cfn-cwl-metricfilter-loggroupname
401 */
402 logGroupName: string;
403 /**
404 * The metric transformations.
405 *
406 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html#cfn-cwl-metricfilter-metrictransformations
407 */
408 metricTransformations: Array<CfnMetricFilter.MetricTransformationProperty | cdk.IResolvable> | cdk.IResolvable;
409 /**
410 * Create a new `AWS::Logs::MetricFilter`.
411 *
412 * @param scope - scope in which this resource is defined
413 * @param id - scoped id of the resource
414 * @param props - resource properties
415 */
416 constructor(scope: cdk.Construct, id: string, props: CfnMetricFilterProps);
417 /**
418 * Examines the CloudFormation resource and discloses attributes.
419 *
420 * @param inspector - tree inspector to collect and process attributes
421 *
422 */
423 inspect(inspector: cdk.TreeInspector): void;
424 protected get cfnProperties(): {
425 [key: string]: any;
426 };
427 protected renderProperties(props: {
428 [key: string]: any;
429 }): {
430 [key: string]: any;
431 };
432}
433export declare namespace CfnMetricFilter {
434 /**
435 * `MetricTransformation` is a property of the `AWS::Logs::MetricFilter` resource that describes how to transform log streams into a CloudWatch metric.
436 *
437 * @struct
438 * @stability external
439 *
440 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html
441 */
442 interface MetricTransformationProperty {
443 /**
444 * (Optional) The value to emit when a filter pattern does not match a log event. This value can be null.
445 *
446 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html#cfn-cwl-metricfilter-metrictransformation-defaultvalue
447 */
448 readonly defaultValue?: number;
449 /**
450 * The name of the CloudWatch metric.
451 *
452 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html#cfn-cwl-metricfilter-metrictransformation-metricname
453 */
454 readonly metricName: string;
455 /**
456 * A custom namespace to contain your metric in CloudWatch. Use namespaces to group together metrics that are similar. For more information, see [Namespaces](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Namespace) .
457 *
458 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html#cfn-cwl-metricfilter-metrictransformation-metricnamespace
459 */
460 readonly metricNamespace: string;
461 /**
462 * The value that is published to the CloudWatch metric. For example, if you're counting the occurrences of a particular term like `Error` , specify 1 for the metric value. If you're counting the number of bytes transferred, reference the value that is in the log event by using $ followed by the name of the field that you specified in the filter pattern, such as `$.size` .
463 *
464 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html#cfn-cwl-metricfilter-metrictransformation-metricvalue
465 */
466 readonly metricValue: string;
467 }
468}
469/**
470 * Properties for defining a `CfnQueryDefinition`
471 *
472 * @struct
473 * @stability external
474 *
475 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html
476 */
477export interface CfnQueryDefinitionProps {
478 /**
479 * A name for the query definition.
480 *
481 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html#cfn-logs-querydefinition-name
482 */
483 readonly name: string;
484 /**
485 * The query string to use for this query definition. For more information, see [CloudWatch Logs Insights Query Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) .
486 *
487 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html#cfn-logs-querydefinition-querystring
488 */
489 readonly queryString: string;
490 /**
491 * Use this parameter if you want the query to query only certain log groups.
492 *
493 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html#cfn-logs-querydefinition-loggroupnames
494 */
495 readonly logGroupNames?: string[];
496}
497/**
498 * A CloudFormation `AWS::Logs::QueryDefinition`
499 *
500 * Creates a query definition for CloudWatch Logs Insights. For more information, see [Analyzing Log Data with CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) .
501 *
502 * @cloudformationResource AWS::Logs::QueryDefinition
503 * @stability external
504 *
505 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html
506 */
507export declare class CfnQueryDefinition extends cdk.CfnResource implements cdk.IInspectable {
508 /**
509 * The CloudFormation resource type name for this resource class.
510 */
511 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Logs::QueryDefinition";
512 /**
513 * A factory method that creates a new instance of this class from an object
514 * containing the CloudFormation properties of this resource.
515 * Used in the @aws-cdk/cloudformation-include module.
516 *
517 * @internal
518 */
519 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnQueryDefinition;
520 /**
521 * The ID of the query definition.
522 * @cloudformationAttribute QueryDefinitionId
523 */
524 readonly attrQueryDefinitionId: string;
525 /**
526 * A name for the query definition.
527 *
528 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html#cfn-logs-querydefinition-name
529 */
530 name: string;
531 /**
532 * The query string to use for this query definition. For more information, see [CloudWatch Logs Insights Query Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) .
533 *
534 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html#cfn-logs-querydefinition-querystring
535 */
536 queryString: string;
537 /**
538 * Use this parameter if you want the query to query only certain log groups.
539 *
540 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html#cfn-logs-querydefinition-loggroupnames
541 */
542 logGroupNames: string[] | undefined;
543 /**
544 * Create a new `AWS::Logs::QueryDefinition`.
545 *
546 * @param scope - scope in which this resource is defined
547 * @param id - scoped id of the resource
548 * @param props - resource properties
549 */
550 constructor(scope: cdk.Construct, id: string, props: CfnQueryDefinitionProps);
551 /**
552 * Examines the CloudFormation resource and discloses attributes.
553 *
554 * @param inspector - tree inspector to collect and process attributes
555 *
556 */
557 inspect(inspector: cdk.TreeInspector): void;
558 protected get cfnProperties(): {
559 [key: string]: any;
560 };
561 protected renderProperties(props: {
562 [key: string]: any;
563 }): {
564 [key: string]: any;
565 };
566}
567/**
568 * Properties for defining a `CfnResourcePolicy`
569 *
570 * @struct
571 * @stability external
572 *
573 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html
574 */
575export interface CfnResourcePolicyProps {
576 /**
577 * The details of the policy. It must be formatted in JSON, and you must use backslashes to escape characters that need to be escaped in JSON strings, such as double quote marks.
578 *
579 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html#cfn-logs-resourcepolicy-policydocument
580 */
581 readonly policyDocument: string;
582 /**
583 * The name of the resource policy.
584 *
585 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html#cfn-logs-resourcepolicy-policyname
586 */
587 readonly policyName: string;
588}
589/**
590 * A CloudFormation `AWS::Logs::ResourcePolicy`
591 *
592 * Creates or updates a resource policy that allows other AWS services to put log events to this account. An account can have up to 10 resource policies per AWS Region.
593 *
594 * @cloudformationResource AWS::Logs::ResourcePolicy
595 * @stability external
596 *
597 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html
598 */
599export declare class CfnResourcePolicy extends cdk.CfnResource implements cdk.IInspectable {
600 /**
601 * The CloudFormation resource type name for this resource class.
602 */
603 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Logs::ResourcePolicy";
604 /**
605 * A factory method that creates a new instance of this class from an object
606 * containing the CloudFormation properties of this resource.
607 * Used in the @aws-cdk/cloudformation-include module.
608 *
609 * @internal
610 */
611 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnResourcePolicy;
612 /**
613 * The details of the policy. It must be formatted in JSON, and you must use backslashes to escape characters that need to be escaped in JSON strings, such as double quote marks.
614 *
615 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html#cfn-logs-resourcepolicy-policydocument
616 */
617 policyDocument: string;
618 /**
619 * The name of the resource policy.
620 *
621 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html#cfn-logs-resourcepolicy-policyname
622 */
623 policyName: string;
624 /**
625 * Create a new `AWS::Logs::ResourcePolicy`.
626 *
627 * @param scope - scope in which this resource is defined
628 * @param id - scoped id of the resource
629 * @param props - resource properties
630 */
631 constructor(scope: cdk.Construct, id: string, props: CfnResourcePolicyProps);
632 /**
633 * Examines the CloudFormation resource and discloses attributes.
634 *
635 * @param inspector - tree inspector to collect and process attributes
636 *
637 */
638 inspect(inspector: cdk.TreeInspector): void;
639 protected get cfnProperties(): {
640 [key: string]: any;
641 };
642 protected renderProperties(props: {
643 [key: string]: any;
644 }): {
645 [key: string]: any;
646 };
647}
648/**
649 * Properties for defining a `CfnSubscriptionFilter`
650 *
651 * @struct
652 * @stability external
653 *
654 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html
655 */
656export interface CfnSubscriptionFilterProps {
657 /**
658 * The Amazon Resource Name (ARN) of the destination.
659 *
660 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-destinationarn
661 */
662 readonly destinationArn: string;
663 /**
664 * The filtering expressions that restrict what gets delivered to the destination AWS resource. For more information about the filter pattern syntax, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html) .
665 *
666 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-filterpattern
667 */
668 readonly filterPattern: string;
669 /**
670 * The log group to associate with the subscription filter. All log events that are uploaded to this log group are filtered and delivered to the specified AWS resource if the filter pattern matches the log events.
671 *
672 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-loggroupname
673 */
674 readonly logGroupName: string;
675 /**
676 * The ARN of an IAM role that grants CloudWatch Logs permissions to deliver ingested log events to the destination stream. You don't need to provide the ARN when you are working with a logical destination for cross-account delivery.
677 *
678 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-rolearn
679 */
680 readonly roleArn?: string;
681}
682/**
683 * A CloudFormation `AWS::Logs::SubscriptionFilter`
684 *
685 * The `AWS::Logs::SubscriptionFilter` resource specifies a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events and have them delivered to a specific destination. Currently, the supported destinations are:
686 *
687 * - An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.
688 * - A logical destination that belongs to a different account, for cross-account delivery.
689 * - An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.
690 * - An AWS Lambda function that belongs to the same account as the subscription filter, for same-account delivery.
691 *
692 * There can as many as two subscription filters associated with a log group.
693 *
694 * @cloudformationResource AWS::Logs::SubscriptionFilter
695 * @stability external
696 *
697 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html
698 */
699export declare class CfnSubscriptionFilter extends cdk.CfnResource implements cdk.IInspectable {
700 /**
701 * The CloudFormation resource type name for this resource class.
702 */
703 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Logs::SubscriptionFilter";
704 /**
705 * A factory method that creates a new instance of this class from an object
706 * containing the CloudFormation properties of this resource.
707 * Used in the @aws-cdk/cloudformation-include module.
708 *
709 * @internal
710 */
711 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnSubscriptionFilter;
712 /**
713 * The Amazon Resource Name (ARN) of the destination.
714 *
715 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-destinationarn
716 */
717 destinationArn: string;
718 /**
719 * The filtering expressions that restrict what gets delivered to the destination AWS resource. For more information about the filter pattern syntax, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html) .
720 *
721 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-filterpattern
722 */
723 filterPattern: string;
724 /**
725 * The log group to associate with the subscription filter. All log events that are uploaded to this log group are filtered and delivered to the specified AWS resource if the filter pattern matches the log events.
726 *
727 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-loggroupname
728 */
729 logGroupName: string;
730 /**
731 * The ARN of an IAM role that grants CloudWatch Logs permissions to deliver ingested log events to the destination stream. You don't need to provide the ARN when you are working with a logical destination for cross-account delivery.
732 *
733 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-rolearn
734 */
735 roleArn: string | undefined;
736 /**
737 * Create a new `AWS::Logs::SubscriptionFilter`.
738 *
739 * @param scope - scope in which this resource is defined
740 * @param id - scoped id of the resource
741 * @param props - resource properties
742 */
743 constructor(scope: cdk.Construct, id: string, props: CfnSubscriptionFilterProps);
744 /**
745 * Examines the CloudFormation resource and discloses attributes.
746 *
747 * @param inspector - tree inspector to collect and process attributes
748 *
749 */
750 inspect(inspector: cdk.TreeInspector): void;
751 protected get cfnProperties(): {
752 [key: string]: any;
753 };
754 protected renderProperties(props: {
755 [key: string]: any;
756 }): {
757 [key: string]: any;
758 };
759}