Search in sources :

Example 1 with S3Guard

use of com.sequenceiq.common.api.cloudstorage.S3Guard in project cloudbreak by hortonworks.

the class CloudStorageDecorator method updateDynamoDBTable.

public void updateDynamoDBTable(CloudStorageRequest request, DetailedEnvironmentResponse environment) {
    if (dynamoDBTableNameSpecified(environment)) {
        String dynamoDbTableName = environment.getAws().getS3guard().getDynamoDbTableName();
        S3Guard s3Guard = new S3Guard();
        s3Guard.setDynamoTableName(dynamoDbTableName);
        AwsStorageParameters aws = new AwsStorageParameters();
        aws.setS3Guard(s3Guard);
        request.setAws(aws);
    }
}
Also used : AwsStorageParameters(com.sequenceiq.common.api.cloudstorage.AwsStorageParameters) S3Guard(com.sequenceiq.common.api.cloudstorage.S3Guard)

Example 2 with S3Guard

use of com.sequenceiq.common.api.cloudstorage.S3Guard in project cloudbreak by hortonworks.

the class CloudStorageManifester method addS3Guard.

private void addS3Guard(CloudStorageRequest cloudStorageRequest, DetailedEnvironmentResponse environment) {
    if (isS3GuardConfigured(environment, cloudStorageRequest)) {
        String dynamoDbTableName = environment.getAws().getS3guard().getDynamoDbTableName();
        if (!Strings.isNullOrEmpty(dynamoDbTableName)) {
            LOGGER.debug("Setting dynamo db table name s3 guard configuration: {}", dynamoDbTableName);
            AwsStorageParameters awsStorageParameters = new AwsStorageParameters();
            S3Guard s3Guard = new S3Guard();
            s3Guard.setDynamoTableName(environment.getAws().getS3guard().getDynamoDbTableName());
            awsStorageParameters.setS3Guard(s3Guard);
            cloudStorageRequest.setAws(awsStorageParameters);
        }
    }
}
Also used : AwsStorageParameters(com.sequenceiq.common.api.cloudstorage.AwsStorageParameters) S3Guard(com.sequenceiq.common.api.cloudstorage.S3Guard)

Example 3 with S3Guard

use of com.sequenceiq.common.api.cloudstorage.S3Guard in project cloudbreak by hortonworks.

the class CloudStorageConverter method fileSystemToRequest.

public CloudStorageRequest fileSystemToRequest(FileSystem fileSystem) {
    CloudStorageRequest result = new CloudStorageRequest();
    CloudStorage cloudStorage = fileSystem.getCloudStorage();
    if (cloudStorage != null) {
        List<StorageIdentityBase> storageIdentityRequests = cloudStorage.getCloudIdentities().stream().map(this::cloudIdentityToRequest).collect(Collectors.toList());
        result.setIdentities(storageIdentityRequests);
        List<StorageLocationBase> storageLocationRequests = cloudStorage.getLocations().stream().map(this::storageLocationToRequest).collect(Collectors.toList());
        result.setLocations(storageLocationRequests);
        NullUtil.doIfNotNull(cloudStorage.getS3GuardDynamoTableName(), tableName -> {
            AwsStorageParameters awsStorageParameters = new AwsStorageParameters();
            S3Guard s3Guard = new S3Guard();
            s3Guard.setDynamoTableName(tableName);
            awsStorageParameters.setS3Guard(s3Guard);
            result.setAws(awsStorageParameters);
        });
        result.setAccountMapping(accountMappingToAccountMappingRequest(cloudStorage.getAccountMapping()));
    }
    return result;
}
Also used : CloudStorage(com.sequenceiq.cloudbreak.domain.cloudstorage.CloudStorage) AwsStorageParameters(com.sequenceiq.common.api.cloudstorage.AwsStorageParameters) CloudStorageRequest(com.sequenceiq.common.api.cloudstorage.CloudStorageRequest) S3Guard(com.sequenceiq.common.api.cloudstorage.S3Guard) StorageIdentityBase(com.sequenceiq.common.api.cloudstorage.StorageIdentityBase) StorageLocationBase(com.sequenceiq.common.api.cloudstorage.StorageLocationBase)

