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 {};