Search in sources :

Example 1 with Certificate

use of com.amazonaws.services.rds.model.Certificate in project cloudbreak by hortonworks.

the class AwsPlatformResourcesTest method databaseServerGeneralSslRootCertificatesTestWhenSuccess.

@Test
void databaseServerGeneralSslRootCertificatesTestWhenSuccess() {
    Certificate certificate1 = mock(Certificate.class);
    when(certificate1.getCertificateIdentifier()).thenReturn("cert1");
    Certificate certificate2 = mock(Certificate.class);
    when(certificate2.getCertificateIdentifier()).thenReturn("cert2");
    AmazonRdsClient amazonRdsClient = mock(AmazonRdsClient.class);
    when(amazonRdsClient.describeCertificates(any(DescribeCertificatesRequest.class))).thenReturn(List.of(certificate1, certificate2));
    when(awsClient.createRdsClient(any(AwsCredentialView.class), eq(REGION_NAME))).thenReturn(amazonRdsClient);
    CloudDatabaseServerSslCertificates cloudDatabaseServerSslCertificates = underTest.databaseServerGeneralSslRootCertificates(cloudCredential, region);
    assertThat(cloudDatabaseServerSslCertificates).isNotNull();
    Set<CloudDatabaseServerSslCertificate> sslCertificates = cloudDatabaseServerSslCertificates.getSslCertificates();
    assertThat(sslCertificates).isNotNull();
    assertThat(sslCertificates).hasSize(2);
    verifySslRootCertificate(sslCertificates, "cert1");
    verifySslRootCertificate(sslCertificates, "cert2");
}
Also used : DescribeCertificatesRequest(com.amazonaws.services.rds.model.DescribeCertificatesRequest) AwsCredentialView(com.sequenceiq.cloudbreak.cloud.aws.common.view.AwsCredentialView) CloudDatabaseServerSslCertificate(com.sequenceiq.cloudbreak.cloud.model.database.CloudDatabaseServerSslCertificate) AmazonRdsClient(com.sequenceiq.cloudbreak.cloud.aws.common.client.AmazonRdsClient) CloudDatabaseServerSslCertificates(com.sequenceiq.cloudbreak.cloud.model.database.CloudDatabaseServerSslCertificates) CloudDatabaseServerSslCertificate(com.sequenceiq.cloudbreak.cloud.model.database.CloudDatabaseServerSslCertificate) Certificate(com.amazonaws.services.rds.model.Certificate) Test(org.junit.jupiter.api.Test)

Example 2 with Certificate

use of com.amazonaws.services.rds.model.Certificate in project cloudbreak by hortonworks.

the class AmazonRdsClientTest method describeCertificatesTestSimple.

@Test
void describeCertificatesTestSimple() {
    DescribeCertificatesRequest describeCertificatesRequest = mock(DescribeCertificatesRequest.class);
    DescribeCertificatesResult describeCertificatesResult = mock(DescribeCertificatesResult.class);
    Certificate cert1 = mock(Certificate.class);
    Certificate cert2 = mock(Certificate.class);
    when(describeCertificatesResult.getMarker()).thenReturn(null);
    when(describeCertificatesResult.getCertificates()).thenReturn(List.of(cert1, cert2));
    when(client.describeCertificates(describeCertificatesRequest)).thenReturn(describeCertificatesResult);
    List<Certificate> certificates = underTest.describeCertificates(describeCertificatesRequest);
    assertThat(certificates).isNotNull();
    assertThat(certificates).isEqualTo(List.of(cert1, cert2));
}
Also used : DescribeCertificatesRequest(com.amazonaws.services.rds.model.DescribeCertificatesRequest) DescribeCertificatesResult(com.amazonaws.services.rds.model.DescribeCertificatesResult) Certificate(com.amazonaws.services.rds.model.Certificate) Test(org.junit.jupiter.api.Test)

Example 3 with Certificate

use of com.amazonaws.services.rds.model.Certificate in project cloudbreak by hortonworks.

the class AmazonRdsClientTest method describeCertificatesTestWithPaging.