Example 4 with S3Guard

use of com.sequenceiq.common.api.cloudstorage.S3Guard in project cloudbreak by hortonworks.

the class CloudStorageConverter method fileSystemToResponse.

public CloudStorageResponse fileSystemToResponse(FileSystem fileSystem) {
    CloudStorageResponse response = new CloudStorageResponse();
    CloudStorage cloudStorage = fileSystem.getCloudStorage();
    if (cloudStorage != null) {
        if (StringUtils.isNotEmpty(cloudStorage.getS3GuardDynamoTableName())) {
            AwsStorageParameters awsStorageParameters = new AwsStorageParameters();
            S3Guard s3Guard = new S3Guard();
            s3Guard.setDynamoTableName(cloudStorage.getS3GuardDynamoTableName());
            awsStorageParameters.setS3Guard(s3Guard);
            response.setAws(awsStorageParameters);
        }
        List<StorageIdentityBase> storageIdentities = cloudStorage.getCloudIdentities().stream().map(this::cloudIdentityToStorageIdentityBase).collect(Collectors.toList());
        response.setIdentities(storageIdentities);
        List<StorageLocationBase> storageLocations = cloudStorage.getLocations().stream().map(storageLocation -> {
            StorageLocationBase storageLocationBase = new StorageLocationBase();
            storageLocationBase.setType(storageLocation.getType());
            storageLocationBase.setValue(storageLocation.getValue());
            return storageLocationBase;
        }).collect(Collectors.toList());
        response.setLocations(storageLocations);
        response.setAccountMapping(accountMappingToAccountMappingRequest(cloudStorage.getAccountMapping()));
    }
    return response;
}
Also used : CloudStorage(com.sequenceiq.cloudbreak.domain.cloudstorage.CloudStorage) AwsStorageParameters(com.sequenceiq.common.api.cloudstorage.AwsStorageParameters) EfsIdentity(com.sequenceiq.cloudbreak.domain.cloudstorage.EfsIdentity) AwsStorageParameters(com.sequenceiq.common.api.cloudstorage.AwsStorageParameters) AwsEfsParameters(com.sequenceiq.common.api.cloudstorage.AwsEfsParameters) SpiFileSystem(com.sequenceiq.cloudbreak.cloud.model.SpiFileSystem) HashMap(java.util.HashMap) JsonUtil(com.sequenceiq.cloudbreak.common.json.JsonUtil) GcsCloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.GcsCloudStorageV1Parameters) StringUtils(org.apache.commons.lang3.StringUtils) AccountMapping(com.sequenceiq.cloudbreak.domain.cloudstorage.AccountMapping) ArrayList(java.util.ArrayList) Inject(javax.inject.Inject) AccountMappingBase(com.sequenceiq.common.api.cloudstorage.AccountMappingBase) CloudS3View(com.sequenceiq.cloudbreak.cloud.model.filesystem.CloudS3View) CloudIdentity(com.sequenceiq.cloudbreak.domain.cloudstorage.CloudIdentity) Map(java.util.Map) AdlsGen2Identity(com.sequenceiq.cloudbreak.domain.cloudstorage.AdlsGen2Identity) GcsIdentity(com.sequenceiq.cloudbreak.domain.cloudstorage.GcsIdentity) CloudEfsConfiguration(com.sequenceiq.cloudbreak.cloud.model.filesystem.efs.CloudEfsConfiguration) BadRequestException(com.sequenceiq.cloudbreak.common.exception.BadRequestException) CloudStorageBase(com.sequenceiq.common.api.cloudstorage.CloudStorageBase) CloudStorageCdpService(com.sequenceiq.common.model.CloudStorageCdpService) StorageIdentityBase(com.sequenceiq.common.api.cloudstorage.StorageIdentityBase) StorageLocationBase(com.sequenceiq.common.api.cloudstorage.StorageLocationBase) NullUtil(com.sequenceiq.cloudbreak.util.NullUtil) CloudStorageResponse(com.sequenceiq.common.api.cloudstorage.CloudStorageResponse) S3CloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.S3CloudStorageV1Parameters) IOException(java.io.IOException) JsonProcessingException(com.fasterxml.jackson.core.JsonProcessingException) CloudFileSystemView(com.sequenceiq.cloudbreak.cloud.model.filesystem.CloudFileSystemView) Collectors(java.util.stream.Collectors) Json(com.sequenceiq.cloudbreak.common.json.Json) S3Identity(com.sequenceiq.cloudbreak.domain.cloudstorage.S3Identity) StorageLocation(com.sequenceiq.cloudbreak.domain.cloudstorage.StorageLocation) List(java.util.List) Component(org.springframework.stereotype.Component) WasbIdentity(com.sequenceiq.cloudbreak.domain.cloudstorage.WasbIdentity) WasbCloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.WasbCloudStorageV1Parameters) MissingResourceNameGenerator(com.sequenceiq.cloudbreak.common.converter.MissingResourceNameGenerator) FileSystem(com.sequenceiq.cloudbreak.domain.FileSystem) CloudStorageRequest(com.sequenceiq.common.api.cloudstorage.CloudStorageRequest) FileSystemType(com.sequenceiq.common.model.FileSystemType) AdlsGen2CloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.AdlsGen2CloudStorageV1Parameters) Optional(java.util.Optional) FileSystemResolver(com.sequenceiq.cloudbreak.service.filesystem.FileSystemResolver) S3Guard(com.sequenceiq.common.api.cloudstorage.S3Guard) FILESYSTEM(com.sequenceiq.cloudbreak.common.type.APIResourceType.FILESYSTEM) CloudStorage(com.sequenceiq.cloudbreak.domain.cloudstorage.CloudStorage) CloudStorageResponse(com.sequenceiq.common.api.cloudstorage.CloudStorageResponse) S3Guard(com.sequenceiq.common.api.cloudstorage.S3Guard) StorageIdentityBase(com.sequenceiq.common.api.cloudstorage.StorageIdentityBase) StorageLocationBase(com.sequenceiq.common.api.cloudstorage.StorageLocationBase)

Aggregations

AwsStorageParameters (com.sequenceiq.common.api.cloudstorage.AwsStorageParameters)4 S3Guard (com.sequenceiq.common.api.cloudstorage.S3Guard)4 CloudStorage (com.sequenceiq.cloudbreak.domain.cloudstorage.CloudStorage)2 CloudStorageRequest (com.sequenceiq.common.api.cloudstorage.CloudStorageRequest)2 StorageIdentityBase (com.sequenceiq.common.api.cloudstorage.StorageIdentityBase)2 StorageLocationBase (com.sequenceiq.common.api.cloudstorage.StorageLocationBase)2 JsonProcessingException (com.fasterxml.jackson.core.JsonProcessingException)1 SpiFileSystem (com.sequenceiq.cloudbreak.cloud.model.SpiFileSystem)1 CloudFileSystemView (com.sequenceiq.cloudbreak.cloud.model.filesystem.CloudFileSystemView)1 CloudS3View (com.sequenceiq.cloudbreak.cloud.model.filesystem.CloudS3View)1 CloudEfsConfiguration (com.sequenceiq.cloudbreak.cloud.model.filesystem.efs.CloudEfsConfiguration)1 MissingResourceNameGenerator (com.sequenceiq.cloudbreak.common.converter.MissingResourceNameGenerator)1 BadRequestException (com.sequenceiq.cloudbreak.common.exception.BadRequestException)1 Json (com.sequenceiq.cloudbreak.common.json.Json)1 JsonUtil (com.sequenceiq.cloudbreak.common.json.JsonUtil)1 FILESYSTEM (com.sequenceiq.cloudbreak.common.type.APIResourceType.FILESYSTEM)1 FileSystem (com.sequenceiq.cloudbreak.domain.FileSystem)1 AccountMapping (com.sequenceiq.cloudbreak.domain.cloudstorage.AccountMapping)1 AdlsGen2Identity (com.sequenceiq.cloudbreak.domain.cloudstorage.AdlsGen2Identity)1 CloudIdentity (com.sequenceiq.cloudbreak.domain.cloudstorage.CloudIdentity)1