All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ibm.cloud.objectstorage.services.s3.model.Permission Maven / Gradle / Ivy

Go to download

The IBM COS Java SDK for Amazon S3 module holds the client classes that are used for communicating with IBM Cloud Object Storage Service

The newest version!
/*
 * Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.ibm.cloud.objectstorage.services.s3.model;

/**
 * Specifies constants defining an access permission,
 * as granted to grantees in an
 * {@link AccessControlList}. Only a limited set of permission are available;
 * each one is represented as a value in this enumeration.
*/
public enum Permission {

    /**
     * Provides READ, WRITE, READ_ACP, and WRITE_ACP permissions.
     * 

* It does not convey additional rights and is provided only for * convenience. *

*/ FullControl("FULL_CONTROL", "x-amz-grant-full-control"), /** * Grants permission to list the bucket when applied to a bucket. * Grants permission to read object data * and/or metadata when applied to an object. */ Read("READ", "x-amz-grant-read"), /** * Grants permission to create, overwrite, and * delete any objects in the bucket. *

* This permission is not supported for objects. *

*/ Write("WRITE", "x-amz-grant-write"), /** * Grants permission to read the ACL for the applicable bucket or object. *

* The owner of a bucket or object always implicitly has this permission. *

*/ ReadAcp("READ_ACP", "x-amz-grant-read-acp"), /** * Gives permission to overwrite the ACP for the applicable bucket or * object. *

* The owner of a bucket or object always has this permission implicitly. *

*

* Granting this permission is equivalent to granting FULL_CONTROLbecause * the grant recipient can make any changes to the ACP. *

*/ WriteAcp("WRITE_ACP", "x-amz-grant-write-acp"); private String permissionString; private String headerName; private Permission(String permissionString, String headerName) { this.permissionString = permissionString; this.headerName = headerName; } /** * Returns the name of the header used to grant this permission. */ public String getHeaderName() { return headerName; } /** * Gets the string representation of this permission object as defined by * Amazon S3, eg. FULL_CONTROL. * * @return The string representation of this permission object as defined by * Amazon S3, eg. FULL_CONTROL. */ public String toString() { return permissionString; } /** * Returns the {@link Permission} enumeration value representing the specified Amazon * S3 Region ID string. If specified string doesn't map to a known Amazon S3 * Region, returns null. * * @param str * A string representation of an Amazon S3 permission, eg. * FULL_CONTROL * * @return The {@link Permission} object represented by the given permission string, * Returns null if the string isn't a valid representation * of an Amazon S3 * permission. */ public static Permission parsePermission(String str) { for (Permission permission : Permission.values()) { if (permission.permissionString.equals(str)) { return permission; } } return null; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy