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

com.ibm.cloud.objectstorage.services.s3.Headers 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;

/**
 * Common S3 HTTP header values used throughout the Amazon Web Services S3 Java client.
 */
public interface Headers {

    /*
     * Standard HTTP Headers
     */

    String CACHE_CONTROL = "Cache-Control";
    String CONTENT_DISPOSITION = "Content-Disposition";
    String CONTENT_ENCODING = "Content-Encoding";
    String CONTENT_LENGTH = "Content-Length";
    String CONTENT_RANGE = "Content-Range";
    String CONTENT_MD5 = "Content-MD5";
    String CONTENT_TYPE = "Content-Type";
    String CONTENT_LANGUAGE = "Content-Language";
    String DATE = "Date";
    String ETAG = "ETag";
    String LAST_MODIFIED = "Last-Modified";
    String SERVER = "Server";
    String CONNECTION = "Connection";

    /*
     * IBM HTTP Headers
     */
    /** IBM Service instance header */
    public static final String IBM_SERVICE_INSTANCE_ID = "ibm-service-instance-id";

    /** IBM Key Protect headers */
    public static final String IBM_SSE_KP_ENCRYPTION_ALGORITHM = "ibm-sse-kp-encryption-algorithm";
    public static final String IBM_SSE_KP_CUSTOMER_ROOT_KEY_CRN = "ibm-sse-kp-customer-root-key-crn";
    public static final String IBM_SSE_KP_ENABLED = "ibm-sse-kp-enabled";
    public static final String IBM_SSE_KP_CRK = "ibm-sse-kp-crk-id";

    /** Object retention headers */
    public static final String RETENTION_EXPIRATION_DATE = "retention-expiration-date";
    public static final String RETENTION_LEGAL_HOLD_ID = "retention-legal-hold-id";
    public static final String RETENTION_PERIOD = "retention-period";
    public static final String RETENTION_LEGAL_HOLD_COUNT = "retention-legal-hold-count";
    public static final String RETENTION_DIRECTIVE = "retention-directive";
    public static final String MIRROR_DESTINATION = "mirror-destination";

    public static final String IBM_TRANSITION = "x-ibm-transition";
    public static final String IBM_RESTORED_COPY_STORAGE_CLASS = "x-ibm-restored-copy-storage-class";

    /** IBM Protection Management header */
    public static final String IBM_PROTECTION_MANAGEMENT_STATE = "x-ibm-protection-management-state";

    /*
     * Amazon HTTP Headers
     */

    /** Prefix for general Amazon headers: x-amz- */
    String AMAZON_PREFIX = "x-amz-";

    /** S3's canned ACL header: x-amz-acl */
    String S3_CANNED_ACL = "x-amz-acl";

    /** Amazon's alternative date header: x-amz-date */
    String S3_ALTERNATE_DATE = "x-amz-date";

    /** Prefix for S3 user metadata: x-amz-meta- */
    String S3_USER_METADATA_PREFIX = "x-amz-meta-";

    /** S3's version ID header */
    String S3_VERSION_ID = "x-amz-version-id";

    /** S3's Multi-Factor Authentication header */
    String S3_MFA = "x-amz-mfa";

    /** S3 response header for a request's Amazon Web Services request ID */
    String REQUEST_ID = "x-amz-request-id";

    /** S3 response header for a request's extended debugging ID */
    String EXTENDED_REQUEST_ID = "x-amz-id-2";

    /** S3 response header in response from accelerate endpoint. */
    String CLOUD_FRONT_ID = "X-Amz-Cf-Id";

    /** S3 request header indicating how to handle metadata when copying an object */
    String METADATA_DIRECTIVE = "x-amz-metadata-directive";

    /** DevPay token header */
    String SECURITY_TOKEN = "x-amz-security-token";

    /** Header describing what class of storage a user wants */
    String STORAGE_CLASS = "x-amz-storage-class";

    /** Header describing what archive tier the object is in, if any */
    String ARCHIVE_STATUS = "x-amz-archive-status";

    /** Header for optional server-side encryption algorithm */
    String SERVER_SIDE_ENCRYPTION = "x-amz-server-side-encryption";

    /** Header for the encryption algorithm used when encrypting the object with customer-provided keys */
    String SERVER_SIDE_ENCRYPTION_CUSTOMER_ALGORITHM = "x-amz-server-side-encryption-customer-algorithm";

    /** Header for the customer-provided key for server-side encryption */
    String SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY = "x-amz-server-side-encryption-customer-key";

    /** Header for the MD5 digest of the customer-provided key for server-side encryption */
    String SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5 = "x-amz-server-side-encryption-customer-key-MD5";

    /** Header for the encryption algorithm used when encrypting the object with customer-provided keys */
    String COPY_SOURCE_SERVER_SIDE_ENCRYPTION_CUSTOMER_ALGORITHM = "x-amz-copy-source-server-side-encryption-customer-algorithm";

    /** Header for the customer-provided key for server-side encryption */
    String COPY_SOURCE_SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY = "x-amz-copy-source-server-side-encryption-customer-key";

    /** Header for the MD5 digest of the customer-provided key for server-side encryption */
    String COPY_SOURCE_SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5 = "x-amz-copy-source-server-side-encryption-customer-key-MD5";

    /** Header for the whether or not bucket key encryption is used */
    //IBM unsupported
    //String SERVER_SIDE_ENCRYPTION_BUCKET_KEY_ENABLED = "x-amz-server-side-encryption-bucket-key-enabled";

    /** Header for optional object expiration */
    String EXPIRATION = "x-amz-expiration";

    /** Header for optional object expiration */
    String EXPIRES = "Expires";

    /** ETag matching constraint header for the copy object request */
    String COPY_SOURCE_IF_MATCH = "x-amz-copy-source-if-match";

    /** ETag non-matching constraint header for the copy object request */
    String COPY_SOURCE_IF_NO_MATCH = "x-amz-copy-source-if-none-match";

    /** Unmodified since constraint header for the copy object request */
    String COPY_SOURCE_IF_UNMODIFIED_SINCE = "x-amz-copy-source-if-unmodified-since";

    /** Modified since constraint header for the copy object request */
    String COPY_SOURCE_IF_MODIFIED_SINCE = "x-amz-copy-source-if-modified-since";

    /** Range header for the get object request */
    String RANGE = "Range";

    /**Range header for the copy part request */
    String COPY_PART_RANGE = "x-amz-copy-source-range";

    /** Modified since constraint header for the get object request */
    String GET_OBJECT_IF_MODIFIED_SINCE = "If-Modified-Since";

    /** Unmodified since constraint header for the get object request */
    String GET_OBJECT_IF_UNMODIFIED_SINCE = "If-Unmodified-Since";

    /** ETag matching constraint header for the get object request */
    String GET_OBJECT_IF_MATCH = "If-Match";

    /** ETag non-matching constraint header for the get object request */
    String GET_OBJECT_IF_NONE_MATCH = "If-None-Match";

    /**
     * Encrypted symmetric key header that is used in the Encryption Only (EO) envelope
     * encryption mechanism.
     */
    @Deprecated
    String CRYPTO_KEY = "x-amz-key";

    /**
     * Encrypted symmetric key header that is used in the Authenticated
     * Encryption (AE) cryptographic module. Older versions of S3 encryption
     * client with encryption-only capability would not be able to recognize
     * this AE key, and therefore will be prevented from mistakenly decrypting
     * ciphertext in AE format.
     */
    String CRYPTO_KEY_V2 = "x-amz-key-v2";

    /** Initialization vector (IV) header that is used in the symmetric and envelope encryption mechanisms */
    String CRYPTO_IV = "x-amz-iv";

    /** JSON-encoded description of encryption materials used during encryption */
    String MATERIALS_DESCRIPTION = "x-amz-matdesc";

