use of com.sequenceiq.common.api.cloudstorage.StorageIdentityBase 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;
}
use of com.sequenceiq.common.api.cloudstorage.StorageIdentityBase in project cloudbreak by hortonworks.
the class CloudStorageConverter method cloudIdentityToRequest.
private StorageIdentityBase cloudIdentityToRequest(CloudIdentity cloudIdentity) {
StorageIdentityBase storageIdentityRequest = new StorageIdentityBase();
storageIdentityRequest.setType(cloudIdentity.getIdentityType());
if (cloudIdentity.getS3Identity() != null) {
S3CloudStorageV1Parameters s3Parameters = s3IdentityToParameters(cloudIdentity.getS3Identity());
storageIdentityRequest.setS3(s3Parameters);
} else if (cloudIdentity.getWasbIdentity() != null) {
WasbCloudStorageV1Parameters wasbParameters = wasbIdentityToParameters(cloudIdentity.getWasbIdentity());
storageIdentityRequest.setWasb(wasbParameters);
} else if (cloudIdentity.getAdlsGen2Identity() != null) {
AdlsGen2CloudStorageV1Parameters adlsGen2CloudStorageV1Parameters = adlsGen2IdentityToParameters(cloudIdentity.getAdlsGen2Identity());
storageIdentityRequest.setAdlsGen2(adlsGen2CloudStorageV1Parameters);
} else if (cloudIdentity.getGcsIdentity() != null) {
GcsCloudStorageV1Parameters gcsCloudStorageV1Parameters = gcsIdentityToParameters(cloudIdentity.getGcsIdentity());
storageIdentityRequest.setGcs(gcsCloudStorageV1Parameters);
}
return storageIdentityRequest;
}
use of com.sequenceiq.common.api.cloudstorage.StorageIdentityBase 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;
}
use of com.sequenceiq.common.api.cloudstorage.StorageIdentityBase in project cloudbreak by hortonworks.
the class CloudStorageManifester method addLogIdentity.
private void addLogIdentity(CloudStorageRequest cloudStorageRequest, DetailedEnvironmentResponse environment) {
if (containsIdentityType(CloudIdentityType.LOG, cloudStorageRequest)) {
LOGGER.debug("Cloud storage log identity already set. Skip fetching it from environment.");
} else {
StorageIdentityBase log = new StorageIdentityBase();
log.setType(CloudIdentityType.LOG);
LoggingResponse logging = environment.getTelemetry().getLogging();
if (logging.getS3() != null) {
log.setS3(logging.getS3());
} else if (logging.getAdlsGen2() != null) {
log.setAdlsGen2(logging.getAdlsGen2());
} else if (logging.getGcs() != null) {
log.setGcs(logging.getGcs());
} else if (logging.getCloudwatch() != null) {
LOGGER.debug("Cloudwatch will act as s3 storage identity!");
S3CloudStorageV1Parameters s3CloudwatchParams = new S3CloudStorageV1Parameters();
s3CloudwatchParams.setInstanceProfile(logging.getCloudwatch().getInstanceProfile());
log.setS3(s3CloudwatchParams);
}
cloudStorageRequest.getIdentities().add(log);
}
}
use of com.sequenceiq.common.api.cloudstorage.StorageIdentityBase in project cloudbreak by hortonworks.
the class CloudStorageManifester method addIdBrokerIdentity.
private void addIdBrokerIdentity(SdxCloudStorageRequest cloudStorage, CloudStorageRequest cloudStorageRequest) {
StorageIdentityBase idBroker = new StorageIdentityBase();
idBroker.setType(CloudIdentityType.ID_BROKER);
FileSystemType fileSystemType = cloudStorage.getFileSystemType();
if (isFileSystemConfigured(fileSystemType)) {
if (fileSystemType.isS3()) {
idBroker.setS3(cloudStorage.getS3());
} else if (fileSystemType.isWasb()) {
idBroker.setWasb(cloudStorage.getWasb());
} else if (fileSystemType.isAdlsGen2()) {
idBroker.setAdlsGen2(cloudStorage.getAdlsGen2());
} else if (fileSystemType.isGcs()) {
idBroker.setGcs(cloudStorage.getGcs());
}
cloudStorageRequest.getIdentities().add(idBroker);
}
}
Aggregations