Class: AWSCDK::QLDB::CfnStreamProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
qldb/cfn_stream_props.rb

Overview

Properties for defining a CfnStream.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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.

Parameters:

  • inclusive_start_time (String)

    The inclusive start date and time from which to start streaming journal data.

  • kinesis_configuration (AWSCDK::IResolvable, AWSCDK::QLDB::CfnStream::KinesisConfigurationProperty)

    The configuration settings of the Kinesis Data Streams destination for your stream request.

  • ledger_name (String)

    The name of the ledger.

  • role_arn (String, AWSCDK::Interfaces::AWSIAM::IRoleRef)

    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)

    The name that you want to assign to the QLDB journal stream.

  • exclusive_end_time (String, nil) (defaults to: nil)

    The exclusive date and time that specifies when the stream ends.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    An array of key-value pairs to apply to this resource.



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 = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#exclusive_end_timeString? (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_timeString (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_configurationAWSCDK::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_nameString (readonly)

The name of the ledger.



53
54
55
# File 'qldb/cfn_stream_props.rb', line 53

def ledger_name
  @ledger_name
end

#role_arnString, 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_nameString (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

#tagsArray<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
  @tags
end

Class Method Details

.jsii_propertiesObject



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_jsiiObject



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