Class: AWSCDK::MSK::CfnCluster::BrokerNodeGroupInfoProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::MSK::CfnCluster::BrokerNodeGroupInfoProperty
- Defined in:
- msk/cfn_cluster.rb
Overview
Describes the setup to be used for the broker nodes in the cluster.
Instance Attribute Summary collapse
-
#broker_az_distribution ⇒ String?
readonly
This parameter is currently not in use.
-
#client_subnets ⇒ Array<String>
readonly
The list of subnets to connect to in the client virtual private cloud (VPC).
-
#connectivity_info ⇒ AWSCDK::IResolvable, ...
readonly
Information about the cluster's connectivity setting.
-
#instance_type ⇒ String
readonly
The type of Amazon EC2 instances to use for brokers.
-
#security_groups ⇒ Array<String>?
readonly
The security groups to associate with the ENIs in order to specify who can connect to and communicate with the Amazon MSK cluster.
-
#storage_info ⇒ AWSCDK::IResolvable, ...
readonly
Contains information about storage volumes attached to Amazon MSK broker nodes.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(client_subnets:, instance_type:, broker_az_distribution: nil, connectivity_info: nil, security_groups: nil, storage_info: nil) ⇒ BrokerNodeGroupInfoProperty
constructor
A new instance of BrokerNodeGroupInfoProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(client_subnets:, instance_type:, broker_az_distribution: nil, connectivity_info: nil, security_groups: nil, storage_info: nil) ⇒ BrokerNodeGroupInfoProperty
Returns a new instance of BrokerNodeGroupInfoProperty.
764 765 766 767 768 769 770 771 772 773 774 775 776 777 |
# File 'msk/cfn_cluster.rb', line 764 def initialize(client_subnets:, instance_type:, broker_az_distribution: nil, connectivity_info: nil, security_groups: nil, storage_info: nil) @client_subnets = client_subnets Jsii::Type.check_type(@client_subnets, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "clientSubnets") @instance_type = instance_type Jsii::Type.check_type(@instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceType") @broker_az_distribution = broker_az_distribution Jsii::Type.check_type(@broker_az_distribution, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "brokerAzDistribution") unless @broker_az_distribution.nil? @connectivity_info = connectivity_info.is_a?(Hash) ? ::AWSCDK::MSK::CfnCluster::ConnectivityInfoProperty.new(**connectivity_info.transform_keys(&:to_sym)) : connectivity_info Jsii::Type.check_type(@connectivity_info, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tc2suQ2ZuQ2x1c3Rlci5Db25uZWN0aXZpdHlJbmZvUHJvcGVydHkifV19fQ==")), "connectivityInfo") unless @connectivity_info.nil? @security_groups = security_groups Jsii::Type.check_type(@security_groups, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroups") unless @security_groups.nil? @storage_info = storage_info.is_a?(Hash) ? ::AWSCDK::MSK::CfnCluster::StorageInfoProperty.new(**storage_info.transform_keys(&:to_sym)) : storage_info Jsii::Type.check_type(@storage_info, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tc2suQ2ZuQ2x1c3Rlci5TdG9yYWdlSW5mb1Byb3BlcnR5In1dfX0=")), "storageInfo") unless @storage_info.nil? end |
Instance Attribute Details
#broker_az_distribution ⇒ String? (readonly)
This parameter is currently not in use.
816 817 818 |
# File 'msk/cfn_cluster.rb', line 816 def broker_az_distribution @broker_az_distribution end |
#client_subnets ⇒ Array<String> (readonly)
The list of subnets to connect to in the client virtual private cloud (VPC).
Amazon creates elastic network interfaces (ENIs) inside these subnets. Client applications use ENIs to produce and consume data.
If you use the US West (N. California) Region, specify exactly two subnets. For other Regions where Amazon MSK is available, you can specify either two or three subnets. The subnets that you specify must be in distinct Availability Zones. When you create a cluster, Amazon MSK distributes the broker nodes evenly across the subnets that you specify.
Client subnets can't occupy the Availability Zone with ID use1-az3 .
789 790 791 |
# File 'msk/cfn_cluster.rb', line 789 def client_subnets @client_subnets end |
#connectivity_info ⇒ AWSCDK::IResolvable, ... (readonly)
Information about the cluster's connectivity setting.
821 822 823 |
# File 'msk/cfn_cluster.rb', line 821 def connectivity_info @connectivity_info end |
#instance_type ⇒ String (readonly)
The type of Amazon EC2 instances to use for brokers.
Depending on the broker type , Amazon MSK supports the following broker sizes:
Standard broker sizes
- kafka.t3.small
You can't select the kafka.t3.small instance type when the metadata mode is KRaft.
- kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, kafka.m5.4xlarge, kafka.m5.8xlarge, kafka.m5.12xlarge, kafka.m5.16xlarge, kafka.m5.24xlarge
- kafka.m7g.large, kafka.m7g.xlarge, kafka.m7g.2xlarge, kafka.m7g.4xlarge, kafka.m7g.8xlarge, kafka.m7g.12xlarge, kafka.m7g.16xlarge
Express broker sizes
- express.m7g.large, express.m7g.xlarge, express.m7g.2xlarge, express.m7g.4xlarge, express.m7g.8xlarge, express.m7g.12xlarge, express.m7g.16xlarge
Some broker sizes might not be available in certian AWS Regions. See the updated Pricing tools section on the Amazon MSK pricing page for the latest list of available instances by Region.
811 812 813 |
# File 'msk/cfn_cluster.rb', line 811 def instance_type @instance_type end |
#security_groups ⇒ Array<String>? (readonly)
The security groups to associate with the ENIs in order to specify who can connect to and communicate with the Amazon MSK cluster.
If you don't specify a security group, Amazon MSK uses the default security group associated with the VPC. If you specify security groups that were shared with you, you must ensure that you have permissions to them. Specifically, you need the ec2:DescribeSecurityGroups permission.
828 829 830 |
# File 'msk/cfn_cluster.rb', line 828 def security_groups @security_groups end |
#storage_info ⇒ AWSCDK::IResolvable, ... (readonly)
Contains information about storage volumes attached to Amazon MSK broker nodes.
833 834 835 |
# File 'msk/cfn_cluster.rb', line 833 def storage_info @storage_info end |
Class Method Details
.jsii_properties ⇒ Object
835 836 837 838 839 840 841 842 843 844 |
# File 'msk/cfn_cluster.rb', line 835 def self.jsii_properties { :client_subnets => "clientSubnets", :instance_type => "instanceType", :broker_az_distribution => "brokerAzDistribution", :connectivity_info => "connectivityInfo", :security_groups => "securityGroups", :storage_info => "storageInfo", } end |
Instance Method Details
#to_jsii ⇒ Object
846 847 848 849 850 851 852 853 854 855 856 857 |
# File 'msk/cfn_cluster.rb', line 846 def to_jsii result = {} result.merge!({ "clientSubnets" => @client_subnets, "instanceType" => @instance_type, "brokerAzDistribution" => @broker_az_distribution, "connectivityInfo" => @connectivity_info, "securityGroups" => @security_groups, "storageInfo" => @storage_info, }) result.compact end |