public Cluster withClusterSecurityGroups(ClusterSecurityGroupMembership... clusterSecurityGroups) {
        if (this.clusterSecurityGroups == null) {
            setClusterSecurityGroups(new com.amazonaws.internal.SdkInternalList<ClusterSecurityGroupMembership>(clusterSecurityGroups.length));
        }
        for (ClusterSecurityGroupMembership ele : clusterSecurityGroups) {
            this.clusterSecurityGroups.add(ele);
        }
        return this;
    }
<p>
A list of cluster security group that are associated with the cluster. Each security group is represented by an
element that contains <code>ClusterSecurityGroup.Name</code> and <code>ClusterSecurityGroup.Status</code>
subelements.
</p>
<p>
Cluster security groups are used when the cluster is not created in an Amazon Virtual Private Cloud (VPC).
Clusters that are created in a VPC use VPC security groups, which are listed by the <b>VpcSecurityGroups</b>
parameter.
</p>
<p>
<b>NOTE:</b> This method appends the values to the existing list (if any). Use
{@link #setClusterSecurityGroups(java.util.Collection)} or
{@link #withClusterSecurityGroups(java.util.Collection)} if you want to override the existing values.
</p>

@param clusterSecurityGroups
       A list of cluster security group that are associated with the cluster. Each security group is represented
       by an element that contains <code>ClusterSecurityGroup.Name</code> and
       <code>ClusterSecurityGroup.Status</code> subelements. </p>
       <p>
       Cluster security groups are used when the cluster is not created in an Amazon Virtual Private Cloud (VPC).
       Clusters that are created in a VPC use VPC security groups, which are listed by the
       <b>VpcSecurityGroups</b> parameter.
@return Returns a reference to this object so that method calls can be chained together.
aws-java-sdk-redshift/src/main/java/com/amazonaws/services/redshift/model/Cluster.java