software.amazon.awssdk.services.codebuild.model.BucketOwnerAccess Maven / Gradle / Ivy
Show all versions of codebuild Show documentation
/*
* Copyright 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 software.amazon.awssdk.services.codebuild.model;
import java.util.EnumSet;
import java.util.Map;
import java.util.Set;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.utils.internal.EnumUtils;
/**
*
* Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default,
* only the account that uploads the objects to the bucket has access to these objects. This property allows you to give
* the bucket owner access to these objects.
*
*
*
* To use this property, your CodeBuild service role must have the s3:PutBucketAcl
permission. This
* permission allows CodeBuild to modify the access control list for the bucket.
*
*
*
* This property can be one of the following values:
*
*
* - NONE
* -
*
* The bucket owner does not have access to the objects. This is the default.
*
*
* - READ_ONLY
* -
*
* The bucket owner has read-only access to the objects. The uploading account retains ownership of the objects.
*
*
* - FULL
* -
*
* The bucket owner has full access to the objects. Object ownership is determined by the following criteria:
*
*
* -
*
* If the bucket is configured with the Bucket owner preferred setting, the bucket owner owns the objects. The
* uploading account will have object access as specified by the bucket's policy.
*
*
* -
*
* Otherwise, the uploading account retains ownership of the objects.
*
*
*
*
* For more information about Amazon S3 object ownership, see Controlling ownership of
* uploaded objects using S3 Object Ownership in the Amazon Simple Storage Service User Guide.
*
*
*
*/
@Generated("software.amazon.awssdk:codegen")
public enum BucketOwnerAccess {
NONE("NONE"),
READ_ONLY("READ_ONLY"),
FULL("FULL"),
UNKNOWN_TO_SDK_VERSION(null);
private static final Map VALUE_MAP = EnumUtils.uniqueIndex(BucketOwnerAccess.class,
BucketOwnerAccess::toString);
private final String value;
private BucketOwnerAccess(String value) {
this.value = value;
}
@Override
public String toString() {
return String.valueOf(value);
}
/**
* Use this in place of valueOf to convert the raw string returned by the service into the enum value.
*
* @param value
* real value
* @return BucketOwnerAccess corresponding to the value
*/
public static BucketOwnerAccess fromValue(String value) {
if (value == null) {
return null;
}
return VALUE_MAP.getOrDefault(value, UNKNOWN_TO_SDK_VERSION);
}
/**
* Use this in place of {@link #values()} to return a {@link Set} of all values known to the SDK. This will return
* all known enum values except {@link #UNKNOWN_TO_SDK_VERSION}.
*
* @return a {@link Set} of known {@link BucketOwnerAccess}s
*/
public static Set knownValues() {
Set knownValues = EnumSet.allOf(BucketOwnerAccess.class);
knownValues.remove(UNKNOWN_TO_SDK_VERSION);
return knownValues;
}
}