/*
* Copyright (c) 2016 EMC
* All Rights Reserved
*/
package com.emc.sa.service.vipr.object.tasks;
import java.net.URI;
import com.emc.sa.service.vipr.object.ObjectStorageUtils;
import com.emc.sa.service.vipr.object.ObjectStorageUtils.ObjectStorageACL;
import com.emc.sa.service.vipr.tasks.WaitForTask;
import com.emc.storageos.model.object.BucketACL;
import com.emc.storageos.model.object.ObjectBucketACLUpdateParams;
import com.emc.storageos.model.object.BucketRestRep;
import com.emc.vipr.client.Task;
public class SetObjectStorageACL extends WaitForTask<BucketRestRep> {
private final URI bucketId;
private final ObjectStorageACL acl;
public SetObjectStorageACL(URI bucketId, ObjectStorageACL acl) {
this.bucketId = bucketId;
this.acl = acl;
provideDetailArgs(bucketId);
}
@Override
protected Task<BucketRestRep> doExecute() throws Exception {
ObjectBucketACLUpdateParams aclUpdate = new ObjectBucketACLUpdateParams();
BucketACL aclsToAdd = ObjectStorageUtils.createBucketACLs(acl);
aclUpdate.setAclToAdd(aclsToAdd);
return getClient().objectBuckets().updateBucketACL(bucketId, aclUpdate);
}
}