    /** Instruction file header to be placed in the metadata of instruction files */
    String CRYPTO_INSTRUCTION_FILE = "x-amz-crypto-instr-file";

    /** Header for the original, unencrypted size of an encrypted object */
    String UNENCRYPTED_CONTENT_LENGTH = "x-amz-unencrypted-content-length";

    /** Header for the optional original unencrypted Content MD5 of an encrypted object */
    String UNENCRYPTED_CONTENT_MD5 = "x-amz-unencrypted-content-md5";

    /** Header for optional redirect location of an object */
    String REDIRECT_LOCATION = "x-amz-website-redirect-location";

    /** Header for the optional restore information of an object */
    String RESTORE = "x-amz-restore";

    /**
     * Key wrapping algorithm such as "AESWrap" and "RSA/ECB/OAEPWithSHA-256AndMGF1Padding".
     */
    String CRYPTO_KEYWRAP_ALGORITHM = "x-amz-wrap-alg";
    /**
     * Content encryption algorithm, such as "AES/GCM/NoPadding".
     */
    String CRYPTO_CEK_ALGORITHM = "x-amz-cek-alg";
    /**
     * Content encryption algorithm, such as "AES/GCM/NoPadding".
     */
    String AWS_CRYPTO_CEK_ALGORITHM = "aws:x-amz-cek-alg";
    /**
     * Tag length applicable to authenticated encrypt/decryption for the content.
     */
    String CRYPTO_TAG_LENGTH = "x-amz-tag-len";

    /**
     * Headers in request indicating that the requester must be charged for data
     * transfer.
     */
    String REQUESTER_PAYS_HEADER = "x-amz-request-payer";

    /**
     * Header in the response indicating that the requester has been charged for
     * the request.
     */
    String REQUESTER_CHARGED_HEADER = "x-amz-request-charged";

    /**
     * @exclude
     * Header in the request and response indicating the Amazon Web Services Key Management
     * System key id used for Server Side Encryption.
     */
    String SERVER_SIDE_ENCRYPTION_AWS_KMS_KEYID = "x-amz-server-side-encryption-aws-kms-key-id";

    /**
     * Amazon Web Services KMS Encryption Context to use for object encryption
     */
    //IBM unsupported 
    //String SERVER_SIDE_ENCRYPTION_AWS_KMS_CONTEXT= "x-amz-server-side-encryption-context";

    /** Header for the replication status of an Amazon S3 Object.*/
    String OBJECT_REPLICATION_STATUS = "x-amz-replication-status";

    /** Region where the request is being served */
    String S3_SERVING_REGION = "x-amz-region";

    /** Region where the bucket is located. This header is returned only in HEAD bucket and ListObjects response. */
    String S3_BUCKET_REGION = "x-amz-bucket-region";

    /** Date when multipart upload will become eligible for abort operation by lifecycle. */
    String ABORT_DATE = "x-amz-abort-date";

    /** Id of the lifecycle rule that makes a multipart upload eligible for abort operation. */
    String ABORT_RULE_ID = "x-amz-abort-rule-id";

    /** S3 response header for a multipart object containing the number of parts in the object. */
    String S3_PARTS_COUNT = "x-amz-mp-parts-count";

    /** S3 request header for PUT object with a tag set */
    String S3_TAGGING = "x-amz-tagging";

    /** S3 response header the number of tags on an object */
    String S3_TAGGING_COUNT = "x-amz-tagging-count";

    String TAGGING_DIRECTIVE = "x-amz-tagging-directive";

//IBM unsupported
//    String REMOVE_SELF_BUCKET_ACCESS = "x-amz-confirm-remove-self-bucket-access";
//
//    String S3_RESTORE_OUTPUT_PATH = "x-amz-restore-output-path";
//
   String OBJECT_LOCK_MODE = "x-amz-object-lock-mode";

   String OBJECT_LOCK_RETAIN_UNTIL_DATE = "x-amz-object-lock-retain-until-date";

   String OBJECT_LOCK_LEGAL_HOLD_STATUS = "x-amz-object-lock-legal-hold";
//
      String OBJECT_LOCK_TOKEN = "x-amz-bucket-object-lock-token";
//
      String OBJECT_LOCK_ENABLED_FOR_BUCKET = "x-amz-bucket-object-lock-enabled";
	
//      String OBJECT_OWNERSHIP = "x-amz-object-ownership";

      String BYPASS_GOVERNANCE_RETENTION = "x-amz-bypass-governance-retention";
//
//    String REQUEST_ROUTE = "x-amz-request-route";
//
//    String REQUEST_TOKEN = "x-amz-request-token";
//
//    String FWD_STATUS_CODE = "x-amz-fwd-status";
//
//    String FWD_ERROR_CODE = "x-amz-fwd-error-code";
//
//    String FWD_ERROR_MESSAGE = "x-amz-fwd-error-message";
//
//    String FWD_ACCEPT_RANGES = "x-amz-fwd-header-accept-ranges";
//
//    String FWD_CACHE_CONTROL = "x-amz-fwd-header-Cache-Control";
//
//    String FWD_CONTENT_DISPOSITION = "x-amz-fwd-header-Content-Disposition";
//
//    String FWD_CONTENT_ENCODING = "x-amz-fwd-header-Content-Encoding";
//
//    String FWD_CONTENT_LANGUAGE = "x-amz-fwd-header-Content-Language";
//
//    String FWD_CONTENT_RANGE = "x-amz-fwd-header-Content-Range";
//
//    String FWD_CONTENT_TYPE = "x-amz-fwd-header-Content-Type";
//
//    String FWD_DELETE_MARKER = "x-amz-fwd-header-x-amz-delete-marker";
//
//    String FWD_ETAG = "x-amz-fwd-header-ETag";
//
//    String FWD_EXPIRES = "x-amz-fwd-header-Expires";
//
//    String FWD_EXPIRATION = "x-amz-fwd-header-x-amz-expiration";
//
//    String FWD_LAST_MODIFIED = "x-amz-fwd-header-Last-Modified";
//
//    String FWD_MISSING_META = "x-amz-fwd-header-x-amz-missing-meta";
//
   String FWD_OBJECT_LOCK_MODE = "x-amz-fwd-header-x-amz-object-lock-mode";

   String FWD_OBJECT_LOCK_LEGAL_HOLD = "x-amz-fwd-header-x-amz-object-lock-legal-hold";

   String FWD_OBJECT_LOCK_RETAIN_UNTIL_DATE = "x-amz-fwd-header-x-amz-object-lock-retain-until-date";
//
//    String FWD_PARTS_COUNT = "x-amz-fwd-header-x-amz-mp-parts-count";
//
//    String FWD_REPLICATION_STATUS = "x-amz-fwd-header-x-amz-replication-status";
//
//    String FWD_REQUEST_CHARGED = "x-amz-fwd-header-x-amz-request-charged";
//
//    String FWD_RESTORE = "x-amz-fwd-header-x-amz-restore";
//
//    String FWD_SERVER = "-amz-fwd-header-Server";
//
//    String FWD_SERVER_SIDE_ENCRYPTION = "x-amz-fwd-header-x-amz-server-side-encryption";
//
//    String FWD_SSE_CUSTOMER_ALGORITHM = "x-amz-fwd-header-x-amz-server-side-encryption-customer-algorithm";
//
//    String FWD_SSE_KMS_KEY_ID = "x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id";
//
//    String FWD_SSE_CUSTOMER_KEY_MD5 = "x-amz-fwd-header-x-amz-server-side-encryption-customer-key-MD5";
//
//    String FWD_STORAGE_CLASS = "x-amz-fwd-header-x-amz-storage-class";
//
//    String FWD_TAG_COUNT = "x-amz-fwd-header-x-amz-tagging-count";
//
//    String FWD_VERSION_ID = "x-amz-fwd-header-x-amz-version-id";
//
//    String FWD_SSE_BUCKET_KEY_ENABLED = "x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled";
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy