diff --git a/Bigtable/metadata/Admin/V2/Table.php b/Bigtable/metadata/Admin/V2/Table.php
index 29414d130d8..280f2061a9d 100644
Binary files a/Bigtable/metadata/Admin/V2/Table.php and b/Bigtable/metadata/Admin/V2/Table.php differ
diff --git a/Bigtable/src/Admin/V2/Table.php b/Bigtable/src/Admin/V2/Table.php
index 48ae5f0c60c..9ecfa2e24cf 100644
--- a/Bigtable/src/Admin/V2/Table.php
+++ b/Bigtable/src/Admin/V2/Table.php
@@ -76,6 +76,18 @@ class Table extends \Google\Protobuf\Internal\Message
* Generated from protobuf field bool deletion_protection = 9;
*/
protected $deletion_protection = false;
+ /**
+ * Rules to specify what data is stored in each storage tier.
+ * Different tiers store data differently, providing different trade-offs
+ * between cost and performance. Different parts of a table can be stored
+ * separately on different tiers.
+ * If a config is specified, tiered storage is enabled for this table.
+ * Otherwise, tiered storage is disabled.
+ * Only SSD instances can configure tiered storage.
+ *
+ * Generated from protobuf field .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14;
+ */
+ protected $tiered_storage_config = null;
/**
* The row key schema for this table. The schema is used to decode the raw row
* key bytes into a structured format. The order of field declarations in this
@@ -175,6 +187,14 @@ class Table extends \Google\Protobuf\Internal\Message
* @type \Google\Cloud\Bigtable\Admin\V2\Table\AutomatedBackupPolicy $automated_backup_policy
* If specified, automated backups are enabled for this table.
* Otherwise, automated backups are disabled.
+ * @type \Google\Cloud\Bigtable\Admin\V2\TieredStorageConfig $tiered_storage_config
+ * Rules to specify what data is stored in each storage tier.
+ * Different tiers store data differently, providing different trade-offs
+ * between cost and performance. Different parts of a table can be stored
+ * separately on different tiers.
+ * If a config is specified, tiered storage is enabled for this table.
+ * Otherwise, tiered storage is disabled.
+ * Only SSD instances can configure tiered storage.
* @type \Google\Cloud\Bigtable\Admin\V2\Type\Struct $row_key_schema
* The row key schema for this table. The schema is used to decode the raw row
* key bytes into a structured format. The order of field declarations in this
@@ -505,6 +525,54 @@ public function setAutomatedBackupPolicy($var)
return $this;
}
+ /**
+ * Rules to specify what data is stored in each storage tier.
+ * Different tiers store data differently, providing different trade-offs
+ * between cost and performance. Different parts of a table can be stored
+ * separately on different tiers.
+ * If a config is specified, tiered storage is enabled for this table.
+ * Otherwise, tiered storage is disabled.
+ * Only SSD instances can configure tiered storage.
+ *
+ * Generated from protobuf field .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14;
+ * @return \Google\Cloud\Bigtable\Admin\V2\TieredStorageConfig|null
+ */
+ public function getTieredStorageConfig()
+ {
+ return $this->tiered_storage_config;
+ }
+
+ public function hasTieredStorageConfig()
+ {
+ return isset($this->tiered_storage_config);
+ }
+
+ public function clearTieredStorageConfig()
+ {
+ unset($this->tiered_storage_config);
+ }
+
+ /**
+ * Rules to specify what data is stored in each storage tier.
+ * Different tiers store data differently, providing different trade-offs
+ * between cost and performance. Different parts of a table can be stored
+ * separately on different tiers.
+ * If a config is specified, tiered storage is enabled for this table.
+ * Otherwise, tiered storage is disabled.
+ * Only SSD instances can configure tiered storage.
+ *
+ * Generated from protobuf field .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14;
+ * @param \Google\Cloud\Bigtable\Admin\V2\TieredStorageConfig $var
+ * @return $this
+ */
+ public function setTieredStorageConfig($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\Admin\V2\TieredStorageConfig::class);
+ $this->tiered_storage_config = $var;
+
+ return $this;
+ }
+
/**
* The row key schema for this table. The schema is used to decode the raw row
* key bytes into a structured format. The order of field declarations in this
diff --git a/Bigtable/src/Admin/V2/TieredStorageConfig.php b/Bigtable/src/Admin/V2/TieredStorageConfig.php
new file mode 100644
index 00000000000..a96dbdea972
--- /dev/null
+++ b/Bigtable/src/Admin/V2/TieredStorageConfig.php
@@ -0,0 +1,85 @@
+google.bigtable.admin.v2.TieredStorageConfig
+ */
+class TieredStorageConfig extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Rule to specify what data is stored in the infrequent access(IA) tier.
+ * The IA tier allows storing more data per node with reduced performance.
+ *
+ * Generated from protobuf field .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1;
+ */
+ protected $infrequent_access = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Cloud\Bigtable\Admin\V2\TieredStorageRule $infrequent_access
+ * Rule to specify what data is stored in the infrequent access(IA) tier.
+ * The IA tier allows storing more data per node with reduced performance.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Bigtable\Admin\V2\Table::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Rule to specify what data is stored in the infrequent access(IA) tier.
+ * The IA tier allows storing more data per node with reduced performance.
+ *
+ * Generated from protobuf field .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1;
+ * @return \Google\Cloud\Bigtable\Admin\V2\TieredStorageRule|null
+ */
+ public function getInfrequentAccess()
+ {
+ return $this->infrequent_access;
+ }
+
+ public function hasInfrequentAccess()
+ {
+ return isset($this->infrequent_access);
+ }
+
+ public function clearInfrequentAccess()
+ {
+ unset($this->infrequent_access);
+ }
+
+ /**
+ * Rule to specify what data is stored in the infrequent access(IA) tier.
+ * The IA tier allows storing more data per node with reduced performance.
+ *
+ * Generated from protobuf field .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1;
+ * @param \Google\Cloud\Bigtable\Admin\V2\TieredStorageRule $var
+ * @return $this
+ */
+ public function setInfrequentAccess($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\Admin\V2\TieredStorageRule::class);
+ $this->infrequent_access = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/Bigtable/src/Admin/V2/TieredStorageRule.php b/Bigtable/src/Admin/V2/TieredStorageRule.php
new file mode 100644
index 00000000000..376238bbabc
--- /dev/null
+++ b/Bigtable/src/Admin/V2/TieredStorageRule.php
@@ -0,0 +1,78 @@
+google.bigtable.admin.v2.TieredStorageRule
+ */
+class TieredStorageRule extends \Google\Protobuf\Internal\Message
+{
+ protected $rule;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Duration $include_if_older_than
+ * Include cells older than the given age.
+ * For the infrequent access tier, this value must be at least 30 days.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Bigtable\Admin\V2\Table::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Include cells older than the given age.
+ * For the infrequent access tier, this value must be at least 30 days.
+ *
+ * Generated from protobuf field .google.protobuf.Duration include_if_older_than = 1;
+ * @return \Google\Protobuf\Duration|null
+ */
+ public function getIncludeIfOlderThan()
+ {
+ return $this->readOneof(1);
+ }
+
+ public function hasIncludeIfOlderThan()
+ {
+ return $this->hasOneof(1);
+ }
+
+ /**
+ * Include cells older than the given age.
+ * For the infrequent access tier, this value must be at least 30 days.
+ *
+ * Generated from protobuf field .google.protobuf.Duration include_if_older_than = 1;
+ * @param \Google\Protobuf\Duration $var
+ * @return $this
+ */
+ public function setIncludeIfOlderThan($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getRule()
+ {
+ return $this->whichOneof("rule");
+ }
+
+}
+