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

com.amazonaws.auth.policy.conditions.S3ConditionFactory Maven / Gradle / Ivy

Go to download

The Amazon Web Services SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

The newest version!
/*
 * Copyright 2010-2014 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.amazonaws.auth.policy.conditions;

import com.amazonaws.auth.policy.Condition;
import com.amazonaws.auth.policy.conditions.StringCondition.StringComparisonType;
import com.amazonaws.services.s3.model.CannedAccessControlList;

/**
 * Factory for creating access control policy conditions specific to Amazon S3.
 * This class provides access to the AWS access control policy condition keys
 * specific to Amazon S3, as well as methods for quickly creating common S3
 * specific policy conditions such as
 * {@link #newCannedACLCondition(CannedAccessControlList)}.
 */
public class S3ConditionFactory {

    /**
     * Condition key for the canned ACL specified by a request.
     * 

* This condition key may only be used with {@link StringCondition} objects. */ public static final String CANNED_ACL_CONDITION_KEY = "s3:x-amz-acl"; /** * Condition key for the location constraint specified by a request. *

* This condition key may only be used with {@link StringCondition} objects. */ public static final String LOCATION_CONSTRAINT_CONDITION_KEY = "s3:LocationConstraint"; /** * Condition key for the prefix specified by a request. *

* This condition key may only be used with {@link StringCondition} objects. */ public static final String PREFIX_CONDITION_KEY = "s3:prefix"; /** * Condition key for the delimiter specified by a request. *

* This condition key may only be used with {@link StringCondition} objects. */ public static final String DELIMITER_CONDITION_KEY = "s3:delimiter"; /** * Condition key for the max keys specified by a request. *

* This condition key may only be used with {@link StringCondition} objects. */ public static final String MAX_KEYS_CONDITION_KEY = "s3:max-keys"; /** * Condition key for the source object specified by a request to copy an * object. *

* This condition key may only be used with {@link StringCondition} objects. */ public static final String COPY_SOURCE_CONDITION_KEY = "s3:x-amz-copy-source"; /** * Condition key for the metadata directive specified by a request to copy * an object. *

* This condition key may only be used with {@link StringCondition} objects. */ public static final String METADATA_DIRECTIVE_CONDITION_KEY = "s3:x-amz-metadata-directive"; /** * Condition key for the version ID of an object version specified by a * request. *

* This condition key may only be used with {@link StringCondition} objects. */ public static final String VERSION_ID_CONDITION_KEY = "s3:VersionId"; private S3ConditionFactory() {} /** * Constructs a new access policy condition that compares an Amazon S3 * canned ACL with the canned ACL specified by an incoming request. *

* You can use this condition to ensure that any objects uploaded to an * Amazon S3 bucket have a specific canned ACL set. * * @param cannedAcl * The Amazon S3 canned ACL to compare against. * * @return A new access control policy condition that compares the Amazon S3 * canned ACL specified in incoming requests against the value * specified. */ public static Condition newCannedACLCondition(CannedAccessControlList cannedAcl) { return new StringCondition(StringComparisonType.StringEquals, CANNED_ACL_CONDITION_KEY, cannedAcl.toString()); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy