stream.d.ts
  1  import * as cloudwatch from '@aws-cdk/aws-cloudwatch';
  2  import * as iam from '@aws-cdk/aws-iam';
  3  import * as kms from '@aws-cdk/aws-kms';
  4  import { Duration, IResource, Resource } from '@aws-cdk/core';
  5  import { Construct } from 'constructs';
  6  /**
  7   * A Kinesis Stream.
  8   *
  9   * @stability stable
 10   */
 11  export interface IStream extends IResource {
 12      /**
 13       * The ARN of the stream.
 14       *
 15       * @stability stable
 16       * @attribute true
 17       */
 18      readonly streamArn: string;
 19      /**
 20       * The name of the stream.
 21       *
 22       * @stability stable
 23       * @attribute true
 24       */
 25      readonly streamName: string;
 26      /**
 27       * Optional KMS encryption key associated with this stream.
 28       *
 29       * @stability stable
 30       */
 31      readonly encryptionKey?: kms.IKey;
 32      /**
 33       * Grant read permissions for this stream and its contents to an IAM principal (Role/Group/User).
 34       *
 35       * If an encryption key is used, permission to ues the key to decrypt the
 36       * contents of the stream will also be granted.
 37       *
 38       * @stability stable
 39       */
 40      grantRead(grantee: iam.IGrantable): iam.Grant;
 41      /**
 42       * Grant write permissions for this stream and its contents to an IAM principal (Role/Group/User).
 43       *
 44       * If an encryption key is used, permission to ues the key to encrypt the
 45       * contents of the stream will also be granted.
 46       *
 47       * @stability stable
 48       */
 49      grantWrite(grantee: iam.IGrantable): iam.Grant;
 50      /**
 51       * Grants read/write permissions for this stream and its contents to an IAM principal (Role/Group/User).
 52       *
 53       * If an encryption key is used, permission to use the key for
 54       * encrypt/decrypt will also be granted.
 55       *
 56       * @stability stable
 57       */
 58      grantReadWrite(grantee: iam.IGrantable): iam.Grant;
 59      /**
 60       * Grant the indicated permissions on this stream to the provided IAM principal.
 61       *
 62       * @stability stable
 63       */
 64      grant(grantee: iam.IGrantable, ...actions: string[]): iam.Grant;
 65      /**
 66       * Return stream metric based from its metric name.
 67       *
 68       * @param metricName name of the stream metric.
 69       * @param props properties of the metric.
 70       * @stability stable
 71       */
 72      metric(metricName: string, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
 73      /**
 74       * The number of bytes retrieved from the Kinesis stream, measured over the specified time period.
 75       *
 76       * Minimum, Maximum,
 77       * and Average statistics represent the bytes in a single GetRecords operation for the stream in the specified time
 78       * period.
 79       *
 80       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
 81       *
 82       * @param props properties of the metric.
 83       * @stability stable
 84       */
 85      metricGetRecordsBytes(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
 86      /**
 87       * The age of the last record in all GetRecords calls made against a Kinesis stream, measured over the specified time period.
 88       *
 89       * Age is the difference between the current time and when the last record of the GetRecords call was written
 90       * to the stream. The Minimum and Maximum statistics can be used to track the progress of Kinesis consumer
 91       * applications. A value of zero indicates that the records being read are completely caught up with the stream.
 92       *
 93       * The metric defaults to maximum over 5 minutes, it can be changed by passing `statistic` and `period` properties.
 94       *
 95       * @param props properties of the metric.
 96       * @stability stable
 97       */
 98      metricGetRecordsIteratorAgeMilliseconds(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
 99      /**
100       * The time taken per GetRecords operation, measured over the specified time period.
101       *
102       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
103       *
104       * @param props properties of the metric.
105       * @stability stable
106       */
107      metricGetRecordsLatency(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
108      /**
109       * The number of records retrieved from the shard, measured over the specified time period.
110       *
111       * Minimum, Maximum, and
112       * Average statistics represent the records in a single GetRecords operation for the stream in the specified time
113       * period.
114       *
115       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
116       *
117       * @param props properties of the metric.
118       * @stability stable
119       */
120      metricGetRecords(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
121      /**
122       * The number of successful GetRecords operations per stream, measured over the specified time period.
123       *
124       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
125       *
126       * @param props properties of the metric.
127       * @stability stable
128       */
129      metricGetRecordsSuccess(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
130      /**
131       * The number of bytes successfully put to the Kinesis stream over the specified time period.
132       *
133       * This metric includes
134       * bytes from PutRecord and PutRecords operations. Minimum, Maximum, and Average statistics represent the bytes in a
135       * single put operation for the stream in the specified time period.
136       *
137       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
138       *
139       * @param props properties of the metric.
140       * @stability stable
141       */
142      metricIncomingBytes(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
143      /**
144       * The number of records successfully put to the Kinesis stream over the specified time period.
145       *
146       * This metric includes
147       * record counts from PutRecord and PutRecords operations. Minimum, Maximum, and Average statistics represent the
148       * records in a single put operation for the stream in the specified time period.
149       *
150       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
151       *
152       * @param props properties of the metric.
153       * @stability stable
154       */
155      metricIncomingRecords(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
156      /**
157       * The number of bytes put to the Kinesis stream using the PutRecord operation over the specified time period.
158       *
159       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
160       *
161       * @param props properties of the metric.
162       * @stability stable
163       */
164      metricPutRecordBytes(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
165      /**
166       * The time taken per PutRecord operation, measured over the specified time period.
167       *
168       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
169       *
170       * @param props properties of the metric.
171       * @stability stable
172       */
173      metricPutRecordLatency(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
174      /**
175       * The number of successful PutRecord operations per Kinesis stream, measured over the specified time period.
176       *
177       * Average
178       * reflects the percentage of successful writes to a stream.
179       *
180       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
181       *
182       * @param props properties of the metric.
183       * @stability stable
184       */
185      metricPutRecordSuccess(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
186      /**
187       * The number of bytes put to the Kinesis stream using the PutRecords operation over the specified time period.
188       *
189       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
190       *
191       * @param props properties of the metric.
192       * @stability stable
193       */
194      metricPutRecordsBytes(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
195      /**
196       * The time taken per PutRecords operation, measured over the specified time period.
197       *
198       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
199       *
200       * @param props properties of the metric.
201       * @stability stable
202       */
203      metricPutRecordsLatency(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
204      /**
205       * The number of PutRecords operations where at least one record succeeded, per Kinesis stream, measured over the specified time period.
206       *
207       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
208       *
209       * @param props properties of the metric.
210       * @stability stable
211       */
212      metricPutRecordsSuccess(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
213      /**
214       * The total number of records sent in a PutRecords operation per Kinesis data stream, measured over the specified time period.
215       *
216       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
217       *
218       * @param props properties of the metric.
219       * @stability stable
220       */
221      metricPutRecordsTotalRecords(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
222      /**
223       * The number of successful records in a PutRecords operation per Kinesis data stream, measured over the specified time period.
224       *
225       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
226       *
227       * @param props properties of the metric.
228       * @stability stable
229       */
230      metricPutRecordsSuccessfulRecords(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
231      /**
232       * The number of records rejected due to internal failures in a PutRecords operation per Kinesis data stream, measured over the specified time period.
233       *
234       * Occasional internal failures are to be expected and should be retried.
235       *
236       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
237       *
238       * @param props properties of the metric.
239       * @stability stable
240       */
241      metricPutRecordsFailedRecords(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
242      /**
243       * The number of records rejected due to throttling in a PutRecords operation per Kinesis data stream, measured over the specified time period.
244       *
245       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
246       *
247       * @param props properties of the metric.
248       * @stability stable
249       */
250      metricPutRecordsThrottledRecords(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
251      /**
252       * The number of GetRecords calls throttled for the stream over the specified time period.
253       *
254       * The most commonly used
255       * statistic for this metric is Average.
256       *
257       * When the Minimum statistic has a value of 1, all records were throttled for the stream during the specified time
258       * period.
259       *
260       * When the Maximum statistic has a value of 0 (zero), no records were throttled for the stream during the specified
261       * time period.
262       *
263       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties
264       *
265       * @param props properties of the metric.
266       * @stability stable
267       */
268      metricReadProvisionedThroughputExceeded(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
269      /**
270       * The number of records rejected due to throttling for the stream over the specified time period.
271       *
272       * This metric
273       * includes throttling from PutRecord and PutRecords operations.
274       *
275       * When the Minimum statistic has a non-zero value, records were being throttled for the stream during the specified
276       * time period.
277       *
278       * When the Maximum statistic has a value of 0 (zero), no records were being throttled for the stream during the
279       * specified time period.
280       *
281       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
282       *
283       * @param props properties of the metric.
284       * @stability stable
285       */
286      metricWriteProvisionedThroughputExceeded(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
287  }
288  /**
289   * A reference to a stream.
290   *
291   * The easiest way to instantiate is to call
292   * `stream.export()`. Then, the consumer can use `Stream.import(this, ref)` and
293   * get a `Stream`.
294   *
295   * @stability stable
296   */
297  export interface StreamAttributes {
298      /**
299       * The ARN of the stream.
300       *
301       * @stability stable
302       */
303      readonly streamArn: string;
304      /**
305       * The KMS key securing the contents of the stream if encryption is enabled.
306       *
307       * @default - No encryption
308       * @stability stable
309       */
310      readonly encryptionKey?: kms.IKey;
311  }
312  /**
313   * Represents a Kinesis Stream.
314   */
315  declare abstract class StreamBase extends Resource implements IStream {
316      /**
317       * The ARN of the stream.
318       */
319      abstract readonly streamArn: string;
320      /**
321       * The name of the stream
322       */
323      abstract readonly streamName: string;
324      /**
325       * Optional KMS encryption key associated with this stream.
326       */
327      abstract readonly encryptionKey?: kms.IKey;
328      /**
329       * Grant read permissions for this stream and its contents to an IAM principal (Role/Group/User).
330       *
331       * If an encryption key is used, permission to ues the key to decrypt the
332       * contents of the stream will also be granted.
333       *
334       * @stability stable
335       */
336      grantRead(grantee: iam.IGrantable): iam.Grant;
337      /**
338       * Grant write permissions for this stream and its contents to an IAM principal (Role/Group/User).
339       *
340       * If an encryption key is used, permission to ues the key to encrypt the
341       * contents of the stream will also be granted.
342       *
343       * @stability stable
344       */
345      grantWrite(grantee: iam.IGrantable): iam.Grant;
346      /**
347       * Grants read/write permissions for this stream and its contents to an IAM principal (Role/Group/User).
348       *
349       * If an encryption key is used, permission to use the key for
350       * encrypt/decrypt will also be granted.
351       *
352       * @stability stable
353       */
354      grantReadWrite(grantee: iam.IGrantable): iam.Grant;
355      /**
356       * Grant the indicated permissions on this stream to the given IAM principal (Role/Group/User).
357       *
358       * @stability stable
359       */
360      grant(grantee: iam.IGrantable, ...actions: string[]): iam.Grant;
361      /**
362       * Return stream metric based from its metric name.
363       *
364       * @param metricName name of the stream metric.
365       * @param props properties of the metric.
366       * @stability stable
367       */
368      metric(metricName: string, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
369      /**
370       * The number of bytes retrieved from the Kinesis stream, measured over the specified time period.
371       *
372       * Minimum, Maximum,
373       * and Average statistics represent the bytes in a single GetRecords operation for the stream in the specified time
374       * period.
375       *
376       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
377       *
378       * @param props properties of the metric.
379       * @stability stable
380       */
381      metricGetRecordsBytes(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
382      /**
383       * The age of the last record in all GetRecords calls made against a Kinesis stream, measured over the specified time period.
384       *
385       * Age is the difference between the current time and when the last record of the GetRecords call was written
386       * to the stream. The Minimum and Maximum statistics can be used to track the progress of Kinesis consumer
387       * applications. A value of zero indicates that the records being read are completely caught up with the stream.
388       *
389       * The metric defaults to maximum over 5 minutes, it can be changed by passing `statistic` and `period` properties.
390       *
391       * @param props properties of the metric.
392       * @stability stable
393       */
394      metricGetRecordsIteratorAgeMilliseconds(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
395      /**
396       * The number of successful GetRecords operations per stream, measured over the specified time period.
397       *
398       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
399       *
400       * @param props properties of the metric.
401       * @stability stable
402       */
403      metricGetRecordsSuccess(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
404      /**
405       * The number of records retrieved from the shard, measured over the specified time period.
406       *
407       * Minimum, Maximum, and
408       * Average statistics represent the records in a single GetRecords operation for the stream in the specified time
409       * period.
410       *
411       * average
412       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
413       *
414       * @param props properties of the metric.
415       * @stability stable
416       */
417      metricGetRecords(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
418      /**
419       * The number of successful GetRecords operations per stream, measured over the specified time period.
420       *
421       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
422       *
423       * @param props properties of the metric.
424       * @stability stable
425       */
426      metricGetRecordsLatency(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
427      /**
428       * The number of bytes put to the Kinesis stream using the PutRecord operation over the specified time period.
429       *
430       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
431       *
432       * @param props properties of the metric.
433       * @stability stable
434       */
435      metricPutRecordBytes(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
436      /**
437       * The time taken per PutRecord operation, measured over the specified time period.
438       *
439       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
440       *
441       * @param props properties of the metric.
442       * @stability stable
443       */
444      metricPutRecordLatency(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
445      /**
446       * The number of successful PutRecord operations per Kinesis stream, measured over the specified time period.
447       *
448       * Average
449       * reflects the percentage of successful writes to a stream.
450       *
451       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
452       *
453       * @param props properties of the metric.
454       * @stability stable
455       */
456      metricPutRecordSuccess(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
457      /**
458       * The number of bytes put to the Kinesis stream using the PutRecords operation over the specified time period.
459       *
460       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
461       *
462       * @param props properties of the metric.
463       * @stability stable
464       */
465      metricPutRecordsBytes(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
466      /**
467       * The time taken per PutRecords operation, measured over the specified time period.
468       *
469       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
470       *
471       * @param props properties of the metric.
472       * @stability stable
473       */
474      metricPutRecordsLatency(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
475      /**
476       * The number of PutRecords operations where at least one record succeeded, per Kinesis stream, measured over the specified time period.
477       *
478       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
479       *
480       * @param props properties of the metric.
481       * @stability stable
482       */
483      metricPutRecordsSuccess(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
484      /**
485       * The total number of records sent in a PutRecords operation per Kinesis data stream, measured over the specified time period.
486       *
487       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
488       *
489       * @param props properties of the metric.
490       * @stability stable
491       */
492      metricPutRecordsTotalRecords(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
493      /**
494       * The number of successful records in a PutRecords operation per Kinesis data stream, measured over the specified time period.
495       *
496       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
497       *
498       * @param props properties of the metric.
499       * @stability stable
500       */
501      metricPutRecordsSuccessfulRecords(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
502      /**
503       * The number of records rejected due to internal failures in a PutRecords operation per Kinesis data stream, measured over the specified time period.
504       *
505       * Occasional internal failures are to be expected and should be retried.
506       *
507       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
508       *
509       * @param props properties of the metric.
510       * @stability stable
511       */
512      metricPutRecordsFailedRecords(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
513      /**
514       * The number of records rejected due to throttling in a PutRecords operation per Kinesis data stream, measured over the specified time period.
515       *
516       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
517       *
518       * @param props properties of the metric.
519       * @stability stable
520       */
521      metricPutRecordsThrottledRecords(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
522      /**
523       * The number of bytes successfully put to the Kinesis stream over the specified time period.
524       *
525       * This metric includes
526       * bytes from PutRecord and PutRecords operations. Minimum, Maximum, and Average statistics represent the bytes in a
527       * single put operation for the stream in the specified time period.
528       *
529       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
530       *
531       * @param props properties of the metric.
532       * @stability stable
533       */
534      metricIncomingBytes(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
535      /**
536       * The number of records successfully put to the Kinesis stream over the specified time period.
537       *
538       * This metric includes
539       * record counts from PutRecord and PutRecords operations. Minimum, Maximum, and Average statistics represent the
540       * records in a single put operation for the stream in the specified time period.
541       *
542       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
543       *
544       * @param props properties of the metric.
545       * @stability stable
546       */
547      metricIncomingRecords(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
548      /**
549       * The number of GetRecords calls throttled for the stream over the specified time period.
550       *
551       * The most commonly used
552       * statistic for this metric is Average.
553       *
554       * When the Minimum statistic has a value of 1, all records were throttled for the stream during the specified time
555       * period.
556       *
557       * When the Maximum statistic has a value of 0 (zero), no records were throttled for the stream during the specified
558       * time period.
559       *
560       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties
561       *
562       * @param props properties of the metric.
563       * @stability stable
564       */
565      metricReadProvisionedThroughputExceeded(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
566      /**
567       * The number of records rejected due to throttling for the stream over the specified time period.
568       *
569       * This metric
570       * includes throttling from PutRecord and PutRecords operations.
571       *
572       * When the Minimum statistic has a non-zero value, records were being throttled for the stream during the specified
573       * time period.
574       *
575       * When the Maximum statistic has a value of 0 (zero), no records were being throttled for the stream during the
576       * specified time period.
577       *
578       * The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties.
579       *
580       * @param props properties of the metric.
581       * @stability stable
582       */
583      metricWriteProvisionedThroughputExceeded(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
584      private metricFromCannedFunction;
585  }
586  /**
587   * Properties for a Kinesis Stream.
588   *
589   * @stability stable
590   */
591  export interface StreamProps {
592      /**
593       * Enforces a particular physical stream name.
594       *
595       * @default <generated>
596       * @stability stable
597       */
598      readonly streamName?: string;
599      /**
600       * The number of hours for the data records that are stored in shards to remain accessible.
601       *
602       * @default Duration.hours(24)
603       * @stability stable
604       */
605      readonly retentionPeriod?: Duration;
606      /**
607       * The number of shards for the stream.
608       *
609       * @default 1
610       * @stability stable
611       */
612      readonly shardCount?: number;
613      /**
614       * The kind of server-side encryption to apply to this stream.
615       *
616       * If you choose KMS, you can specify a KMS key via `encryptionKey`. If
617       * encryption key is not specified, a key will automatically be created.
618       *
619       * @default - StreamEncryption.KMS if encrypted Streams are supported in the region
620       * or StreamEncryption.UNENCRYPTED otherwise.
621       * StreamEncryption.KMS if an encryption key is supplied through the encryptionKey property
622       * @stability stable
623       */
624      readonly encryption?: StreamEncryption;
625      /**
626       * External KMS key to use for stream encryption.
627       *
628       * The 'encryption' property must be set to "Kms".
629       *
630       * @default - Kinesis Data Streams master key ('/alias/aws/kinesis').
631       * If encryption is set to StreamEncryption.KMS and this property is undefined, a new KMS key
632       * will be created and associated with this stream.
633       * @stability stable
634       */
635      readonly encryptionKey?: kms.IKey;
636  }
637  /**
638   * A Kinesis stream.
639   *
640   * Can be encrypted with a KMS key.
641   *
642   * @stability stable
643   */
644  export declare class Stream extends StreamBase {
645      /**
646       * Import an existing Kinesis Stream provided an ARN.
647       *
648       * @param scope The parent creating construct (usually `this`).
649       * @param id The construct's name.
650       * @param streamArn Stream ARN (i.e. arn:aws:kinesis:<region>:<account-id>:stream/Foo).
651       * @stability stable
652       */
653      static fromStreamArn(scope: Construct, id: string, streamArn: string): IStream;
654      /**
655       * Creates a Stream construct that represents an external stream.
656       *
657       * @param scope The parent creating construct (usually `this`).
658       * @param id The construct's name.
659       * @param attrs Stream import properties.
660       * @stability stable
661       */
662      static fromStreamAttributes(scope: Construct, id: string, attrs: StreamAttributes): IStream;
663      /**
664       * The ARN of the stream.
665       *
666       * @stability stable
667       */
668      readonly streamArn: string;
669      /**
670       * The name of the stream.
671       *
672       * @stability stable
673       */
674      readonly streamName: string;
675      /**
676       * Optional KMS encryption key associated with this stream.
677       *
678       * @stability stable
679       */
680      readonly encryptionKey?: kms.IKey;
681      private readonly stream;
682      /**
683       * @stability stable
684       */
685      constructor(scope: Construct, id: string, props?: StreamProps);
686      /**
687       * Set up key properties and return the Stream encryption property from the
688       * user's configuration.
689       */
690      private parseEncryption;
691  }
692  /**
693   * What kind of server-side encryption to apply to this stream.
694   *
695   * @stability stable
696   */
697  export declare enum StreamEncryption {
698      /**
699       * Records in the stream are not encrypted.
700       *
701       * @stability stable
702       */
703      UNENCRYPTED = "NONE",
704      /**
705       * Server-side encryption with a KMS key managed by the user.
706       *
707       * If `encryptionKey` is specified, this key will be used, otherwise, one will be defined.
708       *
709       * @stability stable
710       */
711      KMS = "KMS",
712      /**
713       * Server-side encryption with a master key managed by Amazon Kinesis.
714       *
715       * @stability stable
716       */
717      MANAGED = "MANAGED"
718  }
719  export {};