acl = $acl; } /** * @return BucketAccessControl[] */ public function getAcl() { return $this->acl; } /** * The bucket's Autoclass configuration. * * @param BucketAutoclass $autoclass */ public function setAutoclass(BucketAutoclass $autoclass) { $this->autoclass = $autoclass; } /** * @return BucketAutoclass */ public function getAutoclass() { return $this->autoclass; } /** * The bucket's billing configuration. * * @param BucketBilling $billing */ public function setBilling(BucketBilling $billing) { $this->billing = $billing; } /** * @return BucketBilling */ public function getBilling() { return $this->billing; } /** * The bucket's Cross-Origin Resource Sharing (CORS) configuration. * * @param BucketCors[] $cors */ public function setCors($cors) { $this->cors = $cors; } /** * @return BucketCors[] */ public function getCors() { return $this->cors; } /** * The bucket's custom placement configuration for Custom Dual Regions. * * @param BucketCustomPlacementConfig $customPlacementConfig */ public function setCustomPlacementConfig(BucketCustomPlacementConfig $customPlacementConfig) { $this->customPlacementConfig = $customPlacementConfig; } /** * @return BucketCustomPlacementConfig */ public function getCustomPlacementConfig() { return $this->customPlacementConfig; } /** * The default value for event-based hold on newly created objects in this * bucket. Event-based hold is a way to retain objects indefinitely until an * event occurs, signified by the hold's release. After being released, such * objects will be subject to bucket-level retention (if any). One sample use * case of this flag is for banks to hold loan documents for at least 3 years * after loan is paid in full. Here, bucket-level retention is 3 years and the * event is loan being paid in full. In this example, these objects will be * held intact for any number of years until the event has occurred (event- * based hold on the object is released) and then 3 more years after that. * That means retention duration of the objects begins from the moment event- * based hold transitioned from true to false. Objects under event-based hold * cannot be deleted, overwritten or archived until the hold is removed. * * @param bool $defaultEventBasedHold */ public function setDefaultEventBasedHold($defaultEventBasedHold) { $this->defaultEventBasedHold = $defaultEventBasedHold; } /** * @return bool */ public function getDefaultEventBasedHold() { return $this->defaultEventBasedHold; } /** * Default access controls to apply to new objects when no ACL is provided. * * @param ObjectAccessControl[] $defaultObjectAcl */ public function setDefaultObjectAcl($defaultObjectAcl) { $this->defaultObjectAcl = $defaultObjectAcl; } /** * @return ObjectAccessControl[] */ public function getDefaultObjectAcl() { return $this->defaultObjectAcl; } /** * Encryption configuration for a bucket. * * @param BucketEncryption $encryption */ public function setEncryption(BucketEncryption $encryption) { $this->encryption = $encryption; } /** * @return BucketEncryption */ public function getEncryption() { return $this->encryption; } /** * HTTP 1.1 Entity tag for the bucket. * * @param string $etag */ public function setEtag($etag) { $this->etag = $etag; } /** * @return string */ public function getEtag() { return $this->etag; } /** * The generation of this bucket. * * @param string $generation */ public function setGeneration($generation) { $this->generation = $generation; } /** * @return string */ public function getGeneration() { return $this->generation; } /** * The hard delete time of the bucket in RFC 3339 format. * * @param string $hardDeleteTime */ public function setHardDeleteTime($hardDeleteTime) { $this->hardDeleteTime = $hardDeleteTime; } /** * @return string */ public function getHardDeleteTime() { return $this->hardDeleteTime; } /** * The bucket's hierarchical namespace configuration. * * @param BucketHierarchicalNamespace $hierarchicalNamespace */ public function setHierarchicalNamespace(BucketHierarchicalNamespace $hierarchicalNamespace) { $this->hierarchicalNamespace = $hierarchicalNamespace; } /** * @return BucketHierarchicalNamespace */ public function getHierarchicalNamespace() { return $this->hierarchicalNamespace; } /** * The bucket's IAM configuration. * * @param BucketIamConfiguration $iamConfiguration */ public function setIamConfiguration(BucketIamConfiguration $iamConfiguration) { $this->iamConfiguration = $iamConfiguration; } /** * @return BucketIamConfiguration */ public function getIamConfiguration() { return $this->iamConfiguration; } /** * The ID of the bucket. For buckets, the id and name properties are the same. * * @param string $id */ public function setId($id) { $this->id = $id; } /** * @return string */ public function getId() { return $this->id; } /** * The bucket's IP filter configuration. Specifies the network sources that * are allowed to access the operations on the bucket, as well as its * underlying objects. Only enforced when the mode is set to 'Enabled'. * * @param BucketIpFilter $ipFilter */ public function setIpFilter(BucketIpFilter $ipFilter) { $this->ipFilter = $ipFilter; } /** * @return BucketIpFilter */ public function getIpFilter() { return $this->ipFilter; } /** * The kind of item this is. For buckets, this is always storage#bucket. * * @param string $kind */ public function setKind($kind) { $this->kind = $kind; } /** * @return string */ public function getKind() { return $this->kind; } /** * User-provided labels, in key/value pairs. * * @param string[] $labels */ public function setLabels($labels) { $this->labels = $labels; } /** * @return string[] */ public function getLabels() { return $this->labels; } /** * The bucket's lifecycle configuration. See [Lifecycle * Management](https://cloud.google.com/storage/docs/lifecycle) for more * information. * * @param BucketLifecycle $lifecycle */ public function setLifecycle(BucketLifecycle $lifecycle) { $this->lifecycle = $lifecycle; } /** * @return BucketLifecycle */ public function getLifecycle() { return $this->lifecycle; } /** * The location of the bucket. Object data for objects in the bucket resides * in physical storage within this region. Defaults to US. See the * [Developer's Guide](https://cloud.google.com/storage/docs/locations) for * the authoritative list. * * @param string $location */ public function setLocation($location) { $this->location = $location; } /** * @return string */ public function getLocation() { return $this->location; } /** * The type of the bucket location. * * @param string $locationType */ public function setLocationType($locationType) { $this->locationType = $locationType; } /** * @return string */ public function getLocationType() { return $this->locationType; } /** * The bucket's logging configuration, which defines the destination bucket * and optional name prefix for the current bucket's logs. * * @param BucketLogging $logging */ public function setLogging(BucketLogging $logging) { $this->logging = $logging; } /** * @return BucketLogging */ public function getLogging() { return $this->logging; } /** * The metadata generation of this bucket. * * @param string $metageneration */ public function setMetageneration($metageneration) { $this->metageneration = $metageneration; } /** * @return string */ public function getMetageneration() { return $this->metageneration; } /** * The name of the bucket. * * @param string $name */ public function setName($name) { $this->name = $name; } /** * @return string */ public function getName() { return $this->name; } /** * The bucket's object retention config. * * @param BucketObjectRetention $objectRetention */ public function setObjectRetention(BucketObjectRetention $objectRetention) { $this->objectRetention = $objectRetention; } /** * @return BucketObjectRetention */ public function getObjectRetention() { return $this->objectRetention; } /** * The owner of the bucket. This is always the project team's owner group. * * @param BucketOwner $owner */ public function setOwner(BucketOwner $owner) { $this->owner = $owner; } /** * @return BucketOwner */ public function getOwner() { return $this->owner; } /** * The project number of the project the bucket belongs to. * * @param string $projectNumber */ public function setProjectNumber($projectNumber) { $this->projectNumber = $projectNumber; } /** * @return string */ public function getProjectNumber() { return $this->projectNumber; } /** * The bucket's retention policy. The retention policy enforces a minimum * retention time for all objects contained in the bucket, based on their * creation time. Any attempt to overwrite or delete objects younger than the * retention period will result in a PERMISSION_DENIED error. An unlocked * retention policy can be modified or removed from the bucket via a * storage.buckets.update operation. A locked retention policy cannot be * removed or shortened in duration for the lifetime of the bucket. Attempting * to remove or decrease period of a locked retention policy will result in a * PERMISSION_DENIED error. * * @param BucketRetentionPolicy $retentionPolicy */ public function setRetentionPolicy(BucketRetentionPolicy $retentionPolicy) { $this->retentionPolicy = $retentionPolicy; } /** * @return BucketRetentionPolicy */ public function getRetentionPolicy() { return $this->retentionPolicy; } /** * The Recovery Point Objective (RPO) of this bucket. Set to ASYNC_TURBO to * turn on Turbo Replication on a bucket. * * @param string $rpo */ public function setRpo($rpo) { $this->rpo = $rpo; } /** * @return string */ public function getRpo() { return $this->rpo; } /** * Reserved for future use. * * @param bool $satisfiesPZI */ public function setSatisfiesPZI($satisfiesPZI) { $this->satisfiesPZI = $satisfiesPZI; } /** * @return bool */ public function getSatisfiesPZI() { return $this->satisfiesPZI; } /** * Reserved for future use. * * @param bool $satisfiesPZS */ public function setSatisfiesPZS($satisfiesPZS) { $this->satisfiesPZS = $satisfiesPZS; } /** * @return bool */ public function getSatisfiesPZS() { return $this->satisfiesPZS; } /** * The URI of this bucket. * * @param string $selfLink */ public function setSelfLink($selfLink) { $this->selfLink = $selfLink; } /** * @return string */ public function getSelfLink() { return $this->selfLink; } /** * The bucket's soft delete policy, which defines the period of time that * soft-deleted objects will be retained, and cannot be permanently deleted. * * @param BucketSoftDeletePolicy $softDeletePolicy */ public function setSoftDeletePolicy(BucketSoftDeletePolicy $softDeletePolicy) { $this->softDeletePolicy = $softDeletePolicy; } /** * @return BucketSoftDeletePolicy */ public function getSoftDeletePolicy() { return $this->softDeletePolicy; } /** * The soft delete time of the bucket in RFC 3339 format. * * @param string $softDeleteTime */ public function setSoftDeleteTime($softDeleteTime) { $this->softDeleteTime = $softDeleteTime; } /** * @return string */ public function getSoftDeleteTime() { return $this->softDeleteTime; } /** * The bucket's default storage class, used whenever no storageClass is * specified for a newly-created object. This defines how objects in the * bucket are stored and determines the SLA and the cost of storage. Values * include MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, ARCHIVE, * and DURABLE_REDUCED_AVAILABILITY. If this value is not specified when the * bucket is created, it will default to STANDARD. For more information, see * [Storage Classes](https://cloud.google.com/storage/docs/storage-classes). * * @param string $storageClass */ public function setStorageClass($storageClass) { $this->storageClass = $storageClass; } /** * @return string */ public function getStorageClass() { return $this->storageClass; } /** * The creation time of the bucket in RFC 3339 format. * * @param string $timeCreated */ public function setTimeCreated($timeCreated) { $this->timeCreated = $timeCreated; } /** * @return string */ public function getTimeCreated() { return $this->timeCreated; } /** * The modification time of the bucket in RFC 3339 format. * * @param string $updated */ public function setUpdated($updated) { $this->updated = $updated; } /** * @return string */ public function getUpdated() { return $this->updated; } /** * The bucket's versioning configuration. * * @param BucketVersioning $versioning */ public function setVersioning(BucketVersioning $versioning) { $this->versioning = $versioning; } /** * @return BucketVersioning */ public function getVersioning() { return $this->versioning; } /** * The bucket's website configuration, controlling how the service behaves * when accessing bucket contents as a web site. See the [Static Website * Examples](https://cloud.google.com/storage/docs/static-website) for more * information. * * @param BucketWebsite $website */ public function setWebsite(BucketWebsite $website) { $this->website = $website; } /** * @return BucketWebsite */ public function getWebsite() { return $this->website; } } // Adding a class alias for backwards compatibility with the previous class name. class_alias(Bucket::class, 'Google_Service_Storage_Bucket');