@Test
void describeCertificatesTestWithPaging() {
    DescribeCertificatesRequest describeCertificatesRequest = mock(DescribeCertificatesRequest.class);
    DescribeCertificatesResult describeCertificatesResult1 = mock(DescribeCertificatesResult.class);
    Certificate cert1 = mock(Certificate.class);
    when(describeCertificatesResult1.getMarker()).thenReturn(MARKER);
    when(describeCertificatesResult1.getCertificates()).thenReturn(List.of(cert1));
    DescribeCertificatesResult describeCertificatesResult2 = mock(DescribeCertificatesResult.class);
    Certificate cert2 = mock(Certificate.class);
    when(describeCertificatesResult2.getMarker()).thenReturn(null);
    when(describeCertificatesResult2.getCertificates()).thenReturn(List.of(cert2));
    when(client.describeCertificates(describeCertificatesRequest)).thenReturn(describeCertificatesResult1, describeCertificatesResult2);
    List<Certificate> certificates = underTest.describeCertificates(describeCertificatesRequest);
    assertThat(certificates).isNotNull();
    assertThat(certificates).isEqualTo(List.of(cert1, cert2));
}
Also used : DescribeCertificatesRequest(com.amazonaws.services.rds.model.DescribeCertificatesRequest) DescribeCertificatesResult(com.amazonaws.services.rds.model.DescribeCertificatesResult) Certificate(com.amazonaws.services.rds.model.Certificate) Test(org.junit.jupiter.api.Test)

Example 4 with Certificate

use of com.amazonaws.services.rds.model.Certificate in project cloudbreak by hortonworks.

the class AwsPlatformResources method databaseServerGeneralSslRootCertificates.

@Override
public CloudDatabaseServerSslCertificates databaseServerGeneralSslRootCertificates(CloudCredential cloudCredential, Region region) {
    requireNonNull(cloudCredential);
    requireNonNull(region);
    AmazonRdsClient rdsClient = getAmazonRdsClient(cloudCredential, region);
    List<Certificate> certificates = rdsClient.describeCertificates(new DescribeCertificatesRequest());
    Set<CloudDatabaseServerSslCertificate> sslCertificates = certificates.stream().map(Certificate::getCertificateIdentifier).map(id -> new CloudDatabaseServerSslCertificate(CloudDatabaseServerSslCertificateType.ROOT, id)).collect(Collectors.toSet());
    return new CloudDatabaseServerSslCertificates(sslCertificates);
}
Also used : DescribeCertificatesRequest(com.amazonaws.services.rds.model.DescribeCertificatesRequest) CloudVmTypes(com.sequenceiq.cloudbreak.cloud.model.CloudVmTypes) DescribeSubnetsRequest(com.amazonaws.services.ec2.model.DescribeSubnetsRequest) AvailabilityZone.availabilityZone(com.sequenceiq.cloudbreak.cloud.model.AvailabilityZone.availabilityZone) ExtendedCloudCredential(com.sequenceiq.cloudbreak.cloud.model.ExtendedCloudCredential) MinimalHardwareFilter(com.sequenceiq.cloudbreak.filter.MinimalHardwareFilter) Cacheable(org.springframework.cache.annotation.Cacheable) ListKeysRequest(com.amazonaws.services.kms.model.ListKeysRequest) InstanceProfile(com.amazonaws.services.identitymanagement.model.InstanceProfile) Collections.singletonList(java.util.Collections.singletonList) DescribeSubnetsResult(com.amazonaws.services.ec2.model.DescribeSubnetsResult) VmType.vmTypeWithMeta(com.sequenceiq.cloudbreak.cloud.model.VmType.vmTypeWithMeta) AwsCredentialView(com.sequenceiq.cloudbreak.cloud.aws.common.view.AwsCredentialView) CloudAccessConfig(com.sequenceiq.cloudbreak.cloud.model.CloudAccessConfig) ListTablesRequest(com.amazonaws.services.dynamodbv2.model.ListTablesRequest) Map(java.util.Map) Location(com.sequenceiq.cloudbreak.cloud.model.Location) AmazonIdentityManagementClient(com.sequenceiq.cloudbreak.cloud.aws.common.client.AmazonIdentityManagementClient) CloudEncryptionKey(com.sequenceiq.cloudbreak.cloud.model.CloudEncryptionKey) CloudUnauthorizedException(com.sequenceiq.cloudbreak.cloud.exception.CloudUnauthorizedException) AmazonServiceException(com.amazonaws.AmazonServiceException) DescribeInternetGatewaysResult(com.amazonaws.services.ec2.model.DescribeInternetGatewaysResult) CloudEncryptionKeys(com.sequenceiq.cloudbreak.cloud.model.CloudEncryptionKeys) Set(java.util.Set) RegionSpecification(com.sequenceiq.cloudbreak.cloud.model.RegionSpecification) SecurityGroup(com.amazonaws.services.ec2.model.SecurityGroup) RegionCoordinateSpecifications(com.sequenceiq.cloudbreak.cloud.model.RegionCoordinateSpecifications) PlatformResourceVpcFilterView(com.sequenceiq.cloudbreak.cloud.model.view.PlatformResourceVpcFilterView) CloudSshKey(com.sequenceiq.cloudbreak.cloud.model.CloudSshKey) DescribeRouteTablesRequest(com.amazonaws.services.ec2.model.DescribeRouteTablesRequest) CloudPrivateDnsZones(com.sequenceiq.cloudbreak.cloud.model.dns.CloudPrivateDnsZones) Coordinate.coordinate(com.sequenceiq.cloudbreak.cloud.model.Coordinate.coordinate) Tag(com.amazonaws.services.ec2.model.Tag) MAGNETIC(com.sequenceiq.cloudbreak.cloud.model.VolumeParameterType.MAGNETIC) ListInstanceProfilesRequest(com.amazonaws.services.identitymanagement.model.ListInstanceProfilesRequest) RegionsSpecification(com.sequenceiq.cloudbreak.cloud.model.RegionsSpecification) DescribeRegionsResult(com.amazonaws.services.ec2.model.DescribeRegionsResult) CloudbreakResourceReaderService(com.sequenceiq.cloudbreak.service.CloudbreakResourceReaderService) Region(com.sequenceiq.cloudbreak.cloud.model.Region) ListTablesResult(com.amazonaws.services.dynamodbv2.model.ListTablesResult) DescribeKeyPairsRequest(com.amazonaws.services.ec2.model.DescribeKeyPairsRequest) CloudGateWays(com.sequenceiq.cloudbreak.cloud.model.CloudGateWays) CloudNetworks(com.sequenceiq.cloudbreak.cloud.model.CloudNetworks) CloudRegions(com.sequenceiq.cloudbreak.cloud.model.CloudRegions) StringUtils.isNotEmpty(org.apache.commons.lang3.StringUtils.isNotEmpty) ArrayList(java.util.ArrayList) Value(org.springframework.beans.factory.annotation.Value) CloudParameterConst(com.sequenceiq.cloudbreak.cloud.CloudParameterConst) CloudConnectorException(com.sequenceiq.cloudbreak.cloud.exception.CloudConnectorException) Strings(com.google.common.base.Strings) AmazonEc2Client(com.sequenceiq.cloudbreak.cloud.aws.common.client.AmazonEc2Client) AliasListEntry(com.amazonaws.services.kms.model.AliasListEntry) AmazonRdsClient(com.sequenceiq.cloudbreak.cloud.aws.common.client.AmazonRdsClient) DescribeInstanceTypesRequest(com.amazonaws.services.ec2.model.DescribeInstanceTypesRequest) AmazonDynamoDBClient(com.sequenceiq.cloudbreak.cloud.aws.common.client.AmazonDynamoDBClient) Service(org.springframework.stereotype.Service) ConfigSpecification(com.sequenceiq.cloudbreak.cloud.model.ConfigSpecification) PlatformResourceSecurityGroupFilterView(com.sequenceiq.cloudbreak.cloud.model.view.PlatformResourceSecurityGroupFilterView) DescribeSecurityGroupsRequest(com.amazonaws.services.ec2.model.DescribeSecurityGroupsRequest) Filter(com.amazonaws.services.ec2.model.Filter) RouteTable(com.amazonaws.services.ec2.model.RouteTable) PRIVATE(com.sequenceiq.cloudbreak.cloud.model.network.SubnetType.PRIVATE) CloudConstants(com.sequenceiq.cloudbreak.common.type.CloudConstants) LinkedHashSet(java.util.LinkedHashSet) ST1(com.sequenceiq.cloudbreak.cloud.model.VolumeParameterType.ST1) RegionCoordinateSpecification(com.sequenceiq.cloudbreak.cloud.model.RegionCoordinateSpecification) CloudSubnet(com.sequenceiq.cloudbreak.cloud.model.CloudSubnet) ListInstanceProfilesResult(com.amazonaws.services.identitymanagement.model.ListInstanceProfilesResult) Certificate(com.amazonaws.services.rds.model.Certificate) CloudNoSqlTable(com.sequenceiq.cloudbreak.cloud.model.nosql.CloudNoSqlTable) AwsPageCollector(com.sequenceiq.cloudbreak.cloud.aws.common.util.AwsPageCollector) IOException(java.io.IOException) CloudAccessConfigs(com.sequenceiq.cloudbreak.cloud.model.CloudAccessConfigs) SSD(com.sequenceiq.cloudbreak.cloud.model.VolumeParameterType.SSD) InternetGateway(com.amazonaws.services.ec2.model.InternetGateway) AmazonKmsClient(com.sequenceiq.cloudbreak.cloud.aws.common.client.AmazonKmsClient) HttpStatus(org.springframework.http.HttpStatus) SdkClientException(com.amazonaws.SdkClientException) AmazonEC2Exception(com.amazonaws.services.ec2.model.AmazonEC2Exception) StringUtils.isNullOrEmpty(com.amazonaws.util.StringUtils.isNullOrEmpty) DescribeInternetGatewaysRequest(com.amazonaws.services.ec2.model.DescribeInternetGatewaysRequest) PermanentlyFailedException(com.sequenceiq.cloudbreak.util.PermanentlyFailedException) DisplayName.displayName(com.sequenceiq.cloudbreak.cloud.model.DisplayName.displayName) CloudDatabaseServerSslCertificate(com.sequenceiq.cloudbreak.cloud.model.database.CloudDatabaseServerSslCertificate) DescribeVpcsRequest(com.amazonaws.services.ec2.model.DescribeVpcsRequest) ListRolesResult(com.amazonaws.services.identitymanagement.model.ListRolesResult) Role(com.amazonaws.services.identitymanagement.model.Role) LoggerFactory(org.slf4j.LoggerFactory) JsonUtil(com.sequenceiq.cloudbreak.common.json.JsonUtil) ListAliasesRequest(com.amazonaws.services.kms.model.ListAliasesRequest) AuthenticatedContext(com.sequenceiq.cloudbreak.cloud.context.AuthenticatedContext) CloudSshKeys(com.sequenceiq.cloudbreak.cloud.model.CloudSshKeys) InternetGatewayAttachment(com.amazonaws.services.ec2.model.InternetGatewayAttachment) DescribeKeyResult(com.amazonaws.services.kms.model.DescribeKeyResult) EPHEMERAL(com.sequenceiq.cloudbreak.cloud.model.VolumeParameterType.EPHEMERAL) DescribeAvailabilityZonesRequest(com.amazonaws.services.ec2.model.DescribeAvailabilityZonesRequest) InstanceStoreMetadata(com.sequenceiq.cloudbreak.cloud.model.InstanceStoreMetadata) DescribeRegionsRequest(com.amazonaws.services.ec2.model.DescribeRegionsRequest) Predicate(java.util.function.Predicate) Collection(java.util.Collection) CloudResourceGroups(com.sequenceiq.cloudbreak.cloud.model.resourcegroup.CloudResourceGroups) InstanceStorageInfo(com.amazonaws.services.ec2.model.InstanceStorageInfo) Collectors(java.util.stream.Collectors) VmType(com.sequenceiq.cloudbreak.cloud.model.VmType) CloudGateWay(com.sequenceiq.cloudbreak.cloud.model.CloudGateWay) CloudNoSqlTables(com.sequenceiq.cloudbreak.cloud.model.nosql.CloudNoSqlTables) Objects(java.util.Objects) List(java.util.List) VolumeParameterType(com.sequenceiq.cloudbreak.cloud.model.VolumeParameterType) Entry(java.util.Map.Entry) PostConstruct(javax.annotation.PostConstruct) Optional(java.util.Optional) DescribeCertificatesRequest(com.amazonaws.services.rds.model.DescribeCertificatesRequest) Coordinate(com.sequenceiq.cloudbreak.cloud.model.Coordinate) CloudDatabaseServerSslCertificates(com.sequenceiq.cloudbreak.cloud.model.database.CloudDatabaseServerSslCertificates) DescribeKeyRequest(com.amazonaws.services.kms.model.DescribeKeyRequest) KeyPairInfo(com.amazonaws.services.ec2.model.KeyPairInfo) CloudSecurityGroup(com.sequenceiq.cloudbreak.cloud.model.CloudSecurityGroup) CloudIpPools(com.sequenceiq.cloudbreak.cloud.model.CloudIpPools) HashMap(java.util.HashMap) ListKeysResult(com.amazonaws.services.kms.model.ListKeysResult) PlatformResourceSshKeyFilterView(com.sequenceiq.cloudbreak.cloud.model.view.PlatformResourceSshKeyFilterView) HashSet(java.util.HashSet) Inject(javax.inject.Inject) AvailabilityZone(com.sequenceiq.cloudbreak.cloud.model.AvailabilityZone) PUBLIC(com.sequenceiq.cloudbreak.cloud.model.network.SubnetType.PUBLIC) DescribeInstanceTypesResult(com.amazonaws.services.ec2.model.DescribeInstanceTypesResult) DescribeVpcsResult(com.amazonaws.services.ec2.model.DescribeVpcsResult) Objects.requireNonNull(java.util.Objects.requireNonNull) ListRolesRequest(com.amazonaws.services.identitymanagement.model.ListRolesRequest) Subnet(com.amazonaws.services.ec2.model.Subnet) CloudDatabaseServerSslCertificateType(com.sequenceiq.cloudbreak.cloud.model.database.CloudDatabaseServerSslCertificateType) LinkedList(java.util.LinkedList) DisplayName(com.sequenceiq.cloudbreak.cloud.model.DisplayName) Logger(org.slf4j.Logger) Vpc(com.amazonaws.services.ec2.model.Vpc) PlatformResources(com.sequenceiq.cloudbreak.cloud.PlatformResources) DiskInfo(com.amazonaws.services.ec2.model.DiskInfo) VmTypeMetaBuilder(com.sequenceiq.cloudbreak.cloud.model.VmTypeMeta.VmTypeMetaBuilder) Region.region(com.sequenceiq.cloudbreak.cloud.model.Region.region) CloudCredential(com.sequenceiq.cloudbreak.cloud.model.CloudCredential) InstanceTypeInfo(com.amazonaws.services.ec2.model.InstanceTypeInfo) CloudSecurityGroups(com.sequenceiq.cloudbreak.cloud.model.CloudSecurityGroups) ListAliasesResult(com.amazonaws.services.kms.model.ListAliasesResult) DescribeInstanceTypeOfferingsRequest(com.amazonaws.services.ec2.model.DescribeInstanceTypeOfferingsRequest) VisibleForTesting(com.google.common.annotations.VisibleForTesting) VolumeParameterConfig(com.sequenceiq.cloudbreak.cloud.model.VolumeParameterConfig) CloudNetwork(com.sequenceiq.cloudbreak.cloud.model.CloudNetwork) CloudDatabaseServerSslCertificate(com.sequenceiq.cloudbreak.cloud.model.database.CloudDatabaseServerSslCertificate) AmazonRdsClient(com.sequenceiq.cloudbreak.cloud.aws.common.client.AmazonRdsClient) CloudDatabaseServerSslCertificates(com.sequenceiq.cloudbreak.cloud.model.database.CloudDatabaseServerSslCertificates) Certificate(com.amazonaws.services.rds.model.Certificate) CloudDatabaseServerSslCertificate(com.sequenceiq.cloudbreak.cloud.model.database.CloudDatabaseServerSslCertificate)

Aggregations

Certificate (com.amazonaws.services.rds.model.Certificate)3 DescribeCertificatesRequest (com.amazonaws.services.rds.model.DescribeCertificatesRequest)3 Test (org.junit.jupiter.api.Test)3 DescribeCertificatesResult (com.amazonaws.services.rds.model.DescribeCertificatesResult)2 AmazonServiceException (com.amazonaws.AmazonServiceException)1 SdkClientException (com.amazonaws.SdkClientException)1 ListTablesRequest (com.amazonaws.services.dynamodbv2.model.ListTablesRequest)1 ListTablesResult (com.amazonaws.services.dynamodbv2.model.ListTablesResult)1 AmazonEC2Exception (com.amazonaws.services.ec2.model.AmazonEC2Exception)1 DescribeAvailabilityZonesRequest (com.amazonaws.services.ec2.model.DescribeAvailabilityZonesRequest)1 DescribeInstanceTypeOfferingsRequest (com.amazonaws.services.ec2.model.DescribeInstanceTypeOfferingsRequest)1 DescribeInstanceTypesRequest (com.amazonaws.services.ec2.model.DescribeInstanceTypesRequest)1 DescribeInstanceTypesResult (com.amazonaws.services.ec2.model.DescribeInstanceTypesResult)1 DescribeInternetGatewaysRequest (com.amazonaws.services.ec2.model.DescribeInternetGatewaysRequest)1 DescribeInternetGatewaysResult (com.amazonaws.services.ec2.model.DescribeInternetGatewaysResult)1 DescribeKeyPairsRequest (com.amazonaws.services.ec2.model.DescribeKeyPairsRequest)1 DescribeRegionsRequest (com.amazonaws.services.ec2.model.DescribeRegionsRequest)1 DescribeRegionsResult (com.amazonaws.services.ec2.model.DescribeRegionsResult)1 DescribeRouteTablesRequest (com.amazonaws.services.ec2.model.DescribeRouteTablesRequest)1 DescribeSecurityGroupsRequest (com.amazonaws.services.ec2.model.DescribeSecurityGroupsRequest)1