use of bio.terra.workspace.model.GcpGcsBucketLifecycle in project terra-workspace-manager by DataBiosphere.
the class GcsBucketUtils method makeControlledGcsBucket.
// Fully parameterized version; category-specific versions below
public static CreatedControlledGcpGcsBucket makeControlledGcsBucket(ControlledGcpResourceApi resourceApi, UUID workspaceId, String name, @Nullable String bucketName, AccessScope accessScope, ManagedBy managedBy, CloningInstructionsEnum cloningInstructions, @Nullable PrivateResourceUser privateUser) throws Exception {
var body = new CreateControlledGcpGcsBucketRequestBody().common(new ControlledResourceCommonFields().accessScope(accessScope).managedBy(managedBy).cloningInstructions(cloningInstructions).description("Description of " + name).name(name).privateResourceUser(privateUser)).gcsBucket(new GcpGcsBucketCreationParameters().name(bucketName).defaultStorageClass(GcpGcsBucketDefaultStorageClass.STANDARD).lifecycle(new GcpGcsBucketLifecycle().rules(BUCKET_LIFECYCLE_RULES)));
logger.info("Creating {} {} bucket in workspace {}", managedBy.name(), accessScope.name(), workspaceId);
return resourceApi.createBucket(body, workspaceId);
}
use of bio.terra.workspace.model.GcpGcsBucketLifecycle in project terra-cli by DataBiosphere.
the class WorkspaceManagerService method updateControlledGcsBucket.
/**
* Call the Workspace Manager POST
* "/api/workspaces/v1/{workspaceId}/resources/controlled/gcp/buckets/{resourceId}" endpoint to
* update a GCS bucket controlled resource in the workspace.
*
* @param workspaceId the workspace where the resource exists
* @param resourceId the resource id
* @param updateParams resource properties to update
*/
public void updateControlledGcsBucket(UUID workspaceId, UUID resourceId, UpdateControlledGcsBucketParams updateParams) {
// convert the CLI lifecycle rule object into the WSM request objects
List<GcpGcsBucketLifecycleRule> lifecycleRules = fromCLIObject(updateParams.lifecycle);
// convert the CLI object to a WSM request object
UpdateControlledGcpGcsBucketRequestBody updateRequest = new UpdateControlledGcpGcsBucketRequestBody().name(updateParams.resourceFields.name).description(updateParams.resourceFields.description).updateParameters(new GcpGcsBucketUpdateParameters().defaultStorageClass(updateParams.defaultStorageClass).lifecycle(new GcpGcsBucketLifecycle().rules(lifecycleRules)));
callWithRetries(() -> new ControlledGcpResourceApi(apiClient).updateGcsBucket(updateRequest, workspaceId, resourceId), "Error updating controlled GCS bucket in the workspace.");
}
use of bio.terra.workspace.model.GcpGcsBucketLifecycle in project terra-cli by DataBiosphere.
the class WorkspaceManagerService method createControlledGcsBucket.
/**
* Call the Workspace Manager POST
* "/api/workspaces/v1/{workspaceId}/resources/controlled/gcp/buckets" endpoint to add a GCS
* bucket as a controlled resource in the workspace.
*
* @param workspaceId the workspace to add the resource to
* @param createParams creation parameters
* @return the GCS bucket resource object
*/
public GcpGcsBucketResource createControlledGcsBucket(UUID workspaceId, CreateGcsBucketParams createParams) {
// convert the CLI lifecycle rule object into the WSM request objects
List<GcpGcsBucketLifecycleRule> lifecycleRules = fromCLIObject(createParams.lifecycle);
// convert the CLI object to a WSM request object
CreateControlledGcpGcsBucketRequestBody createRequest = new CreateControlledGcpGcsBucketRequestBody().common(createCommonFields(createParams.resourceFields)).gcsBucket(new GcpGcsBucketCreationParameters().name(createParams.bucketName).defaultStorageClass(createParams.defaultStorageClass).lifecycle(new GcpGcsBucketLifecycle().rules(lifecycleRules)).location(createParams.location));
return callWithRetries(() -> new ControlledGcpResourceApi(apiClient).createBucket(createRequest, workspaceId).getGcpBucket(), "Error creating controlled GCS bucket in the workspace.");
}
Aggregations