Example usage for com.amazonaws.services.rds.model CreateDBInstanceRequest setDBInstanceClass

List of usage examples for com.amazonaws.services.rds.model CreateDBInstanceRequest setDBInstanceClass

Introduction

In this page you can find the example usage for com.amazonaws.services.rds.model CreateDBInstanceRequest setDBInstanceClass.

Prototype


public void setDBInstanceClass(String dBInstanceClass) 

Source Link

Document

The compute and memory capacity of the DB instance, for example, db.m4.large.

Usage

From source file:RDSManager.java

public String createRDS() {
    String endPointAddr = null;//  w  ww  .j av  a 2  s.c  o m
    try {
        System.out.println("Creating RDS");
        CreateDBParameterGroupRequest cdpgr = new CreateDBParameterGroupRequest();
        cdpgr.setDBParameterGroupName(DB_PARAM_GROUP_NAME);
        cdpgr.setDescription(DB_PARAM_GROU_DESC);
        cdpgr.setDBParameterGroupFamily(DB_PARAM_GROUP_FAMILY);
        rds.createDBParameterGroup(cdpgr);

        Collection<Parameter> parameters = new ArrayList<Parameter>();
        parameters.add(new Parameter().withParameterName("max_connections").withParameterValue("200")
                .withApplyMethod("immediate"));
        parameters.add(new Parameter().withParameterName("max_allowed_packet").withParameterValue("999999")
                .withApplyMethod("immediate"));

        rds.modifyDBParameterGroup(new ModifyDBParameterGroupRequest()
                .withDBParameterGroupName(DB_PARAM_GROUP_NAME).withParameters(parameters));

        /// create configuration of instance
        CreateDBInstanceRequest cdbir = new CreateDBInstanceRequest();
        cdbir.setEngine(RDS_ENGINE);
        cdbir.setEngineVersion(ENGINE_VERSION);
        cdbir.setLicenseModel(LICENSE_MODEL);
        cdbir.setAutoMinorVersionUpgrade(AUTO_MINOR_VERSION_UPGRADE);
        cdbir.setDBInstanceClass(DB_INSTANCE_TYPE);
        cdbir.setMultiAZ(MULTI_AZ);
        cdbir.setAllocatedStorage(ALLOCATED_STORAGE);
        cdbir.setDBInstanceIdentifier(DBInstanceIdentifier);
        cdbir.setMasterUsername(MASTER_USER_NAME);
        cdbir.setMasterUserPassword(MasterUserPassword);
        cdbir.setDBName(DB_NAME);
        cdbir.setPort(DB_PORT);
        cdbir.setBackupRetentionPeriod(BackupRetentionPeriod);
        cdbir.setPubliclyAccessible(PubliclyAccessible);
        cdbir.setDBParameterGroupName(DB_PARAM_GROUP_NAME);
        ArrayList<String> arrDbSecur = new ArrayList<String>();
        arrDbSecur.add(SECURITY_GROUP_NAME);
        cdbir.setDBSecurityGroups(arrDbSecur);

        System.out.println("Creating RDS DB Instance");
        // creating instance
        DBInstance dbi = rds.createDBInstance(cdbir);

        // wait till instance created
        boolean isWaiting = true;
        while (isWaiting) {
            Thread.sleep(30000);
            DescribeDBInstancesRequest request = new DescribeDBInstancesRequest();
            request.setDBInstanceIdentifier(dbi.getDBInstanceIdentifier());
            DescribeDBInstancesResult result = rds.describeDBInstances(request);
            List<DBInstance> d = result.getDBInstances();
            Iterator<DBInstance> i = d.iterator();

            while (i.hasNext()) {
                DBInstance d1 = i.next();
                System.out.println("RDS Status : " + d1.getDBInstanceStatus());
                if (d1.getDBInstanceStatus().equals("available")) {
                    isWaiting = false;
                    System.out.println("RDS Endpoint Address : " + d1.getEndpoint().getAddress());
                    endPointAddr = d1.getEndpoint().getAddress();
                }
            }
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
    return endPointAddr;
}

From source file:beanstalk.BeansDatabase.java

License:Apache License

public DatabaseObject createDatabase(String AWSKeyId, String AWSSecretKey, String dbname, String dbType,
        String dbIdentifier, String dbClass, int dbSize, String dbUser, String dbPassword) {//throws Exception {
    DatabaseObject dbobj = new DatabaseObject();

    String endpoint_str = "";
    BasicAWSCredentials basic_credentials = new BasicAWSCredentials(AWSKeyId, AWSSecretKey);

    AmazonRDSClient rDSClient = new AmazonRDSClient(basic_credentials);

    //Minimum size per db type, as described in API Reference
    if (dbType != null && dbType.equalsIgnoreCase("MySQL") && dbSize < 5) {
        dbSize = 5;//from  w  w w.  j a v a  2 s  . c  o  m
    }

    if (dbType != null && (dbType.equalsIgnoreCase("oracle-se1") || dbType.equalsIgnoreCase("oracle-se")
            || dbType.equalsIgnoreCase("oracle-ee")) && dbSize < 10) {
        dbSize = 10;
    }

    CreateDBInstanceRequest create_dbinstance = new CreateDBInstanceRequest();
    create_dbinstance.setDBName(dbname);
    create_dbinstance.setEngine(dbType);
    create_dbinstance.setMasterUsername(dbUser);
    create_dbinstance.setMasterUserPassword(dbPassword);
    create_dbinstance.setDBInstanceIdentifier(dbIdentifier);
    create_dbinstance.setAllocatedStorage(dbSize);//min size =5GB for mysql,10gb for oracle
    create_dbinstance.setDBInstanceClass("db.m1.small");//db.m1.small//db.m1.large//db.m1.xlarge//db.m2.xlarge//db.m2.2xlarge//db.m2.4xlarge....
    String group = "c4sallowallipgroup";
    Vector sec_groups = new Vector();
    sec_groups.add(group);
    create_dbinstance.setDBSecurityGroups(sec_groups);
    DBInstance dbInstance_create = new DBInstance();
    System.out.println("will call createDBInstance");

    try {
        dbInstance_create = rDSClient.createDBInstance(create_dbinstance);
    } catch (AmazonClientException amazonClientException) {
        System.out.println("Error in Database Creation.");
    }
    System.out.println("called createDBInstance");

    String status = "";
    System.out.println("called createDBInstance");

    //wait 5 minutes for the first time
    int busyWaitingTime = 3000;//3sec
    //int busyWaitingTime=300000;
    //int busyWaitingTime=40000;  

    while (!status.equalsIgnoreCase("available")) {
        System.out.println("just got inside while");

        try {
            System.out.println("preparing for sleep");

            Thread.sleep(busyWaitingTime);
            System.out.println("woke up");

        } catch (InterruptedException ex) {
            Logger.getLogger(BeansDatabase.class.getName()).log(Level.SEVERE, null, ex);

        }

        DescribeDBInstancesRequest describeDBInstancesRequest = new DescribeDBInstancesRequest();

        describeDBInstancesRequest.setDBInstanceIdentifier(dbname + "cloud4soaid");
        //describeDBInstancesRequest.setDBInstanceIdentifier("c4sdb2cloud4soaid");
        DBInstance dbInstance = new DBInstance();

        System.out.println("will call describeDBInstances");
        DescribeDBInstancesResult describeDBInstances = rDSClient
                .describeDBInstances(describeDBInstancesRequest);
        System.out.println("called describeDBInstances");

        List<DBInstance> dbInstances = describeDBInstances.getDBInstances();

        System.out.println("size--->" + dbInstances.size());
        System.out.println("status--->" + dbInstances.get(0).getDBInstanceStatus());
        System.out.println("dbname--->" + dbInstances.get(0).getDBName());
        dbobj.setDbhost(dbInstances.get(0).getDBInstanceStatus());

        if (dbInstances.get(0).getEndpoint() != null) {

            System.out.println("endpoint--->" + dbInstances.get(0).getEndpoint().getAddress());
            System.out.println("port--->" + dbInstances.get(0).getEndpoint().getPort());
            System.out.println("all--->" + dbInstances.get(0).toString());

            dbobj.setDbhost(dbInstances.get(0).getEndpoint().getAddress());
            dbobj.setDbname(dbInstances.get(0).getDBName());
            dbobj.setPort(dbInstances.get(0).getEndpoint().getPort());

            status = dbInstances.get(0).getDBInstanceStatus();

            //after the first 5 minutes test every minute
            busyWaitingTime = 60000;
        }
    }
    System.out.println("just got outside while");
    System.out.println(
            "just got outside while and endpoint is :" + dbobj.getDbhost() + ", name is " + dbobj.getDbname());

    /*
     *
     * DescribeDBInstancesRequest describeDBInstancesRequest = new
     * DescribeDBInstancesRequest();
     *
     * describeDBInstancesRequest.setDBInstanceIdentifier(dbname +
     * "cloud4soaid");
     * //describeDBInstancesRequest.setDBInstanceIdentifier("c4sdb2cloud4soaid");
     * DBInstance dbInstance = new DBInstance();
     *
     * System.out.println("will call describeDBInstances");
     * DescribeDBInstancesResult describeDBInstances =
     * rDSClient.describeDBInstances(describeDBInstancesRequest);
     * System.out.println("called describeDBInstances");
     *
     * List<DBInstance> dbInstances = describeDBInstances.getDBInstances();
     *
     * System.out.println("size--->" + dbInstances.size());
     * System.out.println("status--->" +
     * dbInstances.get(0).getDBInstanceStatus());
     * System.out.println("dbname--->" + dbInstances.get(0).getDBName());
     * dbobj.setDbhost(dbInstances.get(0).getDBInstanceStatus());
     *
     *
     * if(dbInstances.get(0).getEndpoint()!=null){
     *
     *
     * System.out.println("endpoint--->" +
     * dbInstances.get(0).getEndpoint().getAddress());
     * System.out.println("port--->" +
     * dbInstances.get(0).getEndpoint().getPort());
     * System.out.println("all--->" + dbInstances.get(0).toString());
     *
     * dbobj.setDbhost(dbInstances.get(0).getEndpoint().getAddress());
     * dbobj.setDbname(dbInstances.get(0).getDBName());
     * dbobj.setPort(dbInstances.get(0).getEndpoint().getPort()); }
     */

    return dbobj;
}

From source file:com.kpbird.aws.Main.java

public void createRDS() {
    try {/*from  w w  w . ja v a  2  s  . c  o  m*/
        log.Info("About to Launch RDS");

        log.Info("Createing DB Parameger Group");

        CreateDBParameterGroupRequest cdpgr = new CreateDBParameterGroupRequest();
        cdpgr.setDBParameterGroupName(DBParameterGroupName);
        cdpgr.setDescription(DBParameterGroupDescription);
        cdpgr.setDBParameterGroupFamily(DBParameterGroupFamily);
        rdsclient.createDBParameterGroup(cdpgr);

        Collection<Parameter> parameters = new ArrayList<Parameter>();
        parameters.add(new Parameter().withParameterName(DBParameterName1).withParameterValue(DBParameterValue1)
                .withApplyMethod(DBParameterApplyMethod1));
        parameters.add(new Parameter().withParameterName(DBParameterName2).withParameterValue(DBParameterValue2)
                .withApplyMethod(DBParameterApplyMethod2));

        rdsclient.modifyDBParameterGroup(new ModifyDBParameterGroupRequest()
                .withDBParameterGroupName(DBParameterGroupName).withParameters(parameters));

        log.Info("Create DB Instance Request");
        /// create configuration of instance
        CreateDBInstanceRequest cdbir = new CreateDBInstanceRequest();
        cdbir.setEngine(rdsengine);
        cdbir.setEngineVersion(EngineVersion);
        cdbir.setLicenseModel(LicenseModel);
        cdbir.setAutoMinorVersionUpgrade(AutoMinorVersionUpgrade);
        cdbir.setDBInstanceClass(DBInstanceClass);
        cdbir.setMultiAZ(MultiAZ);
        cdbir.setAllocatedStorage(AllocatedStorage);
        cdbir.setDBInstanceIdentifier(DBInstanceIdentifier);
        cdbir.setMasterUsername(MasterUsername);
        cdbir.setMasterUserPassword(MasterUserPassword);
        cdbir.setDBName(DBName);
        cdbir.setPort(Port);
        cdbir.setBackupRetentionPeriod(BackupRetentionPeriod);
        cdbir.setPubliclyAccessible(PubliclyAccessible);
        cdbir.setDBParameterGroupName(DBParameterGroupName);
        ArrayList<String> arrDbSecur = new ArrayList<String>();
        arrDbSecur.add(DBSecurityGroupName);
        cdbir.setDBSecurityGroups(arrDbSecur);

        log.Info("Creating RDS DB Instance");
        // creating instance
        DBInstance dbi = rdsclient.createDBInstance(cdbir);

        // wait till instance created
        boolean isWaiting = true;
        while (isWaiting) {
            Thread.sleep(5000);
            DescribeDBInstancesRequest request = new DescribeDBInstancesRequest();
            request.setDBInstanceIdentifier(dbi.getDBInstanceIdentifier());
            DescribeDBInstancesResult result = rdsclient.describeDBInstances(request);
            List<DBInstance> d = result.getDBInstances();
            Iterator<DBInstance> i = d.iterator();

            while (i.hasNext()) {
                DBInstance d1 = i.next();
                log.Info("RDS Status : " + d1.getDBInstanceStatus());
                if (d1.getDBInstanceStatus().equals("available")) {
                    isWaiting = false;
                    log.Info("RDS Endpoint : " + d1.getEndpoint().getAddress());
                }
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
        System.exit(0);
    }
}

From source file:org.cloudml.connectors.BeanstalkConnector.java

License:Open Source License

public void createDBInstance(String engine, String version, String dbInstanceIdentifier, String dbName,
        String username, String password, Integer allocatedSize, String dbInstanceClass, String securityGroup) {

    if (allocatedSize <= 0) //default minimal size for rds
        allocatedSize = 5;/* w ww . j av  a2s  .c om*/

    String groupName = dbInstanceIdentifier + "-security-group";
    CreateDBSecurityGroupRequest csg = new CreateDBSecurityGroupRequest().withDBSecurityGroupName(groupName)
            .withDBSecurityGroupDescription(groupName);

    try {
        rdsClient.createDBSecurityGroup(csg);
    } catch (Exception e) {
        journal.log(Level.INFO, ">> Security Group " + groupName + " already exists.");
    }

    CreateDBInstanceRequest request = new CreateDBInstanceRequest().withDBName(null)
            .withAllocatedStorage(allocatedSize).withDBInstanceIdentifier(dbInstanceIdentifier)
            .withDBName(dbName).withMasterUsername(username).withMasterUserPassword(password).withEngine(engine)
            .withPubliclyAccessible(true).withEngineVersion(version);
    request.getDBSecurityGroups().add(groupName);
    if (!securityGroup.equals(""))
        request.getDBSecurityGroups().add(securityGroup);

    previousRequests.put(dbInstanceIdentifier, request);
    if (dbInstanceClass == null || dbInstanceClass.length() == 0) {
        request.setDBInstanceClass("db.t1.micro");
    } else {
        request.setDBInstanceClass(dbInstanceClass);
    }
    DBInstance instance = rdsClient.createDBInstance(request);
    journal.log(Level.INFO,
            String.format(">> RDS instance created: %s, at %s", instance.toString(), instance.getEndpoint()));

    createdInstances.put(dbInstanceIdentifier, instance);

}