# File lib/fog/aws/requests/redshift/modify_cluster.rb, line 60
        def modify_cluster(options = {})
          cluster_identifier                  = options[:cluster_identifier]
          cluster_type                        = options[:cluster_type]
          node_type                           = options[:node_type]
          master_user_password                = options[:master_user_password]
          preferred_maintenance_window        = options[:preferred_maintenance_window]
          cluster_parameter_group_name        = options[:cluster_parameter_group_name]
          automated_snapshot_retention_period = options[:automated_snapshot_retention_period]
          cluster_version                     = options[:cluster_version]
          allow_version_upgrade               = options[:allow_version_upgrade]
          number_of_nodes                     = options[:number_of_nodes]

          path = "/"
          params = {
            :idempotent => true,
            :headers    => {},
            :path       => path,
            :method     => :put,
            :query      => {},
            :parser     => Fog::Parsers::Redshift::AWS::Cluster.new
          }

          if cluster_security_groups = options.delete(:ClusterSecurityGroups)
            params[:query].merge!(Fog::AWS.indexed_param('ClusterSecurityGroups.member.%d', [*cluster_security_groups]))
          end

          if vpc_security_group_ids = options.delete(:VpcSecurityGroupIds)
            params[:query].merge!(Fog::AWS.indexed_param('VpcSecurityGroupIds.member.%d', [*vpc_security_group_ids]))
          end

          params[:query]['Action']                           = 'ModifyCluster'
          params[:query]['ClusterIdentifier']                = cluster_identifier if cluster_identifier
          params[:query]['ClusterParameterGroupName']        = cluster_parameter_group_name if cluster_parameter_group_name
          params[:query]['ClusterType']                      = cluster_type if cluster_type
          params[:query]['NodeType']                         = node_type if node_type
          params[:query]['MasterUserPassword']               = master_user_password if master_user_password
          params[:query]['PreferredMaintenanceWindow']       = preferred_maintenance_window if preferred_maintenance_window
          params[:query]['AutomatedSnapshotRetentionPeriod'] = automated_snapshot_retention_period if automated_snapshot_retention_period
          params[:query]['ClusterVersion']                   = cluster_version if cluster_version
          params[:query]['AllowVersionUpgrade']              = allow_version_upgrade if allow_version_upgrade
          params[:query]['NumberOfNodes']                    = number_of_nodes if number_of_nodes
          params[:query]['ClusterSecurityGroups']            = cluster_security_groups if cluster_security_groups
          params[:query]['VpcSecurityGroupIds']              = vpc_security_group_ids if vpc_security_group_ids

          request(params)
        end