List of usage examples for com.amazonaws.services.rds AmazonRDSClient AmazonRDSClient
AmazonRDSClient(AwsSyncClientParams clientParams)
From source file:com.haskins.cloudtrailviewer.dialog.resourcedetail.detailpanels.RdsInstanceDetail.java
License:Open Source License
@Override public String retrieveDetails(ResourceDetailRequest detailRequest) { String response = null;//from ww w. j a v a 2 s .c om try { AmazonRDS client = new AmazonRDSClient(credentials); client.setRegion(Region.getRegion(Regions.fromName(detailRequest.getRegion()))); DescribeDBInstancesRequest request = new DescribeDBInstancesRequest(); request.setDBInstanceIdentifier(detailRequest.getResourceName()); DescribeDBInstancesResult result = client.describeDBInstances(request); buildUI(result); } catch (IllegalArgumentException | AmazonClientException e) { response = e.getMessage(); LOGGER.log(Level.WARNING, "Problem retrieving RDS details from AWS", e); } return response; }
From source file:com.jaspersoft.jasperserver.api.engine.jasperreports.util.AwsDataSourceRecovery.java
License:Open Source License
private void createRDSSecurityGroup(AwsReportDataSource awsReportDataSource) throws Exception { AWSCredentials awsCredentials = AwsCredentialUtil.getAWSCredentials(awsReportDataSource.getAWSAccessKey(), awsReportDataSource.getAWSSecretKey(), awsReportDataSource.getRoleARN()); AmazonRDSClient rdsClient = new AmazonRDSClient(awsCredentials); DescribeDBInstancesRequest describeDBInstancesRequest = new DescribeDBInstancesRequest() .withDBInstanceIdentifier(awsReportDataSource.getDbInstanceIdentifier()); String endpoint = awsReportDataSource.getAWSRegion(); if (endpoint != null) { rdsClient.setEndpoint(RDS + "." + endpoint); }//www . j ava 2s . com DBInstance dbInstance; DescribeDBInstancesResult describeInstancesResult = rdsClient .describeDBInstances(describeDBInstancesRequest); if (describeInstancesResult != null && describeInstancesResult.getDBInstances() != null && describeInstancesResult.getDBInstances().size() > 0) { dbInstance = describeInstancesResult.getDBInstances().get(0); if (!dbInstance.getDBInstanceStatus().equals(awsDataSourceActiveStatus)) { throw new JSException( messageSource.getMessage("aws.exception.datasource.recovery.instance.not.active", null, LocaleContextHolder.getLocale())); } Map<String, String> awsDSInstanceDetails = new HashMap<String, String>(); awsDSInstanceDetails.put(DB_REGION, parseRegionFromSubRegion(dbInstance.getAvailabilityZone())); DBSubnetGroup dbSubnetGroup = dbInstance.getDBSubnetGroup(); if (dbSubnetGroup != null) { awsDSInstanceDetails.put(DB_VPC_ID, dbSubnetGroup.getVpcId()); } else { awsDSInstanceDetails.put(DB_VPC_ID, null); } String instanceSourceIp = determineSourceIpAddress(awsDSInstanceDetails); if (!isNotEmpty(instanceSourceIp)) { throw new JSException( getErrorMessage("aws.exception.datasource.recovery.public.ip.not.determined")); } //IP that should be added in CIDRIP of JS DB Security Group String ingressIpMask = instanceSourceIp + ingressIpPermission; String vpcSecurityGroupId = null; if (awsDSInstanceDetails.get(DB_VPC_ID) != null) { //Recover VPC Security Group. vpcSecurityGroupId = recoverVpcSecurityGroup(awsReportDataSource, awsDSInstanceDetails.get(DB_VPC_ID), ingressIpMask); } else { //Recover Db Security Group //Fount existing JS DB Security Group Boolean jsSecurityGroupMembershipFount = true; DBSecurityGroup dbSecurityGroup = null; try { DescribeDBSecurityGroupsRequest describeDBSecurityGroupsRequest = new DescribeDBSecurityGroupsRequest() .withDBSecurityGroupName(awsProperties.getSecurityGroupName()); DescribeDBSecurityGroupsResult describeDBSecurityGroupsResult = rdsClient .describeDBSecurityGroups(describeDBSecurityGroupsRequest); dbSecurityGroup = describeDBSecurityGroupsResult.getDBSecurityGroups().get(0); } catch (DBSecurityGroupNotFoundException ex) { jsSecurityGroupMembershipFount = false; } boolean ingressIpMaskExist = false; if (jsSecurityGroupMembershipFount) { List<IPRange> ipRanges = dbSecurityGroup.getIPRanges(); for (IPRange ipRange : ipRanges) { if (ipRange.getCIDRIP().contains(ingressIpMask)) { ingressIpMaskExist = true; break; } } if (!ingressIpMaskExist) { //Remove old ingress Ips for (IPRange ipRange : ipRanges) { RevokeDBSecurityGroupIngressRequest revokeDBSecurityGroupIngressRequest = new RevokeDBSecurityGroupIngressRequest() .withDBSecurityGroupName(awsProperties.getSecurityGroupName()) .withCIDRIP(ipRange.getCIDRIP()); rdsClient.revokeDBSecurityGroupIngress(revokeDBSecurityGroupIngressRequest); } } } else { dbSecurityGroup = rdsClient.createDBSecurityGroup(new CreateDBSecurityGroupRequest() .withDBSecurityGroupName(awsProperties.getSecurityGroupName()) .withDBSecurityGroupDescription(awsProperties.getSecurityGroupDescription())); } //Authorize new ingress Ip if (!ingressIpMaskExist) { rdsClient.authorizeDBSecurityGroupIngress(new AuthorizeDBSecurityGroupIngressRequest() .withDBSecurityGroupName(dbSecurityGroup.getDBSecurityGroupName()) .withCIDRIP(ingressIpMask)); } } if (vpcSecurityGroupId == null) { List<DBSecurityGroupMembership> dbSecurityGroupMemberships = dbInstance.getDBSecurityGroups(); List<String> dbSecurityGroupNames = new ArrayList<String>(); for (DBSecurityGroupMembership dbSecurityGroupMembership : dbSecurityGroupMemberships) { dbSecurityGroupNames.add(dbSecurityGroupMembership.getDBSecurityGroupName()); } //If RDS Instance does not contain JSSecurityGroup that we should assign it to. if (!dbSecurityGroupNames.contains(awsProperties.getSecurityGroupName())) { dbSecurityGroupNames.add(awsProperties.getSecurityGroupName()); ModifyDBInstanceRequest modifyDBInstanceRequest = new ModifyDBInstanceRequest() .withDBSecurityGroups(dbSecurityGroupNames) .withDBInstanceIdentifier(dbInstance.getDBInstanceIdentifier()); modifyDBInstanceRequest.setApplyImmediately(true); rdsClient.modifyDBInstance(modifyDBInstanceRequest); } } else { List<VpcSecurityGroupMembership> vpcSecurityGroupMemberships = dbInstance.getVpcSecurityGroups(); List<String> vpcSecurityGroupIds = new ArrayList<String>(); for (VpcSecurityGroupMembership vpcSecurityGroupMembership : vpcSecurityGroupMemberships) { vpcSecurityGroupIds.add(vpcSecurityGroupMembership.getVpcSecurityGroupId()); } //If RDS Instance does not contain VPC Security Group that we should assign it to. if (!vpcSecurityGroupIds.contains(vpcSecurityGroupId)) { vpcSecurityGroupIds.add(vpcSecurityGroupId); ModifyDBInstanceRequest modifyDBInstanceRequest = new ModifyDBInstanceRequest() .withVpcSecurityGroupIds(vpcSecurityGroupIds) .withDBInstanceIdentifier(dbInstance.getDBInstanceIdentifier()); modifyDBInstanceRequest.setApplyImmediately(true); rdsClient.modifyDBInstance(modifyDBInstanceRequest); } } } }
From source file:com.jaspersoft.jasperserver.war.amazon.client.AwsDataSourceServiceImpl.java
License:Open Source License
public List<AwsDBInstanceDTO> getAwsDBInstances(AWSCredentials awsCredentials, String amazonDBService, String endpoint) {/*from w w w.j a va2 s.c om*/ try { if (amazonDBService.toLowerCase().equals(RDS)) { //Make RDS service calls to read all available RDS instances AmazonRDSClient rdsClient = new AmazonRDSClient(awsCredentials); if (endpoint != null) { rdsClient.setEndpoint(RDS + "." + endpoint); } return toRDSInstancesDTOs(getRdsInstances(rdsClient), amazonDBService); } else if (amazonDBService.toLowerCase().equals(Redshift)) { //Make RedShift service calls to read all available RedShift instances AmazonRedshiftClient redshiftClient = new AmazonRedshiftClient(awsCredentials); if (endpoint != null) { redshiftClient.setEndpoint(Redshift + "." + endpoint); } return toRedshiftInstancesDTOs(getRedshiftInstances(redshiftClient), amazonDBService); } else { return new ArrayList<AwsDBInstanceDTO>(); } } catch (AmazonServiceException ex) { log.warn("Loading AWS data source metadata for " + amazonDBService + ": " + ex.getMessage()); String errorCode = ex.getErrorCode(); if (ex.getStatusCode() == 403 && errorCode != null) { errorCode = errorCode.toLowerCase(); if (errorCode.equals(ACCESS_DENIED)) { return generateDBServiceInfoStatus(amazonDBService, "resource.dataSource.aws.access.denied"); } else if (errorCode.equals(INVALID_CLIENT_TOKEN_ID)) { throw new JSShowOnlyErrorMessage( messageSource.getMessage("" + "aws.exception.datasource.accessKey.invalid", null, LocaleContextHolder.getLocale())); } else if (errorCode.equals(SIGNATURE_DOES_NOT_MATCH)) { throw new JSShowOnlyErrorMessage( messageSource.getMessage("" + "aws.exception.datasource.secretKey.invalid", null, LocaleContextHolder.getLocale())); } } return generateDBServiceInfoStatus(amazonDBService, "[" + ex.getMessage() + "]"); } catch (AmazonClientException ex) { if (ex.getCause() instanceof UnknownHostException) { return generateDBServiceInfoStatus(endpoint, "resource.dataSource.aws.unknown.host"); } return generateDBServiceInfoStatus(amazonDBService, "[" + ex.getMessage() + "]"); } }
From source file:com.kpbird.aws.Main.java
private void init() { credentials = new BasicAWSCredentials(accessKey, secretKey); // end point for singapore endPoint = "https://rds.ap-southeast-1.amazonaws.com"; // regions for singapore region = Region.getRegion(Regions.AP_SOUTHEAST_1); // EC2Client object ec2client = new AmazonEC2Client(credentials); ec2client.setEndpoint(endPoint);//from ww w . j a v a 2 s .c om ec2client.setRegion(region); // RDSClient object rdsclient = new AmazonRDSClient(credentials); rdsclient.setRegion(region); rdsclient.setEndpoint(endPoint); }
From source file:com.optimalbi.AmazonAccount.java
License:Apache License
private void populateRDS() throws AmazonClientException { for (Region region : getRegions()) { try {/*from ww w. j a va 2s . c o m*/ if (region.isServiceSupported(ServiceAbbreviations.RDS)) { AmazonRDSClient rds = new AmazonRDSClient(getCredentials().getCredentials()); rds.setRegion(region); DescribeDBInstancesResult result = rds.describeDBInstances(); List<DBInstance> instances = result.getDBInstances(); getLogger().info("RDS, Adding " + instances.size() + " instances from " + region.getName()); for (DBInstance i : instances) { LocalRDSService temp; if (i.getDBName() != null) { temp = new LocalRDSService(i.getDBName(), getCredentials(), region, i, getLogger()); } else { temp = new LocalRDSService(i.getDBInstanceIdentifier(), getCredentials(), region, i, getLogger()); } if (servicePricings != null && servicePricings.size() > 0) { if (servicePricings.get(region).getRDSPricing() != null) { temp.attachPricing(servicePricings.get(region).getRDSPricing()); } } services.add(temp); } } else { getLogger().info("RDS, NOPE from " + region.getName()); } } catch (AmazonClientException e) { throw new AmazonClientException(region.getName() + " " + e.getMessage()); } completed.set(completed.get() + 1); } }
From source file:com.optimalbi.Controller.AmazonAccount.java
License:Apache License
private void populateRDS() throws AmazonClientException { for (Region region : getRegions()) { try {//from w w w .j a v a 2 s .c o m if (region.isServiceSupported(ServiceAbbreviations.RDS)) { // services.addAll(RDSService.populateServices(region, getCredentials(), getLogger())); AmazonRDSClient rds = new AmazonRDSClient(getCredentials().getCredentials()); rds.setRegion(region); DescribeDBInstancesResult result = rds.describeDBInstances(); List<DBInstance> instances = result.getDBInstances(); getLogger().info("RDS, Adding " + instances.size() + " instances from " + region.getName()); services.addAll( instances .stream().map(i -> new LocalRDSService(i.getDBInstanceIdentifier(), getCredentials(), region, i, getLogger())) .collect(Collectors.toList())); } else { getLogger().info("RDS, NOPE from " + region.getName()); } } catch (AmazonClientException e) { throw new AmazonClientException(region.getName() + " " + e.getMessage()); } completed.set(completed.get() + 1); } }
From source file:com.optimalbi.Services.LocalRDSService.java
License:Apache License
public void refreshInstance() { AmazonRDSClient rds = new AmazonRDSClient(getCredentials().getCredentials()); rds.setRegion(region);//from ww w .j av a 2 s. co m DescribeDBInstancesResult result = rds.describeDBInstances(); List<DBInstance> instances = result.getDBInstances(); DBInstance tempInstance = null; for (DBInstance d : instances) { if (d.getDBInstanceIdentifier().equalsIgnoreCase(thisService.getDBInstanceIdentifier())) { tempInstance = d; } } if (tempInstance != null) { thisService = tempInstance; } else { getLogger().error("Failed to refresh " + this.serviceName()); } }
From source file:com.optimalbi.Services.LocalRDSService.java
License:Apache License
public Map<String, String> getTags() { AmazonRDS rds = new AmazonRDSClient(this.getCredentials().getCredentials()); String arn = thisService.getTdeCredentialArn(); ListTagsForResourceResult tagsList = rds .listTagsForResource(new ListTagsForResourceRequest().withResourceName(arn)); List<Tag> tagList = tagsList.getTagList(); Map<String, String> tagMap = new HashMap<>(); for (Tag t : tagList) { tagMap.put(t.getKey(), t.getValue()); }/*from w w w .jav a 2 s. c om*/ return tagMap; }
From source file:com.trsvax.tapestry.aws.core.services.AWSCoreModule.java
License:Apache License
public static void bind(ServiceBinder binder) { //binder.bind(AWSMailTransport.class,AWSMailTransportImpl.class); binder.bind(AmazonS3.class, new ServiceBuilder<AmazonS3>() { public AmazonS3 buildService(ServiceResources serviceResources) { return new AmazonS3Client(serviceResources.getService(AWSCredentials.class)); }/*from w w w .ja v a 2s. c o m*/ }); binder.bind(AmazonDynamoDB.class, new ServiceBuilder<AmazonDynamoDB>() { public AmazonDynamoDB buildService(ServiceResources serviceResources) { return new AmazonDynamoDBClient(serviceResources.getService(AWSCredentials.class)); } }); binder.bind(AmazonEC2.class, new ServiceBuilder<AmazonEC2>() { public AmazonEC2 buildService(ServiceResources serviceResources) { return new AmazonEC2Client(serviceResources.getService(AWSCredentials.class)); } }); binder.bind(AmazonSimpleDB.class, new ServiceBuilder<AmazonSimpleDB>() { public AmazonSimpleDB buildService(ServiceResources serviceResources) { return new AmazonSimpleDBClient(serviceResources.getService(AWSCredentials.class)); } }); binder.bind(AmazonSQS.class, new ServiceBuilder<AmazonSQS>() { public AmazonSQS buildService(ServiceResources serviceResources) { return new AmazonSQSClient(serviceResources.getService(AWSCredentials.class)); } }); binder.bind(AmazonSNS.class, new ServiceBuilder<AmazonSNS>() { public AmazonSNS buildService(ServiceResources serviceResources) { return new AmazonSNSClient(serviceResources.getService(AWSCredentials.class)); } }); binder.bind(AmazonRDS.class, new ServiceBuilder<AmazonRDS>() { public AmazonRDS buildService(ServiceResources serviceResources) { return new AmazonRDSClient(serviceResources.getService(AWSCredentials.class)); } }); binder.bind(AmazonElasticMapReduce.class, new ServiceBuilder<AmazonElasticMapReduce>() { public AmazonElasticMapReduce buildService(ServiceResources serviceResources) { return new AmazonElasticMapReduceClient(serviceResources.getService(AWSCredentials.class)); } }); binder.bind(AmazonSimpleEmailService.class, new ServiceBuilder<AmazonSimpleEmailService>() { public AmazonSimpleEmailService buildService(ServiceResources serviceResources) { return new AmazonSimpleEmailServiceClient(serviceResources.getService(AWSCredentials.class)); } }); binder.bind(AmazonElasticLoadBalancing.class, new ServiceBuilder<AmazonElasticLoadBalancing>() { public AmazonElasticLoadBalancing buildService(ServiceResources serviceResources) { return new AmazonElasticLoadBalancingClient(serviceResources.getService(AWSCredentials.class)); } }); binder.bind(AmazonCloudWatch.class, new ServiceBuilder<AmazonCloudWatch>() { public AmazonCloudWatch buildService(ServiceResources serviceResources) { return new AmazonCloudWatchClient(serviceResources.getService(AWSCredentials.class)); } }); binder.bind(AmazonAutoScaling.class, new ServiceBuilder<AmazonAutoScaling>() { public AmazonAutoScaling buildService(ServiceResources serviceResources) { return new AmazonAutoScalingClient(serviceResources.getService(AWSCredentials.class)); } }); binder.bind(AmazonIdentityManagement.class, new ServiceBuilder<AmazonIdentityManagement>() { public AmazonIdentityManagement buildService(ServiceResources serviceResources) { return new AmazonIdentityManagementClient(serviceResources.getService(AWSCredentials.class)); } }); }
From source file:com.vb.services.database.rds.MySQLDBUtils.java
public MySQLDBUtils(AWSCredentialsProvider awsCredentialsProvider) { this.amazonRDSClient = new AmazonRDSClient(awsCredentialsProvider); this.mysqlDB = new MySQLDB(); this.createDBInstanceRequest = new CreateDBInstanceRequest(); }