User guide

For step-by-step instructions to run the following example, see Running Java Examples for Amazon
Redshift Using Eclipse (p. 130).You need to update the code and specify a cluster identifier.
import java.io.IOException;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.PropertiesCredentials;
import com.amazonaws.services.redshift.AmazonRedshiftClient;
import com.amazonaws.services.redshift.model.*;
public class CreateAndModifyCluster {
public static AmazonRedshiftClient client;
public static String clusterIdentifier = "***provide a cluster identifi
er***";
public static long sleepTime = 20;
public static void main(String[] args) throws IOException {
AWSCredentials credentials = new PropertiesCredentials(
CreateAndModifyCluster.class
.getResourceAsStream("AwsCredentials.properties"));
client = new AmazonRedshiftClient(credentials);
try {
createCluster();
waitForClusterReady();
describeClusters();
modifyCluster();
describeClusters();
} catch (Exception e) {
System.err.println("Operation failed: " + e.getMessage());
}
}
private static void createCluster() {
CreateClusterRequest request = new CreateClusterRequest()
.withClusterIdentifier(clusterIdentifier)
.withMasterUsername("masteruser")
.withMasterUserPassword("12345678Aa")
.withNodeType("dw.hs1.xlarge")
.withNumberOfNodes(2);
Cluster createResponse = client.createCluster(request);
System.out.println("Created cluster " + createResponse.getClusterIdenti
fier());
}
private static void describeClusters() {
DescribeClustersRequest request = new DescribeClustersRequest()
.withClusterIdentifier(clusterIdentifier);
DescribeClustersResult result = client.describeClusters(request);
printResult(result);
}
private static void modifyCluster() {
API Version 2012-12-01
30
Amazon Redshift Management Guide
Managing Clusters Using the AWS SDK for Java