Class: AWSCDK::QLDB::CfnStreamProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::QLDB::CfnStreamProps
- Defined in:
- qldb/cfn_stream_props.rb
Overview
Properties for defining a CfnStream.
Instance Attribute Summary collapse
-
#exclusive_end_time ⇒ String?
readonly
The exclusive date and time that specifies when the stream ends.
-
#inclusive_start_time ⇒ String
readonly
The inclusive start date and time from which to start streaming journal data.
-
#kinesis_configuration ⇒ AWSCDK::IResolvable, AWSCDK::QLDB::CfnStream::KinesisConfigurationProperty
readonly
The configuration settings of the Kinesis Data Streams destination for your stream request.
-
#ledger_name ⇒ String
readonly
The name of the ledger.
-
#role_arn ⇒ String, AWSCDK::Interfaces::AWSIAM::IRoleRef
readonly
The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal stream to write data records to a Kinesis Data Streams resource.
-
#stream_name ⇒ String
readonly
The name that you want to assign to the QLDB journal stream.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
An array of key-value pairs to apply to this resource.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(inclusive_start_time:, kinesis_configuration:, ledger_name:, role_arn:, stream_name:, exclusive_end_time: nil, tags: nil) ⇒ CfnStreamProps
constructor
A new instance of CfnStreamProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(inclusive_start_time:, kinesis_configuration:, ledger_name:, role_arn:, stream_name:, exclusive_end_time: nil, tags: nil) ⇒ CfnStreamProps
Returns a new instance of CfnStreamProps.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'qldb/cfn_stream_props.rb', line 16 def initialize(inclusive_start_time:, kinesis_configuration:, ledger_name:, role_arn:, stream_name:, exclusive_end_time: nil, tags: nil) @inclusive_start_time = inclusive_start_time Jsii::Type.check_type(@inclusive_start_time, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "inclusiveStartTime") @kinesis_configuration = kinesis_configuration.is_a?(Hash) ? ::AWSCDK::QLDB::CfnStream::KinesisConfigurationProperty.new(**kinesis_configuration.transform_keys(&:to_sym)) : kinesis_configuration Jsii::Type.check_type(@kinesis_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19xbGRiLkNmblN0cmVhbS5LaW5lc2lzQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "kinesisConfiguration") @ledger_name = ledger_name Jsii::Type.check_type(@ledger_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ledgerName") @role_arn = role_arn Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "roleArn") @stream_name = stream_name Jsii::Type.check_type(@stream_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "streamName") @exclusive_end_time = exclusive_end_time Jsii::Type.check_type(@exclusive_end_time, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "exclusiveEndTime") unless @exclusive_end_time.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? end |
Instance Attribute Details
#exclusive_end_time ⇒ String? (readonly)
The exclusive date and time that specifies when the stream ends.
If you don't define this parameter, the stream runs indefinitely until you cancel it.
The ExclusiveEndTime must be in ISO 8601 date and time format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z .
78 79 80 |
# File 'qldb/cfn_stream_props.rb', line 78 def exclusive_end_time @exclusive_end_time end |
#inclusive_start_time ⇒ String (readonly)
The inclusive start date and time from which to start streaming journal data.
This parameter must be in ISO 8601 date and time format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z .
The InclusiveStartTime cannot be in the future and must be before ExclusiveEndTime .
If you provide an InclusiveStartTime that is before the ledger's CreationDateTime , QLDB effectively defaults it to the ledger's CreationDateTime .
43 44 45 |
# File 'qldb/cfn_stream_props.rb', line 43 def inclusive_start_time @inclusive_start_time end |
#kinesis_configuration ⇒ AWSCDK::IResolvable, AWSCDK::QLDB::CfnStream::KinesisConfigurationProperty (readonly)
The configuration settings of the Kinesis Data Streams destination for your stream request.
48 49 50 |
# File 'qldb/cfn_stream_props.rb', line 48 def kinesis_configuration @kinesis_configuration end |
#ledger_name ⇒ String (readonly)
The name of the ledger.
53 54 55 |
# File 'qldb/cfn_stream_props.rb', line 53 def ledger_name @ledger_name end |
#role_arn ⇒ String, AWSCDK::Interfaces::AWSIAM::IRoleRef (readonly)
The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal stream to write data records to a Kinesis Data Streams resource.
To pass a role to QLDB when requesting a journal stream, you must have permissions to perform the iam:PassRole action on the IAM role resource. This is required for all journal stream requests.
60 61 62 |
# File 'qldb/cfn_stream_props.rb', line 60 def role_arn @role_arn end |
#stream_name ⇒ String (readonly)
The name that you want to assign to the QLDB journal stream.
User-defined names can help identify and indicate the purpose of a stream.
Your stream name must be unique among other active streams for a given ledger. Stream names have the same naming constraints as ledger names, as defined in Quotas in Amazon QLDB in the Amazon QLDB Developer Guide .
69 70 71 |
# File 'qldb/cfn_stream_props.rb', line 69 def stream_name @stream_name end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
An array of key-value pairs to apply to this resource.
For more information, see Tag .
85 86 87 |
# File 'qldb/cfn_stream_props.rb', line 85 def @tags end |
Class Method Details
.jsii_properties ⇒ Object
87 88 89 90 91 92 93 94 95 96 97 |
# File 'qldb/cfn_stream_props.rb', line 87 def self.jsii_properties { :inclusive_start_time => "inclusiveStartTime", :kinesis_configuration => "kinesisConfiguration", :ledger_name => "ledgerName", :role_arn => "roleArn", :stream_name => "streamName", :exclusive_end_time => "exclusiveEndTime", :tags => "tags", } end |
Instance Method Details
#to_jsii ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'qldb/cfn_stream_props.rb', line 99 def to_jsii result = {} result.merge!({ "inclusiveStartTime" => @inclusive_start_time, "kinesisConfiguration" => @kinesis_configuration, "ledgerName" => @ledger_name, "roleArn" => @role_arn, "streamName" => @stream_name, "exclusiveEndTime" => @exclusive_end_time, "tags" => @tags, }) result.compact end |