140 lines
4.2 KiB
Python
140 lines
4.2 KiB
Python
# Copyright 2019 Google LLC
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License 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.
|
|
|
|
"""Constants used across google.cloud.storage modules.
|
|
|
|
See [Python Storage Client Constants Page](https://github.com/googleapis/python-storage/blob/main/google/cloud/storage/constants.py)
|
|
for constants used across storage classes, location types, public access prevention, etc.
|
|
|
|
"""
|
|
|
|
# Storage classes
|
|
|
|
STANDARD_STORAGE_CLASS = "STANDARD"
|
|
"""Storage class for objects accessed more than once per month.
|
|
|
|
See: https://cloud.google.com/storage/docs/storage-classes
|
|
"""
|
|
|
|
NEARLINE_STORAGE_CLASS = "NEARLINE"
|
|
"""Storage class for objects accessed at most once per month.
|
|
|
|
See: https://cloud.google.com/storage/docs/storage-classes
|
|
"""
|
|
|
|
COLDLINE_STORAGE_CLASS = "COLDLINE"
|
|
"""Storage class for objects accessed at most once per year.
|
|
|
|
See: https://cloud.google.com/storage/docs/storage-classes
|
|
"""
|
|
|
|
ARCHIVE_STORAGE_CLASS = "ARCHIVE"
|
|
"""Storage class for objects accessed less frequently than once per year.
|
|
|
|
See: https://cloud.google.com/storage/docs/storage-classes
|
|
"""
|
|
|
|
MULTI_REGIONAL_LEGACY_STORAGE_CLASS = "MULTI_REGIONAL"
|
|
"""Legacy storage class.
|
|
|
|
Alias for :attr:`STANDARD_STORAGE_CLASS`.
|
|
|
|
Can only be used for objects in buckets whose
|
|
:attr:`~google.cloud.storage.bucket.Bucket.location_type` is
|
|
:attr:`~google.cloud.storage.bucket.Bucket.MULTI_REGION_LOCATION_TYPE`.
|
|
|
|
See: https://cloud.google.com/storage/docs/storage-classes
|
|
"""
|
|
|
|
REGIONAL_LEGACY_STORAGE_CLASS = "REGIONAL"
|
|
"""Legacy storage class.
|
|
|
|
Alias for :attr:`STANDARD_STORAGE_CLASS`.
|
|
|
|
Can only be used for objects in buckets whose
|
|
:attr:`~google.cloud.storage.bucket.Bucket.location_type` is
|
|
:attr:`~google.cloud.storage.bucket.Bucket.REGION_LOCATION_TYPE`.
|
|
|
|
See: https://cloud.google.com/storage/docs/storage-classes
|
|
"""
|
|
|
|
DURABLE_REDUCED_AVAILABILITY_LEGACY_STORAGE_CLASS = "DURABLE_REDUCED_AVAILABILITY"
|
|
"""Legacy storage class.
|
|
|
|
Similar to :attr:`NEARLINE_STORAGE_CLASS`.
|
|
"""
|
|
|
|
|
|
# Location types
|
|
|
|
MULTI_REGION_LOCATION_TYPE = "multi-region"
|
|
"""Location type: data will be replicated across regions in a multi-region.
|
|
|
|
Provides highest availability across largest area.
|
|
"""
|
|
|
|
REGION_LOCATION_TYPE = "region"
|
|
"""Location type: data will be stored within a single region.
|
|
|
|
Provides lowest latency within a single region.
|
|
"""
|
|
|
|
DUAL_REGION_LOCATION_TYPE = "dual-region"
|
|
"""Location type: data will be stored within two primary regions.
|
|
|
|
Provides high availability and low latency across two regions.
|
|
"""
|
|
|
|
|
|
# Internal constants
|
|
|
|
_DEFAULT_TIMEOUT = 60 # in seconds
|
|
"""The default request timeout in seconds if a timeout is not explicitly given.
|
|
"""
|
|
|
|
# Public Access Prevention
|
|
PUBLIC_ACCESS_PREVENTION_ENFORCED = "enforced"
|
|
"""Enforced public access prevention value.
|
|
|
|
See: https://cloud.google.com/storage/docs/public-access-prevention
|
|
"""
|
|
|
|
PUBLIC_ACCESS_PREVENTION_UNSPECIFIED = "unspecified"
|
|
"""Unspecified public access prevention value.
|
|
|
|
DEPRECATED: Use 'PUBLIC_ACCESS_PREVENTION_INHERITED' instead.
|
|
|
|
See: https://cloud.google.com/storage/docs/public-access-prevention
|
|
"""
|
|
|
|
PUBLIC_ACCESS_PREVENTION_INHERITED = "inherited"
|
|
"""Inherited public access prevention value.
|
|
|
|
See: https://cloud.google.com/storage/docs/public-access-prevention
|
|
"""
|
|
|
|
RPO_ASYNC_TURBO = "ASYNC_TURBO"
|
|
"""The recovery point objective (RPO) indicates how quickly newly written objects are asynchronously replicated to a separate geographic location.
|
|
When the RPO value is set to ASYNC_TURBO, the turbo replication feature is enabled.
|
|
|
|
See: https://cloud.google.com/storage/docs/managing-turbo-replication
|
|
"""
|
|
|
|
RPO_DEFAULT = "DEFAULT"
|
|
"""The recovery point objective (RPO) indicates how quickly newly written objects are asynchronously replicated to a separate geographic location.
|
|
When the RPO value is set to DEFAULT, the default replication behavior is enabled.
|
|
|
|
See: https://cloud.google.com/storage/docs/managing-turbo-replication
|
|
"""
|