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"); + } + +} +