Documentation ¶
Index ¶
- func CfnStreamConsumer_CFN_RESOURCE_TYPE_NAME() *string
- func CfnStreamConsumer_IsCfnElement(x interface{}) *bool
- func CfnStreamConsumer_IsCfnResource(x interface{}) *bool
- func CfnStreamConsumer_IsConstruct(x interface{}) *bool
- func CfnStream_CFN_RESOURCE_TYPE_NAME() *string
- func CfnStream_IsCfnElement(x interface{}) *bool
- func CfnStream_IsCfnResource(x interface{}) *bool
- func CfnStream_IsConstruct(x interface{}) *bool
- func NewCfnStreamConsumer_Override(c CfnStreamConsumer, scope constructs.Construct, id *string, ...)
- func NewCfnStream_Override(c CfnStream, scope constructs.Construct, id *string, props *CfnStreamProps)
- func NewStream_Override(s Stream, scope constructs.Construct, id *string, props *StreamProps)
- func Stream_IsConstruct(x interface{}) *bool
- func Stream_IsOwnedResource(construct constructs.IConstruct) *bool
- func Stream_IsResource(construct constructs.IConstruct) *bool
- type CfnStream
- type CfnStreamConsumer
- type CfnStreamConsumerProps
- type CfnStreamProps
- type CfnStream_StreamEncryptionProperty
- type CfnStream_StreamModeDetailsProperty
- type IStream
- type Stream
- type StreamAttributes
- type StreamEncryption
- type StreamMode
- type StreamProps
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnStreamConsumer_CFN_RESOURCE_TYPE_NAME ¶
func CfnStreamConsumer_CFN_RESOURCE_TYPE_NAME() *string
func CfnStreamConsumer_IsCfnElement ¶
func CfnStreamConsumer_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnStreamConsumer_IsCfnResource ¶
func CfnStreamConsumer_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnStreamConsumer_IsConstruct ¶
func CfnStreamConsumer_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnStream_CFN_RESOURCE_TYPE_NAME ¶
func CfnStream_CFN_RESOURCE_TYPE_NAME() *string
func CfnStream_IsCfnElement ¶
func CfnStream_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnStream_IsCfnResource ¶
func CfnStream_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnStream_IsConstruct ¶
func CfnStream_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func NewCfnStreamConsumer_Override ¶
func NewCfnStreamConsumer_Override(c CfnStreamConsumer, scope constructs.Construct, id *string, props *CfnStreamConsumerProps)
func NewCfnStream_Override ¶
func NewCfnStream_Override(c CfnStream, scope constructs.Construct, id *string, props *CfnStreamProps)
func NewStream_Override ¶
func NewStream_Override(s Stream, scope constructs.Construct, id *string, props *StreamProps)
func Stream_IsConstruct ¶
func Stream_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func Stream_IsOwnedResource ¶ added in v2.32.0
func Stream_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func Stream_IsResource ¶
func Stream_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
Types ¶
type CfnStream ¶
type CfnStream interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The Amazon resource name (ARN) of the Kinesis stream, such as `arn:aws:kinesis:us-east-2:123456789012:stream/mystream` . AttrArn() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The name of the Kinesis stream. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The number of hours for the data records that are stored in shards to remain accessible. RetentionPeriodHours() *float64 SetRetentionPeriodHours(val *float64) // The number of shards that the stream uses. ShardCount() *float64 SetShardCount(val *float64) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // When specified, enables or updates server-side encryption using an AWS KMS key for a specified stream. StreamEncryption() interface{} SetStreamEncryption(val interface{}) // Specifies the capacity mode to which you want to set your data stream. StreamModeDetails() interface{} SetStreamModeDetails(val interface{}) // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // An arbitrary set of tags (key–value pairs) to associate with the Kinesis stream. TagsRaw() *[]*awscdk.CfnTag SetTagsRaw(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
Creates a Kinesis stream that captures and transports data records that are emitted from data sources.
For information about creating streams, see [CreateStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_CreateStream.html) in the Amazon Kinesis API Reference.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnStream := awscdk.Aws_kinesis.NewCfnStream(this, jsii.String("MyCfnStream"), &CfnStreamProps{ Name: jsii.String("name"), RetentionPeriodHours: jsii.Number(123), ShardCount: jsii.Number(123), StreamEncryption: &StreamEncryptionProperty{ EncryptionType: jsii.String("encryptionType"), KeyId: jsii.String("keyId"), }, StreamModeDetails: &StreamModeDetailsProperty{ StreamMode: jsii.String("streamMode"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html
func NewCfnStream ¶
func NewCfnStream(scope constructs.Construct, id *string, props *CfnStreamProps) CfnStream
type CfnStreamConsumer ¶
type CfnStreamConsumer interface { awscdk.CfnResource awscdk.IInspectable // When you register a consumer, Kinesis Data Streams generates an ARN for it. // // You need this ARN to be able to call [SubscribeToShard](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_SubscribeToShard.html) . // // If you delete a consumer and then create a new one with the same name, it won't have the same ARN. That's because consumer ARNs contain the creation timestamp. This is important to keep in mind if you have IAM policies that reference consumer ARNs. AttrConsumerArn() *string // The time at which the consumer was created. AttrConsumerCreationTimestamp() *string // The name you gave the consumer when you registered it. AttrConsumerName() *string // A consumer can't read data while in the `CREATING` or `DELETING` states. AttrConsumerStatus() *string AttrId() *string // The ARN of the data stream with which the consumer is registered. AttrStreamArn() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The name of the consumer is something you choose when you register the consumer. ConsumerName() *string SetConsumerName(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ARN of the stream with which you registered the consumer. StreamArn() *string SetStreamArn(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
Use the AWS CloudFormation `AWS::Kinesis::StreamConsumer` resource to register a consumer with a Kinesis data stream.
The consumer you register can then call [SubscribeToShard](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_SubscribeToShard.html) to receive data from the stream using enhanced fan-out, at a rate of up to 2 MiB per second for every shard you subscribe to. This rate is unaffected by the total number of consumers that read from the same stream.
You can register up to five consumers per stream. However, you can request a limit increase using the [Kinesis Data Streams limits form](https://docs.aws.amazon.com/support/v1?#/) . A given consumer can only be registered with one stream at a time.
For more information, see [Using Consumers with Enhanced Fan-Out](https://docs.aws.amazon.com/streams/latest/dev/introduction-to-enhanced-consumers.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnStreamConsumer := awscdk.Aws_kinesis.NewCfnStreamConsumer(this, jsii.String("MyCfnStreamConsumer"), &CfnStreamConsumerProps{ ConsumerName: jsii.String("consumerName"), StreamArn: jsii.String("streamArn"), })
func NewCfnStreamConsumer ¶
func NewCfnStreamConsumer(scope constructs.Construct, id *string, props *CfnStreamConsumerProps) CfnStreamConsumer
type CfnStreamConsumerProps ¶
type CfnStreamConsumerProps struct { // The name of the consumer is something you choose when you register the consumer. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html#cfn-kinesis-streamconsumer-consumername // ConsumerName *string `field:"required" json:"consumerName" yaml:"consumerName"` // The ARN of the stream with which you registered the consumer. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html#cfn-kinesis-streamconsumer-streamarn // StreamArn *string `field:"required" json:"streamArn" yaml:"streamArn"` }
Properties for defining a `CfnStreamConsumer`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnStreamConsumerProps := &CfnStreamConsumerProps{ ConsumerName: jsii.String("consumerName"), StreamArn: jsii.String("streamArn"), }
type CfnStreamProps ¶
type CfnStreamProps struct { // The name of the Kinesis stream. // // If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the stream name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) . // // If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-name // Name *string `field:"optional" json:"name" yaml:"name"` // The number of hours for the data records that are stored in shards to remain accessible. // // The default value is 24. For more information about the stream retention period, see [Changing the Data Retention Period](https://docs.aws.amazon.com/streams/latest/dev/kinesis-extended-retention.html) in the Amazon Kinesis Developer Guide. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-retentionperiodhours // RetentionPeriodHours *float64 `field:"optional" json:"retentionPeriodHours" yaml:"retentionPeriodHours"` // The number of shards that the stream uses. // // For greater provisioned throughput, increase the number of shards. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-shardcount // ShardCount *float64 `field:"optional" json:"shardCount" yaml:"shardCount"` // When specified, enables or updates server-side encryption using an AWS KMS key for a specified stream. // // Removing this property from your stack template and updating your stack disables encryption. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-streamencryption // StreamEncryption interface{} `field:"optional" json:"streamEncryption" yaml:"streamEncryption"` // Specifies the capacity mode to which you want to set your data stream. // // Currently, in Kinesis Data Streams, you can choose between an *on-demand* capacity mode and a *provisioned* capacity mode for your data streams. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-streammodedetails // StreamModeDetails interface{} `field:"optional" json:"streamModeDetails" yaml:"streamModeDetails"` // An arbitrary set of tags (key–value pairs) to associate with the Kinesis stream. // // For information about constraints for this property, see [Tag Restrictions](https://docs.aws.amazon.com/streams/latest/dev/tagging.html#tagging-restrictions) in the *Amazon Kinesis Developer Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnStream`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnStreamProps := &CfnStreamProps{ Name: jsii.String("name"), RetentionPeriodHours: jsii.Number(123), ShardCount: jsii.Number(123), StreamEncryption: &StreamEncryptionProperty{ EncryptionType: jsii.String("encryptionType"), KeyId: jsii.String("keyId"), }, StreamModeDetails: &StreamModeDetailsProperty{ StreamMode: jsii.String("streamMode"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html
type CfnStream_StreamEncryptionProperty ¶
type CfnStream_StreamEncryptionProperty struct { // The encryption type to use. // // The only valid value is `KMS` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesis-stream-streamencryption.html#cfn-kinesis-stream-streamencryption-encryptiontype // EncryptionType *string `field:"required" json:"encryptionType" yaml:"encryptionType"` // The GUID for the customer-managed AWS KMS key to use for encryption. // // This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by "alias/".You can also use a master key owned by Kinesis Data Streams by specifying the alias `aws/kinesis` . // // - Key ARN example: `arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012` // - Alias ARN example: `arn:aws:kms:us-east-1:123456789012:alias/MyAliasName` // - Globally unique key ID example: `12345678-1234-1234-1234-123456789012` // - Alias name example: `alias/MyAliasName` // - Master key owned by Kinesis Data Streams: `alias/aws/kinesis`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesis-stream-streamencryption.html#cfn-kinesis-stream-streamencryption-keyid // KeyId *string `field:"required" json:"keyId" yaml:"keyId"` }
Enables or updates server-side encryption using an AWS KMS key for a specified stream.
> When invoking this API, you must use either the `StreamARN` or the `StreamName` parameter, or both. It is recommended that you use the `StreamARN` input parameter when you invoke this API.
Starting encryption is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to `UPDATING` . After the update is complete, Kinesis Data Streams sets the status of the stream back to `ACTIVE` . Updating or applying encryption normally takes a few seconds to complete, but it can take minutes. You can continue to read and write data to your stream while its status is `UPDATING` . Once the status of the stream is `ACTIVE` , encryption begins for records written to the stream.
API Limits: You can successfully apply a new AWS KMS key for server-side encryption 25 times in a rolling 24-hour period.
Note: It can take up to 5 seconds after the stream is in an `ACTIVE` status before all records written to the stream are encrypted. After you enable encryption, you can verify that encryption is applied by inspecting the API response from `PutRecord` or `PutRecords` .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" streamEncryptionProperty := &StreamEncryptionProperty{ EncryptionType: jsii.String("encryptionType"), KeyId: jsii.String("keyId"), }
type CfnStream_StreamModeDetailsProperty ¶ added in v2.2.0
type CfnStream_StreamModeDetailsProperty struct { // Specifies the capacity mode to which you want to set your data stream. // // Currently, in Kinesis Data Streams, you can choose between an *on-demand* capacity mode and a *provisioned* capacity mode for your data streams. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesis-stream-streammodedetails.html#cfn-kinesis-stream-streammodedetails-streammode // StreamMode *string `field:"required" json:"streamMode" yaml:"streamMode"` }
Specifies the capacity mode to which you want to set your data stream.
Currently, in Kinesis Data Streams, you can choose between an *on-demand* capacity mode and a *provisioned* capacity mode for your data streams.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" streamModeDetailsProperty := &StreamModeDetailsProperty{ StreamMode: jsii.String("streamMode"), }
type IStream ¶
type IStream interface { awscdk.IResource // Grant the indicated permissions on this stream to the provided IAM principal. Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant // Grant read permissions for this stream and its contents to an IAM principal (Role/Group/User). // // If an encryption key is used, permission to ues the key to decrypt the // contents of the stream will also be granted. GrantRead(grantee awsiam.IGrantable) awsiam.Grant // Grants read/write permissions for this stream and its contents to an IAM principal (Role/Group/User). // // If an encryption key is used, permission to use the key for // encrypt/decrypt will also be granted. GrantReadWrite(grantee awsiam.IGrantable) awsiam.Grant // Grant write permissions for this stream and its contents to an IAM principal (Role/Group/User). // // If an encryption key is used, permission to ues the key to encrypt the // contents of the stream will also be granted. GrantWrite(grantee awsiam.IGrantable) awsiam.Grant // Return stream metric based from its metric name. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of records retrieved from the shard, measured over the specified time period. // // Minimum, Maximum, and // Average statistics represent the records in a single GetRecords operation for the stream in the specified time // period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricGetRecords(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of bytes retrieved from the Kinesis stream, measured over the specified time period. // // Minimum, Maximum, // and Average statistics represent the bytes in a single GetRecords operation for the stream in the specified time // period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricGetRecordsBytes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The age of the last record in all GetRecords calls made against a Kinesis stream, measured over the specified time period. // // Age is the difference between the current time and when the last record of the GetRecords call was written // to the stream. The Minimum and Maximum statistics can be used to track the progress of Kinesis consumer // applications. A value of zero indicates that the records being read are completely caught up with the stream. // // The metric defaults to maximum over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricGetRecordsIteratorAgeMilliseconds(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The time taken per GetRecords operation, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricGetRecordsLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of successful GetRecords operations per stream, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricGetRecordsSuccess(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of bytes successfully put to the Kinesis stream over the specified time period. // // This metric includes // bytes from PutRecord and PutRecords operations. Minimum, Maximum, and Average statistics represent the bytes in a // single put operation for the stream in the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricIncomingBytes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of records successfully put to the Kinesis stream over the specified time period. // // This metric includes // record counts from PutRecord and PutRecords operations. Minimum, Maximum, and Average statistics represent the // records in a single put operation for the stream in the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricIncomingRecords(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of bytes put to the Kinesis stream using the PutRecord operation over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordBytes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The time taken per PutRecord operation, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of bytes put to the Kinesis stream using the PutRecords operation over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordsBytes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of records rejected due to internal failures in a PutRecords operation per Kinesis data stream, measured over the specified time period. // // Occasional internal failures are to be expected and should be retried. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordsFailedRecords(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The time taken per PutRecords operation, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordsLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of PutRecords operations where at least one record succeeded, per Kinesis stream, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordsSuccess(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of successful records in a PutRecords operation per Kinesis data stream, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordsSuccessfulRecords(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of records rejected due to throttling in a PutRecords operation per Kinesis data stream, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordsThrottledRecords(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The total number of records sent in a PutRecords operation per Kinesis data stream, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordsTotalRecords(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of successful PutRecord operations per Kinesis stream, measured over the specified time period. // // Average // reflects the percentage of successful writes to a stream. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordSuccess(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of GetRecords calls throttled for the stream over the specified time period. // // The most commonly used // statistic for this metric is Average. // // When the Minimum statistic has a value of 1, all records were throttled for the stream during the specified time // period. // // When the Maximum statistic has a value of 0 (zero), no records were throttled for the stream during the specified // time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricReadProvisionedThroughputExceeded(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of records rejected due to throttling for the stream over the specified time period. // // This metric // includes throttling from PutRecord and PutRecords operations. // // When the Minimum statistic has a non-zero value, records were being throttled for the stream during the specified // time period. // // When the Maximum statistic has a value of 0 (zero), no records were being throttled for the stream during the // specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricWriteProvisionedThroughputExceeded(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Optional KMS encryption key associated with this stream. EncryptionKey() awskms.IKey // The ARN of the stream. StreamArn() *string // The name of the stream. StreamName() *string }
A Kinesis Stream.
func Stream_FromStreamArn ¶
Import an existing Kinesis Stream provided an ARN.
func Stream_FromStreamAttributes ¶
func Stream_FromStreamAttributes(scope constructs.Construct, id *string, attrs *StreamAttributes) IStream
Creates a Stream construct that represents an external stream.
type Stream ¶
type Stream interface { awscdk.Resource IStream // Optional KMS encryption key associated with this stream. EncryptionKey() awskms.IKey // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // The ARN of the stream. StreamArn() *string // The name of the stream. StreamName() *string // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Grant the indicated permissions on this stream to the given IAM principal (Role/Group/User). Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant // Grant read permissions for this stream and its contents to an IAM principal (Role/Group/User). // // If an encryption key is used, permission to ues the key to decrypt the // contents of the stream will also be granted. GrantRead(grantee awsiam.IGrantable) awsiam.Grant // Grants read/write permissions for this stream and its contents to an IAM principal (Role/Group/User). // // If an encryption key is used, permission to use the key for // encrypt/decrypt will also be granted. GrantReadWrite(grantee awsiam.IGrantable) awsiam.Grant // Grant write permissions for this stream and its contents to an IAM principal (Role/Group/User). // // If an encryption key is used, permission to ues the key to encrypt the // contents of the stream will also be granted. GrantWrite(grantee awsiam.IGrantable) awsiam.Grant // Return stream metric based from its metric name. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of records retrieved from the shard, measured over the specified time period. // // Minimum, Maximum, and // Average statistics represent the records in a single GetRecords operation for the stream in the specified time // period. // // average // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricGetRecords(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of bytes retrieved from the Kinesis stream, measured over the specified time period. // // Minimum, Maximum, // and Average statistics represent the bytes in a single GetRecords operation for the stream in the specified time // period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricGetRecordsBytes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The age of the last record in all GetRecords calls made against a Kinesis stream, measured over the specified time period. // // Age is the difference between the current time and when the last record of the GetRecords call was written // to the stream. The Minimum and Maximum statistics can be used to track the progress of Kinesis consumer // applications. A value of zero indicates that the records being read are completely caught up with the stream. // // The metric defaults to maximum over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricGetRecordsIteratorAgeMilliseconds(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of successful GetRecords operations per stream, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricGetRecordsLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of successful GetRecords operations per stream, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricGetRecordsSuccess(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of bytes successfully put to the Kinesis stream over the specified time period. // // This metric includes // bytes from PutRecord and PutRecords operations. Minimum, Maximum, and Average statistics represent the bytes in a // single put operation for the stream in the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricIncomingBytes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of records successfully put to the Kinesis stream over the specified time period. // // This metric includes // record counts from PutRecord and PutRecords operations. Minimum, Maximum, and Average statistics represent the // records in a single put operation for the stream in the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricIncomingRecords(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of bytes put to the Kinesis stream using the PutRecord operation over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordBytes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The time taken per PutRecord operation, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of bytes put to the Kinesis stream using the PutRecords operation over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordsBytes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of records rejected due to internal failures in a PutRecords operation per Kinesis data stream, measured over the specified time period. // // Occasional internal failures are to be expected and should be retried. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordsFailedRecords(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The time taken per PutRecords operation, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordsLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of PutRecords operations where at least one record succeeded, per Kinesis stream, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordsSuccess(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of successful records in a PutRecords operation per Kinesis data stream, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordsSuccessfulRecords(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of records rejected due to throttling in a PutRecords operation per Kinesis data stream, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordsThrottledRecords(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The total number of records sent in a PutRecords operation per Kinesis data stream, measured over the specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordsTotalRecords(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of successful PutRecord operations per Kinesis stream, measured over the specified time period. // // Average // reflects the percentage of successful writes to a stream. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricPutRecordSuccess(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of GetRecords calls throttled for the stream over the specified time period. // // The most commonly used // statistic for this metric is Average. // // When the Minimum statistic has a value of 1, all records were throttled for the stream during the specified time // period. // // When the Maximum statistic has a value of 0 (zero), no records were throttled for the stream during the specified // time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricReadProvisionedThroughputExceeded(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of records rejected due to throttling for the stream over the specified time period. // // This metric // includes throttling from PutRecord and PutRecords operations. // // When the Minimum statistic has a non-zero value, records were being throttled for the stream during the specified // time period. // // When the Maximum statistic has a value of 0 (zero), no records were being throttled for the stream during the // specified time period. // // The metric defaults to average over 5 minutes, it can be changed by passing `statistic` and `period` properties. MetricWriteProvisionedThroughputExceeded(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Returns a string representation of this construct. ToString() *string }
A Kinesis stream.
Can be encrypted with a KMS key.
Example:
key := kms.NewKey(this, jsii.String("MyKey")) kinesis.NewStream(this, jsii.String("MyEncryptedStream"), &StreamProps{ Encryption: kinesis.StreamEncryption_KMS, EncryptionKey: key, })
func NewStream ¶
func NewStream(scope constructs.Construct, id *string, props *StreamProps) Stream
type StreamAttributes ¶
type StreamAttributes struct { // The ARN of the stream. StreamArn *string `field:"required" json:"streamArn" yaml:"streamArn"` // The KMS key securing the contents of the stream if encryption is enabled. // Default: - No encryption. // EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"` }
A reference to a stream.
The easiest way to instantiate is to call `stream.export()`. Then, the consumer can use `Stream.import(this, ref)` and get a `Stream`.
Example:
importedStream := kinesis.Stream_FromStreamAttributes(this, jsii.String("ImportedEncryptedStream"), &StreamAttributes{ StreamArn: jsii.String("arn:aws:kinesis:us-east-2:123456789012:stream/f3j09j2230j"), EncryptionKey: kms.Key_FromKeyArn(this, jsii.String("key"), jsii.String("arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012")), })
type StreamEncryption ¶
type StreamEncryption string
What kind of server-side encryption to apply to this stream.
Example:
key := kms.NewKey(this, jsii.String("MyKey")) kinesis.NewStream(this, jsii.String("MyEncryptedStream"), &StreamProps{ Encryption: kinesis.StreamEncryption_KMS, EncryptionKey: key, })
const ( // Records in the stream are not encrypted. StreamEncryption_UNENCRYPTED StreamEncryption = "UNENCRYPTED" // Server-side encryption with a KMS key managed by the user. // // If `encryptionKey` is specified, this key will be used, otherwise, one will be defined. StreamEncryption_KMS StreamEncryption = "KMS" // Server-side encryption with a master key managed by Amazon Kinesis. StreamEncryption_MANAGED StreamEncryption = "MANAGED" )
type StreamMode ¶ added in v2.4.0
type StreamMode string
Specifies the capacity mode to apply to this stream.
const ( // Specify the provisioned capacity mode. // // The stream will have `shardCount` shards unless // modified and will be billed according to the provisioned capacity. StreamMode_PROVISIONED StreamMode = "PROVISIONED" // Specify the on-demand capacity mode. // // The stream will autoscale and be billed according to the // volume of data ingested and retrieved. StreamMode_ON_DEMAND StreamMode = "ON_DEMAND" )
type StreamProps ¶
type StreamProps struct { // The kind of server-side encryption to apply to this stream. // // If you choose KMS, you can specify a KMS key via `encryptionKey`. If // encryption key is not specified, a key will automatically be created. // Default: - StreamEncryption.KMS if encrypted Streams are supported in the region // or StreamEncryption.UNENCRYPTED otherwise. // StreamEncryption.KMS if an encryption key is supplied through the encryptionKey property // Encryption StreamEncryption `field:"optional" json:"encryption" yaml:"encryption"` // External KMS key to use for stream encryption. // // The 'encryption' property must be set to "Kms". // Default: - Kinesis Data Streams master key ('/alias/aws/kinesis'). // If encryption is set to StreamEncryption.KMS and this property is undefined, a new KMS key // will be created and associated with this stream. // EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"` // Policy to apply when the stream is removed from the stack. // Default: RemovalPolicy.RETAIN // RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // The number of hours for the data records that are stored in shards to remain accessible. // Default: Duration.hours(24) // RetentionPeriod awscdk.Duration `field:"optional" json:"retentionPeriod" yaml:"retentionPeriod"` // The number of shards for the stream. // // Can only be provided if streamMode is Provisioned. // Default: 1. // ShardCount *float64 `field:"optional" json:"shardCount" yaml:"shardCount"` // The capacity mode of this stream. // Default: StreamMode.PROVISIONED // StreamMode StreamMode `field:"optional" json:"streamMode" yaml:"streamMode"` // Enforces a particular physical stream name. // Default: <generated>. // StreamName *string `field:"optional" json:"streamName" yaml:"streamName"` }
Properties for a Kinesis Stream.
Example:
key := kms.NewKey(this, jsii.String("MyKey")) kinesis.NewStream(this, jsii.String("MyEncryptedStream"), &StreamProps{ Encryption: kinesis.StreamEncryption_KMS, EncryptionKey: key, })
Source Files ¶
- CfnStream.go
- CfnStreamConsumer.go
- CfnStreamConsumerProps.go
- CfnStreamConsumer__checks.go
- CfnStreamProps.go
- CfnStream_StreamEncryptionProperty.go
- CfnStream_StreamModeDetailsProperty.go
- CfnStream__checks.go
- IStream.go
- IStream__checks.go
- Stream.go
- StreamAttributes.go
- StreamEncryption.go
- StreamMode.go
- StreamProps.go
- Stream__checks.go
- main.go