Class: AWSCDK::KinesisFirehose::CfnDeliveryStream::DatabaseSourceConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
kinesis_firehose/cfn_delivery_stream.rb

Overview

The top level object for configuring streams with database as a source.

Amazon Data Firehose is in preview release and is subject to change.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(databases:, database_source_authentication_configuration:, database_source_vpc_configuration:, endpoint:, port:, snapshot_watermark_table:, tables:, type:, columns: nil, digest: nil, public_certificate: nil, ssl_mode: nil, surrogate_keys: nil) ⇒ DatabaseSourceConfigurationProperty

Returns a new instance of DatabaseSourceConfigurationProperty.

Parameters:



1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1653

def initialize(databases:, database_source_authentication_configuration:, database_source_vpc_configuration:, endpoint:, port:, snapshot_watermark_table:, tables:, type:, columns: nil, digest: nil, public_certificate: nil, ssl_mode: nil, surrogate_keys: nil)
  @databases = databases.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::DatabasesProperty.new(**databases.transform_keys(&:to_sym)) : databases
  Jsii::Type.check_type(@databases, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uRGF0YWJhc2VzUHJvcGVydHkifV19fQ==")), "databases")
  @database_source_authentication_configuration = database_source_authentication_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::DatabaseSourceAuthenticationConfigurationProperty.new(**database_source_authentication_configuration.transform_keys(&:to_sym)) : database_source_authentication_configuration
  Jsii::Type.check_type(@database_source_authentication_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uRGF0YWJhc2VTb3VyY2VBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "databaseSourceAuthenticationConfiguration")
  @database_source_vpc_configuration = database_source_vpc_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::DatabaseSourceVPCConfigurationProperty.new(**database_source_vpc_configuration.transform_keys(&:to_sym)) : database_source_vpc_configuration
  Jsii::Type.check_type(@database_source_vpc_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uRGF0YWJhc2VTb3VyY2VWUENDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "databaseSourceVpcConfiguration")
  @endpoint = endpoint
  Jsii::Type.check_type(@endpoint, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "endpoint")
  @port = port
  Jsii::Type.check_type(@port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "port")
  @snapshot_watermark_table = snapshot_watermark_table
  Jsii::Type.check_type(@snapshot_watermark_table, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotWatermarkTable")
  @tables = tables.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::DatabaseTablesProperty.new(**tables.transform_keys(&:to_sym)) : tables
  Jsii::Type.check_type(@tables, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uRGF0YWJhc2VUYWJsZXNQcm9wZXJ0eSJ9XX19")), "tables")
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type")
  @columns = columns.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::DatabaseColumnsProperty.new(**columns.transform_keys(&:to_sym)) : columns
  Jsii::Type.check_type(@columns, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uRGF0YWJhc2VDb2x1bW5zUHJvcGVydHkifV19fQ==")), "columns") unless @columns.nil?
  @digest = digest
  Jsii::Type.check_type(@digest, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "digest") unless @digest.nil?
  @public_certificate = public_certificate
  Jsii::Type.check_type(@public_certificate, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "publicCertificate") unless @public_certificate.nil?
  @ssl_mode = ssl_mode
  Jsii::Type.check_type(@ssl_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sslMode") unless @ssl_mode.nil?
  @surrogate_keys = surrogate_keys
  Jsii::Type.check_type(@surrogate_keys, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "surrogateKeys") unless @surrogate_keys.nil?
end

Instance Attribute Details

#columnsAWSCDK::IResolvable, ... (readonly)

The list of column patterns in source database endpoint for Firehose to read from.

Amazon Data Firehose is in preview release and is subject to change.



1750
1751
1752
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1750

def columns
  @columns
end

#database_source_authentication_configurationAWSCDK::IResolvable, AWSCDK::KinesisFirehose::CfnDeliveryStream::DatabaseSourceAuthenticationConfigurationProperty (readonly)

The structure to configure the authentication methods for Firehose to connect to source database endpoint.

Amazon Data Firehose is in preview release and is subject to change.



1695
1696
1697
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1695

def database_source_authentication_configuration
  @database_source_authentication_configuration
end

#database_source_vpc_configurationAWSCDK::IResolvable, AWSCDK::KinesisFirehose::CfnDeliveryStream::DatabaseSourceVPCConfigurationProperty (readonly)

The details of the VPC Endpoint Service which Firehose uses to create a PrivateLink to the database.

Amazon Data Firehose is in preview release and is subject to change.



1702
1703
1704
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1702

def database_source_vpc_configuration
  @database_source_vpc_configuration
end

#databasesAWSCDK::IResolvable, AWSCDK::KinesisFirehose::CfnDeliveryStream::DatabasesProperty (readonly)

The list of database patterns in source database endpoint for Firehose to read from.

Amazon Data Firehose is in preview release and is subject to change.



1688
1689
1690
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1688

def databases
  @databases
end

#digestString? (readonly)



1753
1754
1755
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1753

def digest
  @digest
end

#endpointString (readonly)

The endpoint of the database server.

Amazon Data Firehose is in preview release and is subject to change.



1709
1710
1711
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1709

def endpoint
  @endpoint
end

#portNumeric (readonly)

The port of the database. This can be one of the following values.

  • 3306 for MySQL database type
  • 5432 for PostgreSQL database type

Amazon Data Firehose is in preview release and is subject to change.



1719
1720
1721
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1719

def port
  @port
end

#public_certificateString? (readonly)



1756
1757
1758
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1756

def public_certificate
  @public_certificate
end

#snapshot_watermark_tableString (readonly)

The fully qualified name of the table in source database endpoint that Firehose uses to track snapshot progress.

Amazon Data Firehose is in preview release and is subject to change.



1726
1727
1728
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1726

def snapshot_watermark_table
  @snapshot_watermark_table
end

#ssl_modeString? (readonly)

The mode to enable or disable SSL when Firehose connects to the database endpoint.

Amazon Data Firehose is in preview release and is subject to change.



1763
1764
1765
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1763

def ssl_mode
  @ssl_mode
end

#surrogate_keysArray<String>? (readonly)

The optional list of table and column names used as unique key columns when taking snapshot if the tables don’t have primary keys configured.

Amazon Data Firehose is in preview release and is subject to change.



1770
1771
1772
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1770

def surrogate_keys
  @surrogate_keys
end

#tablesAWSCDK::IResolvable, AWSCDK::KinesisFirehose::CfnDeliveryStream::DatabaseTablesProperty (readonly)

The list of table patterns in source database endpoint for Firehose to read from.

Amazon Data Firehose is in preview release and is subject to change.



1733
1734
1735
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1733

def tables
  @tables
end

#typeString (readonly)

The type of database engine. This can be one of the following values.

  • MySQL
  • PostgreSQL

Amazon Data Firehose is in preview release and is subject to change.



1743
1744
1745
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1743

def type
  @type
end

Class Method Details

.jsii_propertiesObject



1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1772

def self.jsii_properties
  {
    :databases => "databases",
    :database_source_authentication_configuration => "databaseSourceAuthenticationConfiguration",
    :database_source_vpc_configuration => "databaseSourceVpcConfiguration",
    :endpoint => "endpoint",
    :port => "port",
    :snapshot_watermark_table => "snapshotWatermarkTable",
    :tables => "tables",
    :type => "type",
    :columns => "columns",
    :digest => "digest",
    :public_certificate => "publicCertificate",
    :ssl_mode => "sslMode",
    :surrogate_keys => "surrogateKeys",
  }
end

Instance Method Details

#to_jsiiObject



1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1790

def to_jsii
  result = {}
  result.merge!({
    "databases" => @databases,
    "databaseSourceAuthenticationConfiguration" => @database_source_authentication_configuration,
    "databaseSourceVpcConfiguration" => @database_source_vpc_configuration,
    "endpoint" => @endpoint,
    "port" => @port,
    "snapshotWatermarkTable" => @snapshot_watermark_table,
    "tables" => @tables,
    "type" => @type,
    "columns" => @columns,
    "digest" => @digest,
    "publicCertificate" => @public_certificate,
    "sslMode" => @ssl_mode,
    "surrogateKeys" => @surrogate_keys,
  })
  result.compact
end