 
     public struct UpdateClusterConfigurationResponse: AWSShape {
         public static var _members: [AWSShapeMember] = [
-            AWSShapeMember(label: "ClusterArn", location: .body(locationName: "clusterArn"), required: false, type: .string), 
+            AWSShapeMember(label: "ClusterArn", location: .body(locationName: "clusterArn"), required: false, type: .string),
             AWSShapeMember(label: "ClusterOperationArn", location: .body(locationName: "clusterOperationArn"), required: false, type: .string)
         ]
 
         ///             The Amazon Resource Name (ARN) of the cluster.
-        ///          
+        ///
         public let clusterArn: String?
         ///             The Amazon Resource Name (ARN) of the cluster operation.
-        ///          
+        ///
         public let clusterOperationArn: String?
 
         public init(clusterArn: String? = nil, clusterOperationArn: String? = nil) {

        ]

        ///             Details for ClientAuthentication using TLS.
        ///          
        public let tls: Tls?

        public init(tls: Tls? = nil) {


    public struct BrokerNodeGroupInfo: AWSShape {
        public static var _members: [AWSShapeMember] = [
            AWSShapeMember(label: "BrokerAZDistribution", location: .body(locationName: "brokerAZDistribution"), required: false, type: .enum),
            AWSShapeMember(label: "ClientSubnets", location: .body(locationName: "clientSubnets"), required: true, type: .list),
            AWSShapeMember(label: "InstanceType", location: .body(locationName: "instanceType"), required: true, type: .string),
            AWSShapeMember(label: "SecurityGroups", location: .body(locationName: "securityGroups"), required: false, type: .list),
            AWSShapeMember(label: "StorageInfo", location: .body(locationName: "storageInfo"), required: false, type: .structure)
        ]

        ///             The distribution of broker nodes across Availability Zones. This is an optional parameter. If you don't specify it, Amazon MSK gives it the value DEFAULT. You can also explicitly set this parameter to the value DEFAULT. No other values are currently allowed.
        ///          Amazon MSK distributes the broker nodes evenly across the Availability Zones that correspond to the subnets you provide when you create the cluster.
        ///
        public let brokerAZDistribution: BrokerAZDistribution?
        ///             The list of subnets to connect to in the client virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets. Client applications use elastic network interfaces to produce and consume data. Client subnets can't be in Availability Zone us-east-1e.
        ///
        public let clientSubnets: [String]
        ///             The type of Amazon EC2 instances to use for Kafka brokers. The following instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge,
        /// kafka.m5.4xlarge, kafka.m5.12xlarge, and kafka.m5.24xlarge.
        ///
        public let instanceType: String
        ///             The AWS security groups to associate with the elastic network interfaces 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.
        ///
        public let securityGroups: [String]?
        ///             Contains information about storage volumes attached to MSK broker nodes.
        ///
        public let storageInfo: StorageInfo?

        public init(brokerAZDistribution: BrokerAZDistribution? = nil, clientSubnets: [String], instanceType: String, securityGroups: [String]? = nil, storageInfo: StorageInfo? = nil) {
