Class: AWSCDK::MSK::CfnReplicator::TopicReplicationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
msk/cfn_replicator.rb

Overview

Details about topic replication.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(topics_to_replicate:, copy_access_control_lists_for_topics: nil, copy_topic_configurations: nil, detect_and_copy_new_topics: nil, starting_position: nil, topic_name_configuration: nil, topics_to_exclude: nil) ⇒ TopicReplicationProperty

Returns a new instance of TopicReplicationProperty.

Parameters:

  • topics_to_replicate (Array<String>)

    List of regular expression patterns indicating the topics to copy.

  • copy_access_control_lists_for_topics (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.

  • copy_topic_configurations (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Whether to periodically configure remote topics to match their corresponding upstream topics.

  • detect_and_copy_new_topics (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Whether to periodically check for new topics and partitions.

  • starting_position (AWSCDK::IResolvable, AWSCDK::MSK::CfnReplicator::ReplicationStartingPositionProperty, nil) (defaults to: nil)

    Specifies the position in the topics to start replicating from.

  • topic_name_configuration (AWSCDK::IResolvable, AWSCDK::MSK::CfnReplicator::ReplicationTopicNameConfigurationProperty, nil) (defaults to: nil)

    Configuration for specifying replicated topic names will be the same as their corresponding upstream topics or prefixed with source cluster alias.

  • topics_to_exclude (Array<String>, nil) (defaults to: nil)

    List of regular expression patterns indicating the topics that should not be replicated.



1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
# File 'msk/cfn_replicator.rb', line 1423

def initialize(topics_to_replicate:, copy_access_control_lists_for_topics: nil, copy_topic_configurations: nil, detect_and_copy_new_topics: nil, starting_position: nil, topic_name_configuration: nil, topics_to_exclude: nil)
  @topics_to_replicate = topics_to_replicate
  Jsii::Type.check_type(@topics_to_replicate, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "topicsToReplicate")
  @copy_access_control_lists_for_topics = copy_access_control_lists_for_topics
  Jsii::Type.check_type(@copy_access_control_lists_for_topics, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "copyAccessControlListsForTopics") unless @copy_access_control_lists_for_topics.nil?
  @copy_topic_configurations = copy_topic_configurations
  Jsii::Type.check_type(@copy_topic_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "copyTopicConfigurations") unless @copy_topic_configurations.nil?
  @detect_and_copy_new_topics = detect_and_copy_new_topics
  Jsii::Type.check_type(@detect_and_copy_new_topics, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "detectAndCopyNewTopics") unless @detect_and_copy_new_topics.nil?
  @starting_position = starting_position.is_a?(Hash) ? ::AWSCDK::MSK::CfnReplicator::ReplicationStartingPositionProperty.new(**starting_position.transform_keys(&:to_sym)) : starting_position
  Jsii::Type.check_type(@starting_position, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tc2suQ2ZuUmVwbGljYXRvci5SZXBsaWNhdGlvblN0YXJ0aW5nUG9zaXRpb25Qcm9wZXJ0eSJ9XX19")), "startingPosition") unless @starting_position.nil?
  @topic_name_configuration = topic_name_configuration.is_a?(Hash) ? ::AWSCDK::MSK::CfnReplicator::ReplicationTopicNameConfigurationProperty.new(**topic_name_configuration.transform_keys(&:to_sym)) : topic_name_configuration
  Jsii::Type.check_type(@topic_name_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tc2suQ2ZuUmVwbGljYXRvci5SZXBsaWNhdGlvblRvcGljTmFtZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "topicNameConfiguration") unless @topic_name_configuration.nil?
  @topics_to_exclude = topics_to_exclude
  Jsii::Type.check_type(@topics_to_exclude, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "topicsToExclude") unless @topics_to_exclude.nil?
end

Instance Attribute Details

#copy_access_control_lists_for_topicsBoolean, ... (readonly)

Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.



1449
1450
1451
# File 'msk/cfn_replicator.rb', line 1449

def copy_access_control_lists_for_topics
  @copy_access_control_lists_for_topics
end

#copy_topic_configurationsBoolean, ... (readonly)

Whether to periodically configure remote topics to match their corresponding upstream topics.



1454
1455
1456
# File 'msk/cfn_replicator.rb', line 1454

def copy_topic_configurations
  @copy_topic_configurations
end

#detect_and_copy_new_topicsBoolean, ... (readonly)

Whether to periodically check for new topics and partitions.



1459
1460
1461
# File 'msk/cfn_replicator.rb', line 1459

def detect_and_copy_new_topics
  @detect_and_copy_new_topics
end

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

Specifies the position in the topics to start replicating from.



1464
1465
1466
# File 'msk/cfn_replicator.rb', line 1464

def starting_position
  @starting_position
end

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

Configuration for specifying replicated topic names will be the same as their corresponding upstream topics or prefixed with source cluster alias.



1469
1470
1471
# File 'msk/cfn_replicator.rb', line 1469

def topic_name_configuration
  @topic_name_configuration
end

#topics_to_excludeArray<String>? (readonly)

List of regular expression patterns indicating the topics that should not be replicated.



1474
1475
1476
# File 'msk/cfn_replicator.rb', line 1474

def topics_to_exclude
  @topics_to_exclude
end

#topics_to_replicateArray<String> (readonly)

List of regular expression patterns indicating the topics to copy.



1444
1445
1446
# File 'msk/cfn_replicator.rb', line 1444

def topics_to_replicate
  @topics_to_replicate
end

Class Method Details

.jsii_propertiesObject



1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
# File 'msk/cfn_replicator.rb', line 1476

def self.jsii_properties
  {
    :topics_to_replicate => "topicsToReplicate",
    :copy_access_control_lists_for_topics => "copyAccessControlListsForTopics",
    :copy_topic_configurations => "copyTopicConfigurations",
    :detect_and_copy_new_topics => "detectAndCopyNewTopics",
    :starting_position => "startingPosition",
    :topic_name_configuration => "topicNameConfiguration",
    :topics_to_exclude => "topicsToExclude",
  }
end

Instance Method Details

#to_jsiiObject



1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
# File 'msk/cfn_replicator.rb', line 1488

def to_jsii
  result = {}
  result.merge!({
    "topicsToReplicate" => @topics_to_replicate,
    "copyAccessControlListsForTopics" => @copy_access_control_lists_for_topics,
    "copyTopicConfigurations" => @copy_topic_configurations,
    "detectAndCopyNewTopics" => @detect_and_copy_new_topics,
    "startingPosition" => @starting_position,
    "topicNameConfiguration" => @topic_name_configuration,
    "topicsToExclude" => @topics_to_exclude,
  })
  result.compact
end