Class: AWSCDK::MSK::CfnReplicator::TopicReplicationProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::MSK::CfnReplicator::TopicReplicationProperty
- Defined in:
- msk/cfn_replicator.rb
Overview
Details about topic replication.
Instance Attribute Summary collapse
-
#copy_access_control_lists_for_topics ⇒ Boolean, ...
readonly
Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.
-
#copy_topic_configurations ⇒ Boolean, ...
readonly
Whether to periodically configure remote topics to match their corresponding upstream topics.
-
#detect_and_copy_new_topics ⇒ Boolean, ...
readonly
Whether to periodically check for new topics and partitions.
-
#starting_position ⇒ AWSCDK::IResolvable, ...
readonly
Specifies the position in the topics to start replicating from.
-
#topic_name_configuration ⇒ AWSCDK::IResolvable, ...
readonly
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>?
readonly
List of regular expression patterns indicating the topics that should not be replicated.
-
#topics_to_replicate ⇒ Array<String>
readonly
List of regular expression patterns indicating the topics to copy.
Class Method Summary collapse
Instance Method Summary collapse
-
#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
constructor
A new instance of TopicReplicationProperty.
- #to_jsii ⇒ Object
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.
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_topics ⇒ Boolean, ... (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_configurations ⇒ Boolean, ... (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_topics ⇒ Boolean, ... (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_position ⇒ AWSCDK::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_configuration ⇒ AWSCDK::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_exclude ⇒ Array<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_replicate ⇒ Array<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_properties ⇒ Object
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_jsii ⇒ Object
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 |