diff --git a/packages/php-storage-driver-common/generated/GPBMetadata/Proto/Workspace.php b/packages/php-storage-driver-common/generated/GPBMetadata/Proto/Workspace.php index 63c1318af..adf7470d8 100644 --- a/packages/php-storage-driver-common/generated/GPBMetadata/Proto/Workspace.php +++ b/packages/php-storage-driver-common/generated/GPBMetadata/Proto/Workspace.php @@ -18,8 +18,11 @@ public static function initOnce() { \GPBMetadata\Proto\Table::initOnce(); $pool->internalAddGeneratedFile( ' -ì -proto/workspace.proto\'keboola.storageDriver.command.workspaceproto/table.proto"“ +Î +proto/workspace.proto\'keboola.storageDriver.command.workspaceproto/table.proto"3 +DirectGrantTable +path (  + tableName ( "é CreateWorkspaceCommand stackPrefix (  projectId (  @@ -31,7 +34,8 @@ public static function initOnce() { projectReadOnlyRoleName ( ! devBranchReadOnlyRoleName ( " -meta ( 2.google.protobuf.AnyD +meta ( 2.google.protobuf.AnyT +directGrantTables ( 29.keboola.storageDriver.command.workspace.DirectGrantTableD CreateWorkspaceTeradataMeta permSpace (  @@ -42,12 +46,13 @@ public static function initOnce() { workspaceUserName (  workspaceRoleName (  workspacePassword (  -workspaceObjectName ( "| +workspaceObjectName ( "Ò DropWorkspaceCommand workspaceUserName (  workspaceRoleName (  workspaceObjectName (  - isCascade ("e + isCascade (T +directGrantTables ( 29.keboola.storageDriver.command.workspace.DirectGrantTable"e ClearWorkspaceCommand workspaceObjectName (  ignoreErrors ( diff --git a/packages/php-storage-driver-common/generated/Keboola/StorageDriver/Command/Workspace/CreateWorkspaceCommand.php b/packages/php-storage-driver-common/generated/Keboola/StorageDriver/Command/Workspace/CreateWorkspaceCommand.php index 111603a1c..822ce4fd0 100644 --- a/packages/php-storage-driver-common/generated/Keboola/StorageDriver/Command/Workspace/CreateWorkspaceCommand.php +++ b/packages/php-storage-driver-common/generated/Keboola/StorageDriver/Command/Workspace/CreateWorkspaceCommand.php @@ -82,6 +82,12 @@ class CreateWorkspaceCommand extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.protobuf.Any meta = 7; */ protected $meta = null; + /** + * tables in storage buckets to which workspace should have write access (table-level IAM) + * + * Generated from protobuf field repeated .keboola.storageDriver.command.workspace.DirectGrantTable directGrantTables = 11; + */ + private $directGrantTables; /** * Constructor. @@ -109,6 +115,8 @@ class CreateWorkspaceCommand extends \Google\Protobuf\Internal\Message * backend dev branch read only role associated with project, role has read access for all buckets in project and containing tables including bucket in dev branch * @type \Google\Protobuf\Any $meta * metadata specific for each backend + * @type array<\Keboola\StorageDriver\Command\Workspace\DirectGrantTable>|\Google\Protobuf\Internal\RepeatedField $directGrantTables + * tables in storage buckets to which workspace should have write access (table-level IAM) * } */ public function __construct($data = NULL) { @@ -386,5 +394,31 @@ public function setMeta($var) return $this; } + /** + * tables in storage buckets to which workspace should have write access (table-level IAM) + * + * Generated from protobuf field repeated .keboola.storageDriver.command.workspace.DirectGrantTable directGrantTables = 11; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getDirectGrantTables() + { + return $this->directGrantTables; + } + + /** + * tables in storage buckets to which workspace should have write access (table-level IAM) + * + * Generated from protobuf field repeated .keboola.storageDriver.command.workspace.DirectGrantTable directGrantTables = 11; + * @param array<\Keboola\StorageDriver\Command\Workspace\DirectGrantTable>|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setDirectGrantTables($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Keboola\StorageDriver\Command\Workspace\DirectGrantTable::class); + $this->directGrantTables = $arr; + + return $this; + } + } diff --git a/packages/php-storage-driver-common/generated/Keboola/StorageDriver/Command/Workspace/DirectGrantTable.php b/packages/php-storage-driver-common/generated/Keboola/StorageDriver/Command/Workspace/DirectGrantTable.php new file mode 100644 index 000000000..5989d4cb7 --- /dev/null +++ b/packages/php-storage-driver-common/generated/Keboola/StorageDriver/Command/Workspace/DirectGrantTable.php @@ -0,0 +1,102 @@ +keboola.storageDriver.command.workspace.DirectGrantTable + */ +class DirectGrantTable extends \Google\Protobuf\Internal\Message +{ + /** + * path where table exists (e.g. dataset/schema) + * + * Generated from protobuf field repeated string path = 1; + */ + private $path; + /** + * table name within the dataset + * + * Generated from protobuf field string tableName = 2; + */ + protected $tableName = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type array|\Google\Protobuf\Internal\RepeatedField $path + * path where table exists (e.g. dataset/schema) + * @type string $tableName + * table name within the dataset + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Proto\Workspace::initOnce(); + parent::__construct($data); + } + + /** + * path where table exists (e.g. dataset/schema) + * + * Generated from protobuf field repeated string path = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getPath() + { + return $this->path; + } + + /** + * path where table exists (e.g. dataset/schema) + * + * Generated from protobuf field repeated string path = 1; + * @param array|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setPath($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->path = $arr; + + return $this; + } + + /** + * table name within the dataset + * + * Generated from protobuf field string tableName = 2; + * @return string + */ + public function getTableName() + { + return $this->tableName; + } + + /** + * table name within the dataset + * + * Generated from protobuf field string tableName = 2; + * @param string $var + * @return $this + */ + public function setTableName($var) + { + GPBUtil::checkString($var, True); + $this->tableName = $var; + + return $this; + } + +} + diff --git a/packages/php-storage-driver-common/generated/Keboola/StorageDriver/Command/Workspace/DropWorkspaceCommand.php b/packages/php-storage-driver-common/generated/Keboola/StorageDriver/Command/Workspace/DropWorkspaceCommand.php index 4a33b6afc..0c906fb61 100644 --- a/packages/php-storage-driver-common/generated/Keboola/StorageDriver/Command/Workspace/DropWorkspaceCommand.php +++ b/packages/php-storage-driver-common/generated/Keboola/StorageDriver/Command/Workspace/DropWorkspaceCommand.php @@ -40,6 +40,12 @@ class DropWorkspaceCommand extends \Google\Protobuf\Internal\Message * Generated from protobuf field bool isCascade = 4; */ protected $isCascade = false; + /** + * tables with direct grant write access that need IAM cleanup before SA deletion + * + * Generated from protobuf field repeated .keboola.storageDriver.command.workspace.DirectGrantTable directGrantTables = 5; + */ + private $directGrantTables; /** * Constructor. @@ -55,6 +61,8 @@ class DropWorkspaceCommand extends \Google\Protobuf\Internal\Message * object name in backend which will be removed * @type bool $isCascade * drop all object workspace contains + * @type array<\Keboola\StorageDriver\Command\Workspace\DirectGrantTable>|\Google\Protobuf\Internal\RepeatedField $directGrantTables + * tables with direct grant write access that need IAM cleanup before SA deletion * } */ public function __construct($data = NULL) { @@ -166,5 +174,31 @@ public function setIsCascade($var) return $this; } + /** + * tables with direct grant write access that need IAM cleanup before SA deletion + * + * Generated from protobuf field repeated .keboola.storageDriver.command.workspace.DirectGrantTable directGrantTables = 5; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getDirectGrantTables() + { + return $this->directGrantTables; + } + + /** + * tables with direct grant write access that need IAM cleanup before SA deletion + * + * Generated from protobuf field repeated .keboola.storageDriver.command.workspace.DirectGrantTable directGrantTables = 5; + * @param array<\Keboola\StorageDriver\Command\Workspace\DirectGrantTable>|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setDirectGrantTables($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Keboola\StorageDriver\Command\Workspace\DirectGrantTable::class); + $this->directGrantTables = $arr; + + return $this; + } + } diff --git a/packages/php-storage-driver-common/proto/workspace.proto b/packages/php-storage-driver-common/proto/workspace.proto index f27d4f70a..fe5cd774e 100644 --- a/packages/php-storage-driver-common/proto/workspace.proto +++ b/packages/php-storage-driver-common/proto/workspace.proto @@ -5,6 +5,14 @@ import "proto/table.proto"; package keboola.storageDriver.command.workspace; +/** + * Represents a table in a storage bucket for direct grant write access + */ +message DirectGrantTable { + repeated string path = 1; // path where table exists (e.g. dataset/schema) + string tableName = 2; // table name within the dataset +} + /** * Command is used when new workspace is created in Keboola connection * Command will: @@ -25,6 +33,8 @@ message CreateWorkspaceCommand { string projectReadOnlyRoleName = 6; // backend read only role associated with project, role has read access for all buckets in project and containing tables string devBranchReadOnlyRoleName = 10; // backend dev branch read only role associated with project, role has read access for all buckets in project and containing tables including bucket in dev branch google.protobuf.Any meta = 7; // metadata specific for each backend + repeated DirectGrantTable directGrantTables = 11; // tables in storage buckets to which workspace should have write access (table-level IAM) + /** * Teradata backend metadata */ @@ -54,6 +64,7 @@ message DropWorkspaceCommand { string workspaceRoleName = 2; // backend role associated with workspace string workspaceObjectName = 3; // object name in backend which will be removed bool isCascade = 4; // drop all object workspace contains + repeated DirectGrantTable directGrantTables = 5; // tables with direct grant write access that need IAM cleanup before SA deletion } /** * Command will remove workspace content