diff --git a/BigQueryMigration/metadata/V2/AssessmentTask.php b/BigQueryMigration/metadata/V2/AssessmentTask.php new file mode 100644 index 000000000000..89869a069794 --- /dev/null +++ b/BigQueryMigration/metadata/V2/AssessmentTask.php @@ -0,0 +1,25 @@ +internalAddGeneratedFile( + "\x0A\x8F\x05\x0A8google/cloud/bigquery/migration/v2/assessment_task.proto\x12\"google.cloud.bigquery.migration.v2\"\xF6\x01\x0A\x15AssessmentTaskDetails\x12\x17\x0A\x0Ainput_path\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x1B\x0A\x0Eoutput_dataset\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x1B\x0A\x0Equerylogs_path\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x18\x0A\x0Bdata_source\x18\x04 \x01(\x09B\x03\xE0A\x02\x12]\x0A\x0Efeature_handle\x18\x06 \x01(\x0B2;.google.cloud.bigquery.migration.v2.AssessmentFeatureHandleB\x03\xE0A\x01H\x00\x88\x01\x01B\x11\x0A\x0F_feature_handle\"\\\x0A\x17AssessmentFeatureHandle\x12'\x0A\x15add_shareable_dataset\x18\x01 \x01(\x08B\x03\xE0A\x01H\x00\x88\x01\x01B\x18\x0A\x16_add_shareable_datasetB\xCF\x01\x0A&com.google.cloud.bigquery.migration.v2B\x13AssessmentTaskProtoP\x01ZDcloud.google.com/go/bigquery/migration/apiv2/migrationpb;migrationpb\xAA\x02\"Google.Cloud.BigQuery.Migration.V2\xCA\x02\"Google\\Cloud\\BigQuery\\Migration\\V2b\x06proto3" + , true); + + static::$is_initialized = true; + } +} + diff --git a/BigQueryMigration/metadata/V2/MigrationEntities.php b/BigQueryMigration/metadata/V2/MigrationEntities.php index d31661535e94..94a42b94cfce 100644 --- a/BigQueryMigration/metadata/V2/MigrationEntities.php +++ b/BigQueryMigration/metadata/V2/MigrationEntities.php @@ -16,6 +16,7 @@ public static function initOnce() { } \GPBMetadata\Google\Api\FieldBehavior::initOnce(); \GPBMetadata\Google\Api\Resource::initOnce(); + \GPBMetadata\Google\Cloud\Bigquery\Migration\V2\AssessmentTask::initOnce(); \GPBMetadata\Google\Cloud\Bigquery\Migration\V2\MigrationErrorDetails::initOnce(); \GPBMetadata\Google\Cloud\Bigquery\Migration\V2\MigrationMetrics::initOnce(); \GPBMetadata\Google\Cloud\Bigquery\Migration\V2\TranslationConfig::initOnce(); @@ -24,7 +25,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); \GPBMetadata\Google\Rpc\ErrorDetails::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xB4\x1A\x0A;google/cloud/bigquery/migration/v2/migration_entities.proto\x12\"google.cloud.bigquery.migration.v2\x1A\x19google/api/resource.proto\x1A@google/cloud/bigquery/migration/v2/migration_error_details.proto\x1A:google/cloud/bigquery/migration/v2/migration_metrics.proto\x1A;google/cloud/bigquery/migration/v2/translation_config.proto\x1Agoogle/cloud/bigquery/migration/v2/translation_usability.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x1Egoogle/rpc/error_details.proto\"\xF6\x04\x0A\x11MigrationWorkflow\x12\x17\x0A\x04name\x18\x01 \x01(\x09B\x09\xE0A\x03\xE0A\x05\xE0A\x08\x12\x14\x0A\x0Cdisplay_name\x18\x06 \x01(\x09\x12O\x0A\x05tasks\x18\x02 \x03(\x0B2@.google.cloud.bigquery.migration.v2.MigrationWorkflow.TasksEntry\x12O\x0A\x05state\x18\x03 \x01(\x0E2;.google.cloud.bigquery.migration.v2.MigrationWorkflow.StateB\x03\xE0A\x03\x12/\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.Timestamp\x124\x0A\x10last_update_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.Timestamp\x1A_\x0A\x0ATasksEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12@\x0A\x05value\x18\x02 \x01(\x0B21.google.cloud.bigquery.migration.v2.MigrationTask:\x028\x01\"Q\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05DRAFT\x10\x01\x12\x0B\x0A\x07RUNNING\x10\x02\x12\x0A\x0A\x06PAUSED\x10\x03\x12\x0D\x0A\x09COMPLETED\x10\x04:u\xEAAr\x0A2bigquerymigration.googleapis.com/MigrationWorkflow\x12google/cloud/bigquery/migration/v2/translation_usability.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x1Egoogle/rpc/error_details.proto\"\x80\x05\x0A\x11MigrationWorkflow\x12\x17\x0A\x04name\x18\x01 \x01(\x09B\x09\xE0A\x03\xE0A\x05\xE0A\x08\x12\x14\x0A\x0Cdisplay_name\x18\x06 \x01(\x09\x12O\x0A\x05tasks\x18\x02 \x03(\x0B2@.google.cloud.bigquery.migration.v2.MigrationWorkflow.TasksEntry\x12O\x0A\x05state\x18\x03 \x01(\x0E2;.google.cloud.bigquery.migration.v2.MigrationWorkflow.StateB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x129\x0A\x10last_update_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x1A_\x0A\x0ATasksEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12@\x0A\x05value\x18\x02 \x01(\x0B21.google.cloud.bigquery.migration.v2.MigrationTask:\x028\x01\"Q\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05DRAFT\x10\x01\x12\x0B\x0A\x07RUNNING\x10\x02\x12\x0A\x0A\x06PAUSED\x10\x03\x12\x0D\x0A\x09COMPLETED\x10\x04:u\xEAAr\x0A2bigquerymigration.googleapis.com/MigrationWorkflow\x12internalAddGeneratedFile( - "\x0A\xF6\x08\x0A\x0A\x07literal\x18\x02 \x01(\x0B2+.google.cloud.bigquery.migration.v2.LiteralH\x00\x12\x15\x0A\x08encoding\x18\x03 \x01(\x09B\x03\xE0A\x01B\x08\x0A\x06source\"#\x0A\x0ATargetSpec\x12\x15\x0A\x0Drelative_path\x18\x01 \x01(\x09\"h\x0A\x07Literal\x12\x18\x0A\x0Eliteral_string\x18\x02 \x01(\x09H\x00\x12\x17\x0A\x0Dliteral_bytes\x18\x03 \x01(\x0CH\x00\x12\x1A\x0A\x0Drelative_path\x18\x01 \x01(\x09B\x03\xE0A\x02B\x0E\x0A\x0Cliteral_data\"n\x0A\x11SourceEnvironment\x12\x18\x0A\x10default_database\x18\x01 \x01(\x09\x12\x1A\x0A\x12schema_search_path\x18\x02 \x03(\x09\x12#\x0A\x16metadata_store_dataset\x18\x03 \x01(\x09B\x03\xE0A\x01B\xD3\x01\x0A&com.google.cloud.bigquery.migration.v2B\x17TranslationDetailsProtoP\x01ZDcloud.google.com/go/bigquery/migration/apiv2/migrationpb;migrationpb\xAA\x02\"Google.Cloud.BigQuery.Migration.V2\xCA\x02\"Google\\Cloud\\BigQuery\\Migration\\V2b\x06proto3" + "\x0A\xCA\x0D\x0A\x0A\x07literal\x18\x02 \x01(\x0B2+.google.cloud.bigquery.migration.v2.LiteralH\x00\x12\x17\x0A\x0Dgcs_file_path\x18\x04 \x01(\x09H\x00\x12\x15\x0A\x08encoding\x18\x03 \x01(\x09B\x03\xE0A\x01B\x08\x0A\x06source\"#\x0A\x0ATargetSpec\x12\x15\x0A\x0Drelative_path\x18\x01 \x01(\x09\"h\x0A\x07Literal\x12\x18\x0A\x0Eliteral_string\x18\x02 \x01(\x09H\x00\x12\x17\x0A\x0Dliteral_bytes\x18\x03 \x01(\x0CH\x00\x12\x1A\x0A\x0Drelative_path\x18\x01 \x01(\x09B\x03\xE0A\x02B\x0E\x0A\x0Cliteral_data\"n\x0A\x11SourceEnvironment\x12\x18\x0A\x10default_database\x18\x01 \x01(\x09\x12\x1A\x0A\x12schema_search_path\x18\x02 \x03(\x09\x12#\x0A\x16metadata_store_dataset\x18\x03 \x01(\x09B\x03\xE0A\x01B\xD3\x01\x0A&com.google.cloud.bigquery.migration.v2B\x17TranslationDetailsProtoP\x01ZDcloud.google.com/go/bigquery/migration/apiv2/migrationpb;migrationpb\xAA\x02\"Google.Cloud.BigQuery.Migration.V2\xCA\x02\"Google\\Cloud\\BigQuery\\Migration\\V2b\x06proto3" , true); static::$is_initialized = true; diff --git a/BigQueryMigration/src/V2/AssessmentFeatureHandle.php b/BigQueryMigration/src/V2/AssessmentFeatureHandle.php new file mode 100644 index 000000000000..74b25babd9ff --- /dev/null +++ b/BigQueryMigration/src/V2/AssessmentFeatureHandle.php @@ -0,0 +1,81 @@ +google.cloud.bigquery.migration.v2.AssessmentFeatureHandle + */ +class AssessmentFeatureHandle extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. Whether to create a dataset containing non-PII data in addition + * to the output dataset. + * + * Generated from protobuf field optional bool add_shareable_dataset = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $add_shareable_dataset = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type bool $add_shareable_dataset + * Optional. Whether to create a dataset containing non-PII data in addition + * to the output dataset. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Bigquery\Migration\V2\AssessmentTask::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Whether to create a dataset containing non-PII data in addition + * to the output dataset. + * + * Generated from protobuf field optional bool add_shareable_dataset = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getAddShareableDataset() + { + return isset($this->add_shareable_dataset) ? $this->add_shareable_dataset : false; + } + + public function hasAddShareableDataset() + { + return isset($this->add_shareable_dataset); + } + + public function clearAddShareableDataset() + { + unset($this->add_shareable_dataset); + } + + /** + * Optional. Whether to create a dataset containing non-PII data in addition + * to the output dataset. + * + * Generated from protobuf field optional bool add_shareable_dataset = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setAddShareableDataset($var) + { + GPBUtil::checkBool($var); + $this->add_shareable_dataset = $var; + + return $this; + } + +} + diff --git a/BigQueryMigration/src/V2/AssessmentTaskDetails.php b/BigQueryMigration/src/V2/AssessmentTaskDetails.php new file mode 100644 index 000000000000..b8398f99ccbc --- /dev/null +++ b/BigQueryMigration/src/V2/AssessmentTaskDetails.php @@ -0,0 +1,221 @@ +google.cloud.bigquery.migration.v2.AssessmentTaskDetails + */ +class AssessmentTaskDetails extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The Cloud Storage path for assessment input files. + * + * Generated from protobuf field string input_path = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $input_path = ''; + /** + * Required. The BigQuery dataset for output. + * + * Generated from protobuf field string output_dataset = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $output_dataset = ''; + /** + * Optional. An optional Cloud Storage path to write the query logs (which is + * then used as an input path on the translation task) + * + * Generated from protobuf field string querylogs_path = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $querylogs_path = ''; + /** + * Required. The data source or data warehouse type (eg: TERADATA/REDSHIFT) + * from which the input data is extracted. + * + * Generated from protobuf field string data_source = 4 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $data_source = ''; + /** + * Optional. A collection of additional feature flags for this assessment. + * + * Generated from protobuf field optional .google.cloud.bigquery.migration.v2.AssessmentFeatureHandle feature_handle = 6 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $feature_handle = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $input_path + * Required. The Cloud Storage path for assessment input files. + * @type string $output_dataset + * Required. The BigQuery dataset for output. + * @type string $querylogs_path + * Optional. An optional Cloud Storage path to write the query logs (which is + * then used as an input path on the translation task) + * @type string $data_source + * Required. The data source or data warehouse type (eg: TERADATA/REDSHIFT) + * from which the input data is extracted. + * @type \Google\Cloud\BigQuery\Migration\V2\AssessmentFeatureHandle $feature_handle + * Optional. A collection of additional feature flags for this assessment. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Bigquery\Migration\V2\AssessmentTask::initOnce(); + parent::__construct($data); + } + + /** + * Required. The Cloud Storage path for assessment input files. + * + * Generated from protobuf field string input_path = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getInputPath() + { + return $this->input_path; + } + + /** + * Required. The Cloud Storage path for assessment input files. + * + * Generated from protobuf field string input_path = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setInputPath($var) + { + GPBUtil::checkString($var, True); + $this->input_path = $var; + + return $this; + } + + /** + * Required. The BigQuery dataset for output. + * + * Generated from protobuf field string output_dataset = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getOutputDataset() + { + return $this->output_dataset; + } + + /** + * Required. The BigQuery dataset for output. + * + * Generated from protobuf field string output_dataset = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setOutputDataset($var) + { + GPBUtil::checkString($var, True); + $this->output_dataset = $var; + + return $this; + } + + /** + * Optional. An optional Cloud Storage path to write the query logs (which is + * then used as an input path on the translation task) + * + * Generated from protobuf field string querylogs_path = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getQuerylogsPath() + { + return $this->querylogs_path; + } + + /** + * Optional. An optional Cloud Storage path to write the query logs (which is + * then used as an input path on the translation task) + * + * Generated from protobuf field string querylogs_path = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setQuerylogsPath($var) + { + GPBUtil::checkString($var, True); + $this->querylogs_path = $var; + + return $this; + } + + /** + * Required. The data source or data warehouse type (eg: TERADATA/REDSHIFT) + * from which the input data is extracted. + * + * Generated from protobuf field string data_source = 4 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getDataSource() + { + return $this->data_source; + } + + /** + * Required. The data source or data warehouse type (eg: TERADATA/REDSHIFT) + * from which the input data is extracted. + * + * Generated from protobuf field string data_source = 4 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setDataSource($var) + { + GPBUtil::checkString($var, True); + $this->data_source = $var; + + return $this; + } + + /** + * Optional. A collection of additional feature flags for this assessment. + * + * Generated from protobuf field optional .google.cloud.bigquery.migration.v2.AssessmentFeatureHandle feature_handle = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\BigQuery\Migration\V2\AssessmentFeatureHandle|null + */ + public function getFeatureHandle() + { + return $this->feature_handle; + } + + public function hasFeatureHandle() + { + return isset($this->feature_handle); + } + + public function clearFeatureHandle() + { + unset($this->feature_handle); + } + + /** + * Optional. A collection of additional feature flags for this assessment. + * + * Generated from protobuf field optional .google.cloud.bigquery.migration.v2.AssessmentFeatureHandle feature_handle = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\BigQuery\Migration\V2\AssessmentFeatureHandle $var + * @return $this + */ + public function setFeatureHandle($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\BigQuery\Migration\V2\AssessmentFeatureHandle::class); + $this->feature_handle = $var; + + return $this; + } + +} + diff --git a/BigQueryMigration/src/V2/MigrationSubtask.php b/BigQueryMigration/src/V2/MigrationSubtask.php index f7d0f5f056fe..d633f8f24317 100644 --- a/BigQueryMigration/src/V2/MigrationSubtask.php +++ b/BigQueryMigration/src/V2/MigrationSubtask.php @@ -62,30 +62,30 @@ class MigrationSubtask extends \Google\Protobuf\Internal\Message */ private $resource_error_details; /** - * The number or resources with errors. Note: This is not the total - * number of errors as each resource can have more than one error. - * This is used to indicate truncation by having a `resource_error_count` - * that is higher than the size of `resource_error_details`. + * Output only. The number or resources with errors. Note: This is not the + * total number of errors as each resource can have more than one error. This + * is used to indicate truncation by having a `resource_error_count` that is + * higher than the size of `resource_error_details`. * - * Generated from protobuf field int32 resource_error_count = 13; + * Generated from protobuf field int32 resource_error_count = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $resource_error_count = 0; /** - * Time when the subtask was created. + * Output only. Time when the subtask was created. * - * Generated from protobuf field .google.protobuf.Timestamp create_time = 7; + * Generated from protobuf field .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $create_time = null; /** - * Time when the subtask was last updated. + * Output only. Time when the subtask was last updated. * - * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 8; + * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $last_update_time = null; /** - * The metrics for the subtask. + * Output only. The metrics for the subtask. * - * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.TimeSeries metrics = 11; + * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.TimeSeries metrics = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ private $metrics; @@ -116,16 +116,16 @@ class MigrationSubtask extends \Google\Protobuf\Internal\Message * processing the subtask. Presence of error details does not mean that the * subtask failed. * @type int $resource_error_count - * The number or resources with errors. Note: This is not the total - * number of errors as each resource can have more than one error. - * This is used to indicate truncation by having a `resource_error_count` - * that is higher than the size of `resource_error_details`. + * Output only. The number or resources with errors. Note: This is not the + * total number of errors as each resource can have more than one error. This + * is used to indicate truncation by having a `resource_error_count` that is + * higher than the size of `resource_error_details`. * @type \Google\Protobuf\Timestamp $create_time - * Time when the subtask was created. + * Output only. Time when the subtask was created. * @type \Google\Protobuf\Timestamp $last_update_time - * Time when the subtask was last updated. + * Output only. Time when the subtask was last updated. * @type \Google\Cloud\BigQuery\Migration\V2\TimeSeries[] $metrics - * The metrics for the subtask. + * Output only. The metrics for the subtask. * } */ public function __construct($data = NULL) { @@ -316,12 +316,12 @@ public function setResourceErrorDetails($var) } /** - * The number or resources with errors. Note: This is not the total - * number of errors as each resource can have more than one error. - * This is used to indicate truncation by having a `resource_error_count` - * that is higher than the size of `resource_error_details`. + * Output only. The number or resources with errors. Note: This is not the + * total number of errors as each resource can have more than one error. This + * is used to indicate truncation by having a `resource_error_count` that is + * higher than the size of `resource_error_details`. * - * Generated from protobuf field int32 resource_error_count = 13; + * Generated from protobuf field int32 resource_error_count = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @return int */ public function getResourceErrorCount() @@ -330,12 +330,12 @@ public function getResourceErrorCount() } /** - * The number or resources with errors. Note: This is not the total - * number of errors as each resource can have more than one error. - * This is used to indicate truncation by having a `resource_error_count` - * that is higher than the size of `resource_error_details`. + * Output only. The number or resources with errors. Note: This is not the + * total number of errors as each resource can have more than one error. This + * is used to indicate truncation by having a `resource_error_count` that is + * higher than the size of `resource_error_details`. * - * Generated from protobuf field int32 resource_error_count = 13; + * Generated from protobuf field int32 resource_error_count = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @param int $var * @return $this */ @@ -348,9 +348,9 @@ public function setResourceErrorCount($var) } /** - * Time when the subtask was created. + * Output only. Time when the subtask was created. * - * Generated from protobuf field .google.protobuf.Timestamp create_time = 7; + * Generated from protobuf field .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @return \Google\Protobuf\Timestamp|null */ public function getCreateTime() @@ -369,9 +369,9 @@ public function clearCreateTime() } /** - * Time when the subtask was created. + * Output only. Time when the subtask was created. * - * Generated from protobuf field .google.protobuf.Timestamp create_time = 7; + * Generated from protobuf field .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @param \Google\Protobuf\Timestamp $var * @return $this */ @@ -384,9 +384,9 @@ public function setCreateTime($var) } /** - * Time when the subtask was last updated. + * Output only. Time when the subtask was last updated. * - * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 8; + * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @return \Google\Protobuf\Timestamp|null */ public function getLastUpdateTime() @@ -405,9 +405,9 @@ public function clearLastUpdateTime() } /** - * Time when the subtask was last updated. + * Output only. Time when the subtask was last updated. * - * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 8; + * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @param \Google\Protobuf\Timestamp $var * @return $this */ @@ -420,9 +420,9 @@ public function setLastUpdateTime($var) } /** - * The metrics for the subtask. + * Output only. The metrics for the subtask. * - * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.TimeSeries metrics = 11; + * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.TimeSeries metrics = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @return RepeatedField<\Google\Cloud\BigQuery\Migration\V2\TimeSeries> */ public function getMetrics() @@ -431,9 +431,9 @@ public function getMetrics() } /** - * The metrics for the subtask. + * Output only. The metrics for the subtask. * - * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.TimeSeries metrics = 11; + * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.TimeSeries metrics = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @param \Google\Cloud\BigQuery\Migration\V2\TimeSeries[] $var * @return $this */ diff --git a/BigQueryMigration/src/V2/MigrationTask.php b/BigQueryMigration/src/V2/MigrationTask.php index 3706c78bb408..70dbf6fb2156 100644 --- a/BigQueryMigration/src/V2/MigrationTask.php +++ b/BigQueryMigration/src/V2/MigrationTask.php @@ -24,13 +24,19 @@ class MigrationTask extends \Google\Protobuf\Internal\Message */ protected $id = ''; /** - * The type of the task. This must be one of the supported task types: - * Translation_Teradata2BQ, Translation_Redshift2BQ, Translation_Bteq2BQ, - * Translation_Oracle2BQ, Translation_HiveQL2BQ, Translation_SparkSQL2BQ, - * Translation_Snowflake2BQ, Translation_Netezza2BQ, - * Translation_AzureSynapse2BQ, Translation_Vertica2BQ, - * Translation_SQLServer2BQ, Translation_Presto2BQ, Translation_MySQL2BQ, - * Translation_Postgresql2BQ, Translation_SQLite2BQ, Translation_Greenplum2BQ. + * The type of the task. This must be one of the supported task types. + * Assessment: + * - `Assessment_Hive` - Assessment for Hive. + * - `Assessment_Redshift` - Assessment for Redshift. + * - `Assessment_Snowflake` - Assessment for Snowflake. + * - `Assessment_Teradata_v2` - Assessment for Teradata. + * - `Assessment_Oracle` - Assessment for Oracle. + * - `Assessment_Hadoop` - Assessment for Hadoop. + * - `Assessment_Informatica` - Assessment for Informatica. + * Translation: + * See [Supported Task + * Types](https://docs.cloud.google.com/bigquery/docs/api-sql-translator#supported_task_types) + * for a list of supported task types. * * Generated from protobuf field string type = 2; */ @@ -49,15 +55,15 @@ class MigrationTask extends \Google\Protobuf\Internal\Message */ protected $processing_error = null; /** - * Time when the task was created. + * Output only. Time when the task was created. * - * Generated from protobuf field .google.protobuf.Timestamp create_time = 6; + * Generated from protobuf field .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $create_time = null; /** - * Time when the task was last updated. + * Output only. Time when the task was last updated. * - * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 7; + * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $last_update_time = null; /** @@ -69,18 +75,18 @@ class MigrationTask extends \Google\Protobuf\Internal\Message */ private $resource_error_details; /** - * The number or resources with errors. Note: This is not the total - * number of errors as each resource can have more than one error. - * This is used to indicate truncation by having a `resource_error_count` - * that is higher than the size of `resource_error_details`. + * Output only. The number or resources with errors. Note: This is not the + * total number of errors as each resource can have more than one error. This + * is used to indicate truncation by having a `resource_error_count` that is + * higher than the size of `resource_error_details`. * - * Generated from protobuf field int32 resource_error_count = 18; + * Generated from protobuf field int32 resource_error_count = 18 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $resource_error_count = 0; /** - * The metrics for the task. + * Output only. The metrics for the task. * - * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.TimeSeries metrics = 19; + * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.TimeSeries metrics = 19 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ private $metrics; /** @@ -90,15 +96,17 @@ class MigrationTask extends \Google\Protobuf\Internal\Message */ protected $task_result = null; /** - * Count of all the processing errors in this task and its subtasks. + * Output only. Count of all the processing errors in this task and its + * subtasks. * - * Generated from protobuf field int32 total_processing_error_count = 21; + * Generated from protobuf field int32 total_processing_error_count = 21 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $total_processing_error_count = 0; /** - * Count of all the resource errors in this task and its subtasks. + * Output only. Count of all the resource errors in this task and its + * subtasks. * - * Generated from protobuf field int32 total_resource_error_count = 22; + * Generated from protobuf field int32 total_resource_error_count = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $total_resource_error_count = 0; protected $task_details; @@ -109,6 +117,8 @@ class MigrationTask extends \Google\Protobuf\Internal\Message * @param array $data { * Optional. Data for populating the Message object. * + * @type \Google\Cloud\BigQuery\Migration\V2\AssessmentTaskDetails $assessment_task_details + * Task configuration for Assessment. * @type \Google\Cloud\BigQuery\Migration\V2\TranslationConfigDetails $translation_config_details * Task configuration for CW Batch/Offline SQL Translation. * @type \Google\Cloud\BigQuery\Migration\V2\TranslationDetails $translation_details @@ -117,39 +127,47 @@ class MigrationTask extends \Google\Protobuf\Internal\Message * Output only. Immutable. The unique identifier for the migration task. The * ID is server-generated. * @type string $type - * The type of the task. This must be one of the supported task types: - * Translation_Teradata2BQ, Translation_Redshift2BQ, Translation_Bteq2BQ, - * Translation_Oracle2BQ, Translation_HiveQL2BQ, Translation_SparkSQL2BQ, - * Translation_Snowflake2BQ, Translation_Netezza2BQ, - * Translation_AzureSynapse2BQ, Translation_Vertica2BQ, - * Translation_SQLServer2BQ, Translation_Presto2BQ, Translation_MySQL2BQ, - * Translation_Postgresql2BQ, Translation_SQLite2BQ, Translation_Greenplum2BQ. + * The type of the task. This must be one of the supported task types. + * Assessment: + * - `Assessment_Hive` - Assessment for Hive. + * - `Assessment_Redshift` - Assessment for Redshift. + * - `Assessment_Snowflake` - Assessment for Snowflake. + * - `Assessment_Teradata_v2` - Assessment for Teradata. + * - `Assessment_Oracle` - Assessment for Oracle. + * - `Assessment_Hadoop` - Assessment for Hadoop. + * - `Assessment_Informatica` - Assessment for Informatica. + * Translation: + * See [Supported Task + * Types](https://docs.cloud.google.com/bigquery/docs/api-sql-translator#supported_task_types) + * for a list of supported task types. * @type int $state * Output only. The current state of the task. * @type \Google\Rpc\ErrorInfo $processing_error * Output only. An explanation that may be populated when the task is in * FAILED state. * @type \Google\Protobuf\Timestamp $create_time - * Time when the task was created. + * Output only. Time when the task was created. * @type \Google\Protobuf\Timestamp $last_update_time - * Time when the task was last updated. + * Output only. Time when the task was last updated. * @type \Google\Cloud\BigQuery\Migration\V2\ResourceErrorDetail[] $resource_error_details * Output only. Provides details to errors and issues encountered while * processing the task. Presence of error details does not mean that the task * failed. * @type int $resource_error_count - * The number or resources with errors. Note: This is not the total - * number of errors as each resource can have more than one error. - * This is used to indicate truncation by having a `resource_error_count` - * that is higher than the size of `resource_error_details`. + * Output only. The number or resources with errors. Note: This is not the + * total number of errors as each resource can have more than one error. This + * is used to indicate truncation by having a `resource_error_count` that is + * higher than the size of `resource_error_details`. * @type \Google\Cloud\BigQuery\Migration\V2\TimeSeries[] $metrics - * The metrics for the task. + * Output only. The metrics for the task. * @type \Google\Cloud\BigQuery\Migration\V2\MigrationTaskResult $task_result * Output only. The result of the task. * @type int $total_processing_error_count - * Count of all the processing errors in this task and its subtasks. + * Output only. Count of all the processing errors in this task and its + * subtasks. * @type int $total_resource_error_count - * Count of all the resource errors in this task and its subtasks. + * Output only. Count of all the resource errors in this task and its + * subtasks. * } */ public function __construct($data = NULL) { @@ -157,6 +175,37 @@ public function __construct($data = NULL) { parent::__construct($data); } + /** + * Task configuration for Assessment. + * + * Generated from protobuf field .google.cloud.bigquery.migration.v2.AssessmentTaskDetails assessment_task_details = 12; + * @return \Google\Cloud\BigQuery\Migration\V2\AssessmentTaskDetails|null + */ + public function getAssessmentTaskDetails() + { + return $this->readOneof(12); + } + + public function hasAssessmentTaskDetails() + { + return $this->hasOneof(12); + } + + /** + * Task configuration for Assessment. + * + * Generated from protobuf field .google.cloud.bigquery.migration.v2.AssessmentTaskDetails assessment_task_details = 12; + * @param \Google\Cloud\BigQuery\Migration\V2\AssessmentTaskDetails $var + * @return $this + */ + public function setAssessmentTaskDetails($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\BigQuery\Migration\V2\AssessmentTaskDetails::class); + $this->writeOneof(12, $var); + + return $this; + } + /** * Task configuration for CW Batch/Offline SQL Translation. * @@ -248,13 +297,19 @@ public function setId($var) } /** - * The type of the task. This must be one of the supported task types: - * Translation_Teradata2BQ, Translation_Redshift2BQ, Translation_Bteq2BQ, - * Translation_Oracle2BQ, Translation_HiveQL2BQ, Translation_SparkSQL2BQ, - * Translation_Snowflake2BQ, Translation_Netezza2BQ, - * Translation_AzureSynapse2BQ, Translation_Vertica2BQ, - * Translation_SQLServer2BQ, Translation_Presto2BQ, Translation_MySQL2BQ, - * Translation_Postgresql2BQ, Translation_SQLite2BQ, Translation_Greenplum2BQ. + * The type of the task. This must be one of the supported task types. + * Assessment: + * - `Assessment_Hive` - Assessment for Hive. + * - `Assessment_Redshift` - Assessment for Redshift. + * - `Assessment_Snowflake` - Assessment for Snowflake. + * - `Assessment_Teradata_v2` - Assessment for Teradata. + * - `Assessment_Oracle` - Assessment for Oracle. + * - `Assessment_Hadoop` - Assessment for Hadoop. + * - `Assessment_Informatica` - Assessment for Informatica. + * Translation: + * See [Supported Task + * Types](https://docs.cloud.google.com/bigquery/docs/api-sql-translator#supported_task_types) + * for a list of supported task types. * * Generated from protobuf field string type = 2; * @return string @@ -265,13 +320,19 @@ public function getType() } /** - * The type of the task. This must be one of the supported task types: - * Translation_Teradata2BQ, Translation_Redshift2BQ, Translation_Bteq2BQ, - * Translation_Oracle2BQ, Translation_HiveQL2BQ, Translation_SparkSQL2BQ, - * Translation_Snowflake2BQ, Translation_Netezza2BQ, - * Translation_AzureSynapse2BQ, Translation_Vertica2BQ, - * Translation_SQLServer2BQ, Translation_Presto2BQ, Translation_MySQL2BQ, - * Translation_Postgresql2BQ, Translation_SQLite2BQ, Translation_Greenplum2BQ. + * The type of the task. This must be one of the supported task types. + * Assessment: + * - `Assessment_Hive` - Assessment for Hive. + * - `Assessment_Redshift` - Assessment for Redshift. + * - `Assessment_Snowflake` - Assessment for Snowflake. + * - `Assessment_Teradata_v2` - Assessment for Teradata. + * - `Assessment_Oracle` - Assessment for Oracle. + * - `Assessment_Hadoop` - Assessment for Hadoop. + * - `Assessment_Informatica` - Assessment for Informatica. + * Translation: + * See [Supported Task + * Types](https://docs.cloud.google.com/bigquery/docs/api-sql-translator#supported_task_types) + * for a list of supported task types. * * Generated from protobuf field string type = 2; * @param string $var @@ -350,9 +411,9 @@ public function setProcessingError($var) } /** - * Time when the task was created. + * Output only. Time when the task was created. * - * Generated from protobuf field .google.protobuf.Timestamp create_time = 6; + * Generated from protobuf field .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @return \Google\Protobuf\Timestamp|null */ public function getCreateTime() @@ -371,9 +432,9 @@ public function clearCreateTime() } /** - * Time when the task was created. + * Output only. Time when the task was created. * - * Generated from protobuf field .google.protobuf.Timestamp create_time = 6; + * Generated from protobuf field .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @param \Google\Protobuf\Timestamp $var * @return $this */ @@ -386,9 +447,9 @@ public function setCreateTime($var) } /** - * Time when the task was last updated. + * Output only. Time when the task was last updated. * - * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 7; + * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @return \Google\Protobuf\Timestamp|null */ public function getLastUpdateTime() @@ -407,9 +468,9 @@ public function clearLastUpdateTime() } /** - * Time when the task was last updated. + * Output only. Time when the task was last updated. * - * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 7; + * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @param \Google\Protobuf\Timestamp $var * @return $this */ @@ -452,12 +513,12 @@ public function setResourceErrorDetails($var) } /** - * The number or resources with errors. Note: This is not the total - * number of errors as each resource can have more than one error. - * This is used to indicate truncation by having a `resource_error_count` - * that is higher than the size of `resource_error_details`. + * Output only. The number or resources with errors. Note: This is not the + * total number of errors as each resource can have more than one error. This + * is used to indicate truncation by having a `resource_error_count` that is + * higher than the size of `resource_error_details`. * - * Generated from protobuf field int32 resource_error_count = 18; + * Generated from protobuf field int32 resource_error_count = 18 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @return int */ public function getResourceErrorCount() @@ -466,12 +527,12 @@ public function getResourceErrorCount() } /** - * The number or resources with errors. Note: This is not the total - * number of errors as each resource can have more than one error. - * This is used to indicate truncation by having a `resource_error_count` - * that is higher than the size of `resource_error_details`. + * Output only. The number or resources with errors. Note: This is not the + * total number of errors as each resource can have more than one error. This + * is used to indicate truncation by having a `resource_error_count` that is + * higher than the size of `resource_error_details`. * - * Generated from protobuf field int32 resource_error_count = 18; + * Generated from protobuf field int32 resource_error_count = 18 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @param int $var * @return $this */ @@ -484,9 +545,9 @@ public function setResourceErrorCount($var) } /** - * The metrics for the task. + * Output only. The metrics for the task. * - * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.TimeSeries metrics = 19; + * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.TimeSeries metrics = 19 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @return RepeatedField<\Google\Cloud\BigQuery\Migration\V2\TimeSeries> */ public function getMetrics() @@ -495,9 +556,9 @@ public function getMetrics() } /** - * The metrics for the task. + * Output only. The metrics for the task. * - * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.TimeSeries metrics = 19; + * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.TimeSeries metrics = 19 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @param \Google\Cloud\BigQuery\Migration\V2\TimeSeries[] $var * @return $this */ @@ -546,9 +607,10 @@ public function setTaskResult($var) } /** - * Count of all the processing errors in this task and its subtasks. + * Output only. Count of all the processing errors in this task and its + * subtasks. * - * Generated from protobuf field int32 total_processing_error_count = 21; + * Generated from protobuf field int32 total_processing_error_count = 21 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @return int */ public function getTotalProcessingErrorCount() @@ -557,9 +619,10 @@ public function getTotalProcessingErrorCount() } /** - * Count of all the processing errors in this task and its subtasks. + * Output only. Count of all the processing errors in this task and its + * subtasks. * - * Generated from protobuf field int32 total_processing_error_count = 21; + * Generated from protobuf field int32 total_processing_error_count = 21 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @param int $var * @return $this */ @@ -572,9 +635,10 @@ public function setTotalProcessingErrorCount($var) } /** - * Count of all the resource errors in this task and its subtasks. + * Output only. Count of all the resource errors in this task and its + * subtasks. * - * Generated from protobuf field int32 total_resource_error_count = 22; + * Generated from protobuf field int32 total_resource_error_count = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @return int */ public function getTotalResourceErrorCount() @@ -583,9 +647,10 @@ public function getTotalResourceErrorCount() } /** - * Count of all the resource errors in this task and its subtasks. + * Output only. Count of all the resource errors in this task and its + * subtasks. * - * Generated from protobuf field int32 total_resource_error_count = 22; + * Generated from protobuf field int32 total_resource_error_count = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @param int $var * @return $this */ diff --git a/BigQueryMigration/src/V2/MigrationTask/State.php b/BigQueryMigration/src/V2/MigrationTask/State.php index 79a22dfebe03..6aa47c9b9b81 100644 --- a/BigQueryMigration/src/V2/MigrationTask/State.php +++ b/BigQueryMigration/src/V2/MigrationTask/State.php @@ -38,7 +38,7 @@ class State */ const RUNNING = 3; /** - * Tha task is paused. Assigned subtasks can continue, but no new subtasks + * The task is paused. Assigned subtasks can continue, but no new subtasks * will be scheduled. * * Generated from protobuf enum PAUSED = 4; diff --git a/BigQueryMigration/src/V2/MigrationWorkflow.php b/BigQueryMigration/src/V2/MigrationWorkflow.php index 31090616ed27..89111264b873 100644 --- a/BigQueryMigration/src/V2/MigrationWorkflow.php +++ b/BigQueryMigration/src/V2/MigrationWorkflow.php @@ -46,15 +46,15 @@ class MigrationWorkflow extends \Google\Protobuf\Internal\Message */ protected $state = 0; /** - * Time when the workflow was created. + * Output only. Time when the workflow was created. * - * Generated from protobuf field .google.protobuf.Timestamp create_time = 4; + * Generated from protobuf field .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $create_time = null; /** - * Time when the workflow was last updated. + * Output only. Time when the workflow was last updated. * - * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 5; + * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $last_update_time = null; @@ -78,9 +78,9 @@ class MigrationWorkflow extends \Google\Protobuf\Internal\Message * @type int $state * Output only. That status of the workflow. * @type \Google\Protobuf\Timestamp $create_time - * Time when the workflow was created. + * Output only. Time when the workflow was created. * @type \Google\Protobuf\Timestamp $last_update_time - * Time when the workflow was last updated. + * Output only. Time when the workflow was last updated. * } */ public function __construct($data = NULL) { @@ -203,9 +203,9 @@ public function setState($var) } /** - * Time when the workflow was created. + * Output only. Time when the workflow was created. * - * Generated from protobuf field .google.protobuf.Timestamp create_time = 4; + * Generated from protobuf field .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @return \Google\Protobuf\Timestamp|null */ public function getCreateTime() @@ -224,9 +224,9 @@ public function clearCreateTime() } /** - * Time when the workflow was created. + * Output only. Time when the workflow was created. * - * Generated from protobuf field .google.protobuf.Timestamp create_time = 4; + * Generated from protobuf field .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @param \Google\Protobuf\Timestamp $var * @return $this */ @@ -239,9 +239,9 @@ public function setCreateTime($var) } /** - * Time when the workflow was last updated. + * Output only. Time when the workflow was last updated. * - * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 5; + * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @return \Google\Protobuf\Timestamp|null */ public function getLastUpdateTime() @@ -260,9 +260,9 @@ public function clearLastUpdateTime() } /** - * Time when the workflow was last updated. + * Output only. Time when the workflow was last updated. * - * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 5; + * Generated from protobuf field .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @param \Google\Protobuf\Timestamp $var * @return $this */ diff --git a/BigQueryMigration/src/V2/SourceSpec.php b/BigQueryMigration/src/V2/SourceSpec.php index f4f281f2a7d7..522af4edaa58 100644 --- a/BigQueryMigration/src/V2/SourceSpec.php +++ b/BigQueryMigration/src/V2/SourceSpec.php @@ -33,6 +33,8 @@ class SourceSpec extends \Google\Protobuf\Internal\Message * The base URI for all files to be read in as sources for translation. * @type \Google\Cloud\BigQuery\Migration\V2\Literal $literal * Source literal. + * @type string $gcs_file_path + * The path to a single source file in Cloud Storage. * @type string $encoding * Optional. The optional field to specify the encoding of the sql bytes. * } @@ -104,6 +106,37 @@ public function setLiteral($var) return $this; } + /** + * The path to a single source file in Cloud Storage. + * + * Generated from protobuf field string gcs_file_path = 4; + * @return string + */ + public function getGcsFilePath() + { + return $this->readOneof(4); + } + + public function hasGcsFilePath() + { + return $this->hasOneof(4); + } + + /** + * The path to a single source file in Cloud Storage. + * + * Generated from protobuf field string gcs_file_path = 4; + * @param string $var + * @return $this + */ + public function setGcsFilePath($var) + { + GPBUtil::checkString($var, True); + $this->writeOneof(4, $var); + + return $this; + } + /** * Optional. The optional field to specify the encoding of the sql bytes. * diff --git a/BigQueryMigration/src/V2/SuggestionConfig.php b/BigQueryMigration/src/V2/SuggestionConfig.php new file mode 100644 index 000000000000..477085e215c3 --- /dev/null +++ b/BigQueryMigration/src/V2/SuggestionConfig.php @@ -0,0 +1,67 @@ +google.cloud.bigquery.migration.v2.SuggestionConfig + */ +class SuggestionConfig extends \Google\Protobuf\Internal\Message +{ + /** + * The list of suggestion steps to skip. + * + * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.SuggestionStep skip_suggestion_steps = 1; + */ + private $skip_suggestion_steps; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\BigQuery\Migration\V2\SuggestionStep[] $skip_suggestion_steps + * The list of suggestion steps to skip. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Bigquery\Migration\V2\TranslationDetails::initOnce(); + parent::__construct($data); + } + + /** + * The list of suggestion steps to skip. + * + * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.SuggestionStep skip_suggestion_steps = 1; + * @return RepeatedField<\Google\Cloud\BigQuery\Migration\V2\SuggestionStep> + */ + public function getSkipSuggestionSteps() + { + return $this->skip_suggestion_steps; + } + + /** + * The list of suggestion steps to skip. + * + * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.SuggestionStep skip_suggestion_steps = 1; + * @param \Google\Cloud\BigQuery\Migration\V2\SuggestionStep[] $var + * @return $this + */ + public function setSkipSuggestionSteps($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\BigQuery\Migration\V2\SuggestionStep::class); + $this->skip_suggestion_steps = $arr; + + return $this; + } + +} + diff --git a/BigQueryMigration/src/V2/SuggestionStep.php b/BigQueryMigration/src/V2/SuggestionStep.php new file mode 100644 index 000000000000..1e0883831ffd --- /dev/null +++ b/BigQueryMigration/src/V2/SuggestionStep.php @@ -0,0 +1,101 @@ +google.cloud.bigquery.migration.v2.SuggestionStep + */ +class SuggestionStep extends \Google\Protobuf\Internal\Message +{ + /** + * The type of suggestion. + * + * Generated from protobuf field .google.cloud.bigquery.migration.v2.SuggestionStep.SuggestionType suggestion_type = 1; + */ + protected $suggestion_type = 0; + /** + * The rewrite target. + * + * Generated from protobuf field .google.cloud.bigquery.migration.v2.SuggestionStep.RewriteTarget rewrite_target = 2; + */ + protected $rewrite_target = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $suggestion_type + * The type of suggestion. + * @type int $rewrite_target + * The rewrite target. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Bigquery\Migration\V2\TranslationDetails::initOnce(); + parent::__construct($data); + } + + /** + * The type of suggestion. + * + * Generated from protobuf field .google.cloud.bigquery.migration.v2.SuggestionStep.SuggestionType suggestion_type = 1; + * @return int + */ + public function getSuggestionType() + { + return $this->suggestion_type; + } + + /** + * The type of suggestion. + * + * Generated from protobuf field .google.cloud.bigquery.migration.v2.SuggestionStep.SuggestionType suggestion_type = 1; + * @param int $var + * @return $this + */ + public function setSuggestionType($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\BigQuery\Migration\V2\SuggestionStep\SuggestionType::class); + $this->suggestion_type = $var; + + return $this; + } + + /** + * The rewrite target. + * + * Generated from protobuf field .google.cloud.bigquery.migration.v2.SuggestionStep.RewriteTarget rewrite_target = 2; + * @return int + */ + public function getRewriteTarget() + { + return $this->rewrite_target; + } + + /** + * The rewrite target. + * + * Generated from protobuf field .google.cloud.bigquery.migration.v2.SuggestionStep.RewriteTarget rewrite_target = 2; + * @param int $var + * @return $this + */ + public function setRewriteTarget($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\BigQuery\Migration\V2\SuggestionStep\RewriteTarget::class); + $this->rewrite_target = $var; + + return $this; + } + +} + diff --git a/BigQueryMigration/src/V2/SuggestionStep/RewriteTarget.php b/BigQueryMigration/src/V2/SuggestionStep/RewriteTarget.php new file mode 100644 index 000000000000..e14cf0108be8 --- /dev/null +++ b/BigQueryMigration/src/V2/SuggestionStep/RewriteTarget.php @@ -0,0 +1,61 @@ +google.cloud.bigquery.migration.v2.SuggestionStep.RewriteTarget + */ +class RewriteTarget +{ + /** + * Rewrite target unspecified. + * + * Generated from protobuf enum REWRITE_TARGET_UNSPECIFIED = 0; + */ + const REWRITE_TARGET_UNSPECIFIED = 0; + /** + * Source SQL. + * + * Generated from protobuf enum SOURCE_SQL = 1; + */ + const SOURCE_SQL = 1; + /** + * Target SQL. + * + * Generated from protobuf enum TARGET_SQL = 2; + */ + const TARGET_SQL = 2; + + private static $valueToName = [ + self::REWRITE_TARGET_UNSPECIFIED => 'REWRITE_TARGET_UNSPECIFIED', + self::SOURCE_SQL => 'SOURCE_SQL', + self::TARGET_SQL => 'TARGET_SQL', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/BigQueryMigration/src/V2/SuggestionStep/SuggestionType.php b/BigQueryMigration/src/V2/SuggestionStep/SuggestionType.php new file mode 100644 index 000000000000..171e9355aba1 --- /dev/null +++ b/BigQueryMigration/src/V2/SuggestionStep/SuggestionType.php @@ -0,0 +1,61 @@ +google.cloud.bigquery.migration.v2.SuggestionStep.SuggestionType + */ +class SuggestionType +{ + /** + * Suggestion type unspecified. + * + * Generated from protobuf enum SUGGESTION_TYPE_UNSPECIFIED = 0; + */ + const SUGGESTION_TYPE_UNSPECIFIED = 0; + /** + * Query customization. + * + * Generated from protobuf enum QUERY_CUSTOMIZATION = 1; + */ + const QUERY_CUSTOMIZATION = 1; + /** + * Translation explanation. + * + * Generated from protobuf enum TRANSLATION_EXPLANATION = 2; + */ + const TRANSLATION_EXPLANATION = 2; + + private static $valueToName = [ + self::SUGGESTION_TYPE_UNSPECIFIED => 'SUGGESTION_TYPE_UNSPECIFIED', + self::QUERY_CUSTOMIZATION => 'QUERY_CUSTOMIZATION', + self::TRANSLATION_EXPLANATION => 'TRANSLATION_EXPLANATION', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/BigQueryMigration/src/V2/TranslationDetails.php b/BigQueryMigration/src/V2/TranslationDetails.php index ae4332d69204..adc0f676f7da 100644 --- a/BigQueryMigration/src/V2/TranslationDetails.php +++ b/BigQueryMigration/src/V2/TranslationDetails.php @@ -51,6 +51,12 @@ class TranslationDetails extends \Google\Protobuf\Internal\Message * Generated from protobuf field repeated string target_types = 5; */ private $target_types; + /** + * The configuration for the suggestion if requested as a target type. + * + * Generated from protobuf field .google.cloud.bigquery.migration.v2.SuggestionConfig suggestion_config = 6; + */ + protected $suggestion_config = null; /** * Constructor. @@ -73,6 +79,8 @@ class TranslationDetails extends \Google\Protobuf\Internal\Message * lineage_from_sql_scripts, etc. If not specified, a default set of * targets will be generated. Some additional target types may be slower to * generate. See the documentation for the set of available target types. + * @type \Google\Cloud\BigQuery\Migration\V2\SuggestionConfig $suggestion_config + * The configuration for the suggestion if requested as a target type. * } */ public function __construct($data = NULL) { @@ -230,5 +238,41 @@ public function setTargetTypes($var) return $this; } + /** + * The configuration for the suggestion if requested as a target type. + * + * Generated from protobuf field .google.cloud.bigquery.migration.v2.SuggestionConfig suggestion_config = 6; + * @return \Google\Cloud\BigQuery\Migration\V2\SuggestionConfig|null + */ + public function getSuggestionConfig() + { + return $this->suggestion_config; + } + + public function hasSuggestionConfig() + { + return isset($this->suggestion_config); + } + + public function clearSuggestionConfig() + { + unset($this->suggestion_config); + } + + /** + * The configuration for the suggestion if requested as a target type. + * + * Generated from protobuf field .google.cloud.bigquery.migration.v2.SuggestionConfig suggestion_config = 6; + * @param \Google\Cloud\BigQuery\Migration\V2\SuggestionConfig $var + * @return $this + */ + public function setSuggestionConfig($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\BigQuery\Migration\V2\SuggestionConfig::class); + $this->suggestion_config = $var; + + return $this; + } + } diff --git a/BigQueryMigration/src/V2/TranslationTaskResult.php b/BigQueryMigration/src/V2/TranslationTaskResult.php index 421b2b4905bd..765b346ef975 100644 --- a/BigQueryMigration/src/V2/TranslationTaskResult.php +++ b/BigQueryMigration/src/V2/TranslationTaskResult.php @@ -27,6 +27,12 @@ class TranslationTaskResult extends \Google\Protobuf\Internal\Message * Generated from protobuf field repeated .google.cloud.bigquery.migration.v2.GcsReportLogMessage report_log_messages = 2; */ private $report_log_messages; + /** + * The Cloud Console URI for the migration workflow. + * + * Generated from protobuf field string console_uri = 3; + */ + protected $console_uri = ''; /** * Constructor. @@ -38,6 +44,8 @@ class TranslationTaskResult extends \Google\Protobuf\Internal\Message * The list of the translated literals. * @type \Google\Cloud\BigQuery\Migration\V2\GcsReportLogMessage[] $report_log_messages * The records from the aggregate CSV report for a migration workflow. + * @type string $console_uri + * The Cloud Console URI for the migration workflow. * } */ public function __construct($data = NULL) { @@ -97,5 +105,31 @@ public function setReportLogMessages($var) return $this; } + /** + * The Cloud Console URI for the migration workflow. + * + * Generated from protobuf field string console_uri = 3; + * @return string + */ + public function getConsoleUri() + { + return $this->console_uri; + } + + /** + * The Cloud Console URI for the migration workflow. + * + * Generated from protobuf field string console_uri = 3; + * @param string $var + * @return $this + */ + public function setConsoleUri($var) + { + GPBUtil::checkString($var, True); + $this->console_uri = $var; + + return $this; + } + } diff --git a/Dataplex/metadata/V1/ApprovalWorkflow.php b/Dataplex/metadata/V1/ApprovalWorkflow.php new file mode 100644 index 000000000000..57fdbb674317 --- /dev/null +++ b/Dataplex/metadata/V1/ApprovalWorkflow.php @@ -0,0 +1,32 @@ +internalAddGeneratedFile( + "\x0A\x99\x19\x0A0google/cloud/dataplex/v1/approval_workflow.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x1Bgoogle/api/field_info.proto\x1A\x19google/api/resource.proto\x1A0google/cloud/dataplex/v1/business_glossary.proto\x1A&google/cloud/dataplex/v1/catalog.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xAE\x13\x0A\x0DChangeRequest\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1A\x0A\x0Djustification\x18\x05 \x01(\x09B\x03\xE0A\x01\x12H\x0A\x06labels\x18\x06 \x03(\x0B23.google.cloud.dataplex.v1.ChangeRequest.LabelsEntryB\x03\xE0A\x01\x12\x13\x0A\x06author\x18\x07 \x01(\x09B\x03\xE0A\x03\x12A\x0A\x05state\x18\x08 \x01(\x0E2-.google.cloud.dataplex.v1.ChangeRequest.StateB\x03\xE0A\x03\x12\x1B\x0A\x08resource\x18\x09 \x01(\x09B\x09\xE0A\x03\xFAA\x03\x0A\x01*\x12D\x0A\x0Ccreate_entry\x18\x0A \x01(\x0B2,.google.cloud.dataplex.v1.CreateEntryRequestH\x00\x12D\x0A\x0Cupdate_entry\x18\x0B \x01(\x0B2,.google.cloud.dataplex.v1.UpdateEntryRequestH\x00\x12D\x0A\x0Cdelete_entry\x18\x0C \x01(\x0B2,.google.cloud.dataplex.v1.DeleteEntryRequestH\x00\x12M\x0A\x11create_entry_link\x18\x0D \x01(\x0B20.google.cloud.dataplex.v1.CreateEntryLinkRequestH\x00\x12M\x0A\x11delete_entry_link\x18\x0E \x01(\x0B20.google.cloud.dataplex.v1.DeleteEntryLinkRequestH\x00\x12J\x0A\x0Fcreate_glossary\x18\x14 \x01(\x0B2/.google.cloud.dataplex.v1.CreateGlossaryRequestH\x00\x12J\x0A\x0Fupdate_glossary\x18\x15 \x01(\x0B2/.google.cloud.dataplex.v1.UpdateGlossaryRequestH\x00\x12J\x0A\x0Fdelete_glossary\x18\x16 \x01(\x0B2/.google.cloud.dataplex.v1.DeleteGlossaryRequestH\x00\x12[\x0A\x18create_glossary_category\x18\x17 \x01(\x0B27.google.cloud.dataplex.v1.CreateGlossaryCategoryRequestH\x00\x12[\x0A\x18update_glossary_category\x18\x18 \x01(\x0B27.google.cloud.dataplex.v1.UpdateGlossaryCategoryRequestH\x00\x12[\x0A\x18delete_glossary_category\x18\x1A \x01(\x0B27.google.cloud.dataplex.v1.DeleteGlossaryCategoryRequestH\x00\x12S\x0A\x14create_glossary_term\x18\x1B \x01(\x0B23.google.cloud.dataplex.v1.CreateGlossaryTermRequestH\x00\x12S\x0A\x14update_glossary_term\x18\x1C \x01(\x0B23.google.cloud.dataplex.v1.UpdateGlossaryTermRequestH\x00\x12S\x0A\x14delete_glossary_term\x18\x1E \x01(\x0B23.google.cloud.dataplex.v1.DeleteGlossaryTermRequestH\x00\x12Y\x0A\x1Bdata_product_access_request\x18 \x01(\x0B22.google.cloud.dataplex.v1.DataProductAccessRequestH\x00\x12L\x0A\x0Bchange_type\x18\x13 \x01(\x0E22.google.cloud.dataplex.v1.ChangeRequest.ChangeTypeB\x03\xE0A\x03\x12\x1E\x0A\x11rejection_comment\x18\x10 \x01(\x09B\x03\xE0A\x03\x12\x15\x0A\x08approver\x18\x11 \x01(\x09B\x03\xE0A\x03\x12\x11\x0A\x04etag\x18\x12 \x01(\x09B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"]\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x07\x0A\x03NEW\x10\x01\x12\x0C\x0A\x08APPROVED\x10\x02\x12\x0C\x0A\x08REJECTED\x10\x03\x12\x0B\x0A\x07EXPIRED\x10\x04\x12\x0B\x0A\x07REVOKED\x10\x05\"\x95\x03\x0A\x0AChangeType\x12\x1B\x0A\x17CHANGE_TYPE_UNSPECIFIED\x10\x00\x12\x10\x0A\x0CCREATE_ENTRY\x10\x01\x12\x10\x0A\x0CUPDATE_ENTRY\x10\x02\x12\x10\x0A\x0CDELETE_ENTRY\x10\x03\x12\x15\x0A\x11CREATE_ENTRY_LINK\x10\x04\x12\x15\x0A\x11DELETE_ENTRY_LINK\x10\x05\x12\x13\x0A\x0FCREATE_GLOSSARY\x10\x07\x12\x13\x0A\x0FUPDATE_GLOSSARY\x10\x08\x12\x13\x0A\x0FDELETE_GLOSSARY\x10\x09\x12\x1C\x0A\x18CREATE_GLOSSARY_CATEGORY\x10\x0A\x12\x1C\x0A\x18UPDATE_GLOSSARY_CATEGORY\x10\x0B\x12\x1C\x0A\x18DELETE_GLOSSARY_CATEGORY\x10\x0D\x12\x18\x0A\x14CREATE_GLOSSARY_TERM\x10\x0E\x12\x18\x0A\x14UPDATE_GLOSSARY_TERM\x10\x0F\x12\x18\x0A\x14DELETE_GLOSSARY_TERM\x10\x11\x12\x1F\x0A\x1BREQUEST_DATA_PRODUCT_ACCESS\x10!:\x93\x01\xEAA\x8F\x01\x0A%dataplex.googleapis.com/ChangeRequest\x12Gprojects/{project}/locations/{location}/changeRequests/{change_request}*\x0EchangeRequests2\x0DchangeRequestB\x10\x0A\x0Echange_payload\"\xDC\x01\x0A\x18DataProductAccessRequest\x12;\x0A\x06parent\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/DataProduct\x12\x1C\x0A\x0Faccess_group_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12&\x0A\x19access_group_display_name\x18\x04 \x01(\x09B\x03\xE0A\x03\x12%\x0A\x13requested_principal\x18\x03 \x01(\x09B\x03\xE0A\x01H\x00\x88\x01\x01B\x16\x0A\x14_requested_principalB\xC5\x01\x0A\x1Ccom.google.cloud.dataplex.v1B\x15ApprovalWorkflowProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb\xAA\x02\x18Google.Cloud.Dataplex.V1\xCA\x02\x18Google\\Cloud\\Dataplex\\V1\xEA\x02\x1BGoogle::Cloud::Dataplex::V1b\x06proto3" + , true); + + static::$is_initialized = true; + } +} + diff --git a/Dataplex/metadata/V1/BusinessGlossary.php b/Dataplex/metadata/V1/BusinessGlossary.php index dd6b2cfdbe3b..8233d5ce8709 100644 --- a/Dataplex/metadata/V1/BusinessGlossary.php +++ b/Dataplex/metadata/V1/BusinessGlossary.php @@ -25,7 +25,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\FieldMask::initOnce(); \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\x80=\x0A0google/cloud/dataplex/v1/business_glossary.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x1Bgoogle/api/field_info.proto\x1A\x19google/api/resource.proto\x1A&google/cloud/dataplex/v1/service.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\x94\x04\x0A\x08Glossary\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x12\x19\x0A\x0Cdisplay_name\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x04 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12C\x0A\x06labels\x18\x07 \x03(\x0B2..google.cloud.dataplex.v1.Glossary.LabelsEntryB\x03\xE0A\x01\x12\x17\x0A\x0Aterm_count\x18\x08 \x01(\x05B\x03\xE0A\x03\x12\x1B\x0A\x0Ecategory_count\x18\x09 \x01(\x05B\x03\xE0A\x03\x12\x11\x0A\x04etag\x18\x0A \x01(\x09B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:z\xEAAw\x0A dataplex.googleapis.com/Glossary\x12=projects/{project}/locations/{location}/glossaries/{glossary}*\x0Aglossaries2\x08glossary\"\x99\x04\x0A\x10GlossaryCategory\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x12\x19\x0A\x0Cdisplay_name\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x04 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12K\x0A\x06labels\x18\x07 \x03(\x0B26.google.cloud.dataplex.v1.GlossaryCategory.LabelsEntryB\x03\xE0A\x01\x12\x13\x0A\x06parent\x18\x08 \x01(\x09B\x03\xE0A\x02\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\xA2\x01\xEAA\x9E\x01\x0A(dataplex.googleapis.com/GlossaryCategory\x12\\projects/{project}/locations/{location}/glossaries/{glossary}/categories/{glossary_category}*\x0Acategories2\x08category\"\xA0\x04\x0A\x0CGlossaryTerm\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x12\x19\x0A\x0Cdisplay_name\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x04 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12G\x0A\x06labels\x18\x07 \x03(\x0B22.google.cloud.dataplex.v1.GlossaryTerm.LabelsEntryB\x03\xE0A\x01\x128\x0A\x06parent\x18\x08 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/Glossary\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x8C\x01\xEAA\x88\x01\x0A\$dataplex.googleapis.com/GlossaryTerm\x12Sprojects/{project}/locations/{location}/glossaries/{glossary}/terms/{glossary_term}*\x05terms2\x04term\"\xC3\x01\x0A\x15CreateGlossaryRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x18\x0A\x0Bglossary_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x129\x0A\x08glossary\x18\x03 \x01(\x0B2\".google.cloud.dataplex.v1.GlossaryB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xA4\x01\x0A\x15UpdateGlossaryRequest\x129\x0A\x08glossary\x18\x01 \x01(\x0B2\".google.cloud.dataplex.v1.GlossaryB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"b\x0A\x15DeleteGlossaryRequest\x126\x0A\x04name\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/Glossary\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\"L\x0A\x12GetGlossaryRequest\x126\x0A\x04name\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/Glossary\"\xAF\x01\x0A\x15ListGlossariesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x88\x01\x0A\x16ListGlossariesResponse\x126\x0A\x0Aglossaries\x18\x01 \x03(\x0B2\".google.cloud.dataplex.v1.Glossary\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"\xB6\x01\x0A\x1DCreateGlossaryCategoryRequest\x128\x0A\x06parent\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/Glossary\x12\x18\x0A\x0Bcategory_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12A\x0A\x08category\x18\x03 \x01(\x0B2*.google.cloud.dataplex.v1.GlossaryCategoryB\x03\xE0A\x02\"\x98\x01\x0A\x1DUpdateGlossaryCategoryRequest\x12A\x0A\x08category\x18\x01 \x01(\x0B2*.google.cloud.dataplex.v1.GlossaryCategoryB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\"_\x0A\x1DDeleteGlossaryCategoryRequest\x12>\x0A\x04name\x18\x01 \x01(\x09B0\xE0A\x02\xFAA*\x0A(dataplex.googleapis.com/GlossaryCategory\"\\\x0A\x1AGetGlossaryCategoryRequest\x12>\x0A\x04name\x18\x01 \x01(\x09B0\xE0A\x02\xFAA*\x0A(dataplex.googleapis.com/GlossaryCategory\"\xB6\x01\x0A\x1DListGlossaryCategoriesRequest\x128\x0A\x06parent\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/Glossary\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x98\x01\x0A\x1EListGlossaryCategoriesResponse\x12>\x0A\x0Acategories\x18\x01 \x03(\x0B2*.google.cloud.dataplex.v1.GlossaryCategory\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"\xA6\x01\x0A\x19CreateGlossaryTermRequest\x128\x0A\x06parent\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/Glossary\x12\x14\x0A\x07term_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x129\x0A\x04term\x18\x03 \x01(\x0B2&.google.cloud.dataplex.v1.GlossaryTermB\x03\xE0A\x02\"\x8C\x01\x0A\x19UpdateGlossaryTermRequest\x129\x0A\x04term\x18\x01 \x01(\x0B2&.google.cloud.dataplex.v1.GlossaryTermB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\"W\x0A\x19DeleteGlossaryTermRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/GlossaryTerm\"T\x0A\x16GetGlossaryTermRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/GlossaryTerm\"\xB1\x01\x0A\x18ListGlossaryTermsRequest\x128\x0A\x06parent\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/Glossary\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x8A\x01\x0A\x19ListGlossaryTermsResponse\x125\x0A\x05terms\x18\x01 \x03(\x0B2&.google.cloud.dataplex.v1.GlossaryTerm\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x092\xD6\x18\x0A\x17BusinessGlossaryService\x12\xE0\x01\x0A\x0ECreateGlossary\x12/.google.cloud.dataplex.v1.CreateGlossaryRequest\x1A\x1D.google.longrunning.Operation\"~\xCAA\x1D\x0A\x08Glossary\x12\x11OperationMetadata\xDAA\x1Bparent,glossary,glossary_id\x82\xD3\xE4\x93\x02:\"./v1/{parent=projects/*/locations/*}/glossaries:\x08glossary\x12\xE3\x01\x0A\x0EUpdateGlossary\x12/.google.cloud.dataplex.v1.UpdateGlossaryRequest\x1A\x1D.google.longrunning.Operation\"\x80\x01\xCAA\x1D\x0A\x08Glossary\x12\x11OperationMetadata\xDAA\x14glossary,update_mask\x82\xD3\xE4\x93\x02C27/v1/{glossary.name=projects/*/locations/*/glossaries/*}:\x08glossary\x12\xCC\x01\x0A\x0EDeleteGlossary\x12/.google.cloud.dataplex.v1.DeleteGlossaryRequest\x1A\x1D.google.longrunning.Operation\"j\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x020*./v1/{name=projects/*/locations/*/glossaries/*}\x12\x9E\x01\x0A\x0BGetGlossary\x12,.google.cloud.dataplex.v1.GetGlossaryRequest\x1A\".google.cloud.dataplex.v1.Glossary\"=\xDAA\x04name\x82\xD3\xE4\x93\x020\x12./v1/{name=projects/*/locations/*/glossaries/*}\x12\xB4\x01\x0A\x0EListGlossaries\x12/.google.cloud.dataplex.v1.ListGlossariesRequest\x1A0.google.cloud.dataplex.v1.ListGlossariesResponse\"?\xDAA\x06parent\x82\xD3\xE4\x93\x020\x12./v1/{parent=projects/*/locations/*}/glossaries\x12\xEA\x01\x0A\x16CreateGlossaryCategory\x127.google.cloud.dataplex.v1.CreateGlossaryCategoryRequest\x1A*.google.cloud.dataplex.v1.GlossaryCategory\"k\xDAA\x1Bparent,category,category_id\x82\xD3\xE4\x93\x02G\";/v1/{parent=projects/*/locations/*/glossaries/*}/categories:\x08category\x12\xEC\x01\x0A\x16UpdateGlossaryCategory\x127.google.cloud.dataplex.v1.UpdateGlossaryCategoryRequest\x1A*.google.cloud.dataplex.v1.GlossaryCategory\"m\xDAA\x14category,update_mask\x82\xD3\xE4\x93\x02P2D/v1/{category.name=projects/*/locations/*/glossaries/*/categories/*}:\x08category\x12\xB5\x01\x0A\x16DeleteGlossaryCategory\x127.google.cloud.dataplex.v1.DeleteGlossaryCategoryRequest\x1A\x16.google.protobuf.Empty\"J\xDAA\x04name\x82\xD3\xE4\x93\x02=*;/v1/{name=projects/*/locations/*/glossaries/*/categories/*}\x12\xC3\x01\x0A\x13GetGlossaryCategory\x124.google.cloud.dataplex.v1.GetGlossaryCategoryRequest\x1A*.google.cloud.dataplex.v1.GlossaryCategory\"J\xDAA\x04name\x82\xD3\xE4\x93\x02=\x12;/v1/{name=projects/*/locations/*/glossaries/*/categories/*}\x12\xD9\x01\x0A\x16ListGlossaryCategories\x127.google.cloud.dataplex.v1.ListGlossaryCategoriesRequest\x1A8.google.cloud.dataplex.v1.ListGlossaryCategoriesResponse\"L\xDAA\x06parent\x82\xD3\xE4\x93\x02=\x12;/v1/{parent=projects/*/locations/*/glossaries/*}/categories\x12\xCD\x01\x0A\x12CreateGlossaryTerm\x123.google.cloud.dataplex.v1.CreateGlossaryTermRequest\x1A&.google.cloud.dataplex.v1.GlossaryTerm\"Z\xDAA\x13parent,term,term_id\x82\xD3\xE4\x93\x02>\"6/v1/{parent=projects/*/locations/*/glossaries/*}/terms:\x04term\x12\xCF\x01\x0A\x12UpdateGlossaryTerm\x123.google.cloud.dataplex.v1.UpdateGlossaryTermRequest\x1A&.google.cloud.dataplex.v1.GlossaryTerm\"\\\xDAA\x10term,update_mask\x82\xD3\xE4\x93\x02C2;/v1/{term.name=projects/*/locations/*/glossaries/*/terms/*}:\x04term\x12\xA8\x01\x0A\x12DeleteGlossaryTerm\x123.google.cloud.dataplex.v1.DeleteGlossaryTermRequest\x1A\x16.google.protobuf.Empty\"E\xDAA\x04name\x82\xD3\xE4\x93\x028*6/v1/{name=projects/*/locations/*/glossaries/*/terms/*}\x12\xB2\x01\x0A\x0FGetGlossaryTerm\x120.google.cloud.dataplex.v1.GetGlossaryTermRequest\x1A&.google.cloud.dataplex.v1.GlossaryTerm\"E\xDAA\x04name\x82\xD3\xE4\x93\x028\x126/v1/{name=projects/*/locations/*/glossaries/*/terms/*}\x12\xC5\x01\x0A\x11ListGlossaryTerms\x122.google.cloud.dataplex.v1.ListGlossaryTermsRequest\x1A3.google.cloud.dataplex.v1.ListGlossaryTermsResponse\"G\xDAA\x06parent\x82\xD3\xE4\x93\x028\x126/v1/{parent=projects/*/locations/*/glossaries/*}/terms\x1AK\xCAA\x17dataplex.googleapis.com\xD2A.https://www.googleapis.com/auth/cloud-platformBq\x0A\x1Ccom.google.cloud.dataplex.v1B\x15BusinessGlossaryProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" + "\x0A\xA1>\x0A0google/cloud/dataplex/v1/business_glossary.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x1Bgoogle/api/field_info.proto\x1A\x19google/api/resource.proto\x1A&google/cloud/dataplex/v1/service.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\x94\x04\x0A\x08Glossary\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x12\x19\x0A\x0Cdisplay_name\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x04 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12C\x0A\x06labels\x18\x07 \x03(\x0B2..google.cloud.dataplex.v1.Glossary.LabelsEntryB\x03\xE0A\x01\x12\x17\x0A\x0Aterm_count\x18\x08 \x01(\x05B\x03\xE0A\x03\x12\x1B\x0A\x0Ecategory_count\x18\x09 \x01(\x05B\x03\xE0A\x03\x12\x11\x0A\x04etag\x18\x0A \x01(\x09B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:z\xEAAw\x0A dataplex.googleapis.com/Glossary\x12=projects/{project}/locations/{location}/glossaries/{glossary}*\x0Aglossaries2\x08glossary\"\x99\x04\x0A\x10GlossaryCategory\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x12\x19\x0A\x0Cdisplay_name\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x04 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12K\x0A\x06labels\x18\x07 \x03(\x0B26.google.cloud.dataplex.v1.GlossaryCategory.LabelsEntryB\x03\xE0A\x01\x12\x13\x0A\x06parent\x18\x08 \x01(\x09B\x03\xE0A\x02\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\xA2\x01\xEAA\x9E\x01\x0A(dataplex.googleapis.com/GlossaryCategory\x12\\projects/{project}/locations/{location}/glossaries/{glossary}/categories/{glossary_category}*\x0Acategories2\x08category\"\xA0\x04\x0A\x0CGlossaryTerm\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x12\x19\x0A\x0Cdisplay_name\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x04 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12G\x0A\x06labels\x18\x07 \x03(\x0B22.google.cloud.dataplex.v1.GlossaryTerm.LabelsEntryB\x03\xE0A\x01\x128\x0A\x06parent\x18\x08 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/Glossary\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x8C\x01\xEAA\x88\x01\x0A\$dataplex.googleapis.com/GlossaryTerm\x12Sprojects/{project}/locations/{location}/glossaries/{glossary}/terms/{glossary_term}*\x05terms2\x04term\"\xC3\x01\x0A\x15CreateGlossaryRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x18\x0A\x0Bglossary_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x129\x0A\x08glossary\x18\x03 \x01(\x0B2\".google.cloud.dataplex.v1.GlossaryB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xA4\x01\x0A\x15UpdateGlossaryRequest\x129\x0A\x08glossary\x18\x01 \x01(\x0B2\".google.cloud.dataplex.v1.GlossaryB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"b\x0A\x15DeleteGlossaryRequest\x126\x0A\x04name\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/Glossary\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\"L\x0A\x12GetGlossaryRequest\x126\x0A\x04name\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/Glossary\"\xAF\x01\x0A\x15ListGlossariesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x88\x01\x0A\x16ListGlossariesResponse\x126\x0A\x0Aglossaries\x18\x01 \x03(\x0B2\".google.cloud.dataplex.v1.Glossary\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"\xB6\x01\x0A\x1DCreateGlossaryCategoryRequest\x128\x0A\x06parent\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/Glossary\x12\x18\x0A\x0Bcategory_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12A\x0A\x08category\x18\x03 \x01(\x0B2*.google.cloud.dataplex.v1.GlossaryCategoryB\x03\xE0A\x02\"\x98\x01\x0A\x1DUpdateGlossaryCategoryRequest\x12A\x0A\x08category\x18\x01 \x01(\x0B2*.google.cloud.dataplex.v1.GlossaryCategoryB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\"_\x0A\x1DDeleteGlossaryCategoryRequest\x12>\x0A\x04name\x18\x01 \x01(\x09B0\xE0A\x02\xFAA*\x0A(dataplex.googleapis.com/GlossaryCategory\"\\\x0A\x1AGetGlossaryCategoryRequest\x12>\x0A\x04name\x18\x01 \x01(\x09B0\xE0A\x02\xFAA*\x0A(dataplex.googleapis.com/GlossaryCategory\"\xB6\x01\x0A\x1DListGlossaryCategoriesRequest\x128\x0A\x06parent\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/Glossary\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x98\x01\x0A\x1EListGlossaryCategoriesResponse\x12>\x0A\x0Acategories\x18\x01 \x03(\x0B2*.google.cloud.dataplex.v1.GlossaryCategory\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"\xA6\x01\x0A\x19CreateGlossaryTermRequest\x128\x0A\x06parent\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/Glossary\x12\x14\x0A\x07term_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x129\x0A\x04term\x18\x03 \x01(\x0B2&.google.cloud.dataplex.v1.GlossaryTermB\x03\xE0A\x02\"\x8C\x01\x0A\x19UpdateGlossaryTermRequest\x129\x0A\x04term\x18\x01 \x01(\x0B2&.google.cloud.dataplex.v1.GlossaryTermB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\"W\x0A\x19DeleteGlossaryTermRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/GlossaryTerm\"T\x0A\x16GetGlossaryTermRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/GlossaryTerm\"\xB1\x01\x0A\x18ListGlossaryTermsRequest\x128\x0A\x06parent\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/Glossary\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x8A\x01\x0A\x19ListGlossaryTermsResponse\x125\x0A\x05terms\x18\x01 \x03(\x0B2&.google.cloud.dataplex.v1.GlossaryTerm\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x092\xF7\x19\x0A\x17BusinessGlossaryService\x12\xE0\x01\x0A\x0ECreateGlossary\x12/.google.cloud.dataplex.v1.CreateGlossaryRequest\x1A\x1D.google.longrunning.Operation\"~\xCAA\x1D\x0A\x08Glossary\x12\x11OperationMetadata\xDAA\x1Bparent,glossary,glossary_id\x82\xD3\xE4\x93\x02:\"./v1/{parent=projects/*/locations/*}/glossaries:\x08glossary\x12\xE3\x01\x0A\x0EUpdateGlossary\x12/.google.cloud.dataplex.v1.UpdateGlossaryRequest\x1A\x1D.google.longrunning.Operation\"\x80\x01\xCAA\x1D\x0A\x08Glossary\x12\x11OperationMetadata\xDAA\x14glossary,update_mask\x82\xD3\xE4\x93\x02C27/v1/{glossary.name=projects/*/locations/*/glossaries/*}:\x08glossary\x12\xCC\x01\x0A\x0EDeleteGlossary\x12/.google.cloud.dataplex.v1.DeleteGlossaryRequest\x1A\x1D.google.longrunning.Operation\"j\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x020*./v1/{name=projects/*/locations/*/glossaries/*}\x12\x9E\x01\x0A\x0BGetGlossary\x12,.google.cloud.dataplex.v1.GetGlossaryRequest\x1A\".google.cloud.dataplex.v1.Glossary\"=\xDAA\x04name\x82\xD3\xE4\x93\x020\x12./v1/{name=projects/*/locations/*/glossaries/*}\x12\xB4\x01\x0A\x0EListGlossaries\x12/.google.cloud.dataplex.v1.ListGlossariesRequest\x1A0.google.cloud.dataplex.v1.ListGlossariesResponse\"?\xDAA\x06parent\x82\xD3\xE4\x93\x020\x12./v1/{parent=projects/*/locations/*}/glossaries\x12\xEA\x01\x0A\x16CreateGlossaryCategory\x127.google.cloud.dataplex.v1.CreateGlossaryCategoryRequest\x1A*.google.cloud.dataplex.v1.GlossaryCategory\"k\xDAA\x1Bparent,category,category_id\x82\xD3\xE4\x93\x02G\";/v1/{parent=projects/*/locations/*/glossaries/*}/categories:\x08category\x12\xEC\x01\x0A\x16UpdateGlossaryCategory\x127.google.cloud.dataplex.v1.UpdateGlossaryCategoryRequest\x1A*.google.cloud.dataplex.v1.GlossaryCategory\"m\xDAA\x14category,update_mask\x82\xD3\xE4\x93\x02P2D/v1/{category.name=projects/*/locations/*/glossaries/*/categories/*}:\x08category\x12\xB5\x01\x0A\x16DeleteGlossaryCategory\x127.google.cloud.dataplex.v1.DeleteGlossaryCategoryRequest\x1A\x16.google.protobuf.Empty\"J\xDAA\x04name\x82\xD3\xE4\x93\x02=*;/v1/{name=projects/*/locations/*/glossaries/*/categories/*}\x12\xC3\x01\x0A\x13GetGlossaryCategory\x124.google.cloud.dataplex.v1.GetGlossaryCategoryRequest\x1A*.google.cloud.dataplex.v1.GlossaryCategory\"J\xDAA\x04name\x82\xD3\xE4\x93\x02=\x12;/v1/{name=projects/*/locations/*/glossaries/*/categories/*}\x12\xD9\x01\x0A\x16ListGlossaryCategories\x127.google.cloud.dataplex.v1.ListGlossaryCategoriesRequest\x1A8.google.cloud.dataplex.v1.ListGlossaryCategoriesResponse\"L\xDAA\x06parent\x82\xD3\xE4\x93\x02=\x12;/v1/{parent=projects/*/locations/*/glossaries/*}/categories\x12\xCD\x01\x0A\x12CreateGlossaryTerm\x123.google.cloud.dataplex.v1.CreateGlossaryTermRequest\x1A&.google.cloud.dataplex.v1.GlossaryTerm\"Z\xDAA\x13parent,term,term_id\x82\xD3\xE4\x93\x02>\"6/v1/{parent=projects/*/locations/*/glossaries/*}/terms:\x04term\x12\xCF\x01\x0A\x12UpdateGlossaryTerm\x123.google.cloud.dataplex.v1.UpdateGlossaryTermRequest\x1A&.google.cloud.dataplex.v1.GlossaryTerm\"\\\xDAA\x10term,update_mask\x82\xD3\xE4\x93\x02C2;/v1/{term.name=projects/*/locations/*/glossaries/*/terms/*}:\x04term\x12\xA8\x01\x0A\x12DeleteGlossaryTerm\x123.google.cloud.dataplex.v1.DeleteGlossaryTermRequest\x1A\x16.google.protobuf.Empty\"E\xDAA\x04name\x82\xD3\xE4\x93\x028*6/v1/{name=projects/*/locations/*/glossaries/*/terms/*}\x12\xB2\x01\x0A\x0FGetGlossaryTerm\x120.google.cloud.dataplex.v1.GetGlossaryTermRequest\x1A&.google.cloud.dataplex.v1.GlossaryTerm\"E\xDAA\x04name\x82\xD3\xE4\x93\x028\x126/v1/{name=projects/*/locations/*/glossaries/*/terms/*}\x12\xC5\x01\x0A\x11ListGlossaryTerms\x122.google.cloud.dataplex.v1.ListGlossaryTermsRequest\x1A3.google.cloud.dataplex.v1.ListGlossaryTermsResponse\"G\xDAA\x06parent\x82\xD3\xE4\x93\x028\x126/v1/{parent=projects/*/locations/*/glossaries/*}/terms\x1A\xEB\x01\xCAA\x17dataplex.googleapis.com\xD2A\xCD\x01https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/dataplex.read-write,https://www.googleapis.com/auth/dataplex.readonlyBq\x0A\x1Ccom.google.cloud.dataplex.v1B\x15BusinessGlossaryProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" , true); static::$is_initialized = true; diff --git a/Dataplex/metadata/V1/Catalog.php b/Dataplex/metadata/V1/Catalog.php index dc582d62c217..f9d69ad3e373 100644 --- a/Dataplex/metadata/V1/Catalog.php +++ b/Dataplex/metadata/V1/Catalog.php @@ -26,7 +26,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\Struct::initOnce(); \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xAA\xC8\x01\x0A&google/cloud/dataplex/v1/catalog.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x1Bgoogle/api/field_info.proto\x1A\x19google/api/resource.proto\x1A&google/cloud/dataplex/v1/service.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Cgoogle/protobuf/struct.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\x83\x0F\x0A\x0AAspectType\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x03\xFAA\$\x0A\"dataplex.googleapis.com/AspectType\x12\x10\x0A\x03uid\x18\x02 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cdisplay_name\x18\x06 \x01(\x09B\x03\xE0A\x01\x12E\x0A\x06labels\x18\x07 \x03(\x0B20.google.cloud.dataplex.v1.AspectType.LabelsEntryB\x03\xE0A\x01\x12\x0C\x0A\x04etag\x18\x08 \x01(\x09\x12\\\x0A\x13data_classification\x18\x09 \x01(\x0E27.google.cloud.dataplex.v1.AspectType.DataClassificationB\x06\xE0A\x01\xE0A\x05\x12N\x0A\x0Dauthorization\x184 \x01(\x0B22.google.cloud.dataplex.v1.AspectType.AuthorizationB\x03\xE0A\x05\x12U\x0A\x11metadata_template\x185 \x01(\x0B25.google.cloud.dataplex.v1.AspectType.MetadataTemplateB\x03\xE0A\x02\x12G\x0A\x0Ftransfer_status\x18\xCA\x01 \x01(\x0E2(.google.cloud.dataplex.v1.TransferStatusB\x03\xE0A\x03\x1A6\x0A\x0DAuthorization\x12%\x0A\x18alternate_use_permission\x18\x01 \x01(\x09B\x03\xE0A\x05\x1A\xA4\x07\x0A\x10MetadataTemplate\x12\x12\x0A\x05index\x18\x01 \x01(\x05B\x03\xE0A\x01\x12\x11\x0A\x04name\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x11\x0A\x04type\x18\x05 \x01(\x09B\x03\xE0A\x02\x12Q\x0A\x0Drecord_fields\x18\x06 \x03(\x0B25.google.cloud.dataplex.v1.AspectType.MetadataTemplateB\x03\xE0A\x01\x12Y\x0A\x0Benum_values\x18\x08 \x03(\x0B2?.google.cloud.dataplex.v1.AspectType.MetadataTemplate.EnumValueB\x03\xE0A\x01\x12M\x0A\x09map_items\x18\x0A \x01(\x0B25.google.cloud.dataplex.v1.AspectType.MetadataTemplateB\x03\xE0A\x01\x12O\x0A\x0Barray_items\x18\x0B \x01(\x0B25.google.cloud.dataplex.v1.AspectType.MetadataTemplateB\x03\xE0A\x01\x12\x14\x0A\x07type_id\x18\x0C \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08type_ref\x18\x0D \x01(\x09B\x03\xE0A\x01\x12[\x0A\x0Bconstraints\x182 \x01(\x0B2A.google.cloud.dataplex.v1.AspectType.MetadataTemplate.ConstraintsB\x03\xE0A\x01\x12[\x0A\x0Bannotations\x183 \x01(\x0B2A.google.cloud.dataplex.v1.AspectType.MetadataTemplate.AnnotationsB\x03\xE0A\x01\x1AK\x0A\x09EnumValue\x12\x12\x0A\x05index\x18\x01 \x01(\x05B\x03\xE0A\x02\x12\x11\x0A\x04name\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x17\x0A\x0Adeprecated\x18\x03 \x01(\x09B\x03\xE0A\x01\x1A\$\x0A\x0BConstraints\x12\x15\x0A\x08required\x18\x01 \x01(\x08B\x03\xE0A\x01\x1A\xAD\x01\x0A\x0BAnnotations\x12\x17\x0A\x0Adeprecated\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cdisplay_name\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Ddisplay_order\x18\x04 \x01(\x05B\x03\xE0A\x01\x12\x18\x0A\x0Bstring_type\x18\x06 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dstring_values\x18\x07 \x03(\x09B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"P\x0A\x12DataClassification\x12#\x0A\x1FDATA_CLASSIFICATION_UNSPECIFIED\x10\x00\x12\x15\x0A\x11METADATA_AND_DATA\x10\x01:\x84\x01\xEAA\x80\x01\x0A\"dataplex.googleapis.com/AspectType\x12Aprojects/{project}/locations/{location}/aspectTypes/{aspect_type}*\x0BaspectTypes2\x0AaspectType\"\xCD\x04\x0A\x0AEntryGroup\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x03\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x12\x10\x0A\x03uid\x18\x02 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cdisplay_name\x18\x06 \x01(\x09B\x03\xE0A\x01\x12E\x0A\x06labels\x18\x07 \x03(\x0B20.google.cloud.dataplex.v1.EntryGroup.LabelsEntryB\x03\xE0A\x01\x12\x0C\x0A\x04etag\x18\x08 \x01(\x09\x12G\x0A\x0Ftransfer_status\x18\xCA\x01 \x01(\x0E2(.google.cloud.dataplex.v1.TransferStatusB\x03\xE0A\x03\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x84\x01\xEAA\x80\x01\x0A\"dataplex.googleapis.com/EntryGroup\x12Aprojects/{project}/locations/{location}/entryGroups/{entry_group}*\x0BentryGroups2\x0AentryGroup\"\xDC\x06\x0A\x09EntryType\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x03\xFAA#\x0A!dataplex.googleapis.com/EntryType\x12\x10\x0A\x03uid\x18\x02 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cdisplay_name\x18\x06 \x01(\x09B\x03\xE0A\x01\x12D\x0A\x06labels\x18\x07 \x03(\x0B2/.google.cloud.dataplex.v1.EntryType.LabelsEntryB\x03\xE0A\x01\x12\x11\x0A\x04etag\x18\x08 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Ctype_aliases\x18\x09 \x03(\x09B\x03\xE0A\x01\x12\x15\x0A\x08platform\x18\x0A \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06system\x18\x0B \x01(\x09B\x03\xE0A\x01\x12H\x0A\x10required_aspects\x182 \x03(\x0B2..google.cloud.dataplex.v1.EntryType.AspectInfo\x12M\x0A\x0Dauthorization\x183 \x01(\x0B21.google.cloud.dataplex.v1.EntryType.AuthorizationB\x03\xE0A\x05\x1AC\x0A\x0AAspectInfo\x125\x0A\x04type\x18\x01 \x01(\x09B'\xFAA\$\x0A\"dataplex.googleapis.com/AspectType\x1A6\x0A\x0DAuthorization\x12%\x0A\x18alternate_use_permission\x18\x01 \x01(\x09B\x03\xE0A\x05\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:~\xEAA{\x0A!dataplex.googleapis.com/EntryType\x12?projects/{project}/locations/{location}/entryTypes/{entry_type}*\x0AentryTypes2\x09entryType\"\x91\x02\x0A\x06Aspect\x12\x18\x0A\x0Baspect_type\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12*\x0A\x04data\x18\x08 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x02\x12B\x0A\x0Daspect_source\x18\x09 \x01(\x0B2&.google.cloud.dataplex.v1.AspectSourceB\x03\xE0A\x01\"\x86\x01\x0A\x0CAspectSource\x12/\x0A\x0Bcreate_time\x18\x0A \x01(\x0B2\x1A.google.protobuf.Timestamp\x12/\x0A\x0Bupdate_time\x18\x0B \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x14\x0A\x0Cdata_version\x18\x0C \x01(\x09\"\xC4\x04\x0A\x05Entry\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1A\x0A\x0Aentry_type\x18\x04 \x01(\x09B\x06\xE0A\x02\xE0A\x05\x124\x0A\x0Bcreate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12B\x0A\x07aspects\x18\x09 \x03(\x0B2,.google.cloud.dataplex.v1.Entry.AspectsEntryB\x03\xE0A\x01\x12\x1C\x0A\x0Cparent_entry\x18\x0A \x01(\x09B\x06\xE0A\x01\xE0A\x05\x12!\x0A\x14fully_qualified_name\x18\x0C \x01(\x09B\x03\xE0A\x01\x12@\x0A\x0Centry_source\x18\x0F \x01(\x0B2%.google.cloud.dataplex.v1.EntrySourceB\x03\xE0A\x01\x1AP\x0A\x0CAspectsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12/\x0A\x05value\x18\x02 \x01(\x0B2 .google.cloud.dataplex.v1.Aspect:\x028\x01:\x86\x01\xEAA\x82\x01\x0A\x1Ddataplex.googleapis.com/Entry\x12Qprojects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}*\x07entries2\x05entry\"\xD1\x03\x0A\x0BEntrySource\x12\x10\x0A\x08resource\x18\x01 \x01(\x09\x12\x0E\x0A\x06system\x18\x02 \x01(\x09\x12\x10\x0A\x08platform\x18\x03 \x01(\x09\x12\x14\x0A\x0Cdisplay_name\x18\x05 \x01(\x09\x12\x13\x0A\x0Bdescription\x18\x06 \x01(\x09\x12A\x0A\x06labels\x18\x07 \x03(\x0B21.google.cloud.dataplex.v1.EntrySource.LabelsEntry\x12F\x0A\x09ancestors\x18\x09 \x03(\x0B2..google.cloud.dataplex.v1.EntrySource.AncestorB\x03\xE0A\x05\x12/\x0A\x0Bcreate_time\x18\x0A \x01(\x0B2\x1A.google.protobuf.Timestamp\x12/\x0A\x0Bupdate_time\x18\x0B \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x15\x0A\x08location\x18\x0C \x01(\x09B\x03\xE0A\x03\x1A0\x0A\x08Ancestor\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x11\x0A\x04type\x18\x02 \x01(\x09B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xCD\x01\x0A\x17CreateEntryGroupRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x1B\x0A\x0Eentry_group_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12>\x0A\x0Bentry_group\x18\x03 \x01(\x0B2\$.google.cloud.dataplex.v1.EntryGroupB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xAB\x01\x0A\x17UpdateEntryGroupRequest\x12>\x0A\x0Bentry_group\x18\x01 \x01(\x0B2\$.google.cloud.dataplex.v1.EntryGroupB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"f\x0A\x17DeleteEntryGroupRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\"\xB0\x01\x0A\x16ListEntryGroupsRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x8D\x01\x0A\x17ListEntryGroupsResponse\x12:\x0A\x0Centry_groups\x18\x01 \x03(\x0B2\$.google.cloud.dataplex.v1.EntryGroup\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"P\x0A\x14GetEntryGroupRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\"\xC9\x01\x0A\x16CreateEntryTypeRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x1A\x0A\x0Dentry_type_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12<\x0A\x0Aentry_type\x18\x03 \x01(\x0B2#.google.cloud.dataplex.v1.EntryTypeB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xA8\x01\x0A\x16UpdateEntryTypeRequest\x12<\x0A\x0Aentry_type\x18\x01 \x01(\x0B2#.google.cloud.dataplex.v1.EntryTypeB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"d\x0A\x16DeleteEntryTypeRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/EntryType\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\"\xAF\x01\x0A\x15ListEntryTypesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x8A\x01\x0A\x16ListEntryTypesResponse\x128\x0A\x0Bentry_types\x18\x01 \x03(\x0B2#.google.cloud.dataplex.v1.EntryType\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"N\x0A\x13GetEntryTypeRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/EntryType\"\xCD\x01\x0A\x17CreateAspectTypeRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x1B\x0A\x0Easpect_type_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12>\x0A\x0Baspect_type\x18\x03 \x01(\x0B2\$.google.cloud.dataplex.v1.AspectTypeB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xAB\x01\x0A\x17UpdateAspectTypeRequest\x12>\x0A\x0Baspect_type\x18\x01 \x01(\x0B2\$.google.cloud.dataplex.v1.AspectTypeB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"f\x0A\x17DeleteAspectTypeRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/AspectType\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\"\xB0\x01\x0A\x16ListAspectTypesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x8D\x01\x0A\x17ListAspectTypesResponse\x12:\x0A\x0Caspect_types\x18\x01 \x03(\x0B2\$.google.cloud.dataplex.v1.AspectType\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"P\x0A\x14GetAspectTypeRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/AspectType\"\x9C\x01\x0A\x12CreateEntryRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x12\x15\x0A\x08entry_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x123\x0A\x05entry\x18\x03 \x01(\x0B2\x1F.google.cloud.dataplex.v1.EntryB\x03\xE0A\x02\"\xDA\x01\x0A\x12UpdateEntryRequest\x123\x0A\x05entry\x18\x01 \x01(\x0B2\x1F.google.cloud.dataplex.v1.EntryB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12\x1A\x0A\x0Dallow_missing\x18\x03 \x01(\x08B\x03\xE0A\x01\x12#\x0A\x16delete_missing_aspects\x18\x04 \x01(\x08B\x03\xE0A\x01\x12\x18\x0A\x0Baspect_keys\x18\x05 \x03(\x09B\x03\xE0A\x01\"I\x0A\x12DeleteEntryRequest\x123\x0A\x04name\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Entry\"\x96\x01\x0A\x12ListEntriesRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\"`\x0A\x13ListEntriesResponse\x120\x0A\x07entries\x18\x01 \x03(\x0B2\x1F.google.cloud.dataplex.v1.Entry\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xAD\x01\x0A\x0FGetEntryRequest\x123\x0A\x04name\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Entry\x126\x0A\x04view\x18\x02 \x01(\x0E2#.google.cloud.dataplex.v1.EntryViewB\x03\xE0A\x01\x12\x19\x0A\x0Caspect_types\x18\x03 \x03(\x09B\x03\xE0A\x01\x12\x12\x0A\x05paths\x18\x04 \x03(\x09B\x03\xE0A\x01\"\xC4\x01\x0A\x12LookupEntryRequest\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x126\x0A\x04view\x18\x02 \x01(\x0E2#.google.cloud.dataplex.v1.EntryViewB\x03\xE0A\x01\x12\x19\x0A\x0Caspect_types\x18\x03 \x03(\x09B\x03\xE0A\x01\x12\x12\x0A\x05paths\x18\x04 \x03(\x09B\x03\xE0A\x01\x124\x0A\x05entry\x18\x05 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Entry\"\xE6\x01\x0A\x14LookupContextRequest\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x128\x0A\x09resources\x18\x02 \x03(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Entry\x12Q\x0A\x07options\x18\x04 \x03(\x0B2;.google.cloud.dataplex.v1.LookupContextRequest.OptionsEntryB\x03\xE0A\x01\x1A.\x0A\x0COptionsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"(\x0A\x15LookupContextResponse\x12\x0F\x0A\x07context\x18\x01 \x01(\x09\"\xDD\x01\x0A\x14SearchEntriesRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x12\x0A\x05query\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x16\x0A\x09page_size\x18\x03 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x12\x0A\x05scope\x18\x07 \x01(\x09B\x03\xE0A\x01\x12\x1C\x0A\x0Fsemantic_search\x18\x0B \x01(\x08B\x03\xE0A\x01\"\x86\x02\x0A\x13SearchEntriesResult\x12\x1B\x0A\x0Flinked_resource\x18\x08 \x01(\x09B\x02\x18\x01\x127\x0A\x0Edataplex_entry\x18\x09 \x01(\x0B2\x1F.google.cloud.dataplex.v1.Entry\x12L\x0A\x08snippets\x18\x0C \x01(\x0B26.google.cloud.dataplex.v1.SearchEntriesResult.SnippetsB\x02\x18\x01\x1AK\x0A\x08Snippets\x12;\x0A\x0Edataplex_entry\x18\x01 \x01(\x0B2\x1F.google.cloud.dataplex.v1.EntryB\x02\x18\x01:\x02\x18\x01\"\x99\x01\x0A\x15SearchEntriesResponse\x12>\x0A\x07results\x18\x01 \x03(\x0B2-.google.cloud.dataplex.v1.SearchEntriesResult\x12\x12\x0A\x0Atotal_size\x18\x02 \x01(\x05\x12\x17\x0A\x0Fnext_page_token\x18\x03 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x04 \x03(\x09\"\xBB\x01\x0A\x0AImportItem\x12.\x0A\x05entry\x18\x01 \x01(\x0B2\x1F.google.cloud.dataplex.v1.Entry\x127\x0A\x0Aentry_link\x18\x04 \x01(\x0B2#.google.cloud.dataplex.v1.EntryLink\x12/\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMask\x12\x13\x0A\x0Baspect_keys\x18\x03 \x03(\x09\"\xD1\x01\x0A\x18CreateMetadataJobRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12@\x0A\x0Cmetadata_job\x18\x02 \x01(\x0B2%.google.cloud.dataplex.v1.MetadataJobB\x03\xE0A\x02\x12\x1C\x0A\x0Fmetadata_job_id\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"R\x0A\x15GetMetadataJobRequest\x129\x0A\x04name\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/MetadataJob\"\xB1\x01\x0A\x17ListMetadataJobsRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x90\x01\x0A\x18ListMetadataJobsResponse\x12<\x0A\x0Dmetadata_jobs\x18\x01 \x03(\x0B2%.google.cloud.dataplex.v1.MetadataJob\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"U\x0A\x18CancelMetadataJobRequest\x129\x0A\x04name\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/MetadataJob\"\xEE\x17\x0A\x0BMetadataJob\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12F\x0A\x06labels\x18\x05 \x03(\x0B21.google.cloud.dataplex.v1.MetadataJob.LabelsEntryB\x03\xE0A\x01\x12=\x0A\x04type\x18\x06 \x01(\x0E2*.google.cloud.dataplex.v1.MetadataJob.TypeB\x03\xE0A\x02\x12J\x0A\x0Bimport_spec\x18d \x01(\x0B23.google.cloud.dataplex.v1.MetadataJob.ImportJobSpecH\x00\x12J\x0A\x0Bexport_spec\x18e \x01(\x0B23.google.cloud.dataplex.v1.MetadataJob.ExportJobSpecH\x00\x12T\x0A\x0Dimport_result\x18\xC8\x01 \x01(\x0B25.google.cloud.dataplex.v1.MetadataJob.ImportJobResultB\x03\xE0A\x03H\x01\x12T\x0A\x0Dexport_result\x18\xC9\x01 \x01(\x0B25.google.cloud.dataplex.v1.MetadataJob.ExportJobResultB\x03\xE0A\x03H\x01\x12A\x0A\x06status\x18\x07 \x01(\x0B2,.google.cloud.dataplex.v1.MetadataJob.StatusB\x03\xE0A\x03\x1A\xC9\x02\x0A\x0FImportJobResult\x12\x1C\x0A\x0Fdeleted_entries\x18\x01 \x01(\x03B\x03\xE0A\x03\x12\x1C\x0A\x0Fupdated_entries\x18\x02 \x01(\x03B\x03\xE0A\x03\x12\x1C\x0A\x0Fcreated_entries\x18\x03 \x01(\x03B\x03\xE0A\x03\x12\x1E\x0A\x11unchanged_entries\x18\x04 \x01(\x03B\x03\xE0A\x03\x12\x1E\x0A\x11recreated_entries\x18\x06 \x01(\x03B\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12 \x0A\x13deleted_entry_links\x18\x07 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13created_entry_links\x18\x08 \x01(\x03B\x03\xE0A\x03\x12\"\x0A\x15unchanged_entry_links\x18\x09 \x01(\x03B\x03\xE0A\x03\x1AL\x0A\x0FExportJobResult\x12\x1D\x0A\x10exported_entries\x18\x01 \x01(\x03B\x03\xE0A\x03\x12\x1A\x0A\x0Derror_message\x18\x02 \x01(\x09B\x03\xE0A\x03\x1A\xB6\x07\x0A\x0DImportJobSpec\x12\x1F\x0A\x12source_storage_uri\x18\x01 \x01(\x09B\x03\xE0A\x01\x12;\x0A\x12source_create_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x12V\x0A\x05scope\x18\x02 \x01(\x0B2B.google.cloud.dataplex.v1.MetadataJob.ImportJobSpec.ImportJobScopeB\x03\xE0A\x02\x12Z\x0A\x0Fentry_sync_mode\x18\x03 \x01(\x0E2<.google.cloud.dataplex.v1.MetadataJob.ImportJobSpec.SyncModeB\x03\xE0A\x02\x12[\x0A\x10aspect_sync_mode\x18\x04 \x01(\x0E2<.google.cloud.dataplex.v1.MetadataJob.ImportJobSpec.SyncModeB\x03\xE0A\x02\x12T\x0A\x09log_level\x18\x06 \x01(\x0E2<.google.cloud.dataplex.v1.MetadataJob.ImportJobSpec.LogLevelB\x03\xE0A\x01\x1A\xD7\x02\x0A\x0EImportJobScope\x12@\x0A\x0Centry_groups\x18\x01 \x03(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x12>\x0A\x0Bentry_types\x18\x02 \x03(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/EntryType\x12@\x0A\x0Caspect_types\x18\x03 \x03(\x09B*\xE0A\x01\xFAA\$\x0A\"dataplex.googleapis.com/AspectType\x12<\x0A\x0Aglossaries\x18\x04 \x03(\x09B(\xE0A\x01\xFAA\"\x0A dataplex.googleapis.com/Glossary\x12\x1D\x0A\x10entry_link_types\x18\x05 \x03(\x09B\x03\xE0A\x01\x12\$\x0A\x17referenced_entry_scopes\x18\x06 \x03(\x09B\x03\xE0A\x01\"J\x0A\x08SyncMode\x12\x19\x0A\x15SYNC_MODE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04FULL\x10\x01\x12\x0F\x0A\x0BINCREMENTAL\x10\x02\x12\x08\x0A\x04NONE\x10\x03\":\x0A\x08LogLevel\x12\x19\x0A\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x09\x0A\x05DEBUG\x10\x01\x12\x08\x0A\x04INFO\x10\x02\x1A\xAF\x03\x0A\x0DExportJobSpec\x12V\x0A\x05scope\x18\x02 \x01(\x0B2B.google.cloud.dataplex.v1.MetadataJob.ExportJobSpec.ExportJobScopeB\x03\xE0A\x02\x12\x18\x0A\x0Boutput_path\x18\x03 \x01(\x09B\x03\xE0A\x02\x1A\xAB\x02\x0A\x0EExportJobScope\x12\x1A\x0A\x12organization_level\x18\x01 \x01(\x08\x12B\x0A\x08projects\x18\x02 \x03(\x09B0\xFAA-\x0A+cloudresourcemanager.googleapis.com/Project\x12=\x0A\x0Centry_groups\x18\x03 \x03(\x09B'\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x12;\x0A\x0Bentry_types\x18\x04 \x03(\x09B&\xFAA#\x0A!dataplex.googleapis.com/EntryType\x12=\x0A\x0Caspect_types\x18\x05 \x03(\x09B'\xFAA\$\x0A\"dataplex.googleapis.com/AspectType\x1A\xCA\x02\x0A\x06Status\x12F\x0A\x05state\x18\x01 \x01(\x0E22.google.cloud.dataplex.v1.MetadataJob.Status.StateB\x03\xE0A\x03\x12\x14\x0A\x07message\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x1F\x0A\x12completion_percent\x18\x03 \x01(\x05B\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\"\x8A\x01\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06QUEUED\x10\x01\x12\x0B\x0A\x07RUNNING\x10\x02\x12\x0D\x0A\x09CANCELING\x10\x03\x12\x0C\x0A\x08CANCELED\x10\x04\x12\x0D\x0A\x09SUCCEEDED\x10\x05\x12\x0A\x0A\x06FAILED\x10\x06\x12\x19\x0A\x15SUCCEEDED_WITH_ERRORS\x10\x07\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"4\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06IMPORT\x10\x01\x12\x0A\x0A\x06EXPORT\x10\x02:l\xEAAi\x0A#dataplex.googleapis.com/MetadataJob\x12Bprojects/{project}/locations/{location}/metadataJobs/{metadataJob}B\x06\x0A\x04specB\x08\x0A\x06result\"\x9F\x06\x0A\x09EntryLink\x12=\x0A\x04name\x18\x01 \x01(\x09B/\xE0A\x03\xE0A\x05\xE0A\x08\xFAA#\x0A!dataplex.googleapis.com/EntryLink\x12\x1F\x0A\x0Fentry_link_type\x18\x02 \x01(\x09B\x06\xE0A\x02\xE0A\x05\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12F\x0A\x07aspects\x18\x06 \x03(\x0B20.google.cloud.dataplex.v1.EntryLink.AspectsEntryB\x03\xE0A\x01\x12T\x0A\x10entry_references\x18\x0A \x03(\x0B22.google.cloud.dataplex.v1.EntryLink.EntryReferenceB\x06\xE0A\x02\xE0A\x05\x1A\xB9\x01\x0A\x0EEntryReference\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x02\xE0A\x05\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x05\x12M\x0A\x04type\x18\x03 \x01(\x0E27.google.cloud.dataplex.v1.EntryLink.EntryReference.TypeB\x06\xE0A\x02\xE0A\x05\"/\x0A\x04Type\x12\x0F\x0A\x0BUNSPECIFIED\x10\x00\x12\x0A\x0A\x06SOURCE\x10\x02\x12\x0A\x0A\x06TARGET\x10\x03\x1AP\x0A\x0CAspectsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12/\x0A\x05value\x18\x02 \x01(\x0B2 .google.cloud.dataplex.v1.Aspect:\x028\x01:\x99\x01\xEAA\x95\x01\x0A!dataplex.googleapis.com/EntryLink\x12Yprojects/{project}/locations/{location}/entryGroups/{entry_group}/entryLinks/{entry_link}*\x0AentryLinks2\x09entryLink\"\xAE\x01\x0A\x16CreateEntryLinkRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x12\x1A\x0A\x0Dentry_link_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12<\x0A\x0Aentry_link\x18\x03 \x01(\x0B2#.google.cloud.dataplex.v1.EntryLinkB\x03\xE0A\x02\"\x8C\x01\x0A\x16UpdateEntryLinkRequest\x12<\x0A\x0Aentry_link\x18\x01 \x01(\x0B2#.google.cloud.dataplex.v1.EntryLinkB\x03\xE0A\x02\x12\x1A\x0A\x0Dallow_missing\x18\x03 \x01(\x08B\x03\xE0A\x01\x12\x18\x0A\x0Baspect_keys\x18\x05 \x03(\x09B\x03\xE0A\x01\"Q\x0A\x16DeleteEntryLinkRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/EntryLink\"\xB5\x02\x0A\x17LookupEntryLinksRequest\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x124\x0A\x05entry\x18\x02 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Entry\x12O\x0A\x0Aentry_mode\x18\x03 \x01(\x0E2;.google.cloud.dataplex.v1.LookupEntryLinksRequest.EntryMode\x12\x18\x0A\x10entry_link_types\x18\x04 \x03(\x09\x12\x11\x0A\x09page_size\x18\x05 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x06 \x01(\x09\"?\x0A\x09EntryMode\x12\x1A\x0A\x16ENTRY_MODE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06SOURCE\x10\x01\x12\x0A\x0A\x06TARGET\x10\x02\"m\x0A\x18LookupEntryLinksResponse\x128\x0A\x0Bentry_links\x18\x01 \x03(\x0B2#.google.cloud.dataplex.v1.EntryLink\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"N\x0A\x13GetEntryLinkRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/EntryLink\"\xC8\x08\x0A\x0CMetadataFeed\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x12@\x0A\x05scope\x18\x03 \x01(\x0B2,.google.cloud.dataplex.v1.MetadataFeed.ScopeB\x03\xE0A\x02\x12D\x0A\x07filters\x18\x04 \x01(\x0B2..google.cloud.dataplex.v1.MetadataFeed.FiltersB\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12G\x0A\x06labels\x18\x08 \x03(\x0B22.google.cloud.dataplex.v1.MetadataFeed.LabelsEntryB\x03\xE0A\x01\x12\x1B\x0A\x0Cpubsub_topic\x18d \x01(\x09B\x03\xE0A\x01H\x00\x1A\xB1\x01\x0A\x05Scope\x12\x1F\x0A\x12organization_level\x18\x01 \x01(\x08B\x03\xE0A\x01\x12E\x0A\x08projects\x18\x02 \x03(\x09B3\xE0A\x01\xFAA-\x0A+cloudresourcemanager.googleapis.com/Project\x12@\x0A\x0Centry_groups\x18\x03 \x03(\x09B*\xE0A\x01\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x1A\xB0\x02\x0A\x07Filters\x12>\x0A\x0Bentry_types\x18\x01 \x03(\x09B)\xE0A\x01\xFAA#\x0A!dataplex.googleapis.com/EntryType\x12@\x0A\x0Caspect_types\x18\x02 \x03(\x09B*\xE0A\x01\xFAA\$\x0A\"dataplex.googleapis.com/AspectType\x12T\x0A\x0Cchange_types\x18\x03 \x03(\x0E29.google.cloud.dataplex.v1.MetadataFeed.Filters.ChangeTypeB\x03\xE0A\x01\"M\x0A\x0AChangeType\x12\x1B\x0A\x17CHANGE_TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06CREATE\x10\x01\x12\x0A\x0A\x06UPDATE\x10\x02\x12\x0A\x0A\x06DELETE\x10\x03\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x8E\x01\xEAA\x8A\x01\x0A\$dataplex.googleapis.com/MetadataFeed\x12Eprojects/{project}/locations/{location}/metadataFeeds/{metadata_feed}*\x0DmetadataFeeds2\x0CmetadataFeedB\x0A\x0A\x08endpoint\"\xD5\x01\x0A\x19CreateMetadataFeedRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12B\x0A\x0Dmetadata_feed\x18\x02 \x01(\x0B2&.google.cloud.dataplex.v1.MetadataFeedB\x03\xE0A\x02\x12\x1D\x0A\x10metadata_feed_id\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"T\x0A\x16GetMetadataFeedRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/MetadataFeed\"\xB2\x01\x0A\x18ListMetadataFeedsRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x8E\x01\x0A\x19ListMetadataFeedsResponse\x12>\x0A\x0Emetadata_feeds\x18\x01 \x03(\x0B2&.google.cloud.dataplex.v1.MetadataFeed\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x18\x0A\x0Bunreachable\x18\x03 \x03(\x09B\x03\xE0A\x06\"W\x0A\x19DeleteMetadataFeedRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/MetadataFeed\"\xB1\x01\x0A\x19UpdateMetadataFeedRequest\x12B\x0A\x0Dmetadata_feed\x18\x01 \x01(\x0B2&.google.cloud.dataplex.v1.MetadataFeedB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01*Q\x0A\x09EntryView\x12\x1A\x0A\x16ENTRY_VIEW_UNSPECIFIED\x10\x00\x12\x09\x0A\x05BASIC\x10\x01\x12\x08\x0A\x04FULL\x10\x02\x12\x0A\x0A\x06CUSTOM\x10\x03\x12\x07\x0A\x03ALL\x10\x04*p\x0A\x0ETransferStatus\x12\x1F\x0A\x1BTRANSFER_STATUS_UNSPECIFIED\x10\x00\x12\x1C\x0A\x18TRANSFER_STATUS_MIGRATED\x10\x01\x12\x1F\x0A\x1BTRANSFER_STATUS_TRANSFERRED\x10\x022\x8F<\x0A\x0ECatalogService\x12\xEA\x01\x0A\x0FCreateEntryType\x120.google.cloud.dataplex.v1.CreateEntryTypeRequest\x1A\x1D.google.longrunning.Operation\"\x85\x01\xCAA\x1E\x0A\x09EntryType\x12\x11OperationMetadata\xDAA\x1Fparent,entry_type,entry_type_id\x82\xD3\xE4\x93\x02<\"./v1/{parent=projects/*/locations/*}/entryTypes:\x0Aentry_type\x12\xEC\x01\x0A\x0FUpdateEntryType\x120.google.cloud.dataplex.v1.UpdateEntryTypeRequest\x1A\x1D.google.longrunning.Operation\"\x87\x01\xCAA\x1E\x0A\x09EntryType\x12\x11OperationMetadata\xDAA\x16entry_type,update_mask\x82\xD3\xE4\x93\x02G29/v1/{entry_type.name=projects/*/locations/*/entryTypes/*}:\x0Aentry_type\x12\xCE\x01\x0A\x0FDeleteEntryType\x120.google.cloud.dataplex.v1.DeleteEntryTypeRequest\x1A\x1D.google.longrunning.Operation\"j\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x020*./v1/{name=projects/*/locations/*/entryTypes/*}\x12\xB4\x01\x0A\x0EListEntryTypes\x12/.google.cloud.dataplex.v1.ListEntryTypesRequest\x1A0.google.cloud.dataplex.v1.ListEntryTypesResponse\"?\xDAA\x06parent\x82\xD3\xE4\x93\x020\x12./v1/{parent=projects/*/locations/*}/entryTypes\x12\xA1\x01\x0A\x0CGetEntryType\x12-.google.cloud.dataplex.v1.GetEntryTypeRequest\x1A#.google.cloud.dataplex.v1.EntryType\"=\xDAA\x04name\x82\xD3\xE4\x93\x020\x12./v1/{name=projects/*/locations/*/entryTypes/*}\x12\xF1\x01\x0A\x10CreateAspectType\x121.google.cloud.dataplex.v1.CreateAspectTypeRequest\x1A\x1D.google.longrunning.Operation\"\x8A\x01\xCAA\x1F\x0A\x0AAspectType\x12\x11OperationMetadata\xDAA!parent,aspect_type,aspect_type_id\x82\xD3\xE4\x93\x02>\"//v1/{parent=projects/*/locations/*}/aspectTypes:\x0Baspect_type\x12\xF3\x01\x0A\x10UpdateAspectType\x121.google.cloud.dataplex.v1.UpdateAspectTypeRequest\x1A\x1D.google.longrunning.Operation\"\x8C\x01\xCAA\x1F\x0A\x0AAspectType\x12\x11OperationMetadata\xDAA\x17aspect_type,update_mask\x82\xD3\xE4\x93\x02J2;/v1/{aspect_type.name=projects/*/locations/*/aspectTypes/*}:\x0Baspect_type\x12\xD1\x01\x0A\x10DeleteAspectType\x121.google.cloud.dataplex.v1.DeleteAspectTypeRequest\x1A\x1D.google.longrunning.Operation\"k\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x021*//v1/{name=projects/*/locations/*/aspectTypes/*}\x12\xB8\x01\x0A\x0FListAspectTypes\x120.google.cloud.dataplex.v1.ListAspectTypesRequest\x1A1.google.cloud.dataplex.v1.ListAspectTypesResponse\"@\xDAA\x06parent\x82\xD3\xE4\x93\x021\x12//v1/{parent=projects/*/locations/*}/aspectTypes\x12\xA5\x01\x0A\x0DGetAspectType\x12..google.cloud.dataplex.v1.GetAspectTypeRequest\x1A\$.google.cloud.dataplex.v1.AspectType\">\xDAA\x04name\x82\xD3\xE4\x93\x021\x12//v1/{name=projects/*/locations/*/aspectTypes/*}\x12\xF1\x01\x0A\x10CreateEntryGroup\x121.google.cloud.dataplex.v1.CreateEntryGroupRequest\x1A\x1D.google.longrunning.Operation\"\x8A\x01\xCAA\x1F\x0A\x0AEntryGroup\x12\x11OperationMetadata\xDAA!parent,entry_group,entry_group_id\x82\xD3\xE4\x93\x02>\"//v1/{parent=projects/*/locations/*}/entryGroups:\x0Bentry_group\x12\xF3\x01\x0A\x10UpdateEntryGroup\x121.google.cloud.dataplex.v1.UpdateEntryGroupRequest\x1A\x1D.google.longrunning.Operation\"\x8C\x01\xCAA\x1F\x0A\x0AEntryGroup\x12\x11OperationMetadata\xDAA\x17entry_group,update_mask\x82\xD3\xE4\x93\x02J2;/v1/{entry_group.name=projects/*/locations/*/entryGroups/*}:\x0Bentry_group\x12\xD1\x01\x0A\x10DeleteEntryGroup\x121.google.cloud.dataplex.v1.DeleteEntryGroupRequest\x1A\x1D.google.longrunning.Operation\"k\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x021*//v1/{name=projects/*/locations/*/entryGroups/*}\x12\xB8\x01\x0A\x0FListEntryGroups\x120.google.cloud.dataplex.v1.ListEntryGroupsRequest\x1A1.google.cloud.dataplex.v1.ListEntryGroupsResponse\"@\xDAA\x06parent\x82\xD3\xE4\x93\x021\x12//v1/{parent=projects/*/locations/*}/entryGroups\x12\xA5\x01\x0A\x0DGetEntryGroup\x12..google.cloud.dataplex.v1.GetEntryGroupRequest\x1A\$.google.cloud.dataplex.v1.EntryGroup\">\xDAA\x04name\x82\xD3\xE4\x93\x021\x12//v1/{name=projects/*/locations/*/entryGroups/*}\x12\xBE\x01\x0A\x0BCreateEntry\x12,.google.cloud.dataplex.v1.CreateEntryRequest\x1A\x1F.google.cloud.dataplex.v1.Entry\"`\xDAA\x15parent,entry,entry_id\x82\xD3\xE4\x93\x02B\"9/v1/{parent=projects/*/locations/*/entryGroups/*}/entries:\x05entry\x12\xC1\x01\x0A\x0BUpdateEntry\x12,.google.cloud.dataplex.v1.UpdateEntryRequest\x1A\x1F.google.cloud.dataplex.v1.Entry\"c\xDAA\x11entry,update_mask\x82\xD3\xE4\x93\x02I2@/v1/{entry.name=projects/*/locations/*/entryGroups/*/entries/**}:\x05entry\x12\xA7\x01\x0A\x0BDeleteEntry\x12,.google.cloud.dataplex.v1.DeleteEntryRequest\x1A\x1F.google.cloud.dataplex.v1.Entry\"I\xDAA\x04name\x82\xD3\xE4\x93\x02<*:/v1/{name=projects/*/locations/*/entryGroups/*/entries/**}\x12\xB6\x01\x0A\x0BListEntries\x12,.google.cloud.dataplex.v1.ListEntriesRequest\x1A-.google.cloud.dataplex.v1.ListEntriesResponse\"J\xDAA\x06parent\x82\xD3\xE4\x93\x02;\x129/v1/{parent=projects/*/locations/*/entryGroups/*}/entries\x12\xA1\x01\x0A\x08GetEntry\x12).google.cloud.dataplex.v1.GetEntryRequest\x1A\x1F.google.cloud.dataplex.v1.Entry\"I\xDAA\x04name\x82\xD3\xE4\x93\x02<\x12:/v1/{name=projects/*/locations/*/entryGroups/*/entries/**}\x12\x93\x01\x0A\x0BLookupEntry\x12,.google.cloud.dataplex.v1.LookupEntryRequest\x1A\x1F.google.cloud.dataplex.v1.Entry\"5\x82\xD3\xE4\x93\x02/\x12-/v1/{name=projects/*/locations/*}:lookupEntry\x12\xB6\x01\x0A\x0DSearchEntries\x12..google.cloud.dataplex.v1.SearchEntriesRequest\x1A/.google.cloud.dataplex.v1.SearchEntriesResponse\"D\xDAA\x0Aname,query\x82\xD3\xE4\x93\x021\"//v1/{name=projects/*/locations/*}:searchEntries\x12\xF8\x01\x0A\x11CreateMetadataJob\x122.google.cloud.dataplex.v1.CreateMetadataJobRequest\x1A\x1D.google.longrunning.Operation\"\x8F\x01\xCAA \x0A\x0BMetadataJob\x12\x11OperationMetadata\xDAA#parent,metadata_job,metadata_job_id\x82\xD3\xE4\x93\x02@\"0/v1/{parent=projects/*/locations/*}/metadataJobs:\x0Cmetadata_job\x12\xA9\x01\x0A\x0EGetMetadataJob\x12/.google.cloud.dataplex.v1.GetMetadataJobRequest\x1A%.google.cloud.dataplex.v1.MetadataJob\"?\xDAA\x04name\x82\xD3\xE4\x93\x022\x120/v1/{name=projects/*/locations/*/metadataJobs/*}\x12\xBC\x01\x0A\x10ListMetadataJobs\x121.google.cloud.dataplex.v1.ListMetadataJobsRequest\x1A2.google.cloud.dataplex.v1.ListMetadataJobsResponse\"A\xDAA\x06parent\x82\xD3\xE4\x93\x022\x120/v1/{parent=projects/*/locations/*}/metadataJobs\x12\xAA\x01\x0A\x11CancelMetadataJob\x122.google.cloud.dataplex.v1.CancelMetadataJobRequest\x1A\x16.google.protobuf.Empty\"I\xDAA\x04name\x82\xD3\xE4\x93\x02<\"7/v1/{name=projects/*/locations/*/metadataJobs/*}:cancel:\x01*\x12\xDC\x01\x0A\x0FCreateEntryLink\x120.google.cloud.dataplex.v1.CreateEntryLinkRequest\x1A#.google.cloud.dataplex.v1.EntryLink\"r\xDAA\x1Fparent,entry_link,entry_link_id\x82\xD3\xE4\x93\x02J\"*\x12\x0A\x0Bentry_group\x18\x03 \x01(\x0B2\$.google.cloud.dataplex.v1.EntryGroupB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xAB\x01\x0A\x17UpdateEntryGroupRequest\x12>\x0A\x0Bentry_group\x18\x01 \x01(\x0B2\$.google.cloud.dataplex.v1.EntryGroupB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"f\x0A\x17DeleteEntryGroupRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\"\xB0\x01\x0A\x16ListEntryGroupsRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x8D\x01\x0A\x17ListEntryGroupsResponse\x12:\x0A\x0Centry_groups\x18\x01 \x03(\x0B2\$.google.cloud.dataplex.v1.EntryGroup\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"P\x0A\x14GetEntryGroupRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\"\xC9\x01\x0A\x16CreateEntryTypeRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x1A\x0A\x0Dentry_type_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12<\x0A\x0Aentry_type\x18\x03 \x01(\x0B2#.google.cloud.dataplex.v1.EntryTypeB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xA8\x01\x0A\x16UpdateEntryTypeRequest\x12<\x0A\x0Aentry_type\x18\x01 \x01(\x0B2#.google.cloud.dataplex.v1.EntryTypeB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"d\x0A\x16DeleteEntryTypeRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/EntryType\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\"\xAF\x01\x0A\x15ListEntryTypesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x8A\x01\x0A\x16ListEntryTypesResponse\x128\x0A\x0Bentry_types\x18\x01 \x03(\x0B2#.google.cloud.dataplex.v1.EntryType\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"N\x0A\x13GetEntryTypeRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/EntryType\"\xCD\x01\x0A\x17CreateAspectTypeRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x1B\x0A\x0Easpect_type_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12>\x0A\x0Baspect_type\x18\x03 \x01(\x0B2\$.google.cloud.dataplex.v1.AspectTypeB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xAB\x01\x0A\x17UpdateAspectTypeRequest\x12>\x0A\x0Baspect_type\x18\x01 \x01(\x0B2\$.google.cloud.dataplex.v1.AspectTypeB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"f\x0A\x17DeleteAspectTypeRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/AspectType\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\"\xB0\x01\x0A\x16ListAspectTypesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x8D\x01\x0A\x17ListAspectTypesResponse\x12:\x0A\x0Caspect_types\x18\x01 \x03(\x0B2\$.google.cloud.dataplex.v1.AspectType\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"P\x0A\x14GetAspectTypeRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/AspectType\"\x9C\x01\x0A\x12CreateEntryRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x12\x15\x0A\x08entry_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x123\x0A\x05entry\x18\x03 \x01(\x0B2\x1F.google.cloud.dataplex.v1.EntryB\x03\xE0A\x02\"\xDA\x01\x0A\x12UpdateEntryRequest\x123\x0A\x05entry\x18\x01 \x01(\x0B2\x1F.google.cloud.dataplex.v1.EntryB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12\x1A\x0A\x0Dallow_missing\x18\x03 \x01(\x08B\x03\xE0A\x01\x12#\x0A\x16delete_missing_aspects\x18\x04 \x01(\x08B\x03\xE0A\x01\x12\x18\x0A\x0Baspect_keys\x18\x05 \x03(\x09B\x03\xE0A\x01\"I\x0A\x12DeleteEntryRequest\x123\x0A\x04name\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Entry\"\x96\x01\x0A\x12ListEntriesRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\"`\x0A\x13ListEntriesResponse\x120\x0A\x07entries\x18\x01 \x03(\x0B2\x1F.google.cloud.dataplex.v1.Entry\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xAD\x01\x0A\x0FGetEntryRequest\x123\x0A\x04name\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Entry\x126\x0A\x04view\x18\x02 \x01(\x0E2#.google.cloud.dataplex.v1.EntryViewB\x03\xE0A\x01\x12\x19\x0A\x0Caspect_types\x18\x03 \x03(\x09B\x03\xE0A\x01\x12\x12\x0A\x05paths\x18\x04 \x03(\x09B\x03\xE0A\x01\"\xC4\x01\x0A\x12LookupEntryRequest\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x126\x0A\x04view\x18\x02 \x01(\x0E2#.google.cloud.dataplex.v1.EntryViewB\x03\xE0A\x01\x12\x19\x0A\x0Caspect_types\x18\x03 \x03(\x09B\x03\xE0A\x01\x12\x12\x0A\x05paths\x18\x04 \x03(\x09B\x03\xE0A\x01\x124\x0A\x05entry\x18\x05 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Entry\"\xFC\x01\x0A\x14LookupContextRequest\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x128\x0A\x09resources\x18\x02 \x03(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Entry\x12\x14\x0A\x07context\x18\x03 \x01(\x09B\x03\xE0A\x01\x12Q\x0A\x07options\x18\x04 \x03(\x0B2;.google.cloud.dataplex.v1.LookupContextRequest.OptionsEntryB\x03\xE0A\x01\x1A.\x0A\x0COptionsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xD1\x01\x0A\x12ModifyEntryRequest\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x123\x0A\x05entry\x18\x02 \x01(\x0B2\x1F.google.cloud.dataplex.v1.EntryB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x03 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12#\x0A\x16delete_missing_aspects\x18\x04 \x01(\x08B\x03\xE0A\x01\x12\x18\x0A\x0Baspect_keys\x18\x05 \x03(\x09B\x03\xE0A\x01\"(\x0A\x15LookupContextResponse\x12\x0F\x0A\x07context\x18\x01 \x01(\x09\"\xDD\x01\x0A\x14SearchEntriesRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x12\x0A\x05query\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x16\x0A\x09page_size\x18\x03 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x12\x0A\x05scope\x18\x07 \x01(\x09B\x03\xE0A\x01\x12\x1C\x0A\x0Fsemantic_search\x18\x0B \x01(\x08B\x03\xE0A\x01\"\x86\x02\x0A\x13SearchEntriesResult\x12\x1B\x0A\x0Flinked_resource\x18\x08 \x01(\x09B\x02\x18\x01\x127\x0A\x0Edataplex_entry\x18\x09 \x01(\x0B2\x1F.google.cloud.dataplex.v1.Entry\x12L\x0A\x08snippets\x18\x0C \x01(\x0B26.google.cloud.dataplex.v1.SearchEntriesResult.SnippetsB\x02\x18\x01\x1AK\x0A\x08Snippets\x12;\x0A\x0Edataplex_entry\x18\x01 \x01(\x0B2\x1F.google.cloud.dataplex.v1.EntryB\x02\x18\x01:\x02\x18\x01\"\x99\x01\x0A\x15SearchEntriesResponse\x12>\x0A\x07results\x18\x01 \x03(\x0B2-.google.cloud.dataplex.v1.SearchEntriesResult\x12\x12\x0A\x0Atotal_size\x18\x02 \x01(\x05\x12\x17\x0A\x0Fnext_page_token\x18\x03 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x04 \x03(\x09\"\xBB\x01\x0A\x0AImportItem\x12.\x0A\x05entry\x18\x01 \x01(\x0B2\x1F.google.cloud.dataplex.v1.Entry\x127\x0A\x0Aentry_link\x18\x04 \x01(\x0B2#.google.cloud.dataplex.v1.EntryLink\x12/\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMask\x12\x13\x0A\x0Baspect_keys\x18\x03 \x03(\x09\"\xD1\x01\x0A\x18CreateMetadataJobRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12@\x0A\x0Cmetadata_job\x18\x02 \x01(\x0B2%.google.cloud.dataplex.v1.MetadataJobB\x03\xE0A\x02\x12\x1C\x0A\x0Fmetadata_job_id\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"R\x0A\x15GetMetadataJobRequest\x129\x0A\x04name\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/MetadataJob\"\xB1\x01\x0A\x17ListMetadataJobsRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x90\x01\x0A\x18ListMetadataJobsResponse\x12<\x0A\x0Dmetadata_jobs\x18\x01 \x03(\x0B2%.google.cloud.dataplex.v1.MetadataJob\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"U\x0A\x18CancelMetadataJobRequest\x129\x0A\x04name\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/MetadataJob\"\xEE\x17\x0A\x0BMetadataJob\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12F\x0A\x06labels\x18\x05 \x03(\x0B21.google.cloud.dataplex.v1.MetadataJob.LabelsEntryB\x03\xE0A\x01\x12=\x0A\x04type\x18\x06 \x01(\x0E2*.google.cloud.dataplex.v1.MetadataJob.TypeB\x03\xE0A\x02\x12J\x0A\x0Bimport_spec\x18d \x01(\x0B23.google.cloud.dataplex.v1.MetadataJob.ImportJobSpecH\x00\x12J\x0A\x0Bexport_spec\x18e \x01(\x0B23.google.cloud.dataplex.v1.MetadataJob.ExportJobSpecH\x00\x12T\x0A\x0Dimport_result\x18\xC8\x01 \x01(\x0B25.google.cloud.dataplex.v1.MetadataJob.ImportJobResultB\x03\xE0A\x03H\x01\x12T\x0A\x0Dexport_result\x18\xC9\x01 \x01(\x0B25.google.cloud.dataplex.v1.MetadataJob.ExportJobResultB\x03\xE0A\x03H\x01\x12A\x0A\x06status\x18\x07 \x01(\x0B2,.google.cloud.dataplex.v1.MetadataJob.StatusB\x03\xE0A\x03\x1A\xC9\x02\x0A\x0FImportJobResult\x12\x1C\x0A\x0Fdeleted_entries\x18\x01 \x01(\x03B\x03\xE0A\x03\x12\x1C\x0A\x0Fupdated_entries\x18\x02 \x01(\x03B\x03\xE0A\x03\x12\x1C\x0A\x0Fcreated_entries\x18\x03 \x01(\x03B\x03\xE0A\x03\x12\x1E\x0A\x11unchanged_entries\x18\x04 \x01(\x03B\x03\xE0A\x03\x12\x1E\x0A\x11recreated_entries\x18\x06 \x01(\x03B\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12 \x0A\x13deleted_entry_links\x18\x07 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13created_entry_links\x18\x08 \x01(\x03B\x03\xE0A\x03\x12\"\x0A\x15unchanged_entry_links\x18\x09 \x01(\x03B\x03\xE0A\x03\x1AL\x0A\x0FExportJobResult\x12\x1D\x0A\x10exported_entries\x18\x01 \x01(\x03B\x03\xE0A\x03\x12\x1A\x0A\x0Derror_message\x18\x02 \x01(\x09B\x03\xE0A\x03\x1A\xB6\x07\x0A\x0DImportJobSpec\x12\x1F\x0A\x12source_storage_uri\x18\x01 \x01(\x09B\x03\xE0A\x01\x12;\x0A\x12source_create_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x12V\x0A\x05scope\x18\x02 \x01(\x0B2B.google.cloud.dataplex.v1.MetadataJob.ImportJobSpec.ImportJobScopeB\x03\xE0A\x02\x12Z\x0A\x0Fentry_sync_mode\x18\x03 \x01(\x0E2<.google.cloud.dataplex.v1.MetadataJob.ImportJobSpec.SyncModeB\x03\xE0A\x02\x12[\x0A\x10aspect_sync_mode\x18\x04 \x01(\x0E2<.google.cloud.dataplex.v1.MetadataJob.ImportJobSpec.SyncModeB\x03\xE0A\x02\x12T\x0A\x09log_level\x18\x06 \x01(\x0E2<.google.cloud.dataplex.v1.MetadataJob.ImportJobSpec.LogLevelB\x03\xE0A\x01\x1A\xD7\x02\x0A\x0EImportJobScope\x12@\x0A\x0Centry_groups\x18\x01 \x03(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x12>\x0A\x0Bentry_types\x18\x02 \x03(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/EntryType\x12@\x0A\x0Caspect_types\x18\x03 \x03(\x09B*\xE0A\x01\xFAA\$\x0A\"dataplex.googleapis.com/AspectType\x12<\x0A\x0Aglossaries\x18\x04 \x03(\x09B(\xE0A\x01\xFAA\"\x0A dataplex.googleapis.com/Glossary\x12\x1D\x0A\x10entry_link_types\x18\x05 \x03(\x09B\x03\xE0A\x01\x12\$\x0A\x17referenced_entry_scopes\x18\x06 \x03(\x09B\x03\xE0A\x01\"J\x0A\x08SyncMode\x12\x19\x0A\x15SYNC_MODE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04FULL\x10\x01\x12\x0F\x0A\x0BINCREMENTAL\x10\x02\x12\x08\x0A\x04NONE\x10\x03\":\x0A\x08LogLevel\x12\x19\x0A\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x09\x0A\x05DEBUG\x10\x01\x12\x08\x0A\x04INFO\x10\x02\x1A\xAF\x03\x0A\x0DExportJobSpec\x12V\x0A\x05scope\x18\x02 \x01(\x0B2B.google.cloud.dataplex.v1.MetadataJob.ExportJobSpec.ExportJobScopeB\x03\xE0A\x02\x12\x18\x0A\x0Boutput_path\x18\x03 \x01(\x09B\x03\xE0A\x02\x1A\xAB\x02\x0A\x0EExportJobScope\x12\x1A\x0A\x12organization_level\x18\x01 \x01(\x08\x12B\x0A\x08projects\x18\x02 \x03(\x09B0\xFAA-\x0A+cloudresourcemanager.googleapis.com/Project\x12=\x0A\x0Centry_groups\x18\x03 \x03(\x09B'\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x12;\x0A\x0Bentry_types\x18\x04 \x03(\x09B&\xFAA#\x0A!dataplex.googleapis.com/EntryType\x12=\x0A\x0Caspect_types\x18\x05 \x03(\x09B'\xFAA\$\x0A\"dataplex.googleapis.com/AspectType\x1A\xCA\x02\x0A\x06Status\x12F\x0A\x05state\x18\x01 \x01(\x0E22.google.cloud.dataplex.v1.MetadataJob.Status.StateB\x03\xE0A\x03\x12\x14\x0A\x07message\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x1F\x0A\x12completion_percent\x18\x03 \x01(\x05B\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\"\x8A\x01\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06QUEUED\x10\x01\x12\x0B\x0A\x07RUNNING\x10\x02\x12\x0D\x0A\x09CANCELING\x10\x03\x12\x0C\x0A\x08CANCELED\x10\x04\x12\x0D\x0A\x09SUCCEEDED\x10\x05\x12\x0A\x0A\x06FAILED\x10\x06\x12\x19\x0A\x15SUCCEEDED_WITH_ERRORS\x10\x07\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"4\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06IMPORT\x10\x01\x12\x0A\x0A\x06EXPORT\x10\x02:l\xEAAi\x0A#dataplex.googleapis.com/MetadataJob\x12Bprojects/{project}/locations/{location}/metadataJobs/{metadataJob}B\x06\x0A\x04specB\x08\x0A\x06result\"\x9F\x06\x0A\x09EntryLink\x12=\x0A\x04name\x18\x01 \x01(\x09B/\xE0A\x03\xE0A\x05\xE0A\x08\xFAA#\x0A!dataplex.googleapis.com/EntryLink\x12\x1F\x0A\x0Fentry_link_type\x18\x02 \x01(\x09B\x06\xE0A\x02\xE0A\x05\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12F\x0A\x07aspects\x18\x06 \x03(\x0B20.google.cloud.dataplex.v1.EntryLink.AspectsEntryB\x03\xE0A\x01\x12T\x0A\x10entry_references\x18\x0A \x03(\x0B22.google.cloud.dataplex.v1.EntryLink.EntryReferenceB\x06\xE0A\x02\xE0A\x05\x1A\xB9\x01\x0A\x0EEntryReference\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x02\xE0A\x05\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x05\x12M\x0A\x04type\x18\x03 \x01(\x0E27.google.cloud.dataplex.v1.EntryLink.EntryReference.TypeB\x06\xE0A\x02\xE0A\x05\"/\x0A\x04Type\x12\x0F\x0A\x0BUNSPECIFIED\x10\x00\x12\x0A\x0A\x06SOURCE\x10\x02\x12\x0A\x0A\x06TARGET\x10\x03\x1AP\x0A\x0CAspectsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12/\x0A\x05value\x18\x02 \x01(\x0B2 .google.cloud.dataplex.v1.Aspect:\x028\x01:\x99\x01\xEAA\x95\x01\x0A!dataplex.googleapis.com/EntryLink\x12Yprojects/{project}/locations/{location}/entryGroups/{entry_group}/entryLinks/{entry_link}*\x0AentryLinks2\x09entryLink\"\xAE\x01\x0A\x16CreateEntryLinkRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x12\x1A\x0A\x0Dentry_link_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12<\x0A\x0Aentry_link\x18\x03 \x01(\x0B2#.google.cloud.dataplex.v1.EntryLinkB\x03\xE0A\x02\"\x8C\x01\x0A\x16UpdateEntryLinkRequest\x12<\x0A\x0Aentry_link\x18\x01 \x01(\x0B2#.google.cloud.dataplex.v1.EntryLinkB\x03\xE0A\x02\x12\x1A\x0A\x0Dallow_missing\x18\x03 \x01(\x08B\x03\xE0A\x01\x12\x18\x0A\x0Baspect_keys\x18\x05 \x03(\x09B\x03\xE0A\x01\"Q\x0A\x16DeleteEntryLinkRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/EntryLink\"\xB5\x02\x0A\x17LookupEntryLinksRequest\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x124\x0A\x05entry\x18\x02 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Entry\x12O\x0A\x0Aentry_mode\x18\x03 \x01(\x0E2;.google.cloud.dataplex.v1.LookupEntryLinksRequest.EntryMode\x12\x18\x0A\x10entry_link_types\x18\x04 \x03(\x09\x12\x11\x0A\x09page_size\x18\x05 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x06 \x01(\x09\"?\x0A\x09EntryMode\x12\x1A\x0A\x16ENTRY_MODE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06SOURCE\x10\x01\x12\x0A\x0A\x06TARGET\x10\x02\"m\x0A\x18LookupEntryLinksResponse\x128\x0A\x0Bentry_links\x18\x01 \x03(\x0B2#.google.cloud.dataplex.v1.EntryLink\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"N\x0A\x13GetEntryLinkRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/EntryLink\"\xC8\x08\x0A\x0CMetadataFeed\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x12@\x0A\x05scope\x18\x03 \x01(\x0B2,.google.cloud.dataplex.v1.MetadataFeed.ScopeB\x03\xE0A\x02\x12D\x0A\x07filters\x18\x04 \x01(\x0B2..google.cloud.dataplex.v1.MetadataFeed.FiltersB\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12G\x0A\x06labels\x18\x08 \x03(\x0B22.google.cloud.dataplex.v1.MetadataFeed.LabelsEntryB\x03\xE0A\x01\x12\x1B\x0A\x0Cpubsub_topic\x18d \x01(\x09B\x03\xE0A\x01H\x00\x1A\xB1\x01\x0A\x05Scope\x12\x1F\x0A\x12organization_level\x18\x01 \x01(\x08B\x03\xE0A\x01\x12E\x0A\x08projects\x18\x02 \x03(\x09B3\xE0A\x01\xFAA-\x0A+cloudresourcemanager.googleapis.com/Project\x12@\x0A\x0Centry_groups\x18\x03 \x03(\x09B*\xE0A\x01\xFAA\$\x0A\"dataplex.googleapis.com/EntryGroup\x1A\xB0\x02\x0A\x07Filters\x12>\x0A\x0Bentry_types\x18\x01 \x03(\x09B)\xE0A\x01\xFAA#\x0A!dataplex.googleapis.com/EntryType\x12@\x0A\x0Caspect_types\x18\x02 \x03(\x09B*\xE0A\x01\xFAA\$\x0A\"dataplex.googleapis.com/AspectType\x12T\x0A\x0Cchange_types\x18\x03 \x03(\x0E29.google.cloud.dataplex.v1.MetadataFeed.Filters.ChangeTypeB\x03\xE0A\x01\"M\x0A\x0AChangeType\x12\x1B\x0A\x17CHANGE_TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06CREATE\x10\x01\x12\x0A\x0A\x06UPDATE\x10\x02\x12\x0A\x0A\x06DELETE\x10\x03\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x8E\x01\xEAA\x8A\x01\x0A\$dataplex.googleapis.com/MetadataFeed\x12Eprojects/{project}/locations/{location}/metadataFeeds/{metadata_feed}*\x0DmetadataFeeds2\x0CmetadataFeedB\x0A\x0A\x08endpoint\"\xD5\x01\x0A\x19CreateMetadataFeedRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12B\x0A\x0Dmetadata_feed\x18\x02 \x01(\x0B2&.google.cloud.dataplex.v1.MetadataFeedB\x03\xE0A\x02\x12\x1D\x0A\x10metadata_feed_id\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"T\x0A\x16GetMetadataFeedRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/MetadataFeed\"\xB2\x01\x0A\x18ListMetadataFeedsRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x8E\x01\x0A\x19ListMetadataFeedsResponse\x12>\x0A\x0Emetadata_feeds\x18\x01 \x03(\x0B2&.google.cloud.dataplex.v1.MetadataFeed\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x18\x0A\x0Bunreachable\x18\x03 \x03(\x09B\x03\xE0A\x06\"W\x0A\x19DeleteMetadataFeedRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/MetadataFeed\"\xB1\x01\x0A\x19UpdateMetadataFeedRequest\x12B\x0A\x0Dmetadata_feed\x18\x01 \x01(\x0B2&.google.cloud.dataplex.v1.MetadataFeedB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01*Q\x0A\x09EntryView\x12\x1A\x0A\x16ENTRY_VIEW_UNSPECIFIED\x10\x00\x12\x09\x0A\x05BASIC\x10\x01\x12\x08\x0A\x04FULL\x10\x02\x12\x0A\x0A\x06CUSTOM\x10\x03\x12\x07\x0A\x03ALL\x10\x04*p\x0A\x0ETransferStatus\x12\x1F\x0A\x1BTRANSFER_STATUS_UNSPECIFIED\x10\x00\x12\x1C\x0A\x18TRANSFER_STATUS_MIGRATED\x10\x01\x12\x1F\x0A\x1BTRANSFER_STATUS_TRANSFERRED\x10\x022\xA8=\x0A\x0ECatalogService\x12\xEA\x01\x0A\x0FCreateEntryType\x120.google.cloud.dataplex.v1.CreateEntryTypeRequest\x1A\x1D.google.longrunning.Operation\"\x85\x01\xCAA\x1E\x0A\x09EntryType\x12\x11OperationMetadata\xDAA\x1Fparent,entry_type,entry_type_id\x82\xD3\xE4\x93\x02<\"./v1/{parent=projects/*/locations/*}/entryTypes:\x0Aentry_type\x12\xEC\x01\x0A\x0FUpdateEntryType\x120.google.cloud.dataplex.v1.UpdateEntryTypeRequest\x1A\x1D.google.longrunning.Operation\"\x87\x01\xCAA\x1E\x0A\x09EntryType\x12\x11OperationMetadata\xDAA\x16entry_type,update_mask\x82\xD3\xE4\x93\x02G29/v1/{entry_type.name=projects/*/locations/*/entryTypes/*}:\x0Aentry_type\x12\xCE\x01\x0A\x0FDeleteEntryType\x120.google.cloud.dataplex.v1.DeleteEntryTypeRequest\x1A\x1D.google.longrunning.Operation\"j\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x020*./v1/{name=projects/*/locations/*/entryTypes/*}\x12\xB4\x01\x0A\x0EListEntryTypes\x12/.google.cloud.dataplex.v1.ListEntryTypesRequest\x1A0.google.cloud.dataplex.v1.ListEntryTypesResponse\"?\xDAA\x06parent\x82\xD3\xE4\x93\x020\x12./v1/{parent=projects/*/locations/*}/entryTypes\x12\xA1\x01\x0A\x0CGetEntryType\x12-.google.cloud.dataplex.v1.GetEntryTypeRequest\x1A#.google.cloud.dataplex.v1.EntryType\"=\xDAA\x04name\x82\xD3\xE4\x93\x020\x12./v1/{name=projects/*/locations/*/entryTypes/*}\x12\xF1\x01\x0A\x10CreateAspectType\x121.google.cloud.dataplex.v1.CreateAspectTypeRequest\x1A\x1D.google.longrunning.Operation\"\x8A\x01\xCAA\x1F\x0A\x0AAspectType\x12\x11OperationMetadata\xDAA!parent,aspect_type,aspect_type_id\x82\xD3\xE4\x93\x02>\"//v1/{parent=projects/*/locations/*}/aspectTypes:\x0Baspect_type\x12\xF3\x01\x0A\x10UpdateAspectType\x121.google.cloud.dataplex.v1.UpdateAspectTypeRequest\x1A\x1D.google.longrunning.Operation\"\x8C\x01\xCAA\x1F\x0A\x0AAspectType\x12\x11OperationMetadata\xDAA\x17aspect_type,update_mask\x82\xD3\xE4\x93\x02J2;/v1/{aspect_type.name=projects/*/locations/*/aspectTypes/*}:\x0Baspect_type\x12\xD1\x01\x0A\x10DeleteAspectType\x121.google.cloud.dataplex.v1.DeleteAspectTypeRequest\x1A\x1D.google.longrunning.Operation\"k\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x021*//v1/{name=projects/*/locations/*/aspectTypes/*}\x12\xB8\x01\x0A\x0FListAspectTypes\x120.google.cloud.dataplex.v1.ListAspectTypesRequest\x1A1.google.cloud.dataplex.v1.ListAspectTypesResponse\"@\xDAA\x06parent\x82\xD3\xE4\x93\x021\x12//v1/{parent=projects/*/locations/*}/aspectTypes\x12\xA5\x01\x0A\x0DGetAspectType\x12..google.cloud.dataplex.v1.GetAspectTypeRequest\x1A\$.google.cloud.dataplex.v1.AspectType\">\xDAA\x04name\x82\xD3\xE4\x93\x021\x12//v1/{name=projects/*/locations/*/aspectTypes/*}\x12\xF1\x01\x0A\x10CreateEntryGroup\x121.google.cloud.dataplex.v1.CreateEntryGroupRequest\x1A\x1D.google.longrunning.Operation\"\x8A\x01\xCAA\x1F\x0A\x0AEntryGroup\x12\x11OperationMetadata\xDAA!parent,entry_group,entry_group_id\x82\xD3\xE4\x93\x02>\"//v1/{parent=projects/*/locations/*}/entryGroups:\x0Bentry_group\x12\xF3\x01\x0A\x10UpdateEntryGroup\x121.google.cloud.dataplex.v1.UpdateEntryGroupRequest\x1A\x1D.google.longrunning.Operation\"\x8C\x01\xCAA\x1F\x0A\x0AEntryGroup\x12\x11OperationMetadata\xDAA\x17entry_group,update_mask\x82\xD3\xE4\x93\x02J2;/v1/{entry_group.name=projects/*/locations/*/entryGroups/*}:\x0Bentry_group\x12\xD1\x01\x0A\x10DeleteEntryGroup\x121.google.cloud.dataplex.v1.DeleteEntryGroupRequest\x1A\x1D.google.longrunning.Operation\"k\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x021*//v1/{name=projects/*/locations/*/entryGroups/*}\x12\xB8\x01\x0A\x0FListEntryGroups\x120.google.cloud.dataplex.v1.ListEntryGroupsRequest\x1A1.google.cloud.dataplex.v1.ListEntryGroupsResponse\"@\xDAA\x06parent\x82\xD3\xE4\x93\x021\x12//v1/{parent=projects/*/locations/*}/entryGroups\x12\xA5\x01\x0A\x0DGetEntryGroup\x12..google.cloud.dataplex.v1.GetEntryGroupRequest\x1A\$.google.cloud.dataplex.v1.EntryGroup\">\xDAA\x04name\x82\xD3\xE4\x93\x021\x12//v1/{name=projects/*/locations/*/entryGroups/*}\x12\xBE\x01\x0A\x0BCreateEntry\x12,.google.cloud.dataplex.v1.CreateEntryRequest\x1A\x1F.google.cloud.dataplex.v1.Entry\"`\xDAA\x15parent,entry,entry_id\x82\xD3\xE4\x93\x02B\"9/v1/{parent=projects/*/locations/*/entryGroups/*}/entries:\x05entry\x12\xC1\x01\x0A\x0BUpdateEntry\x12,.google.cloud.dataplex.v1.UpdateEntryRequest\x1A\x1F.google.cloud.dataplex.v1.Entry\"c\xDAA\x11entry,update_mask\x82\xD3\xE4\x93\x02I2@/v1/{entry.name=projects/*/locations/*/entryGroups/*/entries/**}:\x05entry\x12\xA7\x01\x0A\x0BDeleteEntry\x12,.google.cloud.dataplex.v1.DeleteEntryRequest\x1A\x1F.google.cloud.dataplex.v1.Entry\"I\xDAA\x04name\x82\xD3\xE4\x93\x02<*:/v1/{name=projects/*/locations/*/entryGroups/*/entries/**}\x12\xB6\x01\x0A\x0BListEntries\x12,.google.cloud.dataplex.v1.ListEntriesRequest\x1A-.google.cloud.dataplex.v1.ListEntriesResponse\"J\xDAA\x06parent\x82\xD3\xE4\x93\x02;\x129/v1/{parent=projects/*/locations/*/entryGroups/*}/entries\x12\xA1\x01\x0A\x08GetEntry\x12).google.cloud.dataplex.v1.GetEntryRequest\x1A\x1F.google.cloud.dataplex.v1.Entry\"I\xDAA\x04name\x82\xD3\xE4\x93\x02<\x12:/v1/{name=projects/*/locations/*/entryGroups/*/entries/**}\x12\x93\x01\x0A\x0BLookupEntry\x12,.google.cloud.dataplex.v1.LookupEntryRequest\x1A\x1F.google.cloud.dataplex.v1.Entry\"5\x82\xD3\xE4\x93\x02/\x12-/v1/{name=projects/*/locations/*}:lookupEntry\x12\x96\x01\x0A\x0BModifyEntry\x12,.google.cloud.dataplex.v1.ModifyEntryRequest\x1A\x1F.google.cloud.dataplex.v1.Entry\"8\x82\xD3\xE4\x93\x022\"-/v1/{name=projects/*/locations/*}:modifyEntry:\x01*\x12\xB6\x01\x0A\x0DSearchEntries\x12..google.cloud.dataplex.v1.SearchEntriesRequest\x1A/.google.cloud.dataplex.v1.SearchEntriesResponse\"D\xDAA\x0Aname,query\x82\xD3\xE4\x93\x021\"//v1/{name=projects/*/locations/*}:searchEntries\x12\xF8\x01\x0A\x11CreateMetadataJob\x122.google.cloud.dataplex.v1.CreateMetadataJobRequest\x1A\x1D.google.longrunning.Operation\"\x8F\x01\xCAA \x0A\x0BMetadataJob\x12\x11OperationMetadata\xDAA#parent,metadata_job,metadata_job_id\x82\xD3\xE4\x93\x02@\"0/v1/{parent=projects/*/locations/*}/metadataJobs:\x0Cmetadata_job\x12\xA9\x01\x0A\x0EGetMetadataJob\x12/.google.cloud.dataplex.v1.GetMetadataJobRequest\x1A%.google.cloud.dataplex.v1.MetadataJob\"?\xDAA\x04name\x82\xD3\xE4\x93\x022\x120/v1/{name=projects/*/locations/*/metadataJobs/*}\x12\xBC\x01\x0A\x10ListMetadataJobs\x121.google.cloud.dataplex.v1.ListMetadataJobsRequest\x1A2.google.cloud.dataplex.v1.ListMetadataJobsResponse\"A\xDAA\x06parent\x82\xD3\xE4\x93\x022\x120/v1/{parent=projects/*/locations/*}/metadataJobs\x12\xAA\x01\x0A\x11CancelMetadataJob\x122.google.cloud.dataplex.v1.CancelMetadataJobRequest\x1A\x16.google.protobuf.Empty\"I\xDAA\x04name\x82\xD3\xE4\x93\x02<\"7/v1/{name=projects/*/locations/*/metadataJobs/*}:cancel:\x01*\x12\xDC\x01\x0A\x0FCreateEntryLink\x120.google.cloud.dataplex.v1.CreateEntryLinkRequest\x1A#.google.cloud.dataplex.v1.EntryLink\"r\xDAA\x1Fparent,entry_link,entry_link_id\x82\xD3\xE4\x93\x02J\"*\x12internalAddGeneratedFile( - "\x0A\xEA\x1D\x0A#google/cloud/dataplex/v1/cmek.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A&google/cloud/dataplex/v1/service.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xFA\x06\x0A\x10EncryptionConfig\x12>\x0A\x04name\x18\x01 \x01(\x09B0\xE0A\x08\xFAA*\x0A(dataplex.googleapis.com/EncryptionConfig\x12\x10\x0A\x03key\x18\x02 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12Y\x0A\x10encryption_state\x18\x05 \x01(\x0E2:.google.cloud.dataplex.v1.EncryptionConfig.EncryptionStateB\x03\xE0A\x03\x12\x0C\x0A\x04etag\x18\x06 \x01(\x09\x12W\x0A\x0Ffailure_details\x18\x07 \x01(\x0B29.google.cloud.dataplex.v1.EncryptionConfig.FailureDetailsB\x03\xE0A\x03\x12(\x0A\x1Benable_metastore_encryption\x18\x08 \x01(\x08B\x03\xE0A\x01\x1A\xD1\x01\x0A\x0EFailureDetails\x12\\\x0A\x0Aerror_code\x18\x01 \x01(\x0E2C.google.cloud.dataplex.v1.EncryptionConfig.FailureDetails.ErrorCodeB\x03\xE0A\x03\x12\x1A\x0A\x0Derror_message\x18\x02 \x01(\x09B\x03\xE0A\x03\"E\x0A\x09ErrorCode\x12\x0B\x0A\x07UNKNOWN\x10\x00\x12\x12\x0A\x0EINTERNAL_ERROR\x10\x01\x12\x17\x0A\x13REQUIRE_USER_ACTION\x10\x02\"^\x0A\x0FEncryptionState\x12 \x0A\x1CENCRYPTION_STATE_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0AENCRYPTING\x10\x01\x12\x0D\x0A\x09COMPLETED\x10\x02\x12\x0A\x0A\x06FAILED\x10\x03:\x87\x01\xEAA\x83\x01\x0A(dataplex.googleapis.com/EncryptionConfig\x12Worganizations/{organization}/locations/{location}/encryptionConfigs/{encryption_config}\"\xD4\x01\x0A\x1DCreateEncryptionConfigRequest\x12D\x0A\x06parent\x18\x01 \x01(\x09B4\xE0A\x02\xFAA.\x0A,dataplex.googleapis.com/OrganizationLocation\x12!\x0A\x14encryption_config_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12J\x0A\x11encryption_config\x18\x03 \x01(\x0B2*.google.cloud.dataplex.v1.EncryptionConfigB\x03\xE0A\x02\"\\\x0A\x1AGetEncryptionConfigRequest\x12>\x0A\x04name\x18\x01 \x01(\x09B0\xE0A\x02\xFAA*\x0A(dataplex.googleapis.com/EncryptionConfig\"\xA1\x01\x0A\x1DUpdateEncryptionConfigRequest\x12J\x0A\x11encryption_config\x18\x01 \x01(\x0B2*.google.cloud.dataplex.v1.EncryptionConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\"r\x0A\x1DDeleteEncryptionConfigRequest\x12>\x0A\x04name\x18\x01 \x01(\x09B0\xE0A\x02\xFAA*\x0A(dataplex.googleapis.com/EncryptionConfig\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\"\xBD\x01\x0A\x1CListEncryptionConfigsRequest\x12@\x0A\x06parent\x18\x01 \x01(\x09B0\xE0A\x02\xFAA*\x12(dataplex.googleapis.com/EncryptionConfig\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\xC7\x01\x0A\x1DListEncryptionConfigsResponse\x12F\x0A\x12encryption_configs\x18\x01 \x03(\x0B2*.google.cloud.dataplex.v1.EncryptionConfig\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12E\x0A\x15unreachable_locations\x18\x03 \x03(\x09B&\xFAA#\x0A!locations.googleapis.com/Location2\xAA\x0A\x0A\x0BCmekService\x12\xA0\x02\x0A\x16CreateEncryptionConfig\x127.google.cloud.dataplex.v1.CreateEncryptionConfigRequest\x1A\x1D.google.longrunning.Operation\"\xAD\x01\xCAA%\x0A\x10EncryptionConfig\x12\x11OperationMetadata\xDAA-parent,encryption_config,encryption_config_id\x82\xD3\xE4\x93\x02O\":/v1/{parent=organizations/*/locations/*}/encryptionConfigs:\x11encryption_config\x12\xA2\x02\x0A\x16UpdateEncryptionConfig\x127.google.cloud.dataplex.v1.UpdateEncryptionConfigRequest\x1A\x1D.google.longrunning.Operation\"\xAF\x01\xCAA%\x0A\x10EncryptionConfig\x12\x11OperationMetadata\xDAA\x1Dencryption_config,update_mask\x82\xD3\xE4\x93\x02a2L/v1/{encryption_config.name=organizations/*/locations/*/encryptionConfigs/*}:\x11encryption_config\x12\xE8\x01\x0A\x16DeleteEncryptionConfig\x127.google.cloud.dataplex.v1.DeleteEncryptionConfigRequest\x1A\x1D.google.longrunning.Operation\"v\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02<*:/v1/{name=organizations/*/locations/*/encryptionConfigs/*}\x12\xD5\x01\x0A\x15ListEncryptionConfigs\x126.google.cloud.dataplex.v1.ListEncryptionConfigsRequest\x1A7.google.cloud.dataplex.v1.ListEncryptionConfigsResponse\"K\xDAA\x06parent\x82\xD3\xE4\x93\x02<\x12:/v1/{parent=organizations/*/locations/*}/encryptionConfigs\x12\xC2\x01\x0A\x13GetEncryptionConfig\x124.google.cloud.dataplex.v1.GetEncryptionConfigRequest\x1A*.google.cloud.dataplex.v1.EncryptionConfig\"I\xDAA\x04name\x82\xD3\xE4\x93\x02<\x12:/v1/{name=organizations/*/locations/*/encryptionConfigs/*}\x1AK\xCAA\x17dataplex.googleapis.com\xD2A.https://www.googleapis.com/auth/cloud-platformB\x9D\x02\x0A\x1Ccom.google.cloud.dataplex.v1B\x09CmekProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb\xAA\x02\x18Google.Cloud.Dataplex.V1\xCA\x02\x18Google\\Cloud\\Dataplex\\V1\xEA\x02\x1BGoogle::Cloud::Dataplex::V1\xEAAa\x0A,dataplex.googleapis.com/OrganizationLocation\x121organizations/{organization}/locations/{location}b\x06proto3" + "\x0A\x9E\x1E\x0A#google/cloud/dataplex/v1/cmek.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A&google/cloud/dataplex/v1/service.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xFA\x06\x0A\x10EncryptionConfig\x12>\x0A\x04name\x18\x01 \x01(\x09B0\xE0A\x08\xFAA*\x0A(dataplex.googleapis.com/EncryptionConfig\x12\x10\x0A\x03key\x18\x02 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12Y\x0A\x10encryption_state\x18\x05 \x01(\x0E2:.google.cloud.dataplex.v1.EncryptionConfig.EncryptionStateB\x03\xE0A\x03\x12\x0C\x0A\x04etag\x18\x06 \x01(\x09\x12W\x0A\x0Ffailure_details\x18\x07 \x01(\x0B29.google.cloud.dataplex.v1.EncryptionConfig.FailureDetailsB\x03\xE0A\x03\x12(\x0A\x1Benable_metastore_encryption\x18\x08 \x01(\x08B\x03\xE0A\x01\x1A\xD1\x01\x0A\x0EFailureDetails\x12\\\x0A\x0Aerror_code\x18\x01 \x01(\x0E2C.google.cloud.dataplex.v1.EncryptionConfig.FailureDetails.ErrorCodeB\x03\xE0A\x03\x12\x1A\x0A\x0Derror_message\x18\x02 \x01(\x09B\x03\xE0A\x03\"E\x0A\x09ErrorCode\x12\x0B\x0A\x07UNKNOWN\x10\x00\x12\x12\x0A\x0EINTERNAL_ERROR\x10\x01\x12\x17\x0A\x13REQUIRE_USER_ACTION\x10\x02\"^\x0A\x0FEncryptionState\x12 \x0A\x1CENCRYPTION_STATE_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0AENCRYPTING\x10\x01\x12\x0D\x0A\x09COMPLETED\x10\x02\x12\x0A\x0A\x06FAILED\x10\x03:\x87\x01\xEAA\x83\x01\x0A(dataplex.googleapis.com/EncryptionConfig\x12Worganizations/{organization}/locations/{location}/encryptionConfigs/{encryption_config}\"\xD4\x01\x0A\x1DCreateEncryptionConfigRequest\x12D\x0A\x06parent\x18\x01 \x01(\x09B4\xE0A\x02\xFAA.\x0A,dataplex.googleapis.com/OrganizationLocation\x12!\x0A\x14encryption_config_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12J\x0A\x11encryption_config\x18\x03 \x01(\x0B2*.google.cloud.dataplex.v1.EncryptionConfigB\x03\xE0A\x02\"\\\x0A\x1AGetEncryptionConfigRequest\x12>\x0A\x04name\x18\x01 \x01(\x09B0\xE0A\x02\xFAA*\x0A(dataplex.googleapis.com/EncryptionConfig\"\xA1\x01\x0A\x1DUpdateEncryptionConfigRequest\x12J\x0A\x11encryption_config\x18\x01 \x01(\x0B2*.google.cloud.dataplex.v1.EncryptionConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\"r\x0A\x1DDeleteEncryptionConfigRequest\x12>\x0A\x04name\x18\x01 \x01(\x09B0\xE0A\x02\xFAA*\x0A(dataplex.googleapis.com/EncryptionConfig\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\"\xBD\x01\x0A\x1CListEncryptionConfigsRequest\x12@\x0A\x06parent\x18\x01 \x01(\x09B0\xE0A\x02\xFAA*\x12(dataplex.googleapis.com/EncryptionConfig\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\xC7\x01\x0A\x1DListEncryptionConfigsResponse\x12F\x0A\x12encryption_configs\x18\x01 \x03(\x0B2*.google.cloud.dataplex.v1.EncryptionConfig\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12E\x0A\x15unreachable_locations\x18\x03 \x03(\x09B&\xFAA#\x0A!locations.googleapis.com/Location2\xDE\x0A\x0A\x0BCmekService\x12\xA0\x02\x0A\x16CreateEncryptionConfig\x127.google.cloud.dataplex.v1.CreateEncryptionConfigRequest\x1A\x1D.google.longrunning.Operation\"\xAD\x01\xCAA%\x0A\x10EncryptionConfig\x12\x11OperationMetadata\xDAA-parent,encryption_config,encryption_config_id\x82\xD3\xE4\x93\x02O\":/v1/{parent=organizations/*/locations/*}/encryptionConfigs:\x11encryption_config\x12\xA2\x02\x0A\x16UpdateEncryptionConfig\x127.google.cloud.dataplex.v1.UpdateEncryptionConfigRequest\x1A\x1D.google.longrunning.Operation\"\xAF\x01\xCAA%\x0A\x10EncryptionConfig\x12\x11OperationMetadata\xDAA\x1Dencryption_config,update_mask\x82\xD3\xE4\x93\x02a2L/v1/{encryption_config.name=organizations/*/locations/*/encryptionConfigs/*}:\x11encryption_config\x12\xE8\x01\x0A\x16DeleteEncryptionConfig\x127.google.cloud.dataplex.v1.DeleteEncryptionConfigRequest\x1A\x1D.google.longrunning.Operation\"v\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02<*:/v1/{name=organizations/*/locations/*/encryptionConfigs/*}\x12\xD5\x01\x0A\x15ListEncryptionConfigs\x126.google.cloud.dataplex.v1.ListEncryptionConfigsRequest\x1A7.google.cloud.dataplex.v1.ListEncryptionConfigsResponse\"K\xDAA\x06parent\x82\xD3\xE4\x93\x02<\x12:/v1/{parent=organizations/*/locations/*}/encryptionConfigs\x12\xC2\x01\x0A\x13GetEncryptionConfig\x124.google.cloud.dataplex.v1.GetEncryptionConfigRequest\x1A*.google.cloud.dataplex.v1.EncryptionConfig\"I\xDAA\x04name\x82\xD3\xE4\x93\x02<\x12:/v1/{name=organizations/*/locations/*/encryptionConfigs/*}\x1A\x7F\xCAA\x17dataplex.googleapis.com\xD2Abhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/dataplex.read-writeB\x9D\x02\x0A\x1Ccom.google.cloud.dataplex.v1B\x09CmekProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb\xAA\x02\x18Google.Cloud.Dataplex.V1\xCA\x02\x18Google\\Cloud\\Dataplex\\V1\xEA\x02\x1BGoogle::Cloud::Dataplex::V1\xEAAa\x0A,dataplex.googleapis.com/OrganizationLocation\x121organizations/{organization}/locations/{location}b\x06proto3" , true); static::$is_initialized = true; diff --git a/Dataplex/metadata/V1/DataDiscovery.php b/Dataplex/metadata/V1/DataDiscovery.php index 8fc55fa4a120..130e48189d1f 100644 --- a/Dataplex/metadata/V1/DataDiscovery.php +++ b/Dataplex/metadata/V1/DataDiscovery.php @@ -17,7 +17,7 @@ public static function initOnce() { \GPBMetadata\Google\Api\FieldBehavior::initOnce(); \GPBMetadata\Google\Api\Resource::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xA3\x10\x0A-google/cloud/dataplex/v1/data_discovery.proto\x12\x18google.cloud.dataplex.v1\x1A\x19google/api/resource.proto\"\xCB\x08\x0A\x11DataDiscoverySpec\x12m\x0A\x1Abigquery_publishing_config\x18\x01 \x01(\x0B2D.google.cloud.dataplex.v1.DataDiscoverySpec.BigQueryPublishingConfigB\x03\xE0A\x01\x12S\x0A\x0Estorage_config\x18d \x01(\x0B29.google.cloud.dataplex.v1.DataDiscoverySpec.StorageConfigH\x00\x1A\xEE\x02\x0A\x18BigQueryPublishingConfig\x12g\x0A\x0Atable_type\x18\x02 \x01(\x0E2N.google.cloud.dataplex.v1.DataDiscoverySpec.BigQueryPublishingConfig.TableTypeB\x03\xE0A\x01\x12H\x0A\x0Aconnection\x18\x03 \x01(\x09B4\xE0A\x01\xFAA.\x0A,bigqueryconnection.googleapis.com/Connection\x12\x15\x0A\x08location\x18\x04 \x01(\x09B\x03\xE0A\x01\x12D\x0A\x07project\x18\x05 \x01(\x09B3\xE0A\x01\xFAA-\x0A+cloudresourcemanager.googleapis.com/Project\"B\x0A\x09TableType\x12\x1A\x0A\x16TABLE_TYPE_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08EXTERNAL\x10\x01\x12\x0B\x0A\x07BIGLAKE\x10\x02\x1A\xED\x03\x0A\x0DStorageConfig\x12\x1D\x0A\x10include_patterns\x18\x01 \x03(\x09B\x03\xE0A\x01\x12\x1D\x0A\x10exclude_patterns\x18\x02 \x03(\x09B\x03\xE0A\x01\x12^\x0A\x0Bcsv_options\x18\x03 \x01(\x0B2D.google.cloud.dataplex.v1.DataDiscoverySpec.StorageConfig.CsvOptionsB\x03\xE0A\x01\x12`\x0A\x0Cjson_options\x18\x04 \x01(\x0B2E.google.cloud.dataplex.v1.DataDiscoverySpec.StorageConfig.JsonOptionsB\x03\xE0A\x01\x1A\x8F\x01\x0A\x0ACsvOptions\x12\x18\x0A\x0Bheader_rows\x18\x01 \x01(\x05B\x03\xE0A\x01\x12\x16\x0A\x09delimiter\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08encoding\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\$\x0A\x17type_inference_disabled\x18\x04 \x01(\x08B\x03\xE0A\x01\x12\x12\x0A\x05quote\x18\x05 \x01(\x09B\x03\xE0A\x01\x1AJ\x0A\x0BJsonOptions\x12\x15\x0A\x08encoding\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\$\x0A\x17type_inference_disabled\x18\x02 \x01(\x08B\x03\xE0A\x01B\x11\x0A\x0Fresource_config\"\xB7\x04\x0A\x13DataDiscoveryResult\x12b\x0A\x13bigquery_publishing\x18\x01 \x01(\x0B2@.google.cloud.dataplex.v1.DataDiscoveryResult.BigQueryPublishingB\x03\xE0A\x03\x12Z\x0A\x0Fscan_statistics\x18\x02 \x01(\x0B2<.google.cloud.dataplex.v1.DataDiscoveryResult.ScanStatisticsB\x03\xE0A\x03\x1Ae\x0A\x12BigQueryPublishing\x128\x0A\x07dataset\x18\x01 \x01(\x09B'\xE0A\x03\xFAA!\x0A\x1Fbigquery.googleapis.com/Dataset\x12\x15\x0A\x08location\x18\x02 \x01(\x09B\x03\xE0A\x03\x1A\xF8\x01\x0A\x0EScanStatistics\x12\x1A\x0A\x12scanned_file_count\x18\x01 \x01(\x05\x12\x1C\x0A\x14data_processed_bytes\x18\x02 \x01(\x03\x12\x16\x0A\x0Efiles_excluded\x18\x03 \x01(\x05\x12\x16\x0A\x0Etables_created\x18\x04 \x01(\x05\x12\x16\x0A\x0Etables_deleted\x18\x05 \x01(\x05\x12\x16\x0A\x0Etables_updated\x18\x06 \x01(\x05\x12\x18\x0A\x10filesets_created\x18\x07 \x01(\x05\x12\x18\x0A\x10filesets_deleted\x18\x08 \x01(\x05\x12\x18\x0A\x10filesets_updated\x18\x09 \x01(\x05B\xAC\x02\x0A\x1Ccom.google.cloud.dataplex.v1B\x12DataDiscoveryProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb\xEAAH\x0A\x1Fbigquery.googleapis.com/Dataset\x12%projects/{project}/datasets/{dataset}\xEAAp\x0A,bigqueryconnection.googleapis.com/Connection\x12@projects/{project}/locations/{location}/connections/{connection}b\x06proto3" + "\x0A\xE2\x11\x0A-google/cloud/dataplex/v1/data_discovery.proto\x12\x18google.cloud.dataplex.v1\x1A\x19google/api/resource.proto\"\x8A\x0A\x0A\x11DataDiscoverySpec\x12m\x0A\x1Abigquery_publishing_config\x18\x01 \x01(\x0B2D.google.cloud.dataplex.v1.DataDiscoverySpec.BigQueryPublishingConfigB\x03\xE0A\x01\x12S\x0A\x0Estorage_config\x18d \x01(\x0B29.google.cloud.dataplex.v1.DataDiscoverySpec.StorageConfigH\x00\x1A\xEE\x02\x0A\x18BigQueryPublishingConfig\x12g\x0A\x0Atable_type\x18\x02 \x01(\x0E2N.google.cloud.dataplex.v1.DataDiscoverySpec.BigQueryPublishingConfig.TableTypeB\x03\xE0A\x01\x12H\x0A\x0Aconnection\x18\x03 \x01(\x09B4\xE0A\x01\xFAA.\x0A,bigqueryconnection.googleapis.com/Connection\x12\x15\x0A\x08location\x18\x04 \x01(\x09B\x03\xE0A\x01\x12D\x0A\x07project\x18\x05 \x01(\x09B3\xE0A\x01\xFAA-\x0A+cloudresourcemanager.googleapis.com/Project\"B\x0A\x09TableType\x12\x1A\x0A\x16TABLE_TYPE_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08EXTERNAL\x10\x01\x12\x0B\x0A\x07BIGLAKE\x10\x02\x1A\xAC\x05\x0A\x0DStorageConfig\x12\x1D\x0A\x10include_patterns\x18\x01 \x03(\x09B\x03\xE0A\x01\x12\x1D\x0A\x10exclude_patterns\x18\x02 \x03(\x09B\x03\xE0A\x01\x12^\x0A\x0Bcsv_options\x18\x03 \x01(\x0B2D.google.cloud.dataplex.v1.DataDiscoverySpec.StorageConfig.CsvOptionsB\x03\xE0A\x01\x12`\x0A\x0Cjson_options\x18\x04 \x01(\x0B2E.google.cloud.dataplex.v1.DataDiscoverySpec.StorageConfig.JsonOptionsB\x03\xE0A\x01\x12y\x0A\x19unstructured_data_options\x18\x05 \x01(\x0B2Q.google.cloud.dataplex.v1.DataDiscoverySpec.StorageConfig.UnstructuredDataOptionsB\x03\xE0A\x01\x1A\x8F\x01\x0A\x0ACsvOptions\x12\x18\x0A\x0Bheader_rows\x18\x01 \x01(\x05B\x03\xE0A\x01\x12\x16\x0A\x09delimiter\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08encoding\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\$\x0A\x17type_inference_disabled\x18\x04 \x01(\x08B\x03\xE0A\x01\x12\x12\x0A\x05quote\x18\x05 \x01(\x09B\x03\xE0A\x01\x1AJ\x0A\x0BJsonOptions\x12\x15\x0A\x08encoding\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\$\x0A\x17type_inference_disabled\x18\x02 \x01(\x08B\x03\xE0A\x01\x1AB\x0A\x17UnstructuredDataOptions\x12'\x0A\x1Asemantic_inference_enabled\x18\x02 \x01(\x08B\x03\xE0A\x01B\x11\x0A\x0Fresource_config\"\xB7\x04\x0A\x13DataDiscoveryResult\x12b\x0A\x13bigquery_publishing\x18\x01 \x01(\x0B2@.google.cloud.dataplex.v1.DataDiscoveryResult.BigQueryPublishingB\x03\xE0A\x03\x12Z\x0A\x0Fscan_statistics\x18\x02 \x01(\x0B2<.google.cloud.dataplex.v1.DataDiscoveryResult.ScanStatisticsB\x03\xE0A\x03\x1Ae\x0A\x12BigQueryPublishing\x128\x0A\x07dataset\x18\x01 \x01(\x09B'\xE0A\x03\xFAA!\x0A\x1Fbigquery.googleapis.com/Dataset\x12\x15\x0A\x08location\x18\x02 \x01(\x09B\x03\xE0A\x03\x1A\xF8\x01\x0A\x0EScanStatistics\x12\x1A\x0A\x12scanned_file_count\x18\x01 \x01(\x05\x12\x1C\x0A\x14data_processed_bytes\x18\x02 \x01(\x03\x12\x16\x0A\x0Efiles_excluded\x18\x03 \x01(\x05\x12\x16\x0A\x0Etables_created\x18\x04 \x01(\x05\x12\x16\x0A\x0Etables_deleted\x18\x05 \x01(\x05\x12\x16\x0A\x0Etables_updated\x18\x06 \x01(\x05\x12\x18\x0A\x10filesets_created\x18\x07 \x01(\x05\x12\x18\x0A\x10filesets_deleted\x18\x08 \x01(\x05\x12\x18\x0A\x10filesets_updated\x18\x09 \x01(\x05B\xAC\x02\x0A\x1Ccom.google.cloud.dataplex.v1B\x12DataDiscoveryProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb\xEAAH\x0A\x1Fbigquery.googleapis.com/Dataset\x12%projects/{project}/datasets/{dataset}\xEAAp\x0A,bigqueryconnection.googleapis.com/Connection\x12@projects/{project}/locations/{location}/connections/{connection}b\x06proto3" , true); static::$is_initialized = true; diff --git a/Dataplex/metadata/V1/DataDocumentation.php b/Dataplex/metadata/V1/DataDocumentation.php index 4db1a091bb45..826eb9bc6041 100644 --- a/Dataplex/metadata/V1/DataDocumentation.php +++ b/Dataplex/metadata/V1/DataDocumentation.php @@ -15,8 +15,9 @@ public static function initOnce() { return; } \GPBMetadata\Google\Api\FieldBehavior::initOnce(); + \GPBMetadata\Google\Api\Resource::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\x8A\x10\x0A1google/cloud/dataplex/v1/data_documentation.proto\x12\x18google.cloud.dataplex.v1\"\x93\x02\x0A\x15DataDocumentationSpec\x12'\x0A\x1Acatalog_publishing_enabled\x18\x02 \x01(\x08B\x03\xE0A\x01\x12_\x0A\x11generation_scopes\x18\x03 \x03(\x0E2?.google.cloud.dataplex.v1.DataDocumentationSpec.GenerationScopeB\x03\xE0A\x01\"p\x0A\x0FGenerationScope\x12 \x0A\x1CGENERATION_SCOPE_UNSPECIFIED\x10\x00\x12\x07\x0A\x03ALL\x10\x01\x12!\x0A\x1DTABLE_AND_COLUMN_DESCRIPTIONS\x10\x02\x12\x0F\x0A\x0BSQL_QUERIES\x10\x03\"\xA8\x0C\x0A\x17DataDocumentationResult\x12^\x0A\x0Edataset_result\x18\x07 \x01(\x0B2?.google.cloud.dataplex.v1.DataDocumentationResult.DatasetResultB\x03\xE0A\x03H\x00\x12Z\x0A\x0Ctable_result\x18\x08 \x01(\x0B2=.google.cloud.dataplex.v1.DataDocumentationResult.TableResultB\x03\xE0A\x03H\x00\x1A\xDE\x01\x0A\x0DDatasetResult\x12\x15\x0A\x08overview\x18\x01 \x01(\x09B\x03\xE0A\x03\x12g\x0A\x14schema_relationships\x18\x03 \x03(\x0B2D.google.cloud.dataplex.v1.DataDocumentationResult.SchemaRelationshipB\x03\xE0A\x03\x12M\x0A\x07queries\x18\x04 \x03(\x0B27.google.cloud.dataplex.v1.DataDocumentationResult.QueryB\x03\xE0A\x03\x1A\xD5\x01\x0A\x0BTableResult\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x15\x0A\x08overview\x18\x02 \x01(\x09B\x03\xE0A\x03\x12M\x0A\x06schema\x18\x03 \x01(\x0B28.google.cloud.dataplex.v1.DataDocumentationResult.SchemaB\x03\xE0A\x03\x12M\x0A\x07queries\x18\x04 \x03(\x0B27.google.cloud.dataplex.v1.DataDocumentationResult.QueryB\x03\xE0A\x03\x1A\xFB\x04\x0A\x12SchemaRelationship\x12p\x0A\x11left_schema_paths\x18\x01 \x01(\x0B2P.google.cloud.dataplex.v1.DataDocumentationResult.SchemaRelationship.SchemaPathsB\x03\xE0A\x03\x12q\x0A\x12right_schema_paths\x18\x02 \x01(\x0B2P.google.cloud.dataplex.v1.DataDocumentationResult.SchemaRelationship.SchemaPathsB\x03\xE0A\x03\x12a\x0A\x07sources\x18\x04 \x03(\x0E2K.google.cloud.dataplex.v1.DataDocumentationResult.SchemaRelationship.SourceB\x03\xE0A\x03\x12\\\x0A\x04type\x18\x06 \x01(\x0E2I.google.cloud.dataplex.v1.DataDocumentationResult.SchemaRelationship.TypeB\x03\xE0A\x03\x1A9\x0A\x0BSchemaPaths\x12\x16\x0A\x09table_fqn\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x12\x0A\x05paths\x18\x02 \x03(\x09B\x03\xE0A\x03\"U\x0A\x06Source\x12\x16\x0A\x12SOURCE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05AGENT\x10\x04\x12\x11\x0A\x0DQUERY_HISTORY\x10\x05\x12\x15\x0A\x11TABLE_CONSTRAINTS\x10\x06\"-\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BSCHEMA_JOIN\x10\x01\x1A3\x0A\x05Query\x12\x10\x0A\x03sql\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x02 \x01(\x09B\x03\xE0A\x03\x1AV\x0A\x06Schema\x12L\x0A\x06fields\x18\x01 \x03(\x0B27.google.cloud.dataplex.v1.DataDocumentationResult.FieldB\x03\xE0A\x03\x1A\x82\x01\x0A\x05Field\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x02 \x01(\x09B\x03\xE0A\x03\x12L\x0A\x06fields\x18\x03 \x03(\x0B27.google.cloud.dataplex.v1.DataDocumentationResult.FieldB\x03\xE0A\x03B\x08\x0A\x06resultBr\x0A\x1Ccom.google.cloud.dataplex.v1B\x16DataDocumentationProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" + "\x0A\xA5\x10\x0A1google/cloud/dataplex/v1/data_documentation.proto\x12\x18google.cloud.dataplex.v1\x1A\x19google/api/resource.proto\"\x93\x02\x0A\x15DataDocumentationSpec\x12'\x0A\x1Acatalog_publishing_enabled\x18\x02 \x01(\x08B\x03\xE0A\x01\x12_\x0A\x11generation_scopes\x18\x03 \x03(\x0E2?.google.cloud.dataplex.v1.DataDocumentationSpec.GenerationScopeB\x03\xE0A\x01\"p\x0A\x0FGenerationScope\x12 \x0A\x1CGENERATION_SCOPE_UNSPECIFIED\x10\x00\x12\x07\x0A\x03ALL\x10\x01\x12!\x0A\x1DTABLE_AND_COLUMN_DESCRIPTIONS\x10\x02\x12\x0F\x0A\x0BSQL_QUERIES\x10\x03\"\xA8\x0C\x0A\x17DataDocumentationResult\x12^\x0A\x0Edataset_result\x18\x07 \x01(\x0B2?.google.cloud.dataplex.v1.DataDocumentationResult.DatasetResultB\x03\xE0A\x03H\x00\x12Z\x0A\x0Ctable_result\x18\x08 \x01(\x0B2=.google.cloud.dataplex.v1.DataDocumentationResult.TableResultB\x03\xE0A\x03H\x00\x1A\xDE\x01\x0A\x0DDatasetResult\x12\x15\x0A\x08overview\x18\x01 \x01(\x09B\x03\xE0A\x03\x12g\x0A\x14schema_relationships\x18\x03 \x03(\x0B2D.google.cloud.dataplex.v1.DataDocumentationResult.SchemaRelationshipB\x03\xE0A\x03\x12M\x0A\x07queries\x18\x04 \x03(\x0B27.google.cloud.dataplex.v1.DataDocumentationResult.QueryB\x03\xE0A\x03\x1A\xD5\x01\x0A\x0BTableResult\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x15\x0A\x08overview\x18\x02 \x01(\x09B\x03\xE0A\x03\x12M\x0A\x06schema\x18\x03 \x01(\x0B28.google.cloud.dataplex.v1.DataDocumentationResult.SchemaB\x03\xE0A\x03\x12M\x0A\x07queries\x18\x04 \x03(\x0B27.google.cloud.dataplex.v1.DataDocumentationResult.QueryB\x03\xE0A\x03\x1A\xFB\x04\x0A\x12SchemaRelationship\x12p\x0A\x11left_schema_paths\x18\x01 \x01(\x0B2P.google.cloud.dataplex.v1.DataDocumentationResult.SchemaRelationship.SchemaPathsB\x03\xE0A\x03\x12q\x0A\x12right_schema_paths\x18\x02 \x01(\x0B2P.google.cloud.dataplex.v1.DataDocumentationResult.SchemaRelationship.SchemaPathsB\x03\xE0A\x03\x12a\x0A\x07sources\x18\x04 \x03(\x0E2K.google.cloud.dataplex.v1.DataDocumentationResult.SchemaRelationship.SourceB\x03\xE0A\x03\x12\\\x0A\x04type\x18\x06 \x01(\x0E2I.google.cloud.dataplex.v1.DataDocumentationResult.SchemaRelationship.TypeB\x03\xE0A\x03\x1A9\x0A\x0BSchemaPaths\x12\x16\x0A\x09table_fqn\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x12\x0A\x05paths\x18\x02 \x03(\x09B\x03\xE0A\x03\"U\x0A\x06Source\x12\x16\x0A\x12SOURCE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05AGENT\x10\x04\x12\x11\x0A\x0DQUERY_HISTORY\x10\x05\x12\x15\x0A\x11TABLE_CONSTRAINTS\x10\x06\"-\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BSCHEMA_JOIN\x10\x01\x1A3\x0A\x05Query\x12\x10\x0A\x03sql\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x02 \x01(\x09B\x03\xE0A\x03\x1AV\x0A\x06Schema\x12L\x0A\x06fields\x18\x01 \x03(\x0B27.google.cloud.dataplex.v1.DataDocumentationResult.FieldB\x03\xE0A\x03\x1A\x82\x01\x0A\x05Field\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x02 \x01(\x09B\x03\xE0A\x03\x12L\x0A\x06fields\x18\x03 \x03(\x0B27.google.cloud.dataplex.v1.DataDocumentationResult.FieldB\x03\xE0A\x03B\x08\x0A\x06resultBr\x0A\x1Ccom.google.cloud.dataplex.v1B\x16DataDocumentationProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" , true); static::$is_initialized = true; diff --git a/Dataplex/metadata/V1/DataProducts.php b/Dataplex/metadata/V1/DataProducts.php index 529a21f42042..2d38053965d6 100644 --- a/Dataplex/metadata/V1/DataProducts.php +++ b/Dataplex/metadata/V1/DataProducts.php @@ -19,13 +19,14 @@ public static function initOnce() { \GPBMetadata\Google\Api\FieldBehavior::initOnce(); \GPBMetadata\Google\Api\FieldInfo::initOnce(); \GPBMetadata\Google\Api\Resource::initOnce(); + \GPBMetadata\Google\Cloud\Dataplex\V1\ApprovalWorkflow::initOnce(); \GPBMetadata\Google\Cloud\Dataplex\V1\Service::initOnce(); \GPBMetadata\Google\Longrunning\Operations::initOnce(); \GPBMetadata\Google\Protobuf\GPBEmpty::initOnce(); \GPBMetadata\Google\Protobuf\FieldMask::initOnce(); \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\x8E1\x0A,google/cloud/dataplex/v1/data_products.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x1Bgoogle/api/field_info.proto\x1A\x19google/api/resource.proto\x1A&google/cloud/dataplex/v1/service.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xC7\x07\x0A\x0BDataProduct\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x12\x19\x0A\x0Cdisplay_name\x18\x03 \x01(\x09B\x03\xE0A\x02\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x11\x0A\x04etag\x18\x06 \x01(\x09B\x03\xE0A\x01\x12F\x0A\x06labels\x18\x07 \x03(\x0B21.google.cloud.dataplex.v1.DataProduct.LabelsEntryB\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x08 \x01(\x09B\x03\xE0A\x01\x12\x11\x0A\x04icon\x18\x0A \x01(\x0CB\x03\xE0A\x01\x12\x19\x0A\x0Cowner_emails\x18\x0B \x03(\x09B\x03\xE0A\x02\x12\x18\x0A\x0Basset_count\x18\x0D \x01(\x05B\x03\xE0A\x03\x12S\x0A\x0Daccess_groups\x18\x0E \x03(\x0B27.google.cloud.dataplex.v1.DataProduct.AccessGroupsEntryB\x03\xE0A\x01\x1A0\x0A\x09Principal\x12\x1B\x0A\x0Cgoogle_group\x18\x01 \x01(\x09B\x03\xE0A\x01H\x00B\x06\x0A\x04type\x1A\x9C\x01\x0A\x0BAccessGroup\x12\x0F\x0A\x02id\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x19\x0A\x0Cdisplay_name\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x18\x0A\x0Bdescription\x18\x03 \x01(\x09B\x03\xE0A\x01\x12G\x0A\x09principal\x18\x04 \x01(\x0B2/.google.cloud.dataplex.v1.DataProduct.PrincipalB\x03\xE0A\x02\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\x1Af\x0A\x11AccessGroupsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12@\x0A\x05value\x18\x02 \x01(\x0B21.google.cloud.dataplex.v1.DataProduct.AccessGroup:\x028\x01:\x89\x01\xEAA\x85\x01\x0A#dataplex.googleapis.com/DataProduct\x12Cprojects/{project}/locations/{location}/dataProducts/{data_product}*\x0CdataProducts2\x0BdataProduct\"\xE3\x05\x0A\x09DataAsset\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x11\x0A\x04etag\x18\x05 \x01(\x09B\x03\xE0A\x01\x12D\x0A\x06labels\x18\x06 \x03(\x0B2/.google.cloud.dataplex.v1.DataAsset.LabelsEntryB\x03\xE0A\x01\x12\x18\x0A\x08resource\x18\x07 \x01(\x09B\x06\xE0A\x05\xE0A\x02\x12^\x0A\x14access_group_configs\x18\x09 \x03(\x0B2;.google.cloud.dataplex.v1.DataAsset.AccessGroupConfigsEntryB\x03\xE0A\x01\x1A+\x0A\x11AccessGroupConfig\x12\x16\x0A\x09iam_roles\x18\x01 \x03(\x09B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\x1Ap\x0A\x17AccessGroupConfigsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12D\x0A\x05value\x18\x02 \x01(\x0B25.google.cloud.dataplex.v1.DataAsset.AccessGroupConfig:\x028\x01:\x9B\x01\xEAA\x97\x01\x0A!dataplex.googleapis.com/DataAsset\x12[projects/{project}/locations/{location}/dataProducts/{data_product}/dataAssets/{data_asset}*\x0AdataAssets2\x09dataAsset\"\xD1\x01\x0A\x18CreateDataProductRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x1C\x0A\x0Fdata_product_id\x18\x02 \x01(\x09B\x03\xE0A\x01\x12@\x0A\x0Cdata_product\x18\x03 \x01(\x0B2%.google.cloud.dataplex.v1.DataProductB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\x84\x01\x0A\x18DeleteDataProductRequest\x129\x0A\x04name\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/DataProduct\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"R\x0A\x15GetDataProductRequest\x129\x0A\x04name\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/DataProduct\"\xB1\x01\x0A\x17ListDataProductsRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x13\x0A\x06filter\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x03 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x8B\x01\x0A\x18ListDataProductsResponse\x12<\x0A\x0Ddata_products\x18\x01 \x03(\x0B2%.google.cloud.dataplex.v1.DataProduct\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x18\x0A\x0Bunreachable\x18\x03 \x03(\x09B\x03\xE0A\x06\"\xAE\x01\x0A\x18UpdateDataProductRequest\x12@\x0A\x0Cdata_product\x18\x01 \x01(\x0B2%.google.cloud.dataplex.v1.DataProductB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"\xCB\x01\x0A\x16CreateDataAssetRequest\x12;\x0A\x06parent\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/DataProduct\x12\x1A\x0A\x0Ddata_asset_id\x18\x02 \x01(\x09B\x03\xE0A\x01\x12<\x0A\x0Adata_asset\x18\x03 \x01(\x0B2#.google.cloud.dataplex.v1.DataAssetB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xA8\x01\x0A\x16UpdateDataAssetRequest\x12<\x0A\x0Adata_asset\x18\x01 \x01(\x0B2#.google.cloud.dataplex.v1.DataAssetB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"\x80\x01\x0A\x16DeleteDataAssetRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/DataAsset\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"N\x0A\x13GetDataAssetRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/DataAsset\"\xB1\x01\x0A\x15ListDataAssetsRequest\x12;\x0A\x06parent\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/DataProduct\x12\x13\x0A\x06filter\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x04 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x05 \x01(\x09B\x03\xE0A\x01\"k\x0A\x16ListDataAssetsResponse\x128\x0A\x0Bdata_assets\x18\x01 \x03(\x0B2#.google.cloud.dataplex.v1.DataAsset\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x092\xEE\x11\x0A\x12DataProductService\x12\xF8\x01\x0A\x11CreateDataProduct\x122.google.cloud.dataplex.v1.CreateDataProductRequest\x1A\x1D.google.longrunning.Operation\"\x8F\x01\xCAA \x0A\x0BDataProduct\x12\x11OperationMetadata\xDAA#parent,data_product,data_product_id\x82\xD3\xE4\x93\x02@\"0/v1/{parent=projects/*/locations/*}/dataProducts:\x0Cdata_product\x12\xD4\x01\x0A\x11DeleteDataProduct\x122.google.cloud.dataplex.v1.DeleteDataProductRequest\x1A\x1D.google.longrunning.Operation\"l\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x022*0/v1/{name=projects/*/locations/*/dataProducts/*}\x12\xA9\x01\x0A\x0EGetDataProduct\x12/.google.cloud.dataplex.v1.GetDataProductRequest\x1A%.google.cloud.dataplex.v1.DataProduct\"?\xDAA\x04name\x82\xD3\xE4\x93\x022\x120/v1/{name=projects/*/locations/*/dataProducts/*}\x12\xBC\x01\x0A\x10ListDataProducts\x121.google.cloud.dataplex.v1.ListDataProductsRequest\x1A2.google.cloud.dataplex.v1.ListDataProductsResponse\"A\xDAA\x06parent\x82\xD3\xE4\x93\x022\x120/v1/{parent=projects/*/locations/*}/dataProducts\x12\xFA\x01\x0A\x11UpdateDataProduct\x122.google.cloud.dataplex.v1.UpdateDataProductRequest\x1A\x1D.google.longrunning.Operation\"\x91\x01\xCAA \x0A\x0BDataProduct\x12\x11OperationMetadata\xDAA\x18data_product,update_mask\x82\xD3\xE4\x93\x02M2=/v1/{data_product.name=projects/*/locations/*/dataProducts/*}:\x0Cdata_product\x12\xF9\x01\x0A\x0FCreateDataAsset\x120.google.cloud.dataplex.v1.CreateDataAssetRequest\x1A\x1D.google.longrunning.Operation\"\x94\x01\xCAA\x1E\x0A\x09DataAsset\x12\x11OperationMetadata\xDAA\x1Fparent,data_asset,data_asset_id\x82\xD3\xE4\x93\x02K\"=/v1/{parent=projects/*/locations/*/dataProducts/*}/dataAssets:\x0Adata_asset\x12\xFB\x01\x0A\x0FUpdateDataAsset\x120.google.cloud.dataplex.v1.UpdateDataAssetRequest\x1A\x1D.google.longrunning.Operation\"\x96\x01\xCAA\x1E\x0A\x09DataAsset\x12\x11OperationMetadata\xDAA\x16data_asset,update_mask\x82\xD3\xE4\x93\x02V2H/v1/{data_asset.name=projects/*/locations/*/dataProducts/*/dataAssets/*}:\x0Adata_asset\x12\xDD\x01\x0A\x0FDeleteDataAsset\x120.google.cloud.dataplex.v1.DeleteDataAssetRequest\x1A\x1D.google.longrunning.Operation\"y\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02?*=/v1/{name=projects/*/locations/*/dataProducts/*/dataAssets/*}\x12\xB0\x01\x0A\x0CGetDataAsset\x12-.google.cloud.dataplex.v1.GetDataAssetRequest\x1A#.google.cloud.dataplex.v1.DataAsset\"L\xDAA\x04name\x82\xD3\xE4\x93\x02?\x12=/v1/{name=projects/*/locations/*/dataProducts/*/dataAssets/*}\x12\xC3\x01\x0A\x0EListDataAssets\x12/.google.cloud.dataplex.v1.ListDataAssetsRequest\x1A0.google.cloud.dataplex.v1.ListDataAssetsResponse\"N\xDAA\x06parent\x82\xD3\xE4\x93\x02?\x12=/v1/{parent=projects/*/locations/*/dataProducts/*}/dataAssets\x1AK\xCAA\x17dataplex.googleapis.com\xD2A.https://www.googleapis.com/auth/cloud-platformBm\x0A\x1Ccom.google.cloud.dataplex.v1B\x11DataProductsProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" + "\x0A\xF88\x0A,google/cloud/dataplex/v1/data_products.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x1Bgoogle/api/field_info.proto\x1A\x19google/api/resource.proto\x1A0google/cloud/dataplex/v1/approval_workflow.proto\x1A&google/cloud/dataplex/v1/service.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xB5\x09\x0A\x0BDataProduct\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x12\x19\x0A\x0Cdisplay_name\x18\x03 \x01(\x09B\x03\xE0A\x02\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x11\x0A\x04etag\x18\x06 \x01(\x09B\x03\xE0A\x01\x12F\x0A\x06labels\x18\x07 \x03(\x0B21.google.cloud.dataplex.v1.DataProduct.LabelsEntryB\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x08 \x01(\x09B\x03\xE0A\x01\x12\x11\x0A\x04icon\x18\x0A \x01(\x0CB\x03\xE0A\x01\x12\x19\x0A\x0Cowner_emails\x18\x0B \x03(\x09B\x03\xE0A\x02\x12\x18\x0A\x0Basset_count\x18\x0D \x01(\x05B\x03\xE0A\x03\x12S\x0A\x0Daccess_groups\x18\x0E \x03(\x0B27.google.cloud.dataplex.v1.DataProduct.AccessGroupsEntryB\x03\xE0A\x01\x12d\x0A\x16access_approval_config\x18\x0F \x01(\x0B2:.google.cloud.dataplex.v1.DataProduct.AccessApprovalConfigB\x03\xE0A\x01H\x00\x88\x01\x01\x1Ag\x0A\x09Principal\x12\x1B\x0A\x0Cgoogle_group\x18\x01 \x01(\x09B\x03\xE0A\x01H\x00\x12!\x0A\x0Fservice_account\x18\x02 \x01(\x09B\x03\xE0A\x01H\x01\x88\x01\x01B\x06\x0A\x04typeB\x12\x0A\x10_service_account\x1A\x9C\x01\x0A\x0BAccessGroup\x12\x0F\x0A\x02id\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x19\x0A\x0Cdisplay_name\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x18\x0A\x0Bdescription\x18\x03 \x01(\x09B\x03\xE0A\x01\x12G\x0A\x09principal\x18\x04 \x01(\x0B2/.google.cloud.dataplex.v1.DataProduct.PrincipalB\x03\xE0A\x02\x1A4\x0A\x14AccessApprovalConfig\x12\x1C\x0A\x0Fapprover_emails\x18\x02 \x03(\x09B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\x1Af\x0A\x11AccessGroupsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12@\x0A\x05value\x18\x02 \x01(\x0B21.google.cloud.dataplex.v1.DataProduct.AccessGroup:\x028\x01:\x89\x01\xEAA\x85\x01\x0A#dataplex.googleapis.com/DataProduct\x12Cprojects/{project}/locations/{location}/dataProducts/{data_product}*\x0CdataProducts2\x0BdataProductB\x19\x0A\x17_access_approval_config\"\xE3\x05\x0A\x09DataAsset\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x11\x0A\x04etag\x18\x05 \x01(\x09B\x03\xE0A\x01\x12D\x0A\x06labels\x18\x06 \x03(\x0B2/.google.cloud.dataplex.v1.DataAsset.LabelsEntryB\x03\xE0A\x01\x12\x18\x0A\x08resource\x18\x07 \x01(\x09B\x06\xE0A\x05\xE0A\x02\x12^\x0A\x14access_group_configs\x18\x09 \x03(\x0B2;.google.cloud.dataplex.v1.DataAsset.AccessGroupConfigsEntryB\x03\xE0A\x01\x1A+\x0A\x11AccessGroupConfig\x12\x16\x0A\x09iam_roles\x18\x01 \x03(\x09B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\x1Ap\x0A\x17AccessGroupConfigsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12D\x0A\x05value\x18\x02 \x01(\x0B25.google.cloud.dataplex.v1.DataAsset.AccessGroupConfig:\x028\x01:\x9B\x01\xEAA\x97\x01\x0A!dataplex.googleapis.com/DataAsset\x12[projects/{project}/locations/{location}/dataProducts/{data_product}/dataAssets/{data_asset}*\x0AdataAssets2\x09dataAsset\"\xD1\x01\x0A\x18CreateDataProductRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x1C\x0A\x0Fdata_product_id\x18\x02 \x01(\x09B\x03\xE0A\x01\x12@\x0A\x0Cdata_product\x18\x03 \x01(\x0B2%.google.cloud.dataplex.v1.DataProductB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\x84\x01\x0A\x18DeleteDataProductRequest\x129\x0A\x04name\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/DataProduct\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"R\x0A\x15GetDataProductRequest\x129\x0A\x04name\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/DataProduct\"\xB1\x01\x0A\x17ListDataProductsRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x13\x0A\x06filter\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x03 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x8B\x01\x0A\x18ListDataProductsResponse\x12<\x0A\x0Ddata_products\x18\x01 \x03(\x0B2%.google.cloud.dataplex.v1.DataProduct\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x18\x0A\x0Bunreachable\x18\x03 \x03(\x09B\x03\xE0A\x06\"\xAE\x01\x0A\x18UpdateDataProductRequest\x12@\x0A\x0Cdata_product\x18\x01 \x01(\x0B2%.google.cloud.dataplex.v1.DataProductB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"\xC0\x01\x0A\x1FRequestDataProductAccessRequest\x12;\x0A\x06parent\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/DataProduct\x12D\x0A\x0Echange_request\x18\x02 \x01(\x0B2'.google.cloud.dataplex.v1.ChangeRequestB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"k\x0A RequestDataProductAccessResponse\x12G\x0A\x13change_request_name\x18\x01 \x01(\x09B*\xFAA'\x0A%dataplex.googleapis.com/ChangeRequest\"\xCB\x01\x0A\x16CreateDataAssetRequest\x12;\x0A\x06parent\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/DataProduct\x12\x1A\x0A\x0Ddata_asset_id\x18\x02 \x01(\x09B\x03\xE0A\x01\x12<\x0A\x0Adata_asset\x18\x03 \x01(\x0B2#.google.cloud.dataplex.v1.DataAssetB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xA8\x01\x0A\x16UpdateDataAssetRequest\x12<\x0A\x0Adata_asset\x18\x01 \x01(\x0B2#.google.cloud.dataplex.v1.DataAssetB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"\x80\x01\x0A\x16DeleteDataAssetRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/DataAsset\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"N\x0A\x13GetDataAssetRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/DataAsset\"\xB1\x01\x0A\x15ListDataAssetsRequest\x12;\x0A\x06parent\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/DataProduct\x12\x13\x0A\x06filter\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x04 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x05 \x01(\x09B\x03\xE0A\x01\"k\x0A\x16ListDataAssetsResponse\x128\x0A\x0Bdata_assets\x18\x01 \x03(\x0B2#.google.cloud.dataplex.v1.DataAsset\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x092\x88\x15\x0A\x12DataProductService\x12\xF8\x01\x0A\x11CreateDataProduct\x122.google.cloud.dataplex.v1.CreateDataProductRequest\x1A\x1D.google.longrunning.Operation\"\x8F\x01\xCAA \x0A\x0BDataProduct\x12\x11OperationMetadata\xDAA#parent,data_product,data_product_id\x82\xD3\xE4\x93\x02@\"0/v1/{parent=projects/*/locations/*}/dataProducts:\x0Cdata_product\x12\xD4\x01\x0A\x11DeleteDataProduct\x122.google.cloud.dataplex.v1.DeleteDataProductRequest\x1A\x1D.google.longrunning.Operation\"l\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x022*0/v1/{name=projects/*/locations/*/dataProducts/*}\x12\xA9\x01\x0A\x0EGetDataProduct\x12/.google.cloud.dataplex.v1.GetDataProductRequest\x1A%.google.cloud.dataplex.v1.DataProduct\"?\xDAA\x04name\x82\xD3\xE4\x93\x022\x120/v1/{name=projects/*/locations/*/dataProducts/*}\x12\xBC\x01\x0A\x10ListDataProducts\x121.google.cloud.dataplex.v1.ListDataProductsRequest\x1A2.google.cloud.dataplex.v1.ListDataProductsResponse\"A\xDAA\x06parent\x82\xD3\xE4\x93\x022\x120/v1/{parent=projects/*/locations/*}/dataProducts\x12\xFA\x01\x0A\x11UpdateDataProduct\x122.google.cloud.dataplex.v1.UpdateDataProductRequest\x1A\x1D.google.longrunning.Operation\"\x91\x01\xCAA \x0A\x0BDataProduct\x12\x11OperationMetadata\xDAA\x18data_product,update_mask\x82\xD3\xE4\x93\x02M2=/v1/{data_product.name=projects/*/locations/*/dataProducts/*}:\x0Cdata_product\x12\xF6\x01\x0A\x18RequestDataProductAccess\x129.google.cloud.dataplex.v1.RequestDataProductAccessRequest\x1A:.google.cloud.dataplex.v1.RequestDataProductAccessResponse\"c\xDAA\x15parent,change_request\x82\xD3\xE4\x93\x02E\"@/v1/{parent=projects/*/locations/*/dataProducts/*}:requestAccess:\x01*\x12\xF9\x01\x0A\x0FCreateDataAsset\x120.google.cloud.dataplex.v1.CreateDataAssetRequest\x1A\x1D.google.longrunning.Operation\"\x94\x01\xCAA\x1E\x0A\x09DataAsset\x12\x11OperationMetadata\xDAA\x1Fparent,data_asset,data_asset_id\x82\xD3\xE4\x93\x02K\"=/v1/{parent=projects/*/locations/*/dataProducts/*}/dataAssets:\x0Adata_asset\x12\xFB\x01\x0A\x0FUpdateDataAsset\x120.google.cloud.dataplex.v1.UpdateDataAssetRequest\x1A\x1D.google.longrunning.Operation\"\x96\x01\xCAA\x1E\x0A\x09DataAsset\x12\x11OperationMetadata\xDAA\x16data_asset,update_mask\x82\xD3\xE4\x93\x02V2H/v1/{data_asset.name=projects/*/locations/*/dataProducts/*/dataAssets/*}:\x0Adata_asset\x12\xDD\x01\x0A\x0FDeleteDataAsset\x120.google.cloud.dataplex.v1.DeleteDataAssetRequest\x1A\x1D.google.longrunning.Operation\"y\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02?*=/v1/{name=projects/*/locations/*/dataProducts/*/dataAssets/*}\x12\xB0\x01\x0A\x0CGetDataAsset\x12-.google.cloud.dataplex.v1.GetDataAssetRequest\x1A#.google.cloud.dataplex.v1.DataAsset\"L\xDAA\x04name\x82\xD3\xE4\x93\x02?\x12=/v1/{name=projects/*/locations/*/dataProducts/*/dataAssets/*}\x12\xC3\x01\x0A\x0EListDataAssets\x12/.google.cloud.dataplex.v1.ListDataAssetsRequest\x1A0.google.cloud.dataplex.v1.ListDataAssetsResponse\"N\xDAA\x06parent\x82\xD3\xE4\x93\x02?\x12=/v1/{parent=projects/*/locations/*/dataProducts/*}/dataAssets\x1A\xEB\x01\xCAA\x17dataplex.googleapis.com\xD2A\xCD\x01https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/dataplex.read-write,https://www.googleapis.com/auth/dataplex.readonlyBm\x0A\x1Ccom.google.cloud.dataplex.v1B\x11DataProductsProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" , true); static::$is_initialized = true; diff --git a/Dataplex/metadata/V1/DataProfile.php b/Dataplex/metadata/V1/DataProfile.php index 50ee1c828ebe..94a3f94d3c62 100644 --- a/Dataplex/metadata/V1/DataProfile.php +++ b/Dataplex/metadata/V1/DataProfile.php @@ -18,7 +18,7 @@ public static function initOnce() { \GPBMetadata\Google\Cloud\Dataplex\V1\DatascansCommon::initOnce(); \GPBMetadata\Google\Cloud\Dataplex\V1\Processing::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xC0\x16\x0A+google/cloud/dataplex/v1/data_profile.proto\x12\x18google.cloud.dataplex.v1\x1A/google/cloud/dataplex/v1/datascans_common.proto\x1A)google/cloud/dataplex/v1/processing.proto\"\xD1\x04\x0A\x0FDataProfileSpec\x12\x1D\x0A\x10sampling_percent\x18\x02 \x01(\x02B\x03\xE0A\x01\x12\x17\x0A\x0Arow_filter\x18\x03 \x01(\x09B\x03\xE0A\x01\x12Y\x0A\x11post_scan_actions\x18\x04 \x01(\x0B29.google.cloud.dataplex.v1.DataProfileSpec.PostScanActionsB\x03\xE0A\x01\x12U\x0A\x0Einclude_fields\x18\x05 \x01(\x0B28.google.cloud.dataplex.v1.DataProfileSpec.SelectedFieldsB\x03\xE0A\x01\x12U\x0A\x0Eexclude_fields\x18\x06 \x01(\x0B28.google.cloud.dataplex.v1.DataProfileSpec.SelectedFieldsB\x03\xE0A\x01\x12'\x0A\x1Acatalog_publishing_enabled\x18\x08 \x01(\x08B\x03\xE0A\x01\x1A\xA7\x01\x0A\x0FPostScanActions\x12f\x0A\x0Fbigquery_export\x18\x01 \x01(\x0B2H.google.cloud.dataplex.v1.DataProfileSpec.PostScanActions.BigQueryExportB\x03\xE0A\x01\x1A,\x0A\x0EBigQueryExport\x12\x1A\x0A\x0Dresults_table\x18\x01 \x01(\x09B\x03\xE0A\x01\x1A*\x0A\x0ESelectedFields\x12\x18\x0A\x0Bfield_names\x18\x01 \x03(\x09B\x03\xE0A\x01\"\xD0\x0F\x0A\x11DataProfileResult\x12\x16\x0A\x09row_count\x18\x03 \x01(\x03B\x03\xE0A\x03\x12I\x0A\x07profile\x18\x04 \x01(\x0B23.google.cloud.dataplex.v1.DataProfileResult.ProfileB\x03\xE0A\x03\x12@\x0A\x0Cscanned_data\x18\x05 \x01(\x0B2%.google.cloud.dataplex.v1.ScannedDataB\x03\xE0A\x03\x12h\x0A\x18post_scan_actions_result\x18\x06 \x01(\x0B2A.google.cloud.dataplex.v1.DataProfileResult.PostScanActionsResultB\x03\xE0A\x03\x12a\x0A\x19catalog_publishing_status\x18\x07 \x01(\x0B29.google.cloud.dataplex.v1.DataScanCatalogPublishingStatusB\x03\xE0A\x03\x1A\xC8\x09\x0A\x07Profile\x12N\x0A\x06fields\x18\x02 \x03(\x0B29.google.cloud.dataplex.v1.DataProfileResult.Profile.FieldB\x03\xE0A\x03\x1A\xEC\x08\x0A\x05Field\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x11\x0A\x04type\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x11\x0A\x04mode\x18\x03 \x01(\x09B\x03\xE0A\x03\x12[\x0A\x07profile\x18\x04 \x01(\x0B2E.google.cloud.dataplex.v1.DataProfileResult.Profile.Field.ProfileInfoB\x03\xE0A\x03\x1A\xCC\x07\x0A\x0BProfileInfo\x12\x17\x0A\x0Anull_ratio\x18\x02 \x01(\x01B\x03\xE0A\x03\x12\x1B\x0A\x0Edistinct_ratio\x18\x03 \x01(\x01B\x03\xE0A\x03\x12j\x0A\x0Ctop_n_values\x18\x04 \x03(\x0B2O.google.cloud.dataplex.v1.DataProfileResult.Profile.Field.ProfileInfo.TopNValueB\x03\xE0A\x03\x12o\x0A\x0Estring_profile\x18e \x01(\x0B2U.google.cloud.dataplex.v1.DataProfileResult.Profile.Field.ProfileInfo.StringFieldInfoH\x00\x12q\x0A\x0Finteger_profile\x18f \x01(\x0B2V.google.cloud.dataplex.v1.DataProfileResult.Profile.Field.ProfileInfo.IntegerFieldInfoH\x00\x12o\x0A\x0Edouble_profile\x18g \x01(\x0B2U.google.cloud.dataplex.v1.DataProfileResult.Profile.Field.ProfileInfo.DoubleFieldInfoH\x00\x1A`\x0A\x0FStringFieldInfo\x12\x17\x0A\x0Amin_length\x18\x01 \x01(\x03B\x03\xE0A\x03\x12\x17\x0A\x0Amax_length\x18\x02 \x01(\x03B\x03\xE0A\x03\x12\x1B\x0A\x0Eaverage_length\x18\x03 \x01(\x01B\x03\xE0A\x03\x1A\x85\x01\x0A\x10IntegerFieldInfo\x12\x14\x0A\x07average\x18\x01 \x01(\x01B\x03\xE0A\x03\x12\x1F\x0A\x12standard_deviation\x18\x03 \x01(\x01B\x03\xE0A\x03\x12\x10\x0A\x03min\x18\x04 \x01(\x03B\x03\xE0A\x03\x12\x16\x0A\x09quartiles\x18\x06 \x03(\x03B\x03\xE0A\x03\x12\x10\x0A\x03max\x18\x05 \x01(\x03B\x03\xE0A\x03\x1A\x84\x01\x0A\x0FDoubleFieldInfo\x12\x14\x0A\x07average\x18\x01 \x01(\x01B\x03\xE0A\x03\x12\x1F\x0A\x12standard_deviation\x18\x03 \x01(\x01B\x03\xE0A\x03\x12\x10\x0A\x03min\x18\x04 \x01(\x01B\x03\xE0A\x03\x12\x16\x0A\x09quartiles\x18\x06 \x03(\x01B\x03\xE0A\x03\x12\x10\x0A\x03max\x18\x05 \x01(\x01B\x03\xE0A\x03\x1AG\x0A\x09TopNValue\x12\x12\x0A\x05value\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x12\x0A\x05count\x18\x02 \x01(\x03B\x03\xE0A\x03\x12\x12\x0A\x05ratio\x18\x03 \x01(\x01B\x03\xE0A\x03B\x0C\x0A\x0Afield_info\x1A\xFD\x02\x0A\x15PostScanActionsResult\x12{\x0A\x16bigquery_export_result\x18\x01 \x01(\x0B2V.google.cloud.dataplex.v1.DataProfileResult.PostScanActionsResult.BigQueryExportResultB\x03\xE0A\x03\x1A\xE6\x01\x0A\x14BigQueryExportResult\x12p\x0A\x05state\x18\x01 \x01(\x0E2\\.google.cloud.dataplex.v1.DataProfileResult.PostScanActionsResult.BigQueryExportResult.StateB\x03\xE0A\x03\x12\x14\x0A\x07message\x18\x02 \x01(\x09B\x03\xE0A\x03\"F\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09SUCCEEDED\x10\x01\x12\x0A\x0A\x06FAILED\x10\x02\x12\x0B\x0A\x07SKIPPED\x10\x03Bl\x0A\x1Ccom.google.cloud.dataplex.v1B\x10DataProfileProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" + "\x0A\xC0\x17\x0A+google/cloud/dataplex/v1/data_profile.proto\x12\x18google.cloud.dataplex.v1\x1A/google/cloud/dataplex/v1/datascans_common.proto\x1A)google/cloud/dataplex/v1/processing.proto\"\xD1\x05\x0A\x0FDataProfileSpec\x12\x1D\x0A\x10sampling_percent\x18\x02 \x01(\x02B\x03\xE0A\x01\x12\x17\x0A\x0Arow_filter\x18\x03 \x01(\x09B\x03\xE0A\x01\x12Y\x0A\x11post_scan_actions\x18\x04 \x01(\x0B29.google.cloud.dataplex.v1.DataProfileSpec.PostScanActionsB\x03\xE0A\x01\x12U\x0A\x0Einclude_fields\x18\x05 \x01(\x0B28.google.cloud.dataplex.v1.DataProfileSpec.SelectedFieldsB\x03\xE0A\x01\x12U\x0A\x0Eexclude_fields\x18\x06 \x01(\x0B28.google.cloud.dataplex.v1.DataProfileSpec.SelectedFieldsB\x03\xE0A\x01\x12'\x0A\x1Acatalog_publishing_enabled\x18\x08 \x01(\x08B\x03\xE0A\x01\x12A\x0A\x04mode\x18\x09 \x01(\x0E2..google.cloud.dataplex.v1.DataProfileSpec.ModeB\x03\xE0A\x01\x1A\xA7\x01\x0A\x0FPostScanActions\x12f\x0A\x0Fbigquery_export\x18\x01 \x01(\x0B2H.google.cloud.dataplex.v1.DataProfileSpec.PostScanActions.BigQueryExportB\x03\xE0A\x01\x1A,\x0A\x0EBigQueryExport\x12\x1A\x0A\x0Dresults_table\x18\x01 \x01(\x09B\x03\xE0A\x01\x1A*\x0A\x0ESelectedFields\x12\x18\x0A\x0Bfield_names\x18\x01 \x03(\x09B\x03\xE0A\x01\";\x0A\x04Mode\x12\x14\x0A\x10MODE_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08STANDARD\x10\x01\x12\x0F\x0A\x0BLIGHTWEIGHT\x10\x02\"\xD0\x0F\x0A\x11DataProfileResult\x12\x16\x0A\x09row_count\x18\x03 \x01(\x03B\x03\xE0A\x03\x12I\x0A\x07profile\x18\x04 \x01(\x0B23.google.cloud.dataplex.v1.DataProfileResult.ProfileB\x03\xE0A\x03\x12@\x0A\x0Cscanned_data\x18\x05 \x01(\x0B2%.google.cloud.dataplex.v1.ScannedDataB\x03\xE0A\x03\x12h\x0A\x18post_scan_actions_result\x18\x06 \x01(\x0B2A.google.cloud.dataplex.v1.DataProfileResult.PostScanActionsResultB\x03\xE0A\x03\x12a\x0A\x19catalog_publishing_status\x18\x07 \x01(\x0B29.google.cloud.dataplex.v1.DataScanCatalogPublishingStatusB\x03\xE0A\x03\x1A\xC8\x09\x0A\x07Profile\x12N\x0A\x06fields\x18\x02 \x03(\x0B29.google.cloud.dataplex.v1.DataProfileResult.Profile.FieldB\x03\xE0A\x03\x1A\xEC\x08\x0A\x05Field\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x11\x0A\x04type\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x11\x0A\x04mode\x18\x03 \x01(\x09B\x03\xE0A\x03\x12[\x0A\x07profile\x18\x04 \x01(\x0B2E.google.cloud.dataplex.v1.DataProfileResult.Profile.Field.ProfileInfoB\x03\xE0A\x03\x1A\xCC\x07\x0A\x0BProfileInfo\x12\x17\x0A\x0Anull_ratio\x18\x02 \x01(\x01B\x03\xE0A\x03\x12\x1B\x0A\x0Edistinct_ratio\x18\x03 \x01(\x01B\x03\xE0A\x03\x12j\x0A\x0Ctop_n_values\x18\x04 \x03(\x0B2O.google.cloud.dataplex.v1.DataProfileResult.Profile.Field.ProfileInfo.TopNValueB\x03\xE0A\x03\x12o\x0A\x0Estring_profile\x18e \x01(\x0B2U.google.cloud.dataplex.v1.DataProfileResult.Profile.Field.ProfileInfo.StringFieldInfoH\x00\x12q\x0A\x0Finteger_profile\x18f \x01(\x0B2V.google.cloud.dataplex.v1.DataProfileResult.Profile.Field.ProfileInfo.IntegerFieldInfoH\x00\x12o\x0A\x0Edouble_profile\x18g \x01(\x0B2U.google.cloud.dataplex.v1.DataProfileResult.Profile.Field.ProfileInfo.DoubleFieldInfoH\x00\x1A`\x0A\x0FStringFieldInfo\x12\x17\x0A\x0Amin_length\x18\x01 \x01(\x03B\x03\xE0A\x03\x12\x17\x0A\x0Amax_length\x18\x02 \x01(\x03B\x03\xE0A\x03\x12\x1B\x0A\x0Eaverage_length\x18\x03 \x01(\x01B\x03\xE0A\x03\x1A\x85\x01\x0A\x10IntegerFieldInfo\x12\x14\x0A\x07average\x18\x01 \x01(\x01B\x03\xE0A\x03\x12\x1F\x0A\x12standard_deviation\x18\x03 \x01(\x01B\x03\xE0A\x03\x12\x10\x0A\x03min\x18\x04 \x01(\x03B\x03\xE0A\x03\x12\x16\x0A\x09quartiles\x18\x06 \x03(\x03B\x03\xE0A\x03\x12\x10\x0A\x03max\x18\x05 \x01(\x03B\x03\xE0A\x03\x1A\x84\x01\x0A\x0FDoubleFieldInfo\x12\x14\x0A\x07average\x18\x01 \x01(\x01B\x03\xE0A\x03\x12\x1F\x0A\x12standard_deviation\x18\x03 \x01(\x01B\x03\xE0A\x03\x12\x10\x0A\x03min\x18\x04 \x01(\x01B\x03\xE0A\x03\x12\x16\x0A\x09quartiles\x18\x06 \x03(\x01B\x03\xE0A\x03\x12\x10\x0A\x03max\x18\x05 \x01(\x01B\x03\xE0A\x03\x1AG\x0A\x09TopNValue\x12\x12\x0A\x05value\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x12\x0A\x05count\x18\x02 \x01(\x03B\x03\xE0A\x03\x12\x12\x0A\x05ratio\x18\x03 \x01(\x01B\x03\xE0A\x03B\x0C\x0A\x0Afield_info\x1A\xFD\x02\x0A\x15PostScanActionsResult\x12{\x0A\x16bigquery_export_result\x18\x01 \x01(\x0B2V.google.cloud.dataplex.v1.DataProfileResult.PostScanActionsResult.BigQueryExportResultB\x03\xE0A\x03\x1A\xE6\x01\x0A\x14BigQueryExportResult\x12p\x0A\x05state\x18\x01 \x01(\x0E2\\.google.cloud.dataplex.v1.DataProfileResult.PostScanActionsResult.BigQueryExportResult.StateB\x03\xE0A\x03\x12\x14\x0A\x07message\x18\x02 \x01(\x09B\x03\xE0A\x03\"F\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09SUCCEEDED\x10\x01\x12\x0A\x0A\x06FAILED\x10\x02\x12\x0B\x0A\x07SKIPPED\x10\x03Bl\x0A\x1Ccom.google.cloud.dataplex.v1B\x10DataProfileProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" , true); static::$is_initialized = true; diff --git a/Dataplex/metadata/V1/DataQuality.php b/Dataplex/metadata/V1/DataQuality.php index 45d1b7ba6983..016668568d3c 100644 --- a/Dataplex/metadata/V1/DataQuality.php +++ b/Dataplex/metadata/V1/DataQuality.php @@ -16,10 +16,11 @@ public static function initOnce() { } \GPBMetadata\Google\Api\FieldBehavior::initOnce(); \GPBMetadata\Google\Api\Resource::initOnce(); + \GPBMetadata\Google\Cloud\Dataplex\V1\DataQualityRuleTemplate::initOnce(); \GPBMetadata\Google\Cloud\Dataplex\V1\DatascansCommon::initOnce(); \GPBMetadata\Google\Cloud\Dataplex\V1\Processing::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xE0,\x0A+google/cloud/dataplex/v1/data_quality.proto\x12\x18google.cloud.dataplex.v1\x1A\x19google/api/resource.proto\x1A/google/cloud/dataplex/v1/datascans_common.proto\x1A)google/cloud/dataplex/v1/processing.proto\"\xE9\x08\x0A\x0FDataQualitySpec\x12=\x0A\x05rules\x18\x01 \x03(\x0B2).google.cloud.dataplex.v1.DataQualityRuleB\x03\xE0A\x02\x12\x1D\x0A\x10sampling_percent\x18\x04 \x01(\x02B\x03\xE0A\x01\x12\x17\x0A\x0Arow_filter\x18\x05 \x01(\x09B\x03\xE0A\x01\x12Y\x0A\x11post_scan_actions\x18\x06 \x01(\x0B29.google.cloud.dataplex.v1.DataQualitySpec.PostScanActionsB\x03\xE0A\x01\x12'\x0A\x1Acatalog_publishing_enabled\x18\x08 \x01(\x08B\x03\xE0A\x01\x1A\xDA\x06\x0A\x0FPostScanActions\x12f\x0A\x0Fbigquery_export\x18\x01 \x01(\x0B2H.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.BigQueryExportB\x03\xE0A\x01\x12n\x0A\x13notification_report\x18\x02 \x01(\x0B2L.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.NotificationReportB\x03\xE0A\x01\x1A,\x0A\x0EBigQueryExport\x12\x1A\x0A\x0Dresults_table\x18\x01 \x01(\x09B\x03\xE0A\x01\x1A!\x0A\x0ARecipients\x12\x13\x0A\x06emails\x18\x01 \x03(\x09B\x03\xE0A\x01\x1A5\x0A\x15ScoreThresholdTrigger\x12\x1C\x0A\x0Fscore_threshold\x18\x02 \x01(\x02B\x03\xE0A\x01\x1A\x13\x0A\x11JobFailureTrigger\x1A\x0F\x0A\x0DJobEndTrigger\x1A\xC0\x03\x0A\x12NotificationReport\x12]\x0A\x0Arecipients\x18\x01 \x01(\x0B2D.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.RecipientsB\x03\xE0A\x02\x12u\x0A\x17score_threshold_trigger\x18\x02 \x01(\x0B2O.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.ScoreThresholdTriggerB\x03\xE0A\x01\x12m\x0A\x13job_failure_trigger\x18\x04 \x01(\x0B2K.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.JobFailureTriggerB\x03\xE0A\x01\x12e\x0A\x0Fjob_end_trigger\x18\x05 \x01(\x0B2G.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.JobEndTriggerB\x03\xE0A\x01\"\x85\x0A\x0A\x11DataQualityResult\x12\x13\x0A\x06passed\x18\x05 \x01(\x08B\x03\xE0A\x03\x12\x17\x0A\x05score\x18\x09 \x01(\x02B\x03\xE0A\x03H\x00\x88\x01\x01\x12M\x0A\x0Adimensions\x18\x02 \x03(\x0B24.google.cloud.dataplex.v1.DataQualityDimensionResultB\x03\xE0A\x03\x12G\x0A\x07columns\x18\x0A \x03(\x0B21.google.cloud.dataplex.v1.DataQualityColumnResultB\x03\xE0A\x03\x12C\x0A\x05rules\x18\x03 \x03(\x0B2/.google.cloud.dataplex.v1.DataQualityRuleResultB\x03\xE0A\x03\x12\x16\x0A\x09row_count\x18\x04 \x01(\x03B\x03\xE0A\x03\x12@\x0A\x0Cscanned_data\x18\x07 \x01(\x0B2%.google.cloud.dataplex.v1.ScannedDataB\x03\xE0A\x03\x12h\x0A\x18post_scan_actions_result\x18\x08 \x01(\x0B2A.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResultB\x03\xE0A\x03\x12a\x0A\x19catalog_publishing_status\x18\x0B \x01(\x0B29.google.cloud.dataplex.v1.DataScanCatalogPublishingStatusB\x03\xE0A\x03\x12|\x0A\"anomaly_detection_generated_assets\x18\x0C \x01(\x0B2K.google.cloud.dataplex.v1.DataQualityResult.AnomalyDetectionGeneratedAssetsB\x03\xE0A\x03\x1A\xFD\x02\x0A\x15PostScanActionsResult\x12{\x0A\x16bigquery_export_result\x18\x01 \x01(\x0B2V.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.BigQueryExportResultB\x03\xE0A\x03\x1A\xE6\x01\x0A\x14BigQueryExportResult\x12p\x0A\x05state\x18\x01 \x01(\x0E2\\.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.BigQueryExportResult.StateB\x03\xE0A\x03\x12\x14\x0A\x07message\x18\x02 \x01(\x09B\x03\xE0A\x03\"F\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09SUCCEEDED\x10\x01\x12\x0A\x0A\x06FAILED\x10\x02\x12\x0B\x0A\x07SKIPPED\x10\x03\x1A\xB5\x01\x0A\x1FAnomalyDetectionGeneratedAssets\x12\x19\x0A\x0Cresult_table\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\$\x0A\x17data_intermediate_table\x18\x02 \x01(\x09B\x03\xE0A\x03\x12)\x0A\x1Cfreshness_intermediate_table\x18\x03 \x01(\x09B\x03\xE0A\x03\x12&\x0A\x19volume_intermediate_table\x18\x04 \x01(\x09B\x03\xE0A\x03B\x08\x0A\x06_score\"\xB3\x04\x0A\x15DataQualityRuleResult\x12<\x0A\x04rule\x18\x01 \x01(\x0B2).google.cloud.dataplex.v1.DataQualityRuleB\x03\xE0A\x03\x12\x13\x0A\x06passed\x18\x07 \x01(\x08B\x03\xE0A\x03\x12\x1C\x0A\x0Fevaluated_count\x18\x09 \x01(\x03B\x03\xE0A\x03\x12\x19\x0A\x0Cpassed_count\x18\x08 \x01(\x03B\x03\xE0A\x03\x12\x17\x0A\x0Anull_count\x18\x05 \x01(\x03B\x03\xE0A\x03\x12\x17\x0A\x0Apass_ratio\x18\x06 \x01(\x01B\x03\xE0A\x03\x12\x1F\x0A\x12failing_rows_query\x18\x0A \x01(\x09B\x03\xE0A\x03\x12 \x0A\x13assertion_row_count\x18\x0B \x01(\x03B\x03\xE0A\x03\x12k\x0A\x19debug_queries_result_sets\x18\x0D \x03(\x0B2C.google.cloud.dataplex.v1.DataQualityRuleResult.DebugQueryResultSetB\x03\xE0A\x03\x1A=\x0A\x10DebugQueryResult\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x0C\x0A\x04type\x18\x02 \x01(\x09\x12\x0D\x0A\x05value\x18\x03 \x01(\x09\x1Am\x0A\x13DebugQueryResultSet\x12V\x0A\x07results\x18\x01 \x03(\x0B2@.google.cloud.dataplex.v1.DataQualityRuleResult.DebugQueryResultB\x03\xE0A\x03\"\x9C\x01\x0A\x1ADataQualityDimensionResult\x12F\x0A\x09dimension\x18\x01 \x01(\x0B2..google.cloud.dataplex.v1.DataQualityDimensionB\x03\xE0A\x03\x12\x13\x0A\x06passed\x18\x03 \x01(\x08B\x03\xE0A\x03\x12\x17\x0A\x05score\x18\x04 \x01(\x02B\x03\xE0A\x03H\x00\x88\x01\x01B\x08\x0A\x06_score\")\x0A\x14DataQualityDimension\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\"\xA4\x0F\x0A\x0FDataQualityRule\x12W\x0A\x11range_expectation\x18\x01 \x01(\x0B2:.google.cloud.dataplex.v1.DataQualityRule.RangeExpectationH\x00\x12\\\x0A\x14non_null_expectation\x18\x02 \x01(\x0B2<.google.cloud.dataplex.v1.DataQualityRule.NonNullExpectationH\x00\x12S\x0A\x0Fset_expectation\x18\x03 \x01(\x0B28.google.cloud.dataplex.v1.DataQualityRule.SetExpectationH\x00\x12W\x0A\x11regex_expectation\x18\x04 \x01(\x0B2:.google.cloud.dataplex.v1.DataQualityRule.RegexExpectationH\x00\x12a\x0A\x16uniqueness_expectation\x18d \x01(\x0B2?.google.cloud.dataplex.v1.DataQualityRule.UniquenessExpectationH\x00\x12j\x0A\x1Bstatistic_range_expectation\x18e \x01(\x0B2C.google.cloud.dataplex.v1.DataQualityRule.StatisticRangeExpectationH\x00\x12g\x0A\x19row_condition_expectation\x18\xC8\x01 \x01(\x0B2A.google.cloud.dataplex.v1.DataQualityRule.RowConditionExpectationH\x00\x12k\x0A\x1Btable_condition_expectation\x18\xC9\x01 \x01(\x0B2C.google.cloud.dataplex.v1.DataQualityRule.TableConditionExpectationH\x00\x12P\x0A\x0Dsql_assertion\x18\xCA\x01 \x01(\x0B26.google.cloud.dataplex.v1.DataQualityRule.SqlAssertionH\x00\x12\x14\x0A\x06column\x18\xF4\x03 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Bignore_null\x18\xF5\x03 \x01(\x08B\x03\xE0A\x01\x12\x17\x0A\x09dimension\x18\xF6\x03 \x01(\x09B\x03\xE0A\x01\x12\x17\x0A\x09threshold\x18\xF7\x03 \x01(\x01B\x03\xE0A\x01\x12\x12\x0A\x04name\x18\xF8\x03 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Bdescription\x18\xF9\x03 \x01(\x09B\x03\xE0A\x01\x12\x17\x0A\x09suspended\x18\xFA\x03 \x01(\x08B\x03\xE0A\x01\x12Q\x0A\x0Ddebug_queries\x18\xFE\x03 \x03(\x0B24.google.cloud.dataplex.v1.DataQualityRule.DebugQueryB\x03\xE0A\x01\x1A\x84\x01\x0A\x10RangeExpectation\x12\x16\x0A\x09min_value\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09max_value\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x1F\x0A\x12strict_min_enabled\x18\x03 \x01(\x08B\x03\xE0A\x01\x12\x1F\x0A\x12strict_max_enabled\x18\x04 \x01(\x08B\x03\xE0A\x01\x1A\x14\x0A\x12NonNullExpectation\x1A%\x0A\x0ESetExpectation\x12\x13\x0A\x06values\x18\x01 \x03(\x09B\x03\xE0A\x01\x1A&\x0A\x10RegexExpectation\x12\x12\x0A\x05regex\x18\x01 \x01(\x09B\x03\xE0A\x01\x1A\x17\x0A\x15UniquenessExpectation\x1A\xC2\x02\x0A\x19StatisticRangeExpectation\x12k\x0A\x09statistic\x18\x01 \x01(\x0E2S.google.cloud.dataplex.v1.DataQualityRule.StatisticRangeExpectation.ColumnStatisticB\x03\xE0A\x01\x12\x16\x0A\x09min_value\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09max_value\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x1F\x0A\x12strict_min_enabled\x18\x04 \x01(\x08B\x03\xE0A\x01\x12\x1F\x0A\x12strict_max_enabled\x18\x05 \x01(\x08B\x03\xE0A\x01\"F\x0A\x0FColumnStatistic\x12\x17\x0A\x13STATISTIC_UNDEFINED\x10\x00\x12\x08\x0A\x04MEAN\x10\x01\x12\x07\x0A\x03MIN\x10\x02\x12\x07\x0A\x03MAX\x10\x03\x1A6\x0A\x17RowConditionExpectation\x12\x1B\x0A\x0Esql_expression\x18\x01 \x01(\x09B\x03\xE0A\x01\x1A8\x0A\x19TableConditionExpectation\x12\x1B\x0A\x0Esql_expression\x18\x01 \x01(\x09B\x03\xE0A\x01\x1A*\x0A\x0CSqlAssertion\x12\x1A\x0A\x0Dsql_statement\x18\x01 \x01(\x09B\x03\xE0A\x01\x1AB\x0A\x0ADebugQuery\x12\x18\x0A\x0Bdescription\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dsql_statement\x18\x02 \x01(\x09B\x03\xE0A\x02B\x0B\x0A\x09rule_type\"\xB5\x01\x0A\x17DataQualityColumnResult\x12\x13\x0A\x06column\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x17\x0A\x05score\x18\x02 \x01(\x02B\x03\xE0A\x03H\x00\x88\x01\x01\x12\x13\x0A\x06passed\x18\x03 \x01(\x08B\x03\xE0A\x03\x12M\x0A\x0Adimensions\x18\x04 \x03(\x0B24.google.cloud.dataplex.v1.DataQualityDimensionResultB\x03\xE0A\x03B\x08\x0A\x06_scoreB\xC4\x01\x0A\x1Ccom.google.cloud.dataplex.v1B\x10DataQualityProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb\xEAAU\x0A\x1Dbigquery.googleapis.com/Table\x124projects/{project}/datasets/{dataset}/tables/{table}b\x06proto3" + "\x0A\xE27\x0A+google/cloud/dataplex/v1/data_quality.proto\x12\x18google.cloud.dataplex.v1\x1A\x19google/api/resource.proto\x1A9google/cloud/dataplex/v1/data_quality_rule_template.proto\x1A/google/cloud/dataplex/v1/datascans_common.proto\x1A)google/cloud/dataplex/v1/processing.proto\"\xA7\x09\x0A\x0FDataQualitySpec\x12=\x0A\x05rules\x18\x01 \x03(\x0B2).google.cloud.dataplex.v1.DataQualityRuleB\x03\xE0A\x02\x12\x1D\x0A\x10sampling_percent\x18\x04 \x01(\x02B\x03\xE0A\x01\x12\x17\x0A\x0Arow_filter\x18\x05 \x01(\x09B\x03\xE0A\x01\x12Y\x0A\x11post_scan_actions\x18\x06 \x01(\x0B29.google.cloud.dataplex.v1.DataQualitySpec.PostScanActionsB\x03\xE0A\x01\x12'\x0A\x1Acatalog_publishing_enabled\x18\x08 \x01(\x08B\x03\xE0A\x01\x12'\x0A\x1Aenable_catalog_based_rules\x18\x0A \x01(\x08B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x0B \x01(\x09B\x03\xE0A\x01\x1A\xDA\x06\x0A\x0FPostScanActions\x12f\x0A\x0Fbigquery_export\x18\x01 \x01(\x0B2H.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.BigQueryExportB\x03\xE0A\x01\x12n\x0A\x13notification_report\x18\x02 \x01(\x0B2L.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.NotificationReportB\x03\xE0A\x01\x1A,\x0A\x0EBigQueryExport\x12\x1A\x0A\x0Dresults_table\x18\x01 \x01(\x09B\x03\xE0A\x01\x1A!\x0A\x0ARecipients\x12\x13\x0A\x06emails\x18\x01 \x03(\x09B\x03\xE0A\x01\x1A5\x0A\x15ScoreThresholdTrigger\x12\x1C\x0A\x0Fscore_threshold\x18\x02 \x01(\x02B\x03\xE0A\x01\x1A\x13\x0A\x11JobFailureTrigger\x1A\x0F\x0A\x0DJobEndTrigger\x1A\xC0\x03\x0A\x12NotificationReport\x12]\x0A\x0Arecipients\x18\x01 \x01(\x0B2D.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.RecipientsB\x03\xE0A\x02\x12u\x0A\x17score_threshold_trigger\x18\x02 \x01(\x0B2O.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.ScoreThresholdTriggerB\x03\xE0A\x01\x12m\x0A\x13job_failure_trigger\x18\x04 \x01(\x0B2K.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.JobFailureTriggerB\x03\xE0A\x01\x12e\x0A\x0Fjob_end_trigger\x18\x05 \x01(\x0B2G.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.JobEndTriggerB\x03\xE0A\x01\"\x85\x0A\x0A\x11DataQualityResult\x12\x13\x0A\x06passed\x18\x05 \x01(\x08B\x03\xE0A\x03\x12\x17\x0A\x05score\x18\x09 \x01(\x02B\x03\xE0A\x03H\x00\x88\x01\x01\x12M\x0A\x0Adimensions\x18\x02 \x03(\x0B24.google.cloud.dataplex.v1.DataQualityDimensionResultB\x03\xE0A\x03\x12G\x0A\x07columns\x18\x0A \x03(\x0B21.google.cloud.dataplex.v1.DataQualityColumnResultB\x03\xE0A\x03\x12C\x0A\x05rules\x18\x03 \x03(\x0B2/.google.cloud.dataplex.v1.DataQualityRuleResultB\x03\xE0A\x03\x12\x16\x0A\x09row_count\x18\x04 \x01(\x03B\x03\xE0A\x03\x12@\x0A\x0Cscanned_data\x18\x07 \x01(\x0B2%.google.cloud.dataplex.v1.ScannedDataB\x03\xE0A\x03\x12h\x0A\x18post_scan_actions_result\x18\x08 \x01(\x0B2A.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResultB\x03\xE0A\x03\x12a\x0A\x19catalog_publishing_status\x18\x0B \x01(\x0B29.google.cloud.dataplex.v1.DataScanCatalogPublishingStatusB\x03\xE0A\x03\x12|\x0A\"anomaly_detection_generated_assets\x18\x0C \x01(\x0B2K.google.cloud.dataplex.v1.DataQualityResult.AnomalyDetectionGeneratedAssetsB\x03\xE0A\x03\x1A\xFD\x02\x0A\x15PostScanActionsResult\x12{\x0A\x16bigquery_export_result\x18\x01 \x01(\x0B2V.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.BigQueryExportResultB\x03\xE0A\x03\x1A\xE6\x01\x0A\x14BigQueryExportResult\x12p\x0A\x05state\x18\x01 \x01(\x0E2\\.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.BigQueryExportResult.StateB\x03\xE0A\x03\x12\x14\x0A\x07message\x18\x02 \x01(\x09B\x03\xE0A\x03\"F\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09SUCCEEDED\x10\x01\x12\x0A\x0A\x06FAILED\x10\x02\x12\x0B\x0A\x07SKIPPED\x10\x03\x1A\xB5\x01\x0A\x1FAnomalyDetectionGeneratedAssets\x12\x19\x0A\x0Cresult_table\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\$\x0A\x17data_intermediate_table\x18\x02 \x01(\x09B\x03\xE0A\x03\x12)\x0A\x1Cfreshness_intermediate_table\x18\x03 \x01(\x09B\x03\xE0A\x03\x12&\x0A\x19volume_intermediate_table\x18\x04 \x01(\x09B\x03\xE0A\x03B\x08\x0A\x06_score\"\xB3\x04\x0A\x15DataQualityRuleResult\x12<\x0A\x04rule\x18\x01 \x01(\x0B2).google.cloud.dataplex.v1.DataQualityRuleB\x03\xE0A\x03\x12\x13\x0A\x06passed\x18\x07 \x01(\x08B\x03\xE0A\x03\x12\x1C\x0A\x0Fevaluated_count\x18\x09 \x01(\x03B\x03\xE0A\x03\x12\x19\x0A\x0Cpassed_count\x18\x08 \x01(\x03B\x03\xE0A\x03\x12\x17\x0A\x0Anull_count\x18\x05 \x01(\x03B\x03\xE0A\x03\x12\x17\x0A\x0Apass_ratio\x18\x06 \x01(\x01B\x03\xE0A\x03\x12\x1F\x0A\x12failing_rows_query\x18\x0A \x01(\x09B\x03\xE0A\x03\x12 \x0A\x13assertion_row_count\x18\x0B \x01(\x03B\x03\xE0A\x03\x12k\x0A\x19debug_queries_result_sets\x18\x0D \x03(\x0B2C.google.cloud.dataplex.v1.DataQualityRuleResult.DebugQueryResultSetB\x03\xE0A\x03\x1A=\x0A\x10DebugQueryResult\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x0C\x0A\x04type\x18\x02 \x01(\x09\x12\x0D\x0A\x05value\x18\x03 \x01(\x09\x1Am\x0A\x13DebugQueryResultSet\x12V\x0A\x07results\x18\x01 \x03(\x0B2@.google.cloud.dataplex.v1.DataQualityRuleResult.DebugQueryResultB\x03\xE0A\x03\"\x9C\x01\x0A\x1ADataQualityDimensionResult\x12F\x0A\x09dimension\x18\x01 \x01(\x0B2..google.cloud.dataplex.v1.DataQualityDimensionB\x03\xE0A\x03\x12\x13\x0A\x06passed\x18\x03 \x01(\x08B\x03\xE0A\x03\x12\x17\x0A\x05score\x18\x04 \x01(\x02B\x03\xE0A\x03H\x00\x88\x01\x01B\x08\x0A\x06_score\")\x0A\x14DataQualityDimension\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\"\xAD\x19\x0A\x0FDataQualityRule\x12W\x0A\x11range_expectation\x18\x01 \x01(\x0B2:.google.cloud.dataplex.v1.DataQualityRule.RangeExpectationH\x00\x12\\\x0A\x14non_null_expectation\x18\x02 \x01(\x0B2<.google.cloud.dataplex.v1.DataQualityRule.NonNullExpectationH\x00\x12S\x0A\x0Fset_expectation\x18\x03 \x01(\x0B28.google.cloud.dataplex.v1.DataQualityRule.SetExpectationH\x00\x12W\x0A\x11regex_expectation\x18\x04 \x01(\x0B2:.google.cloud.dataplex.v1.DataQualityRule.RegexExpectationH\x00\x12a\x0A\x16uniqueness_expectation\x18d \x01(\x0B2?.google.cloud.dataplex.v1.DataQualityRule.UniquenessExpectationH\x00\x12j\x0A\x1Bstatistic_range_expectation\x18e \x01(\x0B2C.google.cloud.dataplex.v1.DataQualityRule.StatisticRangeExpectationH\x00\x12g\x0A\x19row_condition_expectation\x18\xC8\x01 \x01(\x0B2A.google.cloud.dataplex.v1.DataQualityRule.RowConditionExpectationH\x00\x12k\x0A\x1Btable_condition_expectation\x18\xC9\x01 \x01(\x0B2C.google.cloud.dataplex.v1.DataQualityRule.TableConditionExpectationH\x00\x12P\x0A\x0Dsql_assertion\x18\xCA\x01 \x01(\x0B26.google.cloud.dataplex.v1.DataQualityRule.SqlAssertionH\x00\x12Y\x0A\x12template_reference\x18\x05 \x01(\x0B2;.google.cloud.dataplex.v1.DataQualityRule.TemplateReferenceH\x00\x12\x14\x0A\x06column\x18\xF4\x03 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Bignore_null\x18\xF5\x03 \x01(\x08B\x03\xE0A\x01\x12\x17\x0A\x09dimension\x18\xF6\x03 \x01(\x09B\x03\xE0A\x01\x12\x17\x0A\x09threshold\x18\xF7\x03 \x01(\x01B\x03\xE0A\x01\x12\x12\x0A\x04name\x18\xF8\x03 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Bdescription\x18\xF9\x03 \x01(\x09B\x03\xE0A\x01\x12\x17\x0A\x09suspended\x18\xFA\x03 \x01(\x08B\x03\xE0A\x01\x12S\x0A\x0Aattributes\x18\xFB\x03 \x03(\x0B29.google.cloud.dataplex.v1.DataQualityRule.AttributesEntryB\x03\xE0A\x01\x12O\x0A\x0Brule_source\x18\xFC\x03 \x01(\x0B24.google.cloud.dataplex.v1.DataQualityRule.RuleSourceB\x03\xE0A\x03\x12Q\x0A\x0Ddebug_queries\x18\xFE\x03 \x03(\x0B24.google.cloud.dataplex.v1.DataQualityRule.DebugQueryB\x03\xE0A\x01\x1A\x84\x01\x0A\x10RangeExpectation\x12\x16\x0A\x09min_value\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09max_value\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x1F\x0A\x12strict_min_enabled\x18\x03 \x01(\x08B\x03\xE0A\x01\x12\x1F\x0A\x12strict_max_enabled\x18\x04 \x01(\x08B\x03\xE0A\x01\x1A\x14\x0A\x12NonNullExpectation\x1A%\x0A\x0ESetExpectation\x12\x13\x0A\x06values\x18\x01 \x03(\x09B\x03\xE0A\x01\x1A&\x0A\x10RegexExpectation\x12\x12\x0A\x05regex\x18\x01 \x01(\x09B\x03\xE0A\x01\x1A\x17\x0A\x15UniquenessExpectation\x1A\xC2\x02\x0A\x19StatisticRangeExpectation\x12k\x0A\x09statistic\x18\x01 \x01(\x0E2S.google.cloud.dataplex.v1.DataQualityRule.StatisticRangeExpectation.ColumnStatisticB\x03\xE0A\x01\x12\x16\x0A\x09min_value\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09max_value\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x1F\x0A\x12strict_min_enabled\x18\x04 \x01(\x08B\x03\xE0A\x01\x12\x1F\x0A\x12strict_max_enabled\x18\x05 \x01(\x08B\x03\xE0A\x01\"F\x0A\x0FColumnStatistic\x12\x17\x0A\x13STATISTIC_UNDEFINED\x10\x00\x12\x08\x0A\x04MEAN\x10\x01\x12\x07\x0A\x03MIN\x10\x02\x12\x07\x0A\x03MAX\x10\x03\x1A6\x0A\x17RowConditionExpectation\x12\x1B\x0A\x0Esql_expression\x18\x01 \x01(\x09B\x03\xE0A\x01\x1A8\x0A\x19TableConditionExpectation\x12\x1B\x0A\x0Esql_expression\x18\x01 \x01(\x09B\x03\xE0A\x01\x1A*\x0A\x0CSqlAssertion\x12\x1A\x0A\x0Dsql_statement\x18\x01 \x01(\x09B\x03\xE0A\x01\x1A\xB1\x03\x0A\x11TemplateReference\x123\x0A\x04name\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Entry\x12\\\x0A\x06values\x18\x05 \x03(\x0B2G.google.cloud.dataplex.v1.DataQualityRule.TemplateReference.ValuesEntryB\x03\xE0A\x01\x12\x19\x0A\x0Cresolved_sql\x18\x03 \x01(\x09B\x03\xE0A\x03\x12M\x0A\x0Drule_template\x18\x04 \x01(\x0B21.google.cloud.dataplex.v1.DataQualityRuleTemplateB\x03\xE0A\x03\x1A\$\x0A\x0EParameterValue\x12\x12\x0A\x05value\x18\x01 \x01(\x09B\x03\xE0A\x02\x1Ay\x0A\x0BValuesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12Y\x0A\x05value\x18\x02 \x01(\x0B2J.google.cloud.dataplex.v1.DataQualityRule.TemplateReference.ParameterValue:\x028\x01\x1A\x9E\x04\x0A\x0ARuleSource\x12e\x0A\x12rule_path_elements\x18\x01 \x03(\x0B2D.google.cloud.dataplex.v1.DataQualityRule.RuleSource.RulePathElementB\x03\xE0A\x03\x1A\xA8\x03\x0A\x0FRulePathElement\x12m\x0A\x0Centry_source\x18\x01 \x01(\x0B2P.google.cloud.dataplex.v1.DataQualityRule.RuleSource.RulePathElement.EntrySourceB\x03\xE0A\x03H\x00\x12v\x0A\x11entry_link_source\x18\x02 \x01(\x0B2T.google.cloud.dataplex.v1.DataQualityRule.RuleSource.RulePathElement.EntryLinkSourceB\x03\xE0A\x03H\x00\x1AU\x0A\x0BEntrySource\x12\x17\x0A\x0Aentry_type\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x12\x0A\x05entry\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x19\x0A\x0Cdisplay_name\x18\x03 \x01(\x09B\x03\xE0A\x03\x1AH\x0A\x0FEntryLinkSource\x12\x1C\x0A\x0Fentry_link_type\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x17\x0A\x0Aentry_link\x18\x02 \x01(\x09B\x03\xE0A\x03B\x0D\x0A\x0Bsource_type\x1AB\x0A\x0ADebugQuery\x12\x18\x0A\x0Bdescription\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dsql_statement\x18\x02 \x01(\x09B\x03\xE0A\x02\x1A1\x0A\x0FAttributesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01B\x0B\x0A\x09rule_type\"\xB5\x01\x0A\x17DataQualityColumnResult\x12\x13\x0A\x06column\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x17\x0A\x05score\x18\x02 \x01(\x02B\x03\xE0A\x03H\x00\x88\x01\x01\x12\x13\x0A\x06passed\x18\x03 \x01(\x08B\x03\xE0A\x03\x12M\x0A\x0Adimensions\x18\x04 \x03(\x0B24.google.cloud.dataplex.v1.DataQualityDimensionResultB\x03\xE0A\x03B\x08\x0A\x06_scoreB\xC4\x01\x0A\x1Ccom.google.cloud.dataplex.v1B\x10DataQualityProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb\xEAAU\x0A\x1Dbigquery.googleapis.com/Table\x124projects/{project}/datasets/{dataset}/tables/{table}b\x06proto3" , true); static::$is_initialized = true; diff --git a/Dataplex/metadata/V1/DataQualityRuleTemplate.php b/Dataplex/metadata/V1/DataQualityRuleTemplate.php new file mode 100644 index 000000000000..d0a8c36fa901 --- /dev/null +++ b/Dataplex/metadata/V1/DataQualityRuleTemplate.php @@ -0,0 +1,25 @@ +internalAddGeneratedFile( + "\x0A\xDD\x05\x0A9google/cloud/dataplex/v1/data_quality_rule_template.proto\x12\x18google.cloud.dataplex.v1\"\x83\x04\x0A\x17DataQualityRuleTemplate\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x16\x0A\x09dimension\x18\x02 \x01(\x09B\x03\xE0A\x03\x12R\x0A\x0Esql_collection\x18\x03 \x03(\x0B25.google.cloud.dataplex.v1.DataQualityRuleTemplate.SqlB\x03\xE0A\x03\x12e\x0A\x10input_parameters\x18\x04 \x03(\x0B2F.google.cloud.dataplex.v1.DataQualityRuleTemplate.InputParametersEntryB\x03\xE0A\x03\x12\x19\x0A\x0Ccapabilities\x18\x05 \x03(\x09B\x03\xE0A\x03\x1A\x19\x0A\x03Sql\x12\x12\x0A\x05query\x18\x01 \x01(\x09B\x03\xE0A\x03\x1AL\x0A\x14ParameterDescription\x12\x18\x0A\x0Bdescription\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x1A\x0A\x0Ddefault_value\x18\x02 \x01(\x09B\x03\xE0A\x03\x1A~\x0A\x14InputParametersEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12U\x0A\x05value\x18\x02 \x01(\x0B2F.google.cloud.dataplex.v1.DataQualityRuleTemplate.ParameterDescription:\x028\x01Bx\x0A\x1Ccom.google.cloud.dataplex.v1B\x1CDataQualityRuleTemplateProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" + , true); + + static::$is_initialized = true; + } +} + diff --git a/Dataplex/metadata/V1/DataTaxonomy.php b/Dataplex/metadata/V1/DataTaxonomy.php index 957bd9494142..f2dba18b4be9 100644 --- a/Dataplex/metadata/V1/DataTaxonomy.php +++ b/Dataplex/metadata/V1/DataTaxonomy.php @@ -25,7 +25,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\FieldMask::initOnce(); \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xB2I\x0A,google/cloud/dataplex/v1/data_taxonomy.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A'google/cloud/dataplex/v1/security.proto\x1A&google/cloud/dataplex/v1/service.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xB3\x04\x0A\x0CDataTaxonomy\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x03\xFAA&\x0A\$dataplex.googleapis.com/DataTaxonomy\x12\x10\x0A\x03uid\x18\x02 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cdisplay_name\x18\x06 \x01(\x09B\x03\xE0A\x01\x12G\x0A\x06labels\x18\x08 \x03(\x0B22.google.cloud.dataplex.v1.DataTaxonomy.LabelsEntryB\x03\xE0A\x01\x12\x1C\x0A\x0Fattribute_count\x18\x09 \x01(\x05B\x03\xE0A\x03\x12\x0C\x0A\x04etag\x18\x0A \x01(\x09\x12\x18\x0A\x0Bclass_count\x18\x0B \x01(\x05B\x03\xE0A\x03\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:v\x18\x01\xEAAq\x0A\$dataplex.googleapis.com/DataTaxonomy\x12Iprojects/{project}/locations/{location}/dataTaxonomies/{data_taxonomy_id}\"\x96\x06\x0A\x0DDataAttribute\x12;\x0A\x04name\x18\x01 \x01(\x09B-\xE0A\x03\xFAA'\x0A%dataplex.googleapis.com/DataAttribute\x12\x10\x0A\x03uid\x18\x02 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cdisplay_name\x18\x06 \x01(\x09B\x03\xE0A\x01\x12H\x0A\x06labels\x18\x07 \x03(\x0B23.google.cloud.dataplex.v1.DataAttribute.LabelsEntryB\x03\xE0A\x01\x12@\x0A\x09parent_id\x18\x08 \x01(\x09B-\xE0A\x01\xFAA'\x0A%dataplex.googleapis.com/DataAttribute\x12\x1C\x0A\x0Fattribute_count\x18\x09 \x01(\x05B\x03\xE0A\x03\x12\x0C\x0A\x04etag\x18\x0A \x01(\x09\x12O\x0A\x14resource_access_spec\x18d \x01(\x0B2,.google.cloud.dataplex.v1.ResourceAccessSpecB\x03\xE0A\x01\x12G\x0A\x10data_access_spec\x18e \x01(\x0B2(.google.cloud.dataplex.v1.DataAccessSpecB\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x93\x01\x18\x01\xEAA\x8D\x01\x0A%dataplex.googleapis.com/DataAttribute\x12dprojects/{project}/locations/{location}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id}\"\xC9\x06\x0A\x14DataAttributeBinding\x12B\x0A\x04name\x18\x01 \x01(\x09B4\xE0A\x03\xFAA.\x0A,dataplex.googleapis.com/DataAttributeBinding\x12\x10\x0A\x03uid\x18\x02 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cdisplay_name\x18\x06 \x01(\x09B\x03\xE0A\x01\x12O\x0A\x06labels\x18\x07 \x03(\x0B2:.google.cloud.dataplex.v1.DataAttributeBinding.LabelsEntryB\x03\xE0A\x01\x12\x0C\x0A\x04etag\x18\x08 \x01(\x09\x12\x1A\x0A\x08resource\x18d \x01(\x09B\x06\xE0A\x01\xE0A\x05H\x00\x12A\x0A\x0Aattributes\x18n \x03(\x09B-\xE0A\x01\xFAA'\x0A%dataplex.googleapis.com/DataAttribute\x12G\x0A\x05paths\x18x \x03(\x0B23.google.cloud.dataplex.v1.DataAttributeBinding.PathB\x03\xE0A\x01\x1A\\\x0A\x04Path\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x12A\x0A\x0Aattributes\x18\x02 \x03(\x09B-\xE0A\x01\xFAA'\x0A%dataplex.googleapis.com/DataAttribute\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x8F\x01\x18\x01\xEAA\x89\x01\x0A,dataplex.googleapis.com/DataAttributeBinding\x12Yprojects/{project}/locations/{location}/dataAttributeBindings/{data_attribute_binding_id}B\x14\x0A\x12resource_reference\"\xD9\x01\x0A\x19CreateDataTaxonomyRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x1D\x0A\x10data_taxonomy_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12B\x0A\x0Ddata_taxonomy\x18\x03 \x01(\x0B2&.google.cloud.dataplex.v1.DataTaxonomyB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01:\x02\x18\x01\"\xB5\x01\x0A\x19UpdateDataTaxonomyRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12B\x0A\x0Ddata_taxonomy\x18\x02 \x01(\x0B2&.google.cloud.dataplex.v1.DataTaxonomyB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01:\x02\x18\x01\"X\x0A\x16GetDataTaxonomyRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/DataTaxonomy:\x02\x18\x01\"\xB3\x01\x0A\x19ListDataTaxonomiesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x95\x01\x0A\x1AListDataTaxonomiesResponse\x12?\x0A\x0Fdata_taxonomies\x18\x01 \x03(\x0B2&.google.cloud.dataplex.v1.DataTaxonomy\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"n\x0A\x19DeleteDataTaxonomyRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/DataTaxonomy\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01:\x02\x18\x01\"\xDC\x01\x0A\x1ACreateDataAttributeRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/DataTaxonomy\x12\x1E\x0A\x11data_attribute_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12D\x0A\x0Edata_attribute\x18\x03 \x01(\x0B2'.google.cloud.dataplex.v1.DataAttributeB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xB4\x01\x0A\x1AUpdateDataAttributeRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12D\x0A\x0Edata_attribute\x18\x02 \x01(\x0B2'.google.cloud.dataplex.v1.DataAttributeB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"V\x0A\x17GetDataAttributeRequest\x12;\x0A\x04name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%dataplex.googleapis.com/DataAttribute\"\xB6\x01\x0A\x19ListDataAttributesRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/DataTaxonomy\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x96\x01\x0A\x1AListDataAttributesResponse\x12@\x0A\x0Fdata_attributes\x18\x01 \x03(\x0B2'.google.cloud.dataplex.v1.DataAttribute\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"l\x0A\x1ADeleteDataAttributeRequest\x12;\x0A\x04name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%dataplex.googleapis.com/DataAttribute\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\"\xF7\x01\x0A!CreateDataAttributeBindingRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12&\x0A\x19data_attribute_binding_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12S\x0A\x16data_attribute_binding\x18\x03 \x01(\x0B2..google.cloud.dataplex.v1.DataAttributeBindingB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xCA\x01\x0A!UpdateDataAttributeBindingRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12S\x0A\x16data_attribute_binding\x18\x02 \x01(\x0B2..google.cloud.dataplex.v1.DataAttributeBindingB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"d\x0A\x1EGetDataAttributeBindingRequest\x12B\x0A\x04name\x18\x01 \x01(\x09B4\xE0A\x02\xFAA.\x0A,dataplex.googleapis.com/DataAttributeBinding\"\xBA\x01\x0A ListDataAttributeBindingsRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\xAC\x01\x0A!ListDataAttributeBindingsResponse\x12O\x0A\x17data_attribute_bindings\x18\x01 \x03(\x0B2..google.cloud.dataplex.v1.DataAttributeBinding\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"z\x0A!DeleteDataAttributeBindingRequest\x12B\x0A\x04name\x18\x01 \x01(\x09B4\xE0A\x02\xFAA.\x0A,dataplex.googleapis.com/DataAttributeBinding\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x022\xBB\x1D\x0A\x13DataTaxonomyService\x12\x83\x02\x0A\x12CreateDataTaxonomy\x123.google.cloud.dataplex.v1.CreateDataTaxonomyRequest\x1A\x1D.google.longrunning.Operation\"\x98\x01\x88\x02\x01\xCAA!\x0A\x0CDataTaxonomy\x12\x11OperationMetadata\xDAA%parent,data_taxonomy,data_taxonomy_id\x82\xD3\xE4\x93\x02C\"2/v1/{parent=projects/*/locations/*}/dataTaxonomies:\x0Ddata_taxonomy\x12\x85\x02\x0A\x12UpdateDataTaxonomy\x123.google.cloud.dataplex.v1.UpdateDataTaxonomyRequest\x1A\x1D.google.longrunning.Operation\"\x9A\x01\x88\x02\x01\xCAA!\x0A\x0CDataTaxonomy\x12\x11OperationMetadata\xDAA\x19data_taxonomy,update_mask\x82\xD3\xE4\x93\x02Q2@/v1/{data_taxonomy.name=projects/*/locations/*/dataTaxonomies/*}:\x0Ddata_taxonomy\x12\xDB\x01\x0A\x12DeleteDataTaxonomy\x123.google.cloud.dataplex.v1.DeleteDataTaxonomyRequest\x1A\x1D.google.longrunning.Operation\"q\x88\x02\x01\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x024*2/v1/{name=projects/*/locations/*/dataTaxonomies/*}\x12\xC7\x01\x0A\x12ListDataTaxonomies\x123.google.cloud.dataplex.v1.ListDataTaxonomiesRequest\x1A4.google.cloud.dataplex.v1.ListDataTaxonomiesResponse\"F\x88\x02\x01\xDAA\x06parent\x82\xD3\xE4\x93\x024\x122/v1/{parent=projects/*/locations/*}/dataTaxonomies\x12\xB1\x01\x0A\x0FGetDataTaxonomy\x120.google.cloud.dataplex.v1.GetDataTaxonomyRequest\x1A&.google.cloud.dataplex.v1.DataTaxonomy\"D\x88\x02\x01\xDAA\x04name\x82\xD3\xE4\x93\x024\x122/v1/{name=projects/*/locations/*/dataTaxonomies/*}\x12\xBD\x02\x0A\x1ACreateDataAttributeBinding\x12;.google.cloud.dataplex.v1.CreateDataAttributeBindingRequest\x1A\x1D.google.longrunning.Operation\"\xC2\x01\x88\x02\x01\xCAA)\x0A\x14DataAttributeBinding\x12\x11OperationMetadata\xDAA7parent,data_attribute_binding,data_attribute_binding_id\x82\xD3\xE4\x93\x02S\"9/v1/{parent=projects/*/locations/*}/dataAttributeBindings:\x16data_attribute_binding\x12\xBF\x02\x0A\x1AUpdateDataAttributeBinding\x12;.google.cloud.dataplex.v1.UpdateDataAttributeBindingRequest\x1A\x1D.google.longrunning.Operation\"\xC4\x01\x88\x02\x01\xCAA)\x0A\x14DataAttributeBinding\x12\x11OperationMetadata\xDAA\"data_attribute_binding,update_mask\x82\xD3\xE4\x93\x02j2P/v1/{data_attribute_binding.name=projects/*/locations/*/dataAttributeBindings/*}:\x16data_attribute_binding\x12\xF2\x01\x0A\x1ADeleteDataAttributeBinding\x12;.google.cloud.dataplex.v1.DeleteDataAttributeBindingRequest\x1A\x1D.google.longrunning.Operation\"x\x88\x02\x01\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02;*9/v1/{name=projects/*/locations/*/dataAttributeBindings/*}\x12\xE3\x01\x0A\x19ListDataAttributeBindings\x12:.google.cloud.dataplex.v1.ListDataAttributeBindingsRequest\x1A;.google.cloud.dataplex.v1.ListDataAttributeBindingsResponse\"M\x88\x02\x01\xDAA\x06parent\x82\xD3\xE4\x93\x02;\x129/v1/{parent=projects/*/locations/*}/dataAttributeBindings\x12\xD0\x01\x0A\x17GetDataAttributeBinding\x128.google.cloud.dataplex.v1.GetDataAttributeBindingRequest\x1A..google.cloud.dataplex.v1.DataAttributeBinding\"K\x88\x02\x01\xDAA\x04name\x82\xD3\xE4\x93\x02;\x129/v1/{name=projects/*/locations/*/dataAttributeBindings/*}\x12\x96\x02\x0A\x13CreateDataAttribute\x124.google.cloud.dataplex.v1.CreateDataAttributeRequest\x1A\x1D.google.longrunning.Operation\"\xA9\x01\x88\x02\x01\xCAA\"\x0A\x0DDataAttribute\x12\x11OperationMetadata\xDAA'parent,data_attribute,data_attribute_id\x82\xD3\xE4\x93\x02Q\"?/v1/{parent=projects/*/locations/*/dataTaxonomies/*}/attributes:\x0Edata_attribute\x12\x98\x02\x0A\x13UpdateDataAttribute\x124.google.cloud.dataplex.v1.UpdateDataAttributeRequest\x1A\x1D.google.longrunning.Operation\"\xAB\x01\x88\x02\x01\xCAA\"\x0A\x0DDataAttribute\x12\x11OperationMetadata\xDAA\x1Adata_attribute,update_mask\x82\xD3\xE4\x93\x02`2N/v1/{data_attribute.name=projects/*/locations/*/dataTaxonomies/*/attributes/*}:\x0Edata_attribute\x12\xEA\x01\x0A\x13DeleteDataAttribute\x124.google.cloud.dataplex.v1.DeleteDataAttributeRequest\x1A\x1D.google.longrunning.Operation\"~\x88\x02\x01\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02A*?/v1/{name=projects/*/locations/*/dataTaxonomies/*/attributes/*}\x12\xD4\x01\x0A\x12ListDataAttributes\x123.google.cloud.dataplex.v1.ListDataAttributesRequest\x1A4.google.cloud.dataplex.v1.ListDataAttributesResponse\"S\x88\x02\x01\xDAA\x06parent\x82\xD3\xE4\x93\x02A\x12?/v1/{parent=projects/*/locations/*/dataTaxonomies/*}/attributes\x12\xC1\x01\x0A\x10GetDataAttribute\x121.google.cloud.dataplex.v1.GetDataAttributeRequest\x1A'.google.cloud.dataplex.v1.DataAttribute\"Q\x88\x02\x01\xDAA\x04name\x82\xD3\xE4\x93\x02A\x12?/v1/{name=projects/*/locations/*/dataTaxonomies/*/attributes/*}\x1AN\x88\x02\x01\xCAA\x17dataplex.googleapis.com\xD2A.https://www.googleapis.com/auth/cloud-platformBm\x0A\x1Ccom.google.cloud.dataplex.v1B\x11DataTaxonomyProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" + "\x0A\xE7I\x0A,google/cloud/dataplex/v1/data_taxonomy.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A'google/cloud/dataplex/v1/security.proto\x1A&google/cloud/dataplex/v1/service.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xB3\x04\x0A\x0CDataTaxonomy\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x03\xFAA&\x0A\$dataplex.googleapis.com/DataTaxonomy\x12\x10\x0A\x03uid\x18\x02 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cdisplay_name\x18\x06 \x01(\x09B\x03\xE0A\x01\x12G\x0A\x06labels\x18\x08 \x03(\x0B22.google.cloud.dataplex.v1.DataTaxonomy.LabelsEntryB\x03\xE0A\x01\x12\x1C\x0A\x0Fattribute_count\x18\x09 \x01(\x05B\x03\xE0A\x03\x12\x0C\x0A\x04etag\x18\x0A \x01(\x09\x12\x18\x0A\x0Bclass_count\x18\x0B \x01(\x05B\x03\xE0A\x03\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:v\x18\x01\xEAAq\x0A\$dataplex.googleapis.com/DataTaxonomy\x12Iprojects/{project}/locations/{location}/dataTaxonomies/{data_taxonomy_id}\"\x96\x06\x0A\x0DDataAttribute\x12;\x0A\x04name\x18\x01 \x01(\x09B-\xE0A\x03\xFAA'\x0A%dataplex.googleapis.com/DataAttribute\x12\x10\x0A\x03uid\x18\x02 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cdisplay_name\x18\x06 \x01(\x09B\x03\xE0A\x01\x12H\x0A\x06labels\x18\x07 \x03(\x0B23.google.cloud.dataplex.v1.DataAttribute.LabelsEntryB\x03\xE0A\x01\x12@\x0A\x09parent_id\x18\x08 \x01(\x09B-\xE0A\x01\xFAA'\x0A%dataplex.googleapis.com/DataAttribute\x12\x1C\x0A\x0Fattribute_count\x18\x09 \x01(\x05B\x03\xE0A\x03\x12\x0C\x0A\x04etag\x18\x0A \x01(\x09\x12O\x0A\x14resource_access_spec\x18d \x01(\x0B2,.google.cloud.dataplex.v1.ResourceAccessSpecB\x03\xE0A\x01\x12G\x0A\x10data_access_spec\x18e \x01(\x0B2(.google.cloud.dataplex.v1.DataAccessSpecB\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x93\x01\x18\x01\xEAA\x8D\x01\x0A%dataplex.googleapis.com/DataAttribute\x12dprojects/{project}/locations/{location}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id}\"\xC9\x06\x0A\x14DataAttributeBinding\x12B\x0A\x04name\x18\x01 \x01(\x09B4\xE0A\x03\xFAA.\x0A,dataplex.googleapis.com/DataAttributeBinding\x12\x10\x0A\x03uid\x18\x02 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cdisplay_name\x18\x06 \x01(\x09B\x03\xE0A\x01\x12O\x0A\x06labels\x18\x07 \x03(\x0B2:.google.cloud.dataplex.v1.DataAttributeBinding.LabelsEntryB\x03\xE0A\x01\x12\x0C\x0A\x04etag\x18\x08 \x01(\x09\x12\x1A\x0A\x08resource\x18d \x01(\x09B\x06\xE0A\x01\xE0A\x05H\x00\x12A\x0A\x0Aattributes\x18n \x03(\x09B-\xE0A\x01\xFAA'\x0A%dataplex.googleapis.com/DataAttribute\x12G\x0A\x05paths\x18x \x03(\x0B23.google.cloud.dataplex.v1.DataAttributeBinding.PathB\x03\xE0A\x01\x1A\\\x0A\x04Path\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x12A\x0A\x0Aattributes\x18\x02 \x03(\x09B-\xE0A\x01\xFAA'\x0A%dataplex.googleapis.com/DataAttribute\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x8F\x01\x18\x01\xEAA\x89\x01\x0A,dataplex.googleapis.com/DataAttributeBinding\x12Yprojects/{project}/locations/{location}/dataAttributeBindings/{data_attribute_binding_id}B\x14\x0A\x12resource_reference\"\xD9\x01\x0A\x19CreateDataTaxonomyRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x1D\x0A\x10data_taxonomy_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12B\x0A\x0Ddata_taxonomy\x18\x03 \x01(\x0B2&.google.cloud.dataplex.v1.DataTaxonomyB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01:\x02\x18\x01\"\xB5\x01\x0A\x19UpdateDataTaxonomyRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12B\x0A\x0Ddata_taxonomy\x18\x02 \x01(\x0B2&.google.cloud.dataplex.v1.DataTaxonomyB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01:\x02\x18\x01\"X\x0A\x16GetDataTaxonomyRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/DataTaxonomy:\x02\x18\x01\"\xB3\x01\x0A\x19ListDataTaxonomiesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x95\x01\x0A\x1AListDataTaxonomiesResponse\x12?\x0A\x0Fdata_taxonomies\x18\x01 \x03(\x0B2&.google.cloud.dataplex.v1.DataTaxonomy\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"n\x0A\x19DeleteDataTaxonomyRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/DataTaxonomy\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01:\x02\x18\x01\"\xDC\x01\x0A\x1ACreateDataAttributeRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/DataTaxonomy\x12\x1E\x0A\x11data_attribute_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12D\x0A\x0Edata_attribute\x18\x03 \x01(\x0B2'.google.cloud.dataplex.v1.DataAttributeB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xB4\x01\x0A\x1AUpdateDataAttributeRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12D\x0A\x0Edata_attribute\x18\x02 \x01(\x0B2'.google.cloud.dataplex.v1.DataAttributeB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"V\x0A\x17GetDataAttributeRequest\x12;\x0A\x04name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%dataplex.googleapis.com/DataAttribute\"\xB6\x01\x0A\x19ListDataAttributesRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$dataplex.googleapis.com/DataTaxonomy\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x96\x01\x0A\x1AListDataAttributesResponse\x12@\x0A\x0Fdata_attributes\x18\x01 \x03(\x0B2'.google.cloud.dataplex.v1.DataAttribute\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"l\x0A\x1ADeleteDataAttributeRequest\x12;\x0A\x04name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%dataplex.googleapis.com/DataAttribute\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x01\"\xF7\x01\x0A!CreateDataAttributeBindingRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12&\x0A\x19data_attribute_binding_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12S\x0A\x16data_attribute_binding\x18\x03 \x01(\x0B2..google.cloud.dataplex.v1.DataAttributeBindingB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xCA\x01\x0A!UpdateDataAttributeBindingRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12S\x0A\x16data_attribute_binding\x18\x02 \x01(\x0B2..google.cloud.dataplex.v1.DataAttributeBindingB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"d\x0A\x1EGetDataAttributeBindingRequest\x12B\x0A\x04name\x18\x01 \x01(\x09B4\xE0A\x02\xFAA.\x0A,dataplex.googleapis.com/DataAttributeBinding\"\xBA\x01\x0A ListDataAttributeBindingsRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\xAC\x01\x0A!ListDataAttributeBindingsResponse\x12O\x0A\x17data_attribute_bindings\x18\x01 \x03(\x0B2..google.cloud.dataplex.v1.DataAttributeBinding\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"z\x0A!DeleteDataAttributeBindingRequest\x12B\x0A\x04name\x18\x01 \x01(\x09B4\xE0A\x02\xFAA.\x0A,dataplex.googleapis.com/DataAttributeBinding\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x022\xF0\x1D\x0A\x13DataTaxonomyService\x12\x83\x02\x0A\x12CreateDataTaxonomy\x123.google.cloud.dataplex.v1.CreateDataTaxonomyRequest\x1A\x1D.google.longrunning.Operation\"\x98\x01\x88\x02\x01\xCAA!\x0A\x0CDataTaxonomy\x12\x11OperationMetadata\xDAA%parent,data_taxonomy,data_taxonomy_id\x82\xD3\xE4\x93\x02C\"2/v1/{parent=projects/*/locations/*}/dataTaxonomies:\x0Ddata_taxonomy\x12\x85\x02\x0A\x12UpdateDataTaxonomy\x123.google.cloud.dataplex.v1.UpdateDataTaxonomyRequest\x1A\x1D.google.longrunning.Operation\"\x9A\x01\x88\x02\x01\xCAA!\x0A\x0CDataTaxonomy\x12\x11OperationMetadata\xDAA\x19data_taxonomy,update_mask\x82\xD3\xE4\x93\x02Q2@/v1/{data_taxonomy.name=projects/*/locations/*/dataTaxonomies/*}:\x0Ddata_taxonomy\x12\xDB\x01\x0A\x12DeleteDataTaxonomy\x123.google.cloud.dataplex.v1.DeleteDataTaxonomyRequest\x1A\x1D.google.longrunning.Operation\"q\x88\x02\x01\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x024*2/v1/{name=projects/*/locations/*/dataTaxonomies/*}\x12\xC7\x01\x0A\x12ListDataTaxonomies\x123.google.cloud.dataplex.v1.ListDataTaxonomiesRequest\x1A4.google.cloud.dataplex.v1.ListDataTaxonomiesResponse\"F\x88\x02\x01\xDAA\x06parent\x82\xD3\xE4\x93\x024\x122/v1/{parent=projects/*/locations/*}/dataTaxonomies\x12\xB1\x01\x0A\x0FGetDataTaxonomy\x120.google.cloud.dataplex.v1.GetDataTaxonomyRequest\x1A&.google.cloud.dataplex.v1.DataTaxonomy\"D\x88\x02\x01\xDAA\x04name\x82\xD3\xE4\x93\x024\x122/v1/{name=projects/*/locations/*/dataTaxonomies/*}\x12\xBD\x02\x0A\x1ACreateDataAttributeBinding\x12;.google.cloud.dataplex.v1.CreateDataAttributeBindingRequest\x1A\x1D.google.longrunning.Operation\"\xC2\x01\x88\x02\x01\xCAA)\x0A\x14DataAttributeBinding\x12\x11OperationMetadata\xDAA7parent,data_attribute_binding,data_attribute_binding_id\x82\xD3\xE4\x93\x02S\"9/v1/{parent=projects/*/locations/*}/dataAttributeBindings:\x16data_attribute_binding\x12\xBF\x02\x0A\x1AUpdateDataAttributeBinding\x12;.google.cloud.dataplex.v1.UpdateDataAttributeBindingRequest\x1A\x1D.google.longrunning.Operation\"\xC4\x01\x88\x02\x01\xCAA)\x0A\x14DataAttributeBinding\x12\x11OperationMetadata\xDAA\"data_attribute_binding,update_mask\x82\xD3\xE4\x93\x02j2P/v1/{data_attribute_binding.name=projects/*/locations/*/dataAttributeBindings/*}:\x16data_attribute_binding\x12\xF2\x01\x0A\x1ADeleteDataAttributeBinding\x12;.google.cloud.dataplex.v1.DeleteDataAttributeBindingRequest\x1A\x1D.google.longrunning.Operation\"x\x88\x02\x01\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02;*9/v1/{name=projects/*/locations/*/dataAttributeBindings/*}\x12\xE3\x01\x0A\x19ListDataAttributeBindings\x12:.google.cloud.dataplex.v1.ListDataAttributeBindingsRequest\x1A;.google.cloud.dataplex.v1.ListDataAttributeBindingsResponse\"M\x88\x02\x01\xDAA\x06parent\x82\xD3\xE4\x93\x02;\x129/v1/{parent=projects/*/locations/*}/dataAttributeBindings\x12\xD0\x01\x0A\x17GetDataAttributeBinding\x128.google.cloud.dataplex.v1.GetDataAttributeBindingRequest\x1A..google.cloud.dataplex.v1.DataAttributeBinding\"K\x88\x02\x01\xDAA\x04name\x82\xD3\xE4\x93\x02;\x129/v1/{name=projects/*/locations/*/dataAttributeBindings/*}\x12\x96\x02\x0A\x13CreateDataAttribute\x124.google.cloud.dataplex.v1.CreateDataAttributeRequest\x1A\x1D.google.longrunning.Operation\"\xA9\x01\x88\x02\x01\xCAA\"\x0A\x0DDataAttribute\x12\x11OperationMetadata\xDAA'parent,data_attribute,data_attribute_id\x82\xD3\xE4\x93\x02Q\"?/v1/{parent=projects/*/locations/*/dataTaxonomies/*}/attributes:\x0Edata_attribute\x12\x98\x02\x0A\x13UpdateDataAttribute\x124.google.cloud.dataplex.v1.UpdateDataAttributeRequest\x1A\x1D.google.longrunning.Operation\"\xAB\x01\x88\x02\x01\xCAA\"\x0A\x0DDataAttribute\x12\x11OperationMetadata\xDAA\x1Adata_attribute,update_mask\x82\xD3\xE4\x93\x02`2N/v1/{data_attribute.name=projects/*/locations/*/dataTaxonomies/*/attributes/*}:\x0Edata_attribute\x12\xEA\x01\x0A\x13DeleteDataAttribute\x124.google.cloud.dataplex.v1.DeleteDataAttributeRequest\x1A\x1D.google.longrunning.Operation\"~\x88\x02\x01\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02A*?/v1/{name=projects/*/locations/*/dataTaxonomies/*/attributes/*}\x12\xD4\x01\x0A\x12ListDataAttributes\x123.google.cloud.dataplex.v1.ListDataAttributesRequest\x1A4.google.cloud.dataplex.v1.ListDataAttributesResponse\"S\x88\x02\x01\xDAA\x06parent\x82\xD3\xE4\x93\x02A\x12?/v1/{parent=projects/*/locations/*/dataTaxonomies/*}/attributes\x12\xC1\x01\x0A\x10GetDataAttribute\x121.google.cloud.dataplex.v1.GetDataAttributeRequest\x1A'.google.cloud.dataplex.v1.DataAttribute\"Q\x88\x02\x01\xDAA\x04name\x82\xD3\xE4\x93\x02A\x12?/v1/{name=projects/*/locations/*/dataTaxonomies/*/attributes/*}\x1A\x82\x01\x88\x02\x01\xCAA\x17dataplex.googleapis.com\xD2Abhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/dataplex.read-writeBm\x0A\x1Ccom.google.cloud.dataplex.v1B\x11DataTaxonomyProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" , true); static::$is_initialized = true; diff --git a/Dataplex/metadata/V1/Datascans.php b/Dataplex/metadata/V1/Datascans.php index 7cb00f6a9c79..6682172bae2e 100644 --- a/Dataplex/metadata/V1/Datascans.php +++ b/Dataplex/metadata/V1/Datascans.php @@ -31,7 +31,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\FieldMask::initOnce(); \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\x9B<\x0A(google/cloud/dataplex/v1/datascans.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x1Bgoogle/api/field_info.proto\x1A\x19google/api/resource.proto\x1A-google/cloud/dataplex/v1/data_discovery.proto\x1A1google/cloud/dataplex/v1/data_documentation.proto\x1A+google/cloud/dataplex/v1/data_profile.proto\x1A+google/cloud/dataplex/v1/data_quality.proto\x1A)google/cloud/dataplex/v1/processing.proto\x1A(google/cloud/dataplex/v1/resources.proto\x1A&google/cloud/dataplex/v1/service.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xC5\x01\x0A\x15CreateDataScanRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12:\x0A\x09data_scan\x18\x02 \x01(\x0B2\".google.cloud.dataplex.v1.DataScanB\x03\xE0A\x02\x12\x19\x0A\x0Cdata_scan_id\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xA5\x01\x0A\x15UpdateDataScanRequest\x12:\x0A\x09data_scan\x18\x01 \x01(\x0B2\".google.cloud.dataplex.v1.DataScanB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"c\x0A\x15DeleteDataScanRequest\x126\x0A\x04name\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/DataScan\x12\x12\x0A\x05force\x18\x02 \x01(\x08B\x03\xE0A\x01\"\xDF\x01\x0A\x12GetDataScanRequest\x126\x0A\x04name\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/DataScan\x12L\x0A\x04view\x18\x02 \x01(\x0E29.google.cloud.dataplex.v1.GetDataScanRequest.DataScanViewB\x03\xE0A\x01\"C\x0A\x0CDataScanView\x12\x1E\x0A\x1ADATA_SCAN_VIEW_UNSPECIFIED\x10\x00\x12\x09\x0A\x05BASIC\x10\x01\x12\x08\x0A\x04FULL\x10\x0A\"\xAE\x01\x0A\x14ListDataScansRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"}\x0A\x15ListDataScansResponse\x126\x0A\x0Adata_scans\x18\x01 \x03(\x0B2\".google.cloud.dataplex.v1.DataScan\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x03 \x03(\x09\"L\x0A\x12RunDataScanRequest\x126\x0A\x04name\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/DataScan\"I\x0A\x13RunDataScanResponse\x122\x0A\x03job\x18\x01 \x01(\x0B2%.google.cloud.dataplex.v1.DataScanJob\"\xF2\x01\x0A\x15GetDataScanJobRequest\x129\x0A\x04name\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/DataScanJob\x12R\x0A\x04view\x18\x02 \x01(\x0E2?.google.cloud.dataplex.v1.GetDataScanJobRequest.DataScanJobViewB\x03\xE0A\x01\"J\x0A\x0FDataScanJobView\x12\"\x0A\x1EDATA_SCAN_JOB_VIEW_UNSPECIFIED\x10\x00\x12\x09\x0A\x05BASIC\x10\x01\x12\x08\x0A\x04FULL\x10\x0A\"\x99\x01\x0A\x17ListDataScanJobsRequest\x128\x0A\x06parent\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/DataScan\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\"r\x0A\x18ListDataScanJobsResponse\x12=\x0A\x0Edata_scan_jobs\x18\x01 \x03(\x0B2%.google.cloud.dataplex.v1.DataScanJob\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"4\x0A\x1FGenerateDataQualityRulesRequest\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\"[\x0A GenerateDataQualityRulesResponse\x127\x0A\x04rule\x18\x01 \x03(\x0B2).google.cloud.dataplex.v1.DataQualityRule\"\xDB\x0D\x0A\x08DataScan\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x12\x18\x0A\x0Bdescription\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cdisplay_name\x18\x04 \x01(\x09B\x03\xE0A\x01\x12C\x0A\x06labels\x18\x05 \x03(\x0B2..google.cloud.dataplex.v1.DataScan.LabelsEntryB\x03\xE0A\x01\x123\x0A\x05state\x18\x06 \x01(\x0E2\x1F.google.cloud.dataplex.v1.StateB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x08 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x127\x0A\x04data\x18\x09 \x01(\x0B2\$.google.cloud.dataplex.v1.DataSourceB\x03\xE0A\x02\x12M\x0A\x0Eexecution_spec\x18\x0A \x01(\x0B20.google.cloud.dataplex.v1.DataScan.ExecutionSpecB\x03\xE0A\x01\x12Q\x0A\x10execution_status\x18\x0B \x01(\x0B22.google.cloud.dataplex.v1.DataScan.ExecutionStatusB\x03\xE0A\x03\x129\x0A\x04type\x18\x0C \x01(\x0E2&.google.cloud.dataplex.v1.DataScanTypeB\x03\xE0A\x03\x12F\x0A\x11data_quality_spec\x18d \x01(\x0B2).google.cloud.dataplex.v1.DataQualitySpecH\x00\x12F\x0A\x11data_profile_spec\x18e \x01(\x0B2).google.cloud.dataplex.v1.DataProfileSpecH\x00\x12J\x0A\x13data_discovery_spec\x18f \x01(\x0B2+.google.cloud.dataplex.v1.DataDiscoverySpecH\x00\x12R\x0A\x17data_documentation_spec\x18g \x01(\x0B2/.google.cloud.dataplex.v1.DataDocumentationSpecH\x00\x12P\x0A\x13data_quality_result\x18\xC8\x01 \x01(\x0B2+.google.cloud.dataplex.v1.DataQualityResultB\x03\xE0A\x03H\x01\x12P\x0A\x13data_profile_result\x18\xC9\x01 \x01(\x0B2+.google.cloud.dataplex.v1.DataProfileResultB\x03\xE0A\x03H\x01\x12T\x0A\x15data_discovery_result\x18\xCA\x01 \x01(\x0B2-.google.cloud.dataplex.v1.DataDiscoveryResultB\x03\xE0A\x03H\x01\x12\\\x0A\x19data_documentation_result\x18\xCB\x01 \x01(\x0B21.google.cloud.dataplex.v1.DataDocumentationResultB\x03\xE0A\x03H\x01\x1Am\x0A\x0DExecutionSpec\x127\x0A\x07trigger\x18\x01 \x01(\x0B2!.google.cloud.dataplex.v1.TriggerB\x03\xE0A\x01\x12\x14\x0A\x05field\x18d \x01(\x09B\x03\xE0A\x05H\x00B\x0D\x0A\x0Bincremental\x1A\xD0\x01\x0A\x0FExecutionStatus\x12>\x0A\x15latest_job_start_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x12<\x0A\x13latest_job_end_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x12?\x0A\x16latest_job_create_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:c\xEAA`\x0A dataplex.googleapis.com/DataScan\x12\xDAA\x06parent\x82\xD3\xE4\x93\x02/\x12-/v1/{parent=projects/*/locations/*}/dataScans\x12\xAF\x01\x0A\x0BRunDataScan\x12,.google.cloud.dataplex.v1.RunDataScanRequest\x1A-.google.cloud.dataplex.v1.RunDataScanResponse\"C\xDAA\x04name\x82\xD3\xE4\x93\x026\"1/v1/{name=projects/*/locations/*/dataScans/*}:run:\x01*\x12\xAD\x01\x0A\x0EGetDataScanJob\x12/.google.cloud.dataplex.v1.GetDataScanJobRequest\x1A%.google.cloud.dataplex.v1.DataScanJob\"C\xDAA\x04name\x82\xD3\xE4\x93\x026\x124/v1/{name=projects/*/locations/*/dataScans/*/jobs/*}\x12\xC0\x01\x0A\x10ListDataScanJobs\x121.google.cloud.dataplex.v1.ListDataScanJobsRequest\x1A2.google.cloud.dataplex.v1.ListDataScanJobsResponse\"E\xDAA\x06parent\x82\xD3\xE4\x93\x026\x124/v1/{parent=projects/*/locations/*/dataScans/*}/jobs\x12\xC1\x02\x0A\x18GenerateDataQualityRules\x129.google.cloud.dataplex.v1.GenerateDataQualityRulesRequest\x1A:.google.cloud.dataplex.v1.GenerateDataQualityRulesResponse\"\xAD\x01\xDAA\x04name\x82\xD3\xE4\x93\x02\x9F\x01\"F/v1/{name=projects/*/locations/*/dataScans/*}:generateDataQualityRules:\x01*ZR\"M/v1/{name=projects/*/locations/*/dataScans/*/jobs/*}:generateDataQualityRules:\x01*\x1AK\xCAA\x17dataplex.googleapis.com\xD2A.https://www.googleapis.com/auth/cloud-platformBj\x0A\x1Ccom.google.cloud.dataplex.v1B\x0EDataScansProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" + "\x0A\xA5D\x0A(google/cloud/dataplex/v1/datascans.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x1Bgoogle/api/field_info.proto\x1A\x19google/api/resource.proto\x1A-google/cloud/dataplex/v1/data_discovery.proto\x1A1google/cloud/dataplex/v1/data_documentation.proto\x1A+google/cloud/dataplex/v1/data_profile.proto\x1A+google/cloud/dataplex/v1/data_quality.proto\x1A)google/cloud/dataplex/v1/processing.proto\x1A(google/cloud/dataplex/v1/resources.proto\x1A&google/cloud/dataplex/v1/service.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xC5\x01\x0A\x15CreateDataScanRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12:\x0A\x09data_scan\x18\x02 \x01(\x0B2\".google.cloud.dataplex.v1.DataScanB\x03\xE0A\x02\x12\x19\x0A\x0Cdata_scan_id\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\xA5\x01\x0A\x15UpdateDataScanRequest\x12:\x0A\x09data_scan\x18\x01 \x01(\x0B2\".google.cloud.dataplex.v1.DataScanB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"c\x0A\x15DeleteDataScanRequest\x126\x0A\x04name\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/DataScan\x12\x12\x0A\x05force\x18\x02 \x01(\x08B\x03\xE0A\x01\"\xDF\x01\x0A\x12GetDataScanRequest\x126\x0A\x04name\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/DataScan\x12L\x0A\x04view\x18\x02 \x01(\x0E29.google.cloud.dataplex.v1.GetDataScanRequest.DataScanViewB\x03\xE0A\x01\"C\x0A\x0CDataScanView\x12\x1E\x0A\x1ADATA_SCAN_VIEW_UNSPECIFIED\x10\x00\x12\x09\x0A\x05BASIC\x10\x01\x12\x08\x0A\x04FULL\x10\x0A\"\xAE\x01\x0A\x14ListDataScansRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"}\x0A\x15ListDataScansResponse\x126\x0A\x0Adata_scans\x18\x01 \x03(\x0B2\".google.cloud.dataplex.v1.DataScan\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x03 \x03(\x09\"L\x0A\x12RunDataScanRequest\x126\x0A\x04name\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/DataScan\"I\x0A\x13RunDataScanResponse\x122\x0A\x03job\x18\x01 \x01(\x0B2%.google.cloud.dataplex.v1.DataScanJob\"\xF2\x01\x0A\x15GetDataScanJobRequest\x129\x0A\x04name\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/DataScanJob\x12R\x0A\x04view\x18\x02 \x01(\x0E2?.google.cloud.dataplex.v1.GetDataScanJobRequest.DataScanJobViewB\x03\xE0A\x01\"J\x0A\x0FDataScanJobView\x12\"\x0A\x1EDATA_SCAN_JOB_VIEW_UNSPECIFIED\x10\x00\x12\x09\x0A\x05BASIC\x10\x01\x12\x08\x0A\x04FULL\x10\x0A\"\x99\x01\x0A\x17ListDataScanJobsRequest\x128\x0A\x06parent\x18\x01 \x01(\x09B(\xE0A\x02\xFAA\"\x0A dataplex.googleapis.com/DataScan\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\"r\x0A\x18ListDataScanJobsResponse\x12=\x0A\x0Edata_scan_jobs\x18\x01 \x03(\x0B2%.google.cloud.dataplex.v1.DataScanJob\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"U\x0A\x18CancelDataScanJobRequest\x129\x0A\x04name\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#dataplex.googleapis.com/DataScanJob\"\x1B\x0A\x19CancelDataScanJobResponse\"4\x0A\x1FGenerateDataQualityRulesRequest\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\"[\x0A GenerateDataQualityRulesResponse\x127\x0A\x04rule\x18\x01 \x03(\x0B2).google.cloud.dataplex.v1.DataQualityRule\"\xAD\x0E\x0A\x08DataScan\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x03\xE0A\x08\x12\x18\x0A\x03uid\x18\x02 \x01(\x09B\x0B\xE0A\x03\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x12\x18\x0A\x0Bdescription\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cdisplay_name\x18\x04 \x01(\x09B\x03\xE0A\x01\x12C\x0A\x06labels\x18\x05 \x03(\x0B2..google.cloud.dataplex.v1.DataScan.LabelsEntryB\x03\xE0A\x01\x123\x0A\x05state\x18\x06 \x01(\x0E2\x1F.google.cloud.dataplex.v1.StateB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x08 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x127\x0A\x04data\x18\x09 \x01(\x0B2\$.google.cloud.dataplex.v1.DataSourceB\x03\xE0A\x02\x12M\x0A\x0Eexecution_spec\x18\x0A \x01(\x0B20.google.cloud.dataplex.v1.DataScan.ExecutionSpecB\x03\xE0A\x01\x12Q\x0A\x10execution_status\x18\x0B \x01(\x0B22.google.cloud.dataplex.v1.DataScan.ExecutionStatusB\x03\xE0A\x03\x129\x0A\x04type\x18\x0C \x01(\x0E2&.google.cloud.dataplex.v1.DataScanTypeB\x03\xE0A\x03\x12F\x0A\x11data_quality_spec\x18d \x01(\x0B2).google.cloud.dataplex.v1.DataQualitySpecH\x00\x12F\x0A\x11data_profile_spec\x18e \x01(\x0B2).google.cloud.dataplex.v1.DataProfileSpecH\x00\x12J\x0A\x13data_discovery_spec\x18f \x01(\x0B2+.google.cloud.dataplex.v1.DataDiscoverySpecH\x00\x12R\x0A\x17data_documentation_spec\x18g \x01(\x0B2/.google.cloud.dataplex.v1.DataDocumentationSpecH\x00\x12P\x0A\x13data_quality_result\x18\xC8\x01 \x01(\x0B2+.google.cloud.dataplex.v1.DataQualityResultB\x03\xE0A\x03H\x01\x12P\x0A\x13data_profile_result\x18\xC9\x01 \x01(\x0B2+.google.cloud.dataplex.v1.DataProfileResultB\x03\xE0A\x03H\x01\x12T\x0A\x15data_discovery_result\x18\xCA\x01 \x01(\x0B2-.google.cloud.dataplex.v1.DataDiscoveryResultB\x03\xE0A\x03H\x01\x12\\\x0A\x19data_documentation_result\x18\xCB\x01 \x01(\x0B21.google.cloud.dataplex.v1.DataDocumentationResultB\x03\xE0A\x03H\x01\x12P\x0A\x12execution_identity\x18\xAC\x02 \x01(\x0B2+.google.cloud.dataplex.v1.ExecutionIdentityB\x06\xE0A\x01\xE0A\x05\x1Am\x0A\x0DExecutionSpec\x127\x0A\x07trigger\x18\x01 \x01(\x0B2!.google.cloud.dataplex.v1.TriggerB\x03\xE0A\x01\x12\x14\x0A\x05field\x18d \x01(\x09B\x03\xE0A\x05H\x00B\x0D\x0A\x0Bincremental\x1A\xD0\x01\x0A\x0FExecutionStatus\x12>\x0A\x15latest_job_start_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x12<\x0A\x13latest_job_end_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x12?\x0A\x16latest_job_create_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:c\xEAA`\x0A dataplex.googleapis.com/DataScan\x12\xDAA\x06parent\x82\xD3\xE4\x93\x02/\x12-/v1/{parent=projects/*/locations/*}/dataScans\x12\xAF\x01\x0A\x0BRunDataScan\x12,.google.cloud.dataplex.v1.RunDataScanRequest\x1A-.google.cloud.dataplex.v1.RunDataScanResponse\"C\xDAA\x04name\x82\xD3\xE4\x93\x026\"1/v1/{name=projects/*/locations/*/dataScans/*}:run:\x01*\x12\xAD\x01\x0A\x0EGetDataScanJob\x12/.google.cloud.dataplex.v1.GetDataScanJobRequest\x1A%.google.cloud.dataplex.v1.DataScanJob\"C\xDAA\x04name\x82\xD3\xE4\x93\x026\x124/v1/{name=projects/*/locations/*/dataScans/*/jobs/*}\x12\xC0\x01\x0A\x10ListDataScanJobs\x121.google.cloud.dataplex.v1.ListDataScanJobsRequest\x1A2.google.cloud.dataplex.v1.ListDataScanJobsResponse\"E\xDAA\x06parent\x82\xD3\xE4\x93\x026\x124/v1/{parent=projects/*/locations/*/dataScans/*}/jobs\x12\xCB\x01\x0A\x11CancelDataScanJob\x122.google.cloud.dataplex.v1.CancelDataScanJobRequest\x1A3.google.cloud.dataplex.v1.CancelDataScanJobResponse\"M\xDAA\x04name\x82\xD3\xE4\x93\x02@\";/v1/{name=projects/*/locations/*/dataScans/*/jobs/*}:cancel:\x01*\x12\xC1\x02\x0A\x18GenerateDataQualityRules\x129.google.cloud.dataplex.v1.GenerateDataQualityRulesRequest\x1A:.google.cloud.dataplex.v1.GenerateDataQualityRulesResponse\"\xAD\x01\xDAA\x04name\x82\xD3\xE4\x93\x02\x9F\x01\"F/v1/{name=projects/*/locations/*/dataScans/*}:generateDataQualityRules:\x01*ZR\"M/v1/{name=projects/*/locations/*/dataScans/*/jobs/*}:generateDataQualityRules:\x01*\x1A\xEB\x01\xCAA\x17dataplex.googleapis.com\xD2A\xCD\x01https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/dataplex.read-write,https://www.googleapis.com/auth/dataplex.readonlyBj\x0A\x1Ccom.google.cloud.dataplex.v1B\x0EDataScansProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" , true); static::$is_initialized = true; diff --git a/Dataplex/metadata/V1/Logs.php b/Dataplex/metadata/V1/Logs.php index 9199a1eb18ed..a58a4208c282 100644 --- a/Dataplex/metadata/V1/Logs.php +++ b/Dataplex/metadata/V1/Logs.php @@ -20,7 +20,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\Duration::initOnce(); \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xA4A\x0A#google/cloud/dataplex/v1/logs.proto\x12\x18google.cloud.dataplex.v1\x1A\x19google/api/resource.proto\x1A/google/cloud/dataplex/v1/datascans_common.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\x9D\x0C\x0A\x0EDiscoveryEvent\x12\x0F\x0A\x07message\x18\x01 \x01(\x09\x12\x0F\x0A\x07lake_id\x18\x02 \x01(\x09\x12\x0F\x0A\x07zone_id\x18\x03 \x01(\x09\x12\x10\x0A\x08asset_id\x18\x04 \x01(\x09\x12\x15\x0A\x0Ddata_location\x18\x05 \x01(\x09\x12\x13\x0A\x0Bdatascan_id\x18\x06 \x01(\x09\x12@\x0A\x04type\x18\x0A \x01(\x0E22.google.cloud.dataplex.v1.DiscoveryEvent.EventType\x12H\x0A\x06config\x18\x14 \x01(\x0B26.google.cloud.dataplex.v1.DiscoveryEvent.ConfigDetailsH\x00\x12H\x0A\x06entity\x18\x15 \x01(\x0B26.google.cloud.dataplex.v1.DiscoveryEvent.EntityDetailsH\x00\x12N\x0A\x09partition\x18\x16 \x01(\x0B29.google.cloud.dataplex.v1.DiscoveryEvent.PartitionDetailsH\x00\x12H\x0A\x06action\x18\x17 \x01(\x0B26.google.cloud.dataplex.v1.DiscoveryEvent.ActionDetailsH\x00\x12F\x0A\x05table\x18\x18 \x01(\x0B25.google.cloud.dataplex.v1.DiscoveryEvent.TableDetailsH\x00\x1A\x9E\x01\x0A\x0DConfigDetails\x12Z\x0A\x0Aparameters\x18\x01 \x03(\x0B2F.google.cloud.dataplex.v1.DiscoveryEvent.ConfigDetails.ParametersEntry\x1A1\x0A\x0FParametersEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\x1Ab\x0A\x0DEntityDetails\x12\x0E\x0A\x06entity\x18\x01 \x01(\x09\x12A\x0A\x04type\x18\x02 \x01(\x0E23.google.cloud.dataplex.v1.DiscoveryEvent.EntityType\x1A_\x0A\x0CTableDetails\x12\x0D\x0A\x05table\x18\x01 \x01(\x09\x12@\x0A\x04type\x18\x02 \x01(\x0E22.google.cloud.dataplex.v1.DiscoveryEvent.TableType\x1A\x98\x01\x0A\x10PartitionDetails\x12\x11\x0A\x09partition\x18\x01 \x01(\x09\x12\x0E\x0A\x06entity\x18\x02 \x01(\x09\x12A\x0A\x04type\x18\x03 \x01(\x0E23.google.cloud.dataplex.v1.DiscoveryEvent.EntityType\x12\x1E\x0A\x16sampled_data_locations\x18\x04 \x03(\x09\x1A,\x0A\x0DActionDetails\x12\x0C\x0A\x04type\x18\x01 \x01(\x09\x12\x0D\x0A\x05issue\x18\x02 \x01(\x09\"\x82\x02\x0A\x09EventType\x12\x1A\x0A\x16EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06CONFIG\x10\x01\x12\x12\x0A\x0EENTITY_CREATED\x10\x02\x12\x12\x0A\x0EENTITY_UPDATED\x10\x03\x12\x12\x0A\x0EENTITY_DELETED\x10\x04\x12\x15\x0A\x11PARTITION_CREATED\x10\x05\x12\x15\x0A\x11PARTITION_UPDATED\x10\x06\x12\x15\x0A\x11PARTITION_DELETED\x10\x07\x12\x13\x0A\x0FTABLE_PUBLISHED\x10\x0A\x12\x11\x0A\x0DTABLE_UPDATED\x10\x0B\x12\x11\x0A\x0DTABLE_IGNORED\x10\x0C\x12\x11\x0A\x0DTABLE_DELETED\x10\x0D\"A\x0A\x0AEntityType\x12\x1B\x0A\x17ENTITY_TYPE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05TABLE\x10\x01\x12\x0B\x0A\x07FILESET\x10\x02\"`\x0A\x09TableType\x12\x1A\x0A\x16TABLE_TYPE_UNSPECIFIED\x10\x00\x12\x12\x0A\x0EEXTERNAL_TABLE\x10\x01\x12\x11\x0A\x0DBIGLAKE_TABLE\x10\x02\x12\x10\x0A\x0COBJECT_TABLE\x10\x03B\x09\x0A\x07details\"\xC5\x05\x0A\x08JobEvent\x12\x0F\x0A\x07message\x18\x01 \x01(\x09\x12\x0E\x0A\x06job_id\x18\x02 \x01(\x09\x12.\x0A\x0Astart_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12,\x0A\x08end_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.Timestamp\x127\x0A\x05state\x18\x05 \x01(\x0E2(.google.cloud.dataplex.v1.JobEvent.State\x12\x0F\x0A\x07retries\x18\x06 \x01(\x05\x125\x0A\x04type\x18\x07 \x01(\x0E2'.google.cloud.dataplex.v1.JobEvent.Type\x12;\x0A\x07service\x18\x08 \x01(\x0E2*.google.cloud.dataplex.v1.JobEvent.Service\x12\x13\x0A\x0Bservice_job\x18\x09 \x01(\x09\x12N\x0A\x11execution_trigger\x18\x0B \x01(\x0E23.google.cloud.dataplex.v1.JobEvent.ExecutionTrigger\"5\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05SPARK\x10\x01\x12\x0C\x0A\x08NOTEBOOK\x10\x02\"U\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09SUCCEEDED\x10\x01\x12\x0A\x0A\x06FAILED\x10\x02\x12\x0D\x0A\x09CANCELLED\x10\x03\x12\x0B\x0A\x07ABORTED\x10\x04\"0\x0A\x07Service\x12\x17\x0A\x13SERVICE_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08DATAPROC\x10\x01\"W\x0A\x10ExecutionTrigger\x12!\x0A\x1DEXECUTION_TRIGGER_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BTASK_CONFIG\x10\x01\x12\x0F\x0A\x0BRUN_REQUEST\x10\x02\"\xBD\x05\x0A\x0CSessionEvent\x12\x0F\x0A\x07message\x18\x01 \x01(\x09\x12\x0F\x0A\x07user_id\x18\x02 \x01(\x09\x12\x12\x0A\x0Asession_id\x18\x03 \x01(\x09\x12>\x0A\x04type\x18\x04 \x01(\x0E20.google.cloud.dataplex.v1.SessionEvent.EventType\x12C\x0A\x05query\x18\x05 \x01(\x0B22.google.cloud.dataplex.v1.SessionEvent.QueryDetailH\x00\x12\x17\x0A\x0Fevent_succeeded\x18\x06 \x01(\x08\x12\x1C\x0A\x14fast_startup_enabled\x18\x07 \x01(\x08\x126\x0A\x13unassigned_duration\x18\x08 \x01(\x0B2\x19.google.protobuf.Duration\x1A\xA3\x02\x0A\x0BQueryDetail\x12\x10\x0A\x08query_id\x18\x01 \x01(\x09\x12\x12\x0A\x0Aquery_text\x18\x02 \x01(\x09\x12I\x0A\x06engine\x18\x03 \x01(\x0E29.google.cloud.dataplex.v1.SessionEvent.QueryDetail.Engine\x12+\x0A\x08duration\x18\x04 \x01(\x0B2\x19.google.protobuf.Duration\x12\x19\x0A\x11result_size_bytes\x18\x05 \x01(\x03\x12\x1C\x0A\x14data_processed_bytes\x18\x06 \x01(\x03\"=\x0A\x06Engine\x12\x16\x0A\x12ENGINE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09SPARK_SQL\x10\x01\x12\x0C\x0A\x08BIGQUERY\x10\x02\"S\x0A\x09EventType\x12\x1A\x0A\x16EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05START\x10\x01\x12\x08\x0A\x04STOP\x10\x02\x12\x09\x0A\x05QUERY\x10\x03\x12\x0A\x0A\x06CREATE\x10\x04B\x08\x0A\x06detail\"\xBA\x07\x0A\x0FGovernanceEvent\x12\x0F\x0A\x07message\x18\x01 \x01(\x09\x12G\x0A\x0Aevent_type\x18\x02 \x01(\x0E23.google.cloud.dataplex.v1.GovernanceEvent.EventType\x12E\x0A\x06entity\x18\x03 \x01(\x0B20.google.cloud.dataplex.v1.GovernanceEvent.EntityH\x00\x88\x01\x01\x1A\xD2\x01\x0A\x06Entity\x123\x0A\x06entity\x18\x01 \x01(\x09B#\xFAA \x0A\x1Edataplex.googleapis.com/Entity\x12P\x0A\x0Bentity_type\x18\x02 \x01(\x0E2;.google.cloud.dataplex.v1.GovernanceEvent.Entity.EntityType\"A\x0A\x0AEntityType\x12\x1B\x0A\x17ENTITY_TYPE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05TABLE\x10\x01\x12\x0B\x0A\x07FILESET\x10\x02\"\xA5\x04\x0A\x09EventType\x12\x1A\x0A\x16EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x1E\x0A\x1ARESOURCE_IAM_POLICY_UPDATE\x10\x01\x12\x19\x0A\x15BIGQUERY_TABLE_CREATE\x10\x02\x12\x19\x0A\x15BIGQUERY_TABLE_UPDATE\x10\x03\x12\x19\x0A\x15BIGQUERY_TABLE_DELETE\x10\x04\x12\x1E\x0A\x1ABIGQUERY_CONNECTION_CREATE\x10\x05\x12\x1E\x0A\x1ABIGQUERY_CONNECTION_UPDATE\x10\x06\x12\x1E\x0A\x1ABIGQUERY_CONNECTION_DELETE\x10\x07\x12\x1C\x0A\x18BIGQUERY_TAXONOMY_CREATE\x10\x0A\x12\x1E\x0A\x1ABIGQUERY_POLICY_TAG_CREATE\x10\x0B\x12\x1E\x0A\x1ABIGQUERY_POLICY_TAG_DELETE\x10\x0C\x12&\x0A\"BIGQUERY_POLICY_TAG_SET_IAM_POLICY\x10\x0D\x12\x18\x0A\x14ACCESS_POLICY_UPDATE\x10\x0E\x12%\x0A!GOVERNANCE_RULE_MATCHED_RESOURCES\x10\x0F\x12(\x0A\$GOVERNANCE_RULE_SEARCH_LIMIT_EXCEEDS\x10\x10\x12\x1A\x0A\x16GOVERNANCE_RULE_ERRORS\x10\x11\x12\x1E\x0A\x1AGOVERNANCE_RULE_PROCESSING\x10\x12B\x09\x0A\x07_entity\"\xF3\x13\x0A\x0DDataScanEvent\x12\x13\x0A\x0Bdata_source\x18\x01 \x01(\x09\x12\x0E\x0A\x06job_id\x18\x02 \x01(\x09\x12/\x0A\x0Bcreate_time\x18\x0C \x01(\x0B2\x1A.google.protobuf.Timestamp\x12.\x0A\x0Astart_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12,\x0A\x08end_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12>\x0A\x04type\x18\x05 \x01(\x0E20.google.cloud.dataplex.v1.DataScanEvent.ScanType\x12<\x0A\x05state\x18\x06 \x01(\x0E2-.google.cloud.dataplex.v1.DataScanEvent.State\x12\x0F\x0A\x07message\x18\x07 \x01(\x09\x12\x14\x0A\x0Cspec_version\x18\x08 \x01(\x09\x12@\x0A\x07trigger\x18\x09 \x01(\x0E2/.google.cloud.dataplex.v1.DataScanEvent.Trigger\x12<\x0A\x05scope\x18\x0A \x01(\x0E2-.google.cloud.dataplex.v1.DataScanEvent.Scope\x12Q\x0A\x0Cdata_profile\x18e \x01(\x0B29.google.cloud.dataplex.v1.DataScanEvent.DataProfileResultH\x00\x12Q\x0A\x0Cdata_quality\x18f \x01(\x0B29.google.cloud.dataplex.v1.DataScanEvent.DataQualityResultH\x00\x12b\x0A\x14data_profile_configs\x18\xC9\x01 \x01(\x0B2A.google.cloud.dataplex.v1.DataScanEvent.DataProfileAppliedConfigsH\x01\x12b\x0A\x14data_quality_configs\x18\xCA\x01 \x01(\x0B2A.google.cloud.dataplex.v1.DataScanEvent.DataQualityAppliedConfigsH\x01\x12_\x0A\x18post_scan_actions_result\x18\x0B \x01(\x0B2=.google.cloud.dataplex.v1.DataScanEvent.PostScanActionsResult\x12\\\x0A\x19catalog_publishing_status\x18\x0D \x01(\x0B29.google.cloud.dataplex.v1.DataScanCatalogPublishingStatus\x1A&\x0A\x11DataProfileResult\x12\x11\x0A\x09row_count\x18\x01 \x01(\x03\x1A\x9C\x04\x0A\x11DataQualityResult\x12\x11\x0A\x09row_count\x18\x01 \x01(\x03\x12\x0E\x0A\x06passed\x18\x02 \x01(\x08\x12h\x0A\x10dimension_passed\x18\x03 \x03(\x0B2N.google.cloud.dataplex.v1.DataScanEvent.DataQualityResult.DimensionPassedEntry\x12\x0D\x0A\x05score\x18\x04 \x01(\x02\x12f\x0A\x0Fdimension_score\x18\x05 \x03(\x0B2M.google.cloud.dataplex.v1.DataScanEvent.DataQualityResult.DimensionScoreEntry\x12`\x0A\x0Ccolumn_score\x18\x06 \x03(\x0B2J.google.cloud.dataplex.v1.DataScanEvent.DataQualityResult.ColumnScoreEntry\x1A6\x0A\x14DimensionPassedEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x08:\x028\x01\x1A5\x0A\x13DimensionScoreEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x02:\x028\x01\x1A2\x0A\x10ColumnScoreEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x02:\x028\x01\x1Ap\x0A\x19DataProfileAppliedConfigs\x12\x18\x0A\x10sampling_percent\x18\x01 \x01(\x02\x12\x1A\x0A\x12row_filter_applied\x18\x02 \x01(\x08\x12\x1D\x0A\x15column_filter_applied\x18\x03 \x01(\x08\x1AQ\x0A\x19DataQualityAppliedConfigs\x12\x18\x0A\x10sampling_percent\x18\x01 \x01(\x02\x12\x1A\x0A\x12row_filter_applied\x18\x02 \x01(\x08\x1A\xE6\x02\x0A\x15PostScanActionsResult\x12r\x0A\x16bigquery_export_result\x18\x01 \x01(\x0B2R.google.cloud.dataplex.v1.DataScanEvent.PostScanActionsResult.BigQueryExportResult\x1A\xD8\x01\x0A\x14BigQueryExportResult\x12g\x0A\x05state\x18\x01 \x01(\x0E2X.google.cloud.dataplex.v1.DataScanEvent.PostScanActionsResult.BigQueryExportResult.State\x12\x0F\x0A\x07message\x18\x02 \x01(\x09\"F\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09SUCCEEDED\x10\x01\x12\x0A\x0A\x06FAILED\x10\x02\x12\x0B\x0A\x07SKIPPED\x10\x03\"]\x0A\x08ScanType\x12\x19\x0A\x15SCAN_TYPE_UNSPECIFIED\x10\x00\x12\x10\x0A\x0CDATA_PROFILE\x10\x01\x12\x10\x0A\x0CDATA_QUALITY\x10\x02\x12\x12\x0A\x0EDATA_DISCOVERY\x10\x04\"b\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07STARTED\x10\x01\x12\x0D\x0A\x09SUCCEEDED\x10\x02\x12\x0A\x0A\x06FAILED\x10\x03\x12\x0D\x0A\x09CANCELLED\x10\x04\x12\x0B\x0A\x07CREATED\x10\x05\"M\x0A\x07Trigger\x12\x17\x0A\x13TRIGGER_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09ON_DEMAND\x10\x01\x12\x0C\x0A\x08SCHEDULE\x10\x02\x12\x0C\x0A\x08ONE_TIME\x10\x03\"9\x0A\x05Scope\x12\x15\x0A\x11SCOPE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04FULL\x10\x01\x12\x0F\x0A\x0BINCREMENTAL\x10\x02B\x08\x0A\x06resultB\x10\x0A\x0EappliedConfigs\"\x99\x07\x0A\x19DataQualityScanRuleResult\x12\x0E\x0A\x06job_id\x18\x01 \x01(\x09\x12\x13\x0A\x0Bdata_source\x18\x02 \x01(\x09\x12\x0E\x0A\x06column\x18\x03 \x01(\x09\x12\x11\x0A\x09rule_name\x18\x04 \x01(\x09\x12O\x0A\x09rule_type\x18\x05 \x01(\x0E2<.google.cloud.dataplex.v1.DataQualityScanRuleResult.RuleType\x12Z\x0A\x0Eevalution_type\x18\x06 \x01(\x0E2B.google.cloud.dataplex.v1.DataQualityScanRuleResult.EvaluationType\x12\x16\x0A\x0Erule_dimension\x18\x07 \x01(\x09\x12\x19\x0A\x11threshold_percent\x18\x08 \x01(\x01\x12J\x0A\x06result\x18\x09 \x01(\x0E2:.google.cloud.dataplex.v1.DataQualityScanRuleResult.Result\x12\x1B\x0A\x13evaluated_row_count\x18\x0A \x01(\x03\x12\x18\x0A\x10passed_row_count\x18\x0B \x01(\x03\x12\x16\x0A\x0Enull_row_count\x18\x0C \x01(\x03\x12\x1B\x0A\x13assertion_row_count\x18\x0D \x01(\x03\"\x92\x02\x0A\x08RuleType\x12\x19\x0A\x15RULE_TYPE_UNSPECIFIED\x10\x00\x12\x18\x0A\x14NON_NULL_EXPECTATION\x10\x01\x12\x15\x0A\x11RANGE_EXPECTATION\x10\x02\x12\x15\x0A\x11REGEX_EXPECTATION\x10\x03\x12\x1D\x0A\x19ROW_CONDITION_EXPECTATION\x10\x04\x12\x13\x0A\x0FSET_EXPECTATION\x10\x05\x12\x1F\x0A\x1BSTATISTIC_RANGE_EXPECTATION\x10\x06\x12\x1F\x0A\x1BTABLE_CONDITION_EXPECTATION\x10\x07\x12\x1A\x0A\x16UNIQUENESS_EXPECTATION\x10\x08\x12\x11\x0A\x0DSQL_ASSERTION\x10\x09\"M\x0A\x0EEvaluationType\x12\x1F\x0A\x1BEVALUATION_TYPE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PER_ROW\x10\x01\x12\x0D\x0A\x09AGGREGATE\x10\x02\"8\x0A\x06Result\x12\x16\x0A\x12RESULT_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06PASSED\x10\x01\x12\x0A\x0A\x06FAILED\x10\x02\"\x9A\x03\x0A\x15BusinessGlossaryEvent\x12\x0F\x0A\x07message\x18\x01 \x01(\x09\x12M\x0A\x0Aevent_type\x18\x02 \x01(\x0E29.google.cloud.dataplex.v1.BusinessGlossaryEvent.EventType\x12\x10\x0A\x08resource\x18\x03 \x01(\x09\"\x8E\x02\x0A\x09EventType\x12\x1A\x0A\x16EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x13\x0A\x0FGLOSSARY_CREATE\x10\x01\x12\x13\x0A\x0FGLOSSARY_UPDATE\x10\x02\x12\x13\x0A\x0FGLOSSARY_DELETE\x10\x03\x12\x1C\x0A\x18GLOSSARY_CATEGORY_CREATE\x10\x04\x12\x1C\x0A\x18GLOSSARY_CATEGORY_UPDATE\x10\x05\x12\x1C\x0A\x18GLOSSARY_CATEGORY_DELETE\x10\x06\x12\x18\x0A\x14GLOSSARY_TERM_CREATE\x10\x07\x12\x18\x0A\x14GLOSSARY_TERM_UPDATE\x10\x08\x12\x18\x0A\x14GLOSSARY_TERM_DELETE\x10\x09\"\xD2\x01\x0A\x0EEntryLinkEvent\x12\x0F\x0A\x07message\x18\x01 \x01(\x09\x12F\x0A\x0Aevent_type\x18\x02 \x01(\x0E22.google.cloud.dataplex.v1.EntryLinkEvent.EventType\x12\x10\x0A\x08resource\x18\x03 \x01(\x09\"U\x0A\x09EventType\x12\x1A\x0A\x16EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x15\x0A\x11ENTRY_LINK_CREATE\x10\x01\x12\x15\x0A\x11ENTRY_LINK_DELETE\x10\x02Be\x0A\x1Ccom.google.cloud.dataplex.v1B\x09LogsProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" + "\x0A\xBCA\x0A#google/cloud/dataplex/v1/logs.proto\x12\x18google.cloud.dataplex.v1\x1A\x19google/api/resource.proto\x1A/google/cloud/dataplex/v1/datascans_common.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\x9D\x0C\x0A\x0EDiscoveryEvent\x12\x0F\x0A\x07message\x18\x01 \x01(\x09\x12\x0F\x0A\x07lake_id\x18\x02 \x01(\x09\x12\x0F\x0A\x07zone_id\x18\x03 \x01(\x09\x12\x10\x0A\x08asset_id\x18\x04 \x01(\x09\x12\x15\x0A\x0Ddata_location\x18\x05 \x01(\x09\x12\x13\x0A\x0Bdatascan_id\x18\x06 \x01(\x09\x12@\x0A\x04type\x18\x0A \x01(\x0E22.google.cloud.dataplex.v1.DiscoveryEvent.EventType\x12H\x0A\x06config\x18\x14 \x01(\x0B26.google.cloud.dataplex.v1.DiscoveryEvent.ConfigDetailsH\x00\x12H\x0A\x06entity\x18\x15 \x01(\x0B26.google.cloud.dataplex.v1.DiscoveryEvent.EntityDetailsH\x00\x12N\x0A\x09partition\x18\x16 \x01(\x0B29.google.cloud.dataplex.v1.DiscoveryEvent.PartitionDetailsH\x00\x12H\x0A\x06action\x18\x17 \x01(\x0B26.google.cloud.dataplex.v1.DiscoveryEvent.ActionDetailsH\x00\x12F\x0A\x05table\x18\x18 \x01(\x0B25.google.cloud.dataplex.v1.DiscoveryEvent.TableDetailsH\x00\x1A\x9E\x01\x0A\x0DConfigDetails\x12Z\x0A\x0Aparameters\x18\x01 \x03(\x0B2F.google.cloud.dataplex.v1.DiscoveryEvent.ConfigDetails.ParametersEntry\x1A1\x0A\x0FParametersEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\x1Ab\x0A\x0DEntityDetails\x12\x0E\x0A\x06entity\x18\x01 \x01(\x09\x12A\x0A\x04type\x18\x02 \x01(\x0E23.google.cloud.dataplex.v1.DiscoveryEvent.EntityType\x1A_\x0A\x0CTableDetails\x12\x0D\x0A\x05table\x18\x01 \x01(\x09\x12@\x0A\x04type\x18\x02 \x01(\x0E22.google.cloud.dataplex.v1.DiscoveryEvent.TableType\x1A\x98\x01\x0A\x10PartitionDetails\x12\x11\x0A\x09partition\x18\x01 \x01(\x09\x12\x0E\x0A\x06entity\x18\x02 \x01(\x09\x12A\x0A\x04type\x18\x03 \x01(\x0E23.google.cloud.dataplex.v1.DiscoveryEvent.EntityType\x12\x1E\x0A\x16sampled_data_locations\x18\x04 \x03(\x09\x1A,\x0A\x0DActionDetails\x12\x0C\x0A\x04type\x18\x01 \x01(\x09\x12\x0D\x0A\x05issue\x18\x02 \x01(\x09\"\x82\x02\x0A\x09EventType\x12\x1A\x0A\x16EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06CONFIG\x10\x01\x12\x12\x0A\x0EENTITY_CREATED\x10\x02\x12\x12\x0A\x0EENTITY_UPDATED\x10\x03\x12\x12\x0A\x0EENTITY_DELETED\x10\x04\x12\x15\x0A\x11PARTITION_CREATED\x10\x05\x12\x15\x0A\x11PARTITION_UPDATED\x10\x06\x12\x15\x0A\x11PARTITION_DELETED\x10\x07\x12\x13\x0A\x0FTABLE_PUBLISHED\x10\x0A\x12\x11\x0A\x0DTABLE_UPDATED\x10\x0B\x12\x11\x0A\x0DTABLE_IGNORED\x10\x0C\x12\x11\x0A\x0DTABLE_DELETED\x10\x0D\"A\x0A\x0AEntityType\x12\x1B\x0A\x17ENTITY_TYPE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05TABLE\x10\x01\x12\x0B\x0A\x07FILESET\x10\x02\"`\x0A\x09TableType\x12\x1A\x0A\x16TABLE_TYPE_UNSPECIFIED\x10\x00\x12\x12\x0A\x0EEXTERNAL_TABLE\x10\x01\x12\x11\x0A\x0DBIGLAKE_TABLE\x10\x02\x12\x10\x0A\x0COBJECT_TABLE\x10\x03B\x09\x0A\x07details\"\xC5\x05\x0A\x08JobEvent\x12\x0F\x0A\x07message\x18\x01 \x01(\x09\x12\x0E\x0A\x06job_id\x18\x02 \x01(\x09\x12.\x0A\x0Astart_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12,\x0A\x08end_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.Timestamp\x127\x0A\x05state\x18\x05 \x01(\x0E2(.google.cloud.dataplex.v1.JobEvent.State\x12\x0F\x0A\x07retries\x18\x06 \x01(\x05\x125\x0A\x04type\x18\x07 \x01(\x0E2'.google.cloud.dataplex.v1.JobEvent.Type\x12;\x0A\x07service\x18\x08 \x01(\x0E2*.google.cloud.dataplex.v1.JobEvent.Service\x12\x13\x0A\x0Bservice_job\x18\x09 \x01(\x09\x12N\x0A\x11execution_trigger\x18\x0B \x01(\x0E23.google.cloud.dataplex.v1.JobEvent.ExecutionTrigger\"5\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05SPARK\x10\x01\x12\x0C\x0A\x08NOTEBOOK\x10\x02\"U\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09SUCCEEDED\x10\x01\x12\x0A\x0A\x06FAILED\x10\x02\x12\x0D\x0A\x09CANCELLED\x10\x03\x12\x0B\x0A\x07ABORTED\x10\x04\"0\x0A\x07Service\x12\x17\x0A\x13SERVICE_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08DATAPROC\x10\x01\"W\x0A\x10ExecutionTrigger\x12!\x0A\x1DEXECUTION_TRIGGER_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BTASK_CONFIG\x10\x01\x12\x0F\x0A\x0BRUN_REQUEST\x10\x02\"\xBD\x05\x0A\x0CSessionEvent\x12\x0F\x0A\x07message\x18\x01 \x01(\x09\x12\x0F\x0A\x07user_id\x18\x02 \x01(\x09\x12\x12\x0A\x0Asession_id\x18\x03 \x01(\x09\x12>\x0A\x04type\x18\x04 \x01(\x0E20.google.cloud.dataplex.v1.SessionEvent.EventType\x12C\x0A\x05query\x18\x05 \x01(\x0B22.google.cloud.dataplex.v1.SessionEvent.QueryDetailH\x00\x12\x17\x0A\x0Fevent_succeeded\x18\x06 \x01(\x08\x12\x1C\x0A\x14fast_startup_enabled\x18\x07 \x01(\x08\x126\x0A\x13unassigned_duration\x18\x08 \x01(\x0B2\x19.google.protobuf.Duration\x1A\xA3\x02\x0A\x0BQueryDetail\x12\x10\x0A\x08query_id\x18\x01 \x01(\x09\x12\x12\x0A\x0Aquery_text\x18\x02 \x01(\x09\x12I\x0A\x06engine\x18\x03 \x01(\x0E29.google.cloud.dataplex.v1.SessionEvent.QueryDetail.Engine\x12+\x0A\x08duration\x18\x04 \x01(\x0B2\x19.google.protobuf.Duration\x12\x19\x0A\x11result_size_bytes\x18\x05 \x01(\x03\x12\x1C\x0A\x14data_processed_bytes\x18\x06 \x01(\x03\"=\x0A\x06Engine\x12\x16\x0A\x12ENGINE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09SPARK_SQL\x10\x01\x12\x0C\x0A\x08BIGQUERY\x10\x02\"S\x0A\x09EventType\x12\x1A\x0A\x16EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05START\x10\x01\x12\x08\x0A\x04STOP\x10\x02\x12\x09\x0A\x05QUERY\x10\x03\x12\x0A\x0A\x06CREATE\x10\x04B\x08\x0A\x06detail\"\xBA\x07\x0A\x0FGovernanceEvent\x12\x0F\x0A\x07message\x18\x01 \x01(\x09\x12G\x0A\x0Aevent_type\x18\x02 \x01(\x0E23.google.cloud.dataplex.v1.GovernanceEvent.EventType\x12E\x0A\x06entity\x18\x03 \x01(\x0B20.google.cloud.dataplex.v1.GovernanceEvent.EntityH\x00\x88\x01\x01\x1A\xD2\x01\x0A\x06Entity\x123\x0A\x06entity\x18\x01 \x01(\x09B#\xFAA \x0A\x1Edataplex.googleapis.com/Entity\x12P\x0A\x0Bentity_type\x18\x02 \x01(\x0E2;.google.cloud.dataplex.v1.GovernanceEvent.Entity.EntityType\"A\x0A\x0AEntityType\x12\x1B\x0A\x17ENTITY_TYPE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05TABLE\x10\x01\x12\x0B\x0A\x07FILESET\x10\x02\"\xA5\x04\x0A\x09EventType\x12\x1A\x0A\x16EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x1E\x0A\x1ARESOURCE_IAM_POLICY_UPDATE\x10\x01\x12\x19\x0A\x15BIGQUERY_TABLE_CREATE\x10\x02\x12\x19\x0A\x15BIGQUERY_TABLE_UPDATE\x10\x03\x12\x19\x0A\x15BIGQUERY_TABLE_DELETE\x10\x04\x12\x1E\x0A\x1ABIGQUERY_CONNECTION_CREATE\x10\x05\x12\x1E\x0A\x1ABIGQUERY_CONNECTION_UPDATE\x10\x06\x12\x1E\x0A\x1ABIGQUERY_CONNECTION_DELETE\x10\x07\x12\x1C\x0A\x18BIGQUERY_TAXONOMY_CREATE\x10\x0A\x12\x1E\x0A\x1ABIGQUERY_POLICY_TAG_CREATE\x10\x0B\x12\x1E\x0A\x1ABIGQUERY_POLICY_TAG_DELETE\x10\x0C\x12&\x0A\"BIGQUERY_POLICY_TAG_SET_IAM_POLICY\x10\x0D\x12\x18\x0A\x14ACCESS_POLICY_UPDATE\x10\x0E\x12%\x0A!GOVERNANCE_RULE_MATCHED_RESOURCES\x10\x0F\x12(\x0A\$GOVERNANCE_RULE_SEARCH_LIMIT_EXCEEDS\x10\x10\x12\x1A\x0A\x16GOVERNANCE_RULE_ERRORS\x10\x11\x12\x1E\x0A\x1AGOVERNANCE_RULE_PROCESSING\x10\x12B\x09\x0A\x07_entity\"\xF3\x13\x0A\x0DDataScanEvent\x12\x13\x0A\x0Bdata_source\x18\x01 \x01(\x09\x12\x0E\x0A\x06job_id\x18\x02 \x01(\x09\x12/\x0A\x0Bcreate_time\x18\x0C \x01(\x0B2\x1A.google.protobuf.Timestamp\x12.\x0A\x0Astart_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12,\x0A\x08end_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12>\x0A\x04type\x18\x05 \x01(\x0E20.google.cloud.dataplex.v1.DataScanEvent.ScanType\x12<\x0A\x05state\x18\x06 \x01(\x0E2-.google.cloud.dataplex.v1.DataScanEvent.State\x12\x0F\x0A\x07message\x18\x07 \x01(\x09\x12\x14\x0A\x0Cspec_version\x18\x08 \x01(\x09\x12@\x0A\x07trigger\x18\x09 \x01(\x0E2/.google.cloud.dataplex.v1.DataScanEvent.Trigger\x12<\x0A\x05scope\x18\x0A \x01(\x0E2-.google.cloud.dataplex.v1.DataScanEvent.Scope\x12Q\x0A\x0Cdata_profile\x18e \x01(\x0B29.google.cloud.dataplex.v1.DataScanEvent.DataProfileResultH\x00\x12Q\x0A\x0Cdata_quality\x18f \x01(\x0B29.google.cloud.dataplex.v1.DataScanEvent.DataQualityResultH\x00\x12b\x0A\x14data_profile_configs\x18\xC9\x01 \x01(\x0B2A.google.cloud.dataplex.v1.DataScanEvent.DataProfileAppliedConfigsH\x01\x12b\x0A\x14data_quality_configs\x18\xCA\x01 \x01(\x0B2A.google.cloud.dataplex.v1.DataScanEvent.DataQualityAppliedConfigsH\x01\x12_\x0A\x18post_scan_actions_result\x18\x0B \x01(\x0B2=.google.cloud.dataplex.v1.DataScanEvent.PostScanActionsResult\x12\\\x0A\x19catalog_publishing_status\x18\x0D \x01(\x0B29.google.cloud.dataplex.v1.DataScanCatalogPublishingStatus\x1A&\x0A\x11DataProfileResult\x12\x11\x0A\x09row_count\x18\x01 \x01(\x03\x1A\x9C\x04\x0A\x11DataQualityResult\x12\x11\x0A\x09row_count\x18\x01 \x01(\x03\x12\x0E\x0A\x06passed\x18\x02 \x01(\x08\x12h\x0A\x10dimension_passed\x18\x03 \x03(\x0B2N.google.cloud.dataplex.v1.DataScanEvent.DataQualityResult.DimensionPassedEntry\x12\x0D\x0A\x05score\x18\x04 \x01(\x02\x12f\x0A\x0Fdimension_score\x18\x05 \x03(\x0B2M.google.cloud.dataplex.v1.DataScanEvent.DataQualityResult.DimensionScoreEntry\x12`\x0A\x0Ccolumn_score\x18\x06 \x03(\x0B2J.google.cloud.dataplex.v1.DataScanEvent.DataQualityResult.ColumnScoreEntry\x1A6\x0A\x14DimensionPassedEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x08:\x028\x01\x1A5\x0A\x13DimensionScoreEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x02:\x028\x01\x1A2\x0A\x10ColumnScoreEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x02:\x028\x01\x1Ap\x0A\x19DataProfileAppliedConfigs\x12\x18\x0A\x10sampling_percent\x18\x01 \x01(\x02\x12\x1A\x0A\x12row_filter_applied\x18\x02 \x01(\x08\x12\x1D\x0A\x15column_filter_applied\x18\x03 \x01(\x08\x1AQ\x0A\x19DataQualityAppliedConfigs\x12\x18\x0A\x10sampling_percent\x18\x01 \x01(\x02\x12\x1A\x0A\x12row_filter_applied\x18\x02 \x01(\x08\x1A\xE6\x02\x0A\x15PostScanActionsResult\x12r\x0A\x16bigquery_export_result\x18\x01 \x01(\x0B2R.google.cloud.dataplex.v1.DataScanEvent.PostScanActionsResult.BigQueryExportResult\x1A\xD8\x01\x0A\x14BigQueryExportResult\x12g\x0A\x05state\x18\x01 \x01(\x0E2X.google.cloud.dataplex.v1.DataScanEvent.PostScanActionsResult.BigQueryExportResult.State\x12\x0F\x0A\x07message\x18\x02 \x01(\x09\"F\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09SUCCEEDED\x10\x01\x12\x0A\x0A\x06FAILED\x10\x02\x12\x0B\x0A\x07SKIPPED\x10\x03\"]\x0A\x08ScanType\x12\x19\x0A\x15SCAN_TYPE_UNSPECIFIED\x10\x00\x12\x10\x0A\x0CDATA_PROFILE\x10\x01\x12\x10\x0A\x0CDATA_QUALITY\x10\x02\x12\x12\x0A\x0EDATA_DISCOVERY\x10\x04\"b\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07STARTED\x10\x01\x12\x0D\x0A\x09SUCCEEDED\x10\x02\x12\x0A\x0A\x06FAILED\x10\x03\x12\x0D\x0A\x09CANCELLED\x10\x04\x12\x0B\x0A\x07CREATED\x10\x05\"M\x0A\x07Trigger\x12\x17\x0A\x13TRIGGER_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09ON_DEMAND\x10\x01\x12\x0C\x0A\x08SCHEDULE\x10\x02\x12\x0C\x0A\x08ONE_TIME\x10\x03\"9\x0A\x05Scope\x12\x15\x0A\x11SCOPE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04FULL\x10\x01\x12\x0F\x0A\x0BINCREMENTAL\x10\x02B\x08\x0A\x06resultB\x10\x0A\x0EappliedConfigs\"\xB1\x07\x0A\x19DataQualityScanRuleResult\x12\x0E\x0A\x06job_id\x18\x01 \x01(\x09\x12\x13\x0A\x0Bdata_source\x18\x02 \x01(\x09\x12\x0E\x0A\x06column\x18\x03 \x01(\x09\x12\x11\x0A\x09rule_name\x18\x04 \x01(\x09\x12O\x0A\x09rule_type\x18\x05 \x01(\x0E2<.google.cloud.dataplex.v1.DataQualityScanRuleResult.RuleType\x12Z\x0A\x0Eevalution_type\x18\x06 \x01(\x0E2B.google.cloud.dataplex.v1.DataQualityScanRuleResult.EvaluationType\x12\x16\x0A\x0Erule_dimension\x18\x07 \x01(\x09\x12\x19\x0A\x11threshold_percent\x18\x08 \x01(\x01\x12J\x0A\x06result\x18\x09 \x01(\x0E2:.google.cloud.dataplex.v1.DataQualityScanRuleResult.Result\x12\x1B\x0A\x13evaluated_row_count\x18\x0A \x01(\x03\x12\x18\x0A\x10passed_row_count\x18\x0B \x01(\x03\x12\x16\x0A\x0Enull_row_count\x18\x0C \x01(\x03\x12\x1B\x0A\x13assertion_row_count\x18\x0D \x01(\x03\"\xAA\x02\x0A\x08RuleType\x12\x19\x0A\x15RULE_TYPE_UNSPECIFIED\x10\x00\x12\x18\x0A\x14NON_NULL_EXPECTATION\x10\x01\x12\x15\x0A\x11RANGE_EXPECTATION\x10\x02\x12\x15\x0A\x11REGEX_EXPECTATION\x10\x03\x12\x1D\x0A\x19ROW_CONDITION_EXPECTATION\x10\x04\x12\x13\x0A\x0FSET_EXPECTATION\x10\x05\x12\x1F\x0A\x1BSTATISTIC_RANGE_EXPECTATION\x10\x06\x12\x1F\x0A\x1BTABLE_CONDITION_EXPECTATION\x10\x07\x12\x1A\x0A\x16UNIQUENESS_EXPECTATION\x10\x08\x12\x11\x0A\x0DSQL_ASSERTION\x10\x09\x12\x16\x0A\x12TEMPLATE_REFERENCE\x10\x0A\"M\x0A\x0EEvaluationType\x12\x1F\x0A\x1BEVALUATION_TYPE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PER_ROW\x10\x01\x12\x0D\x0A\x09AGGREGATE\x10\x02\"8\x0A\x06Result\x12\x16\x0A\x12RESULT_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06PASSED\x10\x01\x12\x0A\x0A\x06FAILED\x10\x02\"\x9A\x03\x0A\x15BusinessGlossaryEvent\x12\x0F\x0A\x07message\x18\x01 \x01(\x09\x12M\x0A\x0Aevent_type\x18\x02 \x01(\x0E29.google.cloud.dataplex.v1.BusinessGlossaryEvent.EventType\x12\x10\x0A\x08resource\x18\x03 \x01(\x09\"\x8E\x02\x0A\x09EventType\x12\x1A\x0A\x16EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x13\x0A\x0FGLOSSARY_CREATE\x10\x01\x12\x13\x0A\x0FGLOSSARY_UPDATE\x10\x02\x12\x13\x0A\x0FGLOSSARY_DELETE\x10\x03\x12\x1C\x0A\x18GLOSSARY_CATEGORY_CREATE\x10\x04\x12\x1C\x0A\x18GLOSSARY_CATEGORY_UPDATE\x10\x05\x12\x1C\x0A\x18GLOSSARY_CATEGORY_DELETE\x10\x06\x12\x18\x0A\x14GLOSSARY_TERM_CREATE\x10\x07\x12\x18\x0A\x14GLOSSARY_TERM_UPDATE\x10\x08\x12\x18\x0A\x14GLOSSARY_TERM_DELETE\x10\x09\"\xD2\x01\x0A\x0EEntryLinkEvent\x12\x0F\x0A\x07message\x18\x01 \x01(\x09\x12F\x0A\x0Aevent_type\x18\x02 \x01(\x0E22.google.cloud.dataplex.v1.EntryLinkEvent.EventType\x12\x10\x0A\x08resource\x18\x03 \x01(\x09\"U\x0A\x09EventType\x12\x1A\x0A\x16EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x15\x0A\x11ENTRY_LINK_CREATE\x10\x01\x12\x15\x0A\x11ENTRY_LINK_DELETE\x10\x02Be\x0A\x1Ccom.google.cloud.dataplex.v1B\x09LogsProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" , true); static::$is_initialized = true; diff --git a/Dataplex/metadata/V1/Metadata.php b/Dataplex/metadata/V1/Metadata.php index 0b99b269411d..d12ce793e0c0 100644 --- a/Dataplex/metadata/V1/Metadata.php +++ b/Dataplex/metadata/V1/Metadata.php @@ -21,7 +21,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\GPBEmpty::initOnce(); \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xA49\x0A'google/cloud/dataplex/v1/metadata.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\x9E\x01\x0A\x13CreateEntityRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Zone\x125\x0A\x06entity\x18\x03 \x01(\x0B2 .google.cloud.dataplex.v1.EntityB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"h\x0A\x13UpdateEntityRequest\x125\x0A\x06entity\x18\x02 \x01(\x0B2 .google.cloud.dataplex.v1.EntityB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"^\x0A\x13DeleteEntityRequest\x124\x0A\x04name\x18\x01 \x01(\x09B&\xE0A\x02\xFAA \x0A\x1Edataplex.googleapis.com/Entity\x12\x11\x0A\x04etag\x18\x02 \x01(\x09B\x03\xE0A\x02\"\xA3\x02\x0A\x13ListEntitiesRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Zone\x12K\x0A\x04view\x18\x02 \x01(\x0E28.google.cloud.dataplex.v1.ListEntitiesRequest.EntityViewB\x03\xE0A\x02\x12\x16\x0A\x09page_size\x18\x03 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x05 \x01(\x09B\x03\xE0A\x01\"C\x0A\x0AEntityView\x12\x1B\x0A\x17ENTITY_VIEW_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06TABLES\x10\x01\x12\x0C\x0A\x08FILESETS\x10\x02\"c\x0A\x14ListEntitiesResponse\x122\x0A\x08entities\x18\x01 \x03(\x0B2 .google.cloud.dataplex.v1.Entity\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xDE\x01\x0A\x10GetEntityRequest\x124\x0A\x04name\x18\x01 \x01(\x09B&\xE0A\x02\xFAA \x0A\x1Edataplex.googleapis.com/Entity\x12H\x0A\x04view\x18\x02 \x01(\x0E25.google.cloud.dataplex.v1.GetEntityRequest.EntityViewB\x03\xE0A\x01\"J\x0A\x0AEntityView\x12\x1B\x0A\x17ENTITY_VIEW_UNSPECIFIED\x10\x00\x12\x09\x0A\x05BASIC\x10\x01\x12\x0A\x0A\x06SCHEMA\x10\x02\x12\x08\x0A\x04FULL\x10\x04\"\x95\x01\x0A\x15ListPartitionsRequest\x126\x0A\x06parent\x18\x01 \x01(\x09B&\xE0A\x02\xFAA \x0A\x1Edataplex.googleapis.com/Entity\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\"\xA9\x01\x0A\x16CreatePartitionRequest\x126\x0A\x06parent\x18\x01 \x01(\x09B&\xE0A\x02\xFAA \x0A\x1Edataplex.googleapis.com/Entity\x12;\x0A\x09partition\x18\x03 \x01(\x0B2#.google.cloud.dataplex.v1.PartitionB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"f\x0A\x16DeletePartitionRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/Partition\x12\x13\x0A\x04etag\x18\x02 \x01(\x09B\x05\x18\x01\xE0A\x01\"j\x0A\x16ListPartitionsResponse\x127\x0A\x0Apartitions\x18\x01 \x03(\x0B2#.google.cloud.dataplex.v1.Partition\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"N\x0A\x13GetPartitionRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataplex.googleapis.com/Partition\"\xC9\x09\x0A\x06Entity\x124\x0A\x04name\x18\x01 \x01(\x09B&\xE0A\x03\xFAA \x0A\x1Edataplex.googleapis.com/Entity\x12\x19\x0A\x0Cdisplay_name\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x03 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x0F\x0A\x02id\x18\x07 \x01(\x09B\x03\xE0A\x02\x12\x11\x0A\x04etag\x18\x08 \x01(\x09B\x03\xE0A\x01\x12;\x0A\x04type\x18\x0A \x01(\x0E2%.google.cloud.dataplex.v1.Entity.TypeB\x06\xE0A\x02\xE0A\x05\x12\x15\x0A\x05asset\x18\x0B \x01(\x09B\x06\xE0A\x02\xE0A\x05\x12\x19\x0A\x09data_path\x18\x0C \x01(\x09B\x06\xE0A\x02\xE0A\x05\x12\x1E\x0A\x11data_path_pattern\x18\x0D \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dcatalog_entry\x18\x0E \x01(\x09B\x03\xE0A\x03\x12?\x0A\x06system\x18\x0F \x01(\x0E2'.google.cloud.dataplex.v1.StorageSystemB\x06\xE0A\x02\xE0A\x05\x12<\x0A\x06format\x18\x10 \x01(\x0B2'.google.cloud.dataplex.v1.StorageFormatB\x03\xE0A\x02\x12P\x0A\x0Dcompatibility\x18\x13 \x01(\x0B24.google.cloud.dataplex.v1.Entity.CompatibilityStatusB\x03\xE0A\x03\x12<\x0A\x06access\x18\x15 \x01(\x0B2'.google.cloud.dataplex.v1.StorageAccessB\x03\xE0A\x03\x12\x10\x0A\x03uid\x18\x16 \x01(\x09B\x03\xE0A\x03\x125\x0A\x06schema\x182 \x01(\x0B2 .google.cloud.dataplex.v1.SchemaB\x03\xE0A\x02\x1A\x90\x02\x0A\x13CompatibilityStatus\x12_\x0A\x0Ehive_metastore\x18\x01 \x01(\x0B2B.google.cloud.dataplex.v1.Entity.CompatibilityStatus.CompatibilityB\x03\xE0A\x03\x12Y\x0A\x08bigquery\x18\x02 \x01(\x0B2B.google.cloud.dataplex.v1.Entity.CompatibilityStatus.CompatibilityB\x03\xE0A\x03\x1A=\x0A\x0DCompatibility\x12\x17\x0A\x0Acompatible\x18\x01 \x01(\x08B\x03\xE0A\x03\x12\x13\x0A\x06reason\x18\x02 \x01(\x09B\x03\xE0A\x03\"4\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05TABLE\x10\x01\x12\x0B\x0A\x07FILESET\x10\x02:x\xEAAu\x0A\x1Edataplex.googleapis.com/Entity\x12Sprojects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/entities/{entity}\"\xA1\x02\x0A\x09Partition\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x03\xFAA#\x0A!dataplex.googleapis.com/Partition\x12\x16\x0A\x06values\x18\x02 \x03(\x09B\x06\xE0A\x02\xE0A\x05\x12\x18\x0A\x08location\x18\x03 \x01(\x09B\x06\xE0A\x02\xE0A\x05\x12\x13\x0A\x04etag\x18\x04 \x01(\x09B\x05\x18\x01\xE0A\x01:\x93\x01\xEAA\x8F\x01\x0A!dataplex.googleapis.com/Partition\x12jprojects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/entities/{entity}/partitions/{partition}\"\xB7\x07\x0A\x06Schema\x12\x19\x0A\x0Cuser_managed\x18\x01 \x01(\x08B\x03\xE0A\x02\x12A\x0A\x06fields\x18\x02 \x03(\x0B2,.google.cloud.dataplex.v1.Schema.SchemaFieldB\x03\xE0A\x01\x12N\x0A\x10partition_fields\x18\x03 \x03(\x0B2/.google.cloud.dataplex.v1.Schema.PartitionFieldB\x03\xE0A\x01\x12M\x0A\x0Fpartition_style\x18\x04 \x01(\x0E2/.google.cloud.dataplex.v1.Schema.PartitionStyleB\x03\xE0A\x01\x1A\xF1\x01\x0A\x0BSchemaField\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x18\x0A\x0Bdescription\x18\x02 \x01(\x09B\x03\xE0A\x01\x128\x0A\x04type\x18\x03 \x01(\x0E2%.google.cloud.dataplex.v1.Schema.TypeB\x03\xE0A\x02\x128\x0A\x04mode\x18\x04 \x01(\x0E2%.google.cloud.dataplex.v1.Schema.ModeB\x03\xE0A\x02\x12A\x0A\x06fields\x18\x0A \x03(\x0B2,.google.cloud.dataplex.v1.Schema.SchemaFieldB\x03\xE0A\x01\x1A`\x0A\x0EPartitionField\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x12;\x0A\x04type\x18\x02 \x01(\x0E2%.google.cloud.dataplex.v1.Schema.TypeB\x06\xE0A\x02\xE0A\x05\"\xC9\x01\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07BOOLEAN\x10\x01\x12\x08\x0A\x04BYTE\x10\x02\x12\x09\x0A\x05INT16\x10\x03\x12\x09\x0A\x05INT32\x10\x04\x12\x09\x0A\x05INT64\x10\x05\x12\x09\x0A\x05FLOAT\x10\x06\x12\x0A\x0A\x06DOUBLE\x10\x07\x12\x0B\x0A\x07DECIMAL\x10\x08\x12\x0A\x0A\x06STRING\x10\x09\x12\x0A\x0A\x06BINARY\x10\x0A\x12\x0D\x0A\x09TIMESTAMP\x10\x0B\x12\x08\x0A\x04DATE\x10\x0C\x12\x08\x0A\x04TIME\x10\x0D\x12\x0A\x0A\x06RECORD\x10\x0E\x12\x08\x0A\x04NULL\x10d\"F\x0A\x04Mode\x12\x14\x0A\x10MODE_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08REQUIRED\x10\x01\x12\x0C\x0A\x08NULLABLE\x10\x02\x12\x0C\x0A\x08REPEATED\x10\x03\"F\x0A\x0EPartitionStyle\x12\x1F\x0A\x1BPARTITION_STYLE_UNSPECIFIED\x10\x00\x12\x13\x0A\x0FHIVE_COMPATIBLE\x10\x01\"\xF4\x06\x0A\x0DStorageFormat\x12C\x0A\x06format\x18\x01 \x01(\x0E2..google.cloud.dataplex.v1.StorageFormat.FormatB\x03\xE0A\x03\x12Z\x0A\x12compression_format\x18\x02 \x01(\x0E29.google.cloud.dataplex.v1.StorageFormat.CompressionFormatB\x03\xE0A\x01\x12\x16\x0A\x09mime_type\x18\x03 \x01(\x09B\x03\xE0A\x02\x12F\x0A\x03csv\x18\x0A \x01(\x0B22.google.cloud.dataplex.v1.StorageFormat.CsvOptionsB\x03\xE0A\x01H\x00\x12H\x0A\x04json\x18\x0B \x01(\x0B23.google.cloud.dataplex.v1.StorageFormat.JsonOptionsB\x03\xE0A\x01H\x00\x12N\x0A\x07iceberg\x18\x0C \x01(\x0B26.google.cloud.dataplex.v1.StorageFormat.IcebergOptionsB\x03\xE0A\x01H\x00\x1Ai\x0A\x0ACsvOptions\x12\x15\x0A\x08encoding\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x18\x0A\x0Bheader_rows\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x16\x0A\x09delimiter\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x12\x0A\x05quote\x18\x04 \x01(\x09B\x03\xE0A\x01\x1A\$\x0A\x0BJsonOptions\x12\x15\x0A\x08encoding\x18\x01 \x01(\x09B\x03\xE0A\x01\x1A0\x0A\x0EIcebergOptions\x12\x1E\x0A\x11metadata_location\x18\x01 \x01(\x09B\x03\xE0A\x01\"\xAB\x01\x0A\x06Format\x12\x16\x0A\x12FORMAT_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PARQUET\x10\x01\x12\x08\x0A\x04AVRO\x10\x02\x12\x07\x0A\x03ORC\x10\x03\x12\x07\x0A\x03CSV\x10d\x12\x08\x0A\x04JSON\x10e\x12\x0A\x0A\x05IMAGE\x10\xC8\x01\x12\x0A\x0A\x05AUDIO\x10\xC9\x01\x12\x0A\x0A\x05VIDEO\x10\xCA\x01\x12\x09\x0A\x04TEXT\x10\xCB\x01\x12\x0D\x0A\x08TFRECORD\x10\xCC\x01\x12\x0A\x0A\x05OTHER\x10\xE8\x07\x12\x0C\x0A\x07UNKNOWN\x10\xE9\x07\"L\x0A\x11CompressionFormat\x12\"\x0A\x1ECOMPRESSION_FORMAT_UNSPECIFIED\x10\x00\x12\x08\x0A\x04GZIP\x10\x02\x12\x09\x0A\x05BZIP2\x10\x03B\x09\x0A\x07options\"\x9A\x01\x0A\x0DStorageAccess\x12E\x0A\x04read\x18\x15 \x01(\x0E22.google.cloud.dataplex.v1.StorageAccess.AccessModeB\x03\xE0A\x03\"B\x0A\x0AAccessMode\x12\x1B\x0A\x17ACCESS_MODE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06DIRECT\x10\x01\x12\x0B\x0A\x07MANAGED\x10\x02*P\x0A\x0DStorageSystem\x12\x1E\x0A\x1ASTORAGE_SYSTEM_UNSPECIFIED\x10\x00\x12\x11\x0A\x0DCLOUD_STORAGE\x10\x01\x12\x0C\x0A\x08BIGQUERY\x10\x022\x89\x0E\x0A\x0FMetadataService\x12\xBD\x01\x0A\x0CCreateEntity\x12-.google.cloud.dataplex.v1.CreateEntityRequest\x1A .google.cloud.dataplex.v1.Entity\"\\\xDAA\x0Dparent,entity\x82\xD3\xE4\x93\x02F\"*\x12\x12*\x12\x12internalAddGeneratedFile( - "\x0A\x81O\x0A&google/cloud/dataplex/v1/service.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A(google/cloud/dataplex/v1/resources.proto\x1A\$google/cloud/dataplex/v1/tasks.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xB3\x01\x0A\x11CreateLakeRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x14\x0A\x07lake_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x121\x0A\x04lake\x18\x03 \x01(\x0B2\x1E.google.cloud.dataplex.v1.LakeB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\x98\x01\x0A\x11UpdateLakeRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x121\x0A\x04lake\x18\x02 \x01(\x0B2\x1E.google.cloud.dataplex.v1.LakeB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"G\x0A\x11DeleteLakeRequest\x122\x0A\x04name\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Lake\"\xAA\x01\x0A\x10ListLakesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"z\x0A\x11ListLakesResponse\x12-\x0A\x05lakes\x18\x01 \x03(\x0B2\x1E.google.cloud.dataplex.v1.Lake\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"\x7F\x0A\x16ListLakeActionsRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Lake\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"a\x0A\x13ListActionsResponse\x121\x0A\x07actions\x18\x01 \x03(\x0B2 .google.cloud.dataplex.v1.Action\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"D\x0A\x0EGetLakeRequest\x122\x0A\x04name\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Lake\"\xAE\x01\x0A\x11CreateZoneRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Lake\x12\x14\x0A\x07zone_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x121\x0A\x04zone\x18\x03 \x01(\x0B2\x1E.google.cloud.dataplex.v1.ZoneB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\x98\x01\x0A\x11UpdateZoneRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x121\x0A\x04zone\x18\x02 \x01(\x0B2\x1E.google.cloud.dataplex.v1.ZoneB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"G\x0A\x11DeleteZoneRequest\x122\x0A\x04name\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Zone\"\xA5\x01\x0A\x10ListZonesRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Lake\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"[\x0A\x11ListZonesResponse\x12-\x0A\x05zones\x18\x01 \x03(\x0B2\x1E.google.cloud.dataplex.v1.Zone\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x7F\x0A\x16ListZoneActionsRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Zone\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"D\x0A\x0EGetZoneRequest\x122\x0A\x04name\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Zone\"\xB2\x01\x0A\x12CreateAssetRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Zone\x12\x15\x0A\x08asset_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x123\x0A\x05asset\x18\x03 \x01(\x0B2\x1F.google.cloud.dataplex.v1.AssetB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\x9B\x01\x0A\x12UpdateAssetRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x123\x0A\x05asset\x18\x02 \x01(\x0B2\x1F.google.cloud.dataplex.v1.AssetB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"I\x0A\x12DeleteAssetRequest\x123\x0A\x04name\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Asset\"\xA6\x01\x0A\x11ListAssetsRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Zone\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"^\x0A\x12ListAssetsResponse\x12/\x0A\x06assets\x18\x01 \x03(\x0B2\x1F.google.cloud.dataplex.v1.Asset\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x81\x01\x0A\x17ListAssetActionsRequest\x125\x0A\x06parent\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Asset\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"F\x0A\x0FGetAssetRequest\x123\x0A\x04name\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Asset\"\x80\x02\x0A\x11OperationMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x13\x0A\x06target\x18\x03 \x01(\x09B\x03\xE0A\x03\x12\x11\x0A\x04verb\x18\x04 \x01(\x09B\x03\xE0A\x03\x12\x1B\x0A\x0Estatus_message\x18\x05 \x01(\x09B\x03\xE0A\x03\x12#\x0A\x16requested_cancellation\x18\x06 \x01(\x08B\x03\xE0A\x03\x12\x18\x0A\x0Bapi_version\x18\x07 \x01(\x09B\x03\xE0A\x03\"\xAE\x01\x0A\x11CreateTaskRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Lake\x12\x14\x0A\x07task_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x121\x0A\x04task\x18\x03 \x01(\x0B2\x1E.google.cloud.dataplex.v1.TaskB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\x98\x01\x0A\x11UpdateTaskRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x121\x0A\x04task\x18\x02 \x01(\x0B2\x1E.google.cloud.dataplex.v1.TaskB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"G\x0A\x11DeleteTaskRequest\x122\x0A\x04name\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Task\"\xA5\x01\x0A\x10ListTasksRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Lake\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"z\x0A\x11ListTasksResponse\x12-\x0A\x05tasks\x18\x01 \x03(\x0B2\x1E.google.cloud.dataplex.v1.Task\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"D\x0A\x0EGetTaskRequest\x122\x0A\x04name\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Task\"B\x0A\x0DGetJobRequest\x121\x0A\x04name\x18\x01 \x01(\x09B#\xE0A\x02\xFAA\x1D\x0A\x1Bdataplex.googleapis.com/Job\"\xB2\x02\x0A\x0ERunTaskRequest\x122\x0A\x04name\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Task\x12I\x0A\x06labels\x18\x03 \x03(\x0B24.google.cloud.dataplex.v1.RunTaskRequest.LabelsEntryB\x03\xE0A\x01\x12E\x0A\x04args\x18\x04 \x03(\x0B22.google.cloud.dataplex.v1.RunTaskRequest.ArgsEntryB\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\x1A+\x0A\x09ArgsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"=\x0A\x0FRunTaskResponse\x12*\x0A\x03job\x18\x01 \x01(\x0B2\x1D.google.cloud.dataplex.v1.Job\"x\x0A\x0FListJobsRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Task\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"X\x0A\x10ListJobsResponse\x12+\x0A\x04jobs\x18\x01 \x03(\x0B2\x1D.google.cloud.dataplex.v1.Job\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"E\x0A\x10CancelJobRequest\x121\x0A\x04name\x18\x01 \x01(\x09B#\xE0A\x02\xFAA\x1D\x0A\x1Bdataplex.googleapis.com/Job2\x8A(\x0A\x0FDataplexService\x12\xC3\x01\x0A\x0ACreateLake\x12+.google.cloud.dataplex.v1.CreateLakeRequest\x1A\x1D.google.longrunning.Operation\"i\xCAA\x19\x0A\x04Lake\x12\x11OperationMetadata\xDAA\x13parent,lake,lake_id\x82\xD3\xE4\x93\x021\")/v1/{parent=projects/*/locations/*}/lakes:\x04lake\x12\xC5\x01\x0A\x0AUpdateLake\x12+.google.cloud.dataplex.v1.UpdateLakeRequest\x1A\x1D.google.longrunning.Operation\"k\xCAA\x19\x0A\x04Lake\x12\x11OperationMetadata\xDAA\x10lake,update_mask\x82\xD3\xE4\x93\x0262./v1/{lake.name=projects/*/locations/*/lakes/*}:\x04lake\x12\xBF\x01\x0A\x0ADeleteLake\x12+.google.cloud.dataplex.v1.DeleteLakeRequest\x1A\x1D.google.longrunning.Operation\"e\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02+*)/v1/{name=projects/*/locations/*/lakes/*}\x12\xA0\x01\x0A\x09ListLakes\x12*.google.cloud.dataplex.v1.ListLakesRequest\x1A+.google.cloud.dataplex.v1.ListLakesResponse\":\xDAA\x06parent\x82\xD3\xE4\x93\x02+\x12)/v1/{parent=projects/*/locations/*}/lakes\x12\x8D\x01\x0A\x07GetLake\x12(.google.cloud.dataplex.v1.GetLakeRequest\x1A\x1E.google.cloud.dataplex.v1.Lake\"8\xDAA\x04name\x82\xD3\xE4\x93\x02+\x12)/v1/{name=projects/*/locations/*/lakes/*}\x12\xB8\x01\x0A\x0FListLakeActions\x120.google.cloud.dataplex.v1.ListLakeActionsRequest\x1A-.google.cloud.dataplex.v1.ListActionsResponse\"D\xDAA\x06parent\x82\xD3\xE4\x93\x025\x123/v1/{parent=projects/*/locations/*/lakes/*}/actions\x12\xCB\x01\x0A\x0ACreateZone\x12+.google.cloud.dataplex.v1.CreateZoneRequest\x1A\x1D.google.longrunning.Operation\"q\xCAA\x19\x0A\x04Zone\x12\x11OperationMetadata\xDAA\x13parent,zone,zone_id\x82\xD3\xE4\x93\x029\"1/v1/{parent=projects/*/locations/*/lakes/*}/zones:\x04zone\x12\xCD\x01\x0A\x0AUpdateZone\x12+.google.cloud.dataplex.v1.UpdateZoneRequest\x1A\x1D.google.longrunning.Operation\"s\xCAA\x19\x0A\x04Zone\x12\x11OperationMetadata\xDAA\x10zone,update_mask\x82\xD3\xE4\x93\x02>26/v1/{zone.name=projects/*/locations/*/lakes/*/zones/*}:\x04zone\x12\xC7\x01\x0A\x0ADeleteZone\x12+.google.cloud.dataplex.v1.DeleteZoneRequest\x1A\x1D.google.longrunning.Operation\"m\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x023*1/v1/{name=projects/*/locations/*/lakes/*/zones/*}\x12\xA8\x01\x0A\x09ListZones\x12*.google.cloud.dataplex.v1.ListZonesRequest\x1A+.google.cloud.dataplex.v1.ListZonesResponse\"B\xDAA\x06parent\x82\xD3\xE4\x93\x023\x121/v1/{parent=projects/*/locations/*/lakes/*}/zones\x12\x95\x01\x0A\x07GetZone\x12(.google.cloud.dataplex.v1.GetZoneRequest\x1A\x1E.google.cloud.dataplex.v1.Zone\"@\xDAA\x04name\x82\xD3\xE4\x93\x023\x121/v1/{name=projects/*/locations/*/lakes/*/zones/*}\x12\xC0\x01\x0A\x0FListZoneActions\x120.google.cloud.dataplex.v1.ListZoneActionsRequest\x1A-.google.cloud.dataplex.v1.ListActionsResponse\"L\xDAA\x06parent\x82\xD3\xE4\x93\x02=\x12;/v1/{parent=projects/*/locations/*/lakes/*/zones/*}/actions\x12\xDA\x01\x0A\x0BCreateAsset\x12,.google.cloud.dataplex.v1.CreateAssetRequest\x1A\x1D.google.longrunning.Operation\"~\xCAA\x1A\x0A\x05Asset\x12\x11OperationMetadata\xDAA\x15parent,asset,asset_id\x82\xD3\xE4\x93\x02C\":/v1/{parent=projects/*/locations/*/lakes/*/zones/*}/assets:\x05asset\x12\xDD\x01\x0A\x0BUpdateAsset\x12,.google.cloud.dataplex.v1.UpdateAssetRequest\x1A\x1D.google.longrunning.Operation\"\x80\x01\xCAA\x1A\x0A\x05Asset\x12\x11OperationMetadata\xDAA\x11asset,update_mask\x82\xD3\xE4\x93\x02I2@/v1/{asset.name=projects/*/locations/*/lakes/*/zones/*/assets/*}:\x05asset\x12\xD2\x01\x0A\x0BDeleteAsset\x12,.google.cloud.dataplex.v1.DeleteAssetRequest\x1A\x1D.google.longrunning.Operation\"v\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02<*:/v1/{name=projects/*/locations/*/lakes/*/zones/*/assets/*}\x12\xB4\x01\x0A\x0AListAssets\x12+.google.cloud.dataplex.v1.ListAssetsRequest\x1A,.google.cloud.dataplex.v1.ListAssetsResponse\"K\xDAA\x06parent\x82\xD3\xE4\x93\x02<\x12:/v1/{parent=projects/*/locations/*/lakes/*/zones/*}/assets\x12\xA1\x01\x0A\x08GetAsset\x12).google.cloud.dataplex.v1.GetAssetRequest\x1A\x1F.google.cloud.dataplex.v1.Asset\"I\xDAA\x04name\x82\xD3\xE4\x93\x02<\x12:/v1/{name=projects/*/locations/*/lakes/*/zones/*/assets/*}\x12\xCB\x01\x0A\x10ListAssetActions\x121.google.cloud.dataplex.v1.ListAssetActionsRequest\x1A-.google.cloud.dataplex.v1.ListActionsResponse\"U\xDAA\x06parent\x82\xD3\xE4\x93\x02F\x12D/v1/{parent=projects/*/locations/*/lakes/*/zones/*/assets/*}/actions\x12\xCB\x01\x0A\x0ACreateTask\x12+.google.cloud.dataplex.v1.CreateTaskRequest\x1A\x1D.google.longrunning.Operation\"q\xCAA\x19\x0A\x04Task\x12\x11OperationMetadata\xDAA\x13parent,task,task_id\x82\xD3\xE4\x93\x029\"1/v1/{parent=projects/*/locations/*/lakes/*}/tasks:\x04task\x12\xCD\x01\x0A\x0AUpdateTask\x12+.google.cloud.dataplex.v1.UpdateTaskRequest\x1A\x1D.google.longrunning.Operation\"s\xCAA\x19\x0A\x04Task\x12\x11OperationMetadata\xDAA\x10task,update_mask\x82\xD3\xE4\x93\x02>26/v1/{task.name=projects/*/locations/*/lakes/*/tasks/*}:\x04task\x12\xC7\x01\x0A\x0ADeleteTask\x12+.google.cloud.dataplex.v1.DeleteTaskRequest\x1A\x1D.google.longrunning.Operation\"m\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x023*1/v1/{name=projects/*/locations/*/lakes/*/tasks/*}\x12\xA8\x01\x0A\x09ListTasks\x12*.google.cloud.dataplex.v1.ListTasksRequest\x1A+.google.cloud.dataplex.v1.ListTasksResponse\"B\xDAA\x06parent\x82\xD3\xE4\x93\x023\x121/v1/{parent=projects/*/locations/*/lakes/*}/tasks\x12\x95\x01\x0A\x07GetTask\x12(.google.cloud.dataplex.v1.GetTaskRequest\x1A\x1E.google.cloud.dataplex.v1.Task\"@\xDAA\x04name\x82\xD3\xE4\x93\x023\x121/v1/{name=projects/*/locations/*/lakes/*/tasks/*}\x12\xAC\x01\x0A\x08ListJobs\x12).google.cloud.dataplex.v1.ListJobsRequest\x1A*.google.cloud.dataplex.v1.ListJobsResponse\"I\xDAA\x06parent\x82\xD3\xE4\x93\x02:\x128/v1/{parent=projects/*/locations/*/lakes/*/tasks/*}/jobs\x12\xA7\x01\x0A\x07RunTask\x12(.google.cloud.dataplex.v1.RunTaskRequest\x1A).google.cloud.dataplex.v1.RunTaskResponse\"G\xDAA\x04name\x82\xD3\xE4\x93\x02:\"5/v1/{name=projects/*/locations/*/lakes/*/tasks/*}:run:\x01*\x12\x99\x01\x0A\x06GetJob\x12'.google.cloud.dataplex.v1.GetJobRequest\x1A\x1D.google.cloud.dataplex.v1.Job\"G\xDAA\x04name\x82\xD3\xE4\x93\x02:\x128/v1/{name=projects/*/locations/*/lakes/*/tasks/*/jobs/*}\x12\xA2\x01\x0A\x09CancelJob\x12*.google.cloud.dataplex.v1.CancelJobRequest\x1A\x16.google.protobuf.Empty\"Q\xDAA\x04name\x82\xD3\xE4\x93\x02D\"?/v1/{name=projects/*/locations/*/lakes/*/tasks/*/jobs/*}:cancel:\x01*\x1AK\xCAA\x17dataplex.googleapis.com\xD2A.https://www.googleapis.com/auth/cloud-platformBh\x0A\x1Ccom.google.cloud.dataplex.v1B\x0CServiceProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" + "\x0A\xA2P\x0A&google/cloud/dataplex/v1/service.proto\x12\x18google.cloud.dataplex.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A(google/cloud/dataplex/v1/resources.proto\x1A\$google/cloud/dataplex/v1/tasks.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xB3\x01\x0A\x11CreateLakeRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x14\x0A\x07lake_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x121\x0A\x04lake\x18\x03 \x01(\x0B2\x1E.google.cloud.dataplex.v1.LakeB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\x98\x01\x0A\x11UpdateLakeRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x121\x0A\x04lake\x18\x02 \x01(\x0B2\x1E.google.cloud.dataplex.v1.LakeB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"G\x0A\x11DeleteLakeRequest\x122\x0A\x04name\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Lake\"\xAA\x01\x0A\x10ListLakesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"z\x0A\x11ListLakesResponse\x12-\x0A\x05lakes\x18\x01 \x03(\x0B2\x1E.google.cloud.dataplex.v1.Lake\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"\x7F\x0A\x16ListLakeActionsRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Lake\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"a\x0A\x13ListActionsResponse\x121\x0A\x07actions\x18\x01 \x03(\x0B2 .google.cloud.dataplex.v1.Action\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"D\x0A\x0EGetLakeRequest\x122\x0A\x04name\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Lake\"\xAE\x01\x0A\x11CreateZoneRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Lake\x12\x14\x0A\x07zone_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x121\x0A\x04zone\x18\x03 \x01(\x0B2\x1E.google.cloud.dataplex.v1.ZoneB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\x98\x01\x0A\x11UpdateZoneRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x121\x0A\x04zone\x18\x02 \x01(\x0B2\x1E.google.cloud.dataplex.v1.ZoneB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"G\x0A\x11DeleteZoneRequest\x122\x0A\x04name\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Zone\"\xA5\x01\x0A\x10ListZonesRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Lake\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"[\x0A\x11ListZonesResponse\x12-\x0A\x05zones\x18\x01 \x03(\x0B2\x1E.google.cloud.dataplex.v1.Zone\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x7F\x0A\x16ListZoneActionsRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Zone\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"D\x0A\x0EGetZoneRequest\x122\x0A\x04name\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Zone\"\xB2\x01\x0A\x12CreateAssetRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Zone\x12\x15\x0A\x08asset_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x123\x0A\x05asset\x18\x03 \x01(\x0B2\x1F.google.cloud.dataplex.v1.AssetB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\x9B\x01\x0A\x12UpdateAssetRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x123\x0A\x05asset\x18\x02 \x01(\x0B2\x1F.google.cloud.dataplex.v1.AssetB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"I\x0A\x12DeleteAssetRequest\x123\x0A\x04name\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Asset\"\xA6\x01\x0A\x11ListAssetsRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Zone\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"^\x0A\x12ListAssetsResponse\x12/\x0A\x06assets\x18\x01 \x03(\x0B2\x1F.google.cloud.dataplex.v1.Asset\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x81\x01\x0A\x17ListAssetActionsRequest\x125\x0A\x06parent\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Asset\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"F\x0A\x0FGetAssetRequest\x123\x0A\x04name\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Ddataplex.googleapis.com/Asset\"\x80\x02\x0A\x11OperationMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x13\x0A\x06target\x18\x03 \x01(\x09B\x03\xE0A\x03\x12\x11\x0A\x04verb\x18\x04 \x01(\x09B\x03\xE0A\x03\x12\x1B\x0A\x0Estatus_message\x18\x05 \x01(\x09B\x03\xE0A\x03\x12#\x0A\x16requested_cancellation\x18\x06 \x01(\x08B\x03\xE0A\x03\x12\x18\x0A\x0Bapi_version\x18\x07 \x01(\x09B\x03\xE0A\x03\"\xAE\x01\x0A\x11CreateTaskRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Lake\x12\x14\x0A\x07task_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x121\x0A\x04task\x18\x03 \x01(\x0B2\x1E.google.cloud.dataplex.v1.TaskB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x04 \x01(\x08B\x03\xE0A\x01\"\x98\x01\x0A\x11UpdateTaskRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x121\x0A\x04task\x18\x02 \x01(\x0B2\x1E.google.cloud.dataplex.v1.TaskB\x03\xE0A\x02\x12\x1A\x0A\x0Dvalidate_only\x18\x03 \x01(\x08B\x03\xE0A\x01\"G\x0A\x11DeleteTaskRequest\x122\x0A\x04name\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Task\"\xA5\x01\x0A\x10ListTasksRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Lake\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"z\x0A\x11ListTasksResponse\x12-\x0A\x05tasks\x18\x01 \x03(\x0B2\x1E.google.cloud.dataplex.v1.Task\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x1D\x0A\x15unreachable_locations\x18\x03 \x03(\x09\"D\x0A\x0EGetTaskRequest\x122\x0A\x04name\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Task\"B\x0A\x0DGetJobRequest\x121\x0A\x04name\x18\x01 \x01(\x09B#\xE0A\x02\xFAA\x1D\x0A\x1Bdataplex.googleapis.com/Job\"\xB2\x02\x0A\x0ERunTaskRequest\x122\x0A\x04name\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Task\x12I\x0A\x06labels\x18\x03 \x03(\x0B24.google.cloud.dataplex.v1.RunTaskRequest.LabelsEntryB\x03\xE0A\x01\x12E\x0A\x04args\x18\x04 \x03(\x0B22.google.cloud.dataplex.v1.RunTaskRequest.ArgsEntryB\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\x1A+\x0A\x09ArgsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"=\x0A\x0FRunTaskResponse\x12*\x0A\x03job\x18\x01 \x01(\x0B2\x1D.google.cloud.dataplex.v1.Job\"x\x0A\x0FListJobsRequest\x124\x0A\x06parent\x18\x01 \x01(\x09B\$\xE0A\x02\xFAA\x1E\x0A\x1Cdataplex.googleapis.com/Task\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"X\x0A\x10ListJobsResponse\x12+\x0A\x04jobs\x18\x01 \x03(\x0B2\x1D.google.cloud.dataplex.v1.Job\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"E\x0A\x10CancelJobRequest\x121\x0A\x04name\x18\x01 \x01(\x09B#\xE0A\x02\xFAA\x1D\x0A\x1Bdataplex.googleapis.com/Job2\xAB)\x0A\x0FDataplexService\x12\xC3\x01\x0A\x0ACreateLake\x12+.google.cloud.dataplex.v1.CreateLakeRequest\x1A\x1D.google.longrunning.Operation\"i\xCAA\x19\x0A\x04Lake\x12\x11OperationMetadata\xDAA\x13parent,lake,lake_id\x82\xD3\xE4\x93\x021\")/v1/{parent=projects/*/locations/*}/lakes:\x04lake\x12\xC5\x01\x0A\x0AUpdateLake\x12+.google.cloud.dataplex.v1.UpdateLakeRequest\x1A\x1D.google.longrunning.Operation\"k\xCAA\x19\x0A\x04Lake\x12\x11OperationMetadata\xDAA\x10lake,update_mask\x82\xD3\xE4\x93\x0262./v1/{lake.name=projects/*/locations/*/lakes/*}:\x04lake\x12\xBF\x01\x0A\x0ADeleteLake\x12+.google.cloud.dataplex.v1.DeleteLakeRequest\x1A\x1D.google.longrunning.Operation\"e\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02+*)/v1/{name=projects/*/locations/*/lakes/*}\x12\xA0\x01\x0A\x09ListLakes\x12*.google.cloud.dataplex.v1.ListLakesRequest\x1A+.google.cloud.dataplex.v1.ListLakesResponse\":\xDAA\x06parent\x82\xD3\xE4\x93\x02+\x12)/v1/{parent=projects/*/locations/*}/lakes\x12\x8D\x01\x0A\x07GetLake\x12(.google.cloud.dataplex.v1.GetLakeRequest\x1A\x1E.google.cloud.dataplex.v1.Lake\"8\xDAA\x04name\x82\xD3\xE4\x93\x02+\x12)/v1/{name=projects/*/locations/*/lakes/*}\x12\xB8\x01\x0A\x0FListLakeActions\x120.google.cloud.dataplex.v1.ListLakeActionsRequest\x1A-.google.cloud.dataplex.v1.ListActionsResponse\"D\xDAA\x06parent\x82\xD3\xE4\x93\x025\x123/v1/{parent=projects/*/locations/*/lakes/*}/actions\x12\xCB\x01\x0A\x0ACreateZone\x12+.google.cloud.dataplex.v1.CreateZoneRequest\x1A\x1D.google.longrunning.Operation\"q\xCAA\x19\x0A\x04Zone\x12\x11OperationMetadata\xDAA\x13parent,zone,zone_id\x82\xD3\xE4\x93\x029\"1/v1/{parent=projects/*/locations/*/lakes/*}/zones:\x04zone\x12\xCD\x01\x0A\x0AUpdateZone\x12+.google.cloud.dataplex.v1.UpdateZoneRequest\x1A\x1D.google.longrunning.Operation\"s\xCAA\x19\x0A\x04Zone\x12\x11OperationMetadata\xDAA\x10zone,update_mask\x82\xD3\xE4\x93\x02>26/v1/{zone.name=projects/*/locations/*/lakes/*/zones/*}:\x04zone\x12\xC7\x01\x0A\x0ADeleteZone\x12+.google.cloud.dataplex.v1.DeleteZoneRequest\x1A\x1D.google.longrunning.Operation\"m\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x023*1/v1/{name=projects/*/locations/*/lakes/*/zones/*}\x12\xA8\x01\x0A\x09ListZones\x12*.google.cloud.dataplex.v1.ListZonesRequest\x1A+.google.cloud.dataplex.v1.ListZonesResponse\"B\xDAA\x06parent\x82\xD3\xE4\x93\x023\x121/v1/{parent=projects/*/locations/*/lakes/*}/zones\x12\x95\x01\x0A\x07GetZone\x12(.google.cloud.dataplex.v1.GetZoneRequest\x1A\x1E.google.cloud.dataplex.v1.Zone\"@\xDAA\x04name\x82\xD3\xE4\x93\x023\x121/v1/{name=projects/*/locations/*/lakes/*/zones/*}\x12\xC0\x01\x0A\x0FListZoneActions\x120.google.cloud.dataplex.v1.ListZoneActionsRequest\x1A-.google.cloud.dataplex.v1.ListActionsResponse\"L\xDAA\x06parent\x82\xD3\xE4\x93\x02=\x12;/v1/{parent=projects/*/locations/*/lakes/*/zones/*}/actions\x12\xDA\x01\x0A\x0BCreateAsset\x12,.google.cloud.dataplex.v1.CreateAssetRequest\x1A\x1D.google.longrunning.Operation\"~\xCAA\x1A\x0A\x05Asset\x12\x11OperationMetadata\xDAA\x15parent,asset,asset_id\x82\xD3\xE4\x93\x02C\":/v1/{parent=projects/*/locations/*/lakes/*/zones/*}/assets:\x05asset\x12\xDD\x01\x0A\x0BUpdateAsset\x12,.google.cloud.dataplex.v1.UpdateAssetRequest\x1A\x1D.google.longrunning.Operation\"\x80\x01\xCAA\x1A\x0A\x05Asset\x12\x11OperationMetadata\xDAA\x11asset,update_mask\x82\xD3\xE4\x93\x02I2@/v1/{asset.name=projects/*/locations/*/lakes/*/zones/*/assets/*}:\x05asset\x12\xD2\x01\x0A\x0BDeleteAsset\x12,.google.cloud.dataplex.v1.DeleteAssetRequest\x1A\x1D.google.longrunning.Operation\"v\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02<*:/v1/{name=projects/*/locations/*/lakes/*/zones/*/assets/*}\x12\xB4\x01\x0A\x0AListAssets\x12+.google.cloud.dataplex.v1.ListAssetsRequest\x1A,.google.cloud.dataplex.v1.ListAssetsResponse\"K\xDAA\x06parent\x82\xD3\xE4\x93\x02<\x12:/v1/{parent=projects/*/locations/*/lakes/*/zones/*}/assets\x12\xA1\x01\x0A\x08GetAsset\x12).google.cloud.dataplex.v1.GetAssetRequest\x1A\x1F.google.cloud.dataplex.v1.Asset\"I\xDAA\x04name\x82\xD3\xE4\x93\x02<\x12:/v1/{name=projects/*/locations/*/lakes/*/zones/*/assets/*}\x12\xCB\x01\x0A\x10ListAssetActions\x121.google.cloud.dataplex.v1.ListAssetActionsRequest\x1A-.google.cloud.dataplex.v1.ListActionsResponse\"U\xDAA\x06parent\x82\xD3\xE4\x93\x02F\x12D/v1/{parent=projects/*/locations/*/lakes/*/zones/*/assets/*}/actions\x12\xCB\x01\x0A\x0ACreateTask\x12+.google.cloud.dataplex.v1.CreateTaskRequest\x1A\x1D.google.longrunning.Operation\"q\xCAA\x19\x0A\x04Task\x12\x11OperationMetadata\xDAA\x13parent,task,task_id\x82\xD3\xE4\x93\x029\"1/v1/{parent=projects/*/locations/*/lakes/*}/tasks:\x04task\x12\xCD\x01\x0A\x0AUpdateTask\x12+.google.cloud.dataplex.v1.UpdateTaskRequest\x1A\x1D.google.longrunning.Operation\"s\xCAA\x19\x0A\x04Task\x12\x11OperationMetadata\xDAA\x10task,update_mask\x82\xD3\xE4\x93\x02>26/v1/{task.name=projects/*/locations/*/lakes/*/tasks/*}:\x04task\x12\xC7\x01\x0A\x0ADeleteTask\x12+.google.cloud.dataplex.v1.DeleteTaskRequest\x1A\x1D.google.longrunning.Operation\"m\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x023*1/v1/{name=projects/*/locations/*/lakes/*/tasks/*}\x12\xA8\x01\x0A\x09ListTasks\x12*.google.cloud.dataplex.v1.ListTasksRequest\x1A+.google.cloud.dataplex.v1.ListTasksResponse\"B\xDAA\x06parent\x82\xD3\xE4\x93\x023\x121/v1/{parent=projects/*/locations/*/lakes/*}/tasks\x12\x95\x01\x0A\x07GetTask\x12(.google.cloud.dataplex.v1.GetTaskRequest\x1A\x1E.google.cloud.dataplex.v1.Task\"@\xDAA\x04name\x82\xD3\xE4\x93\x023\x121/v1/{name=projects/*/locations/*/lakes/*/tasks/*}\x12\xAC\x01\x0A\x08ListJobs\x12).google.cloud.dataplex.v1.ListJobsRequest\x1A*.google.cloud.dataplex.v1.ListJobsResponse\"I\xDAA\x06parent\x82\xD3\xE4\x93\x02:\x128/v1/{parent=projects/*/locations/*/lakes/*/tasks/*}/jobs\x12\xA7\x01\x0A\x07RunTask\x12(.google.cloud.dataplex.v1.RunTaskRequest\x1A).google.cloud.dataplex.v1.RunTaskResponse\"G\xDAA\x04name\x82\xD3\xE4\x93\x02:\"5/v1/{name=projects/*/locations/*/lakes/*/tasks/*}:run:\x01*\x12\x99\x01\x0A\x06GetJob\x12'.google.cloud.dataplex.v1.GetJobRequest\x1A\x1D.google.cloud.dataplex.v1.Job\"G\xDAA\x04name\x82\xD3\xE4\x93\x02:\x128/v1/{name=projects/*/locations/*/lakes/*/tasks/*/jobs/*}\x12\xA2\x01\x0A\x09CancelJob\x12*.google.cloud.dataplex.v1.CancelJobRequest\x1A\x16.google.protobuf.Empty\"Q\xDAA\x04name\x82\xD3\xE4\x93\x02D\"?/v1/{name=projects/*/locations/*/lakes/*/tasks/*/jobs/*}:cancel:\x01*\x1A\xEB\x01\xCAA\x17dataplex.googleapis.com\xD2A\xCD\x01https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/dataplex.read-write,https://www.googleapis.com/auth/dataplex.readonlyBh\x0A\x1Ccom.google.cloud.dataplex.v1B\x0CServiceProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3" , true); static::$is_initialized = true; diff --git a/Dataplex/samples/V1/BusinessGlossaryServiceClient/list_locations.php b/Dataplex/samples/V1/BusinessGlossaryServiceClient/list_locations.php index 8e63806a7634..a5b8b3cea994 100644 --- a/Dataplex/samples/V1/BusinessGlossaryServiceClient/list_locations.php +++ b/Dataplex/samples/V1/BusinessGlossaryServiceClient/list_locations.php @@ -31,13 +31,21 @@ /** * Lists information about the supported locations for this service. -This method can be called in two ways: -* **List all public locations:** Use the path `GET /v1/locations`. -* **List project-visible locations:** Use the path -`GET /v1/projects/{project_id}/locations`. This may include public -locations as well as private or other locations specifically visible -to the project. +This method lists locations based on the resource scope provided in +the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * +**Global locations**: If `name` is empty, the method lists the +public locations available to all projects. * **Project-specific +locations**: If `name` follows the format +`projects/{project}`, the method lists locations visible to that +specific project. This includes public, private, or other +project-specific locations enabled for the project. + +For gRPC and client library implementations, the resource name is +passed as the `name` field. For direct service calls, the resource +name is +incorporated into the request path based on the specific service +implementation and version. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Dataplex/samples/V1/CatalogServiceClient/list_locations.php b/Dataplex/samples/V1/CatalogServiceClient/list_locations.php index 5579a3485476..0f6af50de22d 100644 --- a/Dataplex/samples/V1/CatalogServiceClient/list_locations.php +++ b/Dataplex/samples/V1/CatalogServiceClient/list_locations.php @@ -31,13 +31,21 @@ /** * Lists information about the supported locations for this service. -This method can be called in two ways: -* **List all public locations:** Use the path `GET /v1/locations`. -* **List project-visible locations:** Use the path -`GET /v1/projects/{project_id}/locations`. This may include public -locations as well as private or other locations specifically visible -to the project. +This method lists locations based on the resource scope provided in +the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * +**Global locations**: If `name` is empty, the method lists the +public locations available to all projects. * **Project-specific +locations**: If `name` follows the format +`projects/{project}`, the method lists locations visible to that +specific project. This includes public, private, or other +project-specific locations enabled for the project. + +For gRPC and client library implementations, the resource name is +passed as the `name` field. For direct service calls, the resource +name is +incorporated into the request path based on the specific service +implementation and version. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Dataplex/samples/V1/CatalogServiceClient/lookup_context.php b/Dataplex/samples/V1/CatalogServiceClient/lookup_context.php index a26dfe8ff529..28993447e96e 100644 --- a/Dataplex/samples/V1/CatalogServiceClient/lookup_context.php +++ b/Dataplex/samples/V1/CatalogServiceClient/lookup_context.php @@ -33,12 +33,12 @@ * * @param string $name The project to which the request should be attributed in the * following form: `projects/{project}/locations/{location}`. - * @param string $formattedResourcesElement The entry names to lookup context for. The request should have - * max 10 of those. + * @param string $formattedResourcesElement The entry names to look up the context for. The maximum number of + * resources for a request is limited to 10. * * ## Examples: * - * projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry} + * `projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}` * Please see {@see CatalogServiceClient::entryName()} for help formatting this field. */ function lookup_context_sample(string $name, string $formattedResourcesElement): void diff --git a/Dataplex/samples/V1/CatalogServiceClient/modify_entry.php b/Dataplex/samples/V1/CatalogServiceClient/modify_entry.php new file mode 100644 index 000000000000..a1801f4b21aa --- /dev/null +++ b/Dataplex/samples/V1/CatalogServiceClient/modify_entry.php @@ -0,0 +1,78 @@ +setEntryType($entryEntryType); + $request = (new ModifyEntryRequest()) + ->setName($name) + ->setEntry($entry); + + // Call the API and handle any network failures. + try { + /** @var Entry $response */ + $response = $catalogServiceClient->modifyEntry($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $name = '[NAME]'; + $entryEntryType = '[ENTRY_TYPE]'; + + modify_entry_sample($name, $entryEntryType); +} +// [END dataplex_v1_generated_CatalogService_ModifyEntry_sync] diff --git a/Dataplex/samples/V1/CmekServiceClient/list_locations.php b/Dataplex/samples/V1/CmekServiceClient/list_locations.php index f4089d04312b..5af662a81fe6 100644 --- a/Dataplex/samples/V1/CmekServiceClient/list_locations.php +++ b/Dataplex/samples/V1/CmekServiceClient/list_locations.php @@ -31,13 +31,21 @@ /** * Lists information about the supported locations for this service. -This method can be called in two ways: -* **List all public locations:** Use the path `GET /v1/locations`. -* **List project-visible locations:** Use the path -`GET /v1/projects/{project_id}/locations`. This may include public -locations as well as private or other locations specifically visible -to the project. +This method lists locations based on the resource scope provided in +the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * +**Global locations**: If `name` is empty, the method lists the +public locations available to all projects. * **Project-specific +locations**: If `name` follows the format +`projects/{project}`, the method lists locations visible to that +specific project. This includes public, private, or other +project-specific locations enabled for the project. + +For gRPC and client library implementations, the resource name is +passed as the `name` field. For direct service calls, the resource +name is +incorporated into the request path based on the specific service +implementation and version. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Dataplex/samples/V1/ContentServiceClient/list_locations.php b/Dataplex/samples/V1/ContentServiceClient/list_locations.php index 93bd45b7ca9c..0375a96ead7c 100644 --- a/Dataplex/samples/V1/ContentServiceClient/list_locations.php +++ b/Dataplex/samples/V1/ContentServiceClient/list_locations.php @@ -31,13 +31,21 @@ /** * Lists information about the supported locations for this service. -This method can be called in two ways: -* **List all public locations:** Use the path `GET /v1/locations`. -* **List project-visible locations:** Use the path -`GET /v1/projects/{project_id}/locations`. This may include public -locations as well as private or other locations specifically visible -to the project. +This method lists locations based on the resource scope provided in +the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * +**Global locations**: If `name` is empty, the method lists the +public locations available to all projects. * **Project-specific +locations**: If `name` follows the format +`projects/{project}`, the method lists locations visible to that +specific project. This includes public, private, or other +project-specific locations enabled for the project. + +For gRPC and client library implementations, the resource name is +passed as the `name` field. For direct service calls, the resource +name is +incorporated into the request path based on the specific service +implementation and version. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Dataplex/samples/V1/DataProductServiceClient/list_locations.php b/Dataplex/samples/V1/DataProductServiceClient/list_locations.php index 4e4d78f3a867..7791ca9b6cda 100644 --- a/Dataplex/samples/V1/DataProductServiceClient/list_locations.php +++ b/Dataplex/samples/V1/DataProductServiceClient/list_locations.php @@ -31,13 +31,21 @@ /** * Lists information about the supported locations for this service. -This method can be called in two ways: -* **List all public locations:** Use the path `GET /v1/locations`. -* **List project-visible locations:** Use the path -`GET /v1/projects/{project_id}/locations`. This may include public -locations as well as private or other locations specifically visible -to the project. +This method lists locations based on the resource scope provided in +the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * +**Global locations**: If `name` is empty, the method lists the +public locations available to all projects. * **Project-specific +locations**: If `name` follows the format +`projects/{project}`, the method lists locations visible to that +specific project. This includes public, private, or other +project-specific locations enabled for the project. + +For gRPC and client library implementations, the resource name is +passed as the `name` field. For direct service calls, the resource +name is +incorporated into the request path based on the specific service +implementation and version. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Dataplex/samples/V1/DataProductServiceClient/request_data_product_access.php b/Dataplex/samples/V1/DataProductServiceClient/request_data_product_access.php new file mode 100644 index 000000000000..9093001767c3 --- /dev/null +++ b/Dataplex/samples/V1/DataProductServiceClient/request_data_product_access.php @@ -0,0 +1,82 @@ +setParent($formattedParent) + ->setChangeRequest($changeRequest); + + // Call the API and handle any network failures. + try { + /** @var RequestDataProductAccessResponse $response */ + $response = $dataProductServiceClient->requestDataProductAccess($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = DataProductServiceClient::dataProductName( + '[PROJECT]', + '[LOCATION]', + '[DATA_PRODUCT]' + ); + + request_data_product_access_sample($formattedParent); +} +// [END dataplex_v1_generated_DataProductService_RequestDataProductAccess_sync] diff --git a/Dataplex/samples/V1/DataScanServiceClient/cancel_data_scan_job.php b/Dataplex/samples/V1/DataScanServiceClient/cancel_data_scan_job.php new file mode 100644 index 000000000000..c7c3c6a0bf74 --- /dev/null +++ b/Dataplex/samples/V1/DataScanServiceClient/cancel_data_scan_job.php @@ -0,0 +1,79 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var CancelDataScanJobResponse $response */ + $response = $dataScanServiceClient->cancelDataScanJob($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = DataScanServiceClient::dataScanJobName( + '[PROJECT]', + '[LOCATION]', + '[DATASCAN]', + '[JOB]' + ); + + cancel_data_scan_job_sample($formattedName); +} +// [END dataplex_v1_generated_DataScanService_CancelDataScanJob_sync] diff --git a/Dataplex/samples/V1/DataScanServiceClient/create_data_scan.php b/Dataplex/samples/V1/DataScanServiceClient/create_data_scan.php index 5923f28f4b9e..56e83aa257f7 100644 --- a/Dataplex/samples/V1/DataScanServiceClient/create_data_scan.php +++ b/Dataplex/samples/V1/DataScanServiceClient/create_data_scan.php @@ -39,15 +39,8 @@ * where `project` refers to a *project_id* or *project_number* and * `location_id` refers to a Google Cloud region. Please see * {@see DataScanServiceClient::locationName()} for help formatting this field. - * @param string $dataScanId DataScan identifier. - * - * * Must contain only lowercase letters, numbers and hyphens. - * * Must start with a letter. - * * Must end with a number or a letter. - * * Must be between 1-63 characters. - * * Must be unique within the customer project / location. */ -function create_data_scan_sample(string $formattedParent, string $dataScanId): void +function create_data_scan_sample(string $formattedParent): void { // Create a client. $dataScanServiceClient = new DataScanServiceClient(); @@ -58,8 +51,7 @@ function create_data_scan_sample(string $formattedParent, string $dataScanId): v ->setData($dataScanData); $request = (new CreateDataScanRequest()) ->setParent($formattedParent) - ->setDataScan($dataScan) - ->setDataScanId($dataScanId); + ->setDataScan($dataScan); // Call the API and handle any network failures. try { @@ -93,8 +85,7 @@ function create_data_scan_sample(string $formattedParent, string $dataScanId): v function callSample(): void { $formattedParent = DataScanServiceClient::locationName('[PROJECT]', '[LOCATION]'); - $dataScanId = '[DATA_SCAN_ID]'; - create_data_scan_sample($formattedParent, $dataScanId); + create_data_scan_sample($formattedParent); } // [END dataplex_v1_generated_DataScanService_CreateDataScan_sync] diff --git a/Dataplex/samples/V1/DataScanServiceClient/list_locations.php b/Dataplex/samples/V1/DataScanServiceClient/list_locations.php index f38389ee09cc..7acdf0679b88 100644 --- a/Dataplex/samples/V1/DataScanServiceClient/list_locations.php +++ b/Dataplex/samples/V1/DataScanServiceClient/list_locations.php @@ -31,13 +31,21 @@ /** * Lists information about the supported locations for this service. -This method can be called in two ways: -* **List all public locations:** Use the path `GET /v1/locations`. -* **List project-visible locations:** Use the path -`GET /v1/projects/{project_id}/locations`. This may include public -locations as well as private or other locations specifically visible -to the project. +This method lists locations based on the resource scope provided in +the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * +**Global locations**: If `name` is empty, the method lists the +public locations available to all projects. * **Project-specific +locations**: If `name` follows the format +`projects/{project}`, the method lists locations visible to that +specific project. This includes public, private, or other +project-specific locations enabled for the project. + +For gRPC and client library implementations, the resource name is +passed as the `name` field. For direct service calls, the resource +name is +incorporated into the request path based on the specific service +implementation and version. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Dataplex/samples/V1/DataTaxonomyServiceClient/list_locations.php b/Dataplex/samples/V1/DataTaxonomyServiceClient/list_locations.php index a8d710497659..185519289ccc 100644 --- a/Dataplex/samples/V1/DataTaxonomyServiceClient/list_locations.php +++ b/Dataplex/samples/V1/DataTaxonomyServiceClient/list_locations.php @@ -31,13 +31,21 @@ /** * Lists information about the supported locations for this service. -This method can be called in two ways: -* **List all public locations:** Use the path `GET /v1/locations`. -* **List project-visible locations:** Use the path -`GET /v1/projects/{project_id}/locations`. This may include public -locations as well as private or other locations specifically visible -to the project. +This method lists locations based on the resource scope provided in +the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * +**Global locations**: If `name` is empty, the method lists the +public locations available to all projects. * **Project-specific +locations**: If `name` follows the format +`projects/{project}`, the method lists locations visible to that +specific project. This includes public, private, or other +project-specific locations enabled for the project. + +For gRPC and client library implementations, the resource name is +passed as the `name` field. For direct service calls, the resource +name is +incorporated into the request path based on the specific service +implementation and version. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Dataplex/samples/V1/DataplexServiceClient/list_locations.php b/Dataplex/samples/V1/DataplexServiceClient/list_locations.php index b525a8f5402a..aadfc0a7a0bc 100644 --- a/Dataplex/samples/V1/DataplexServiceClient/list_locations.php +++ b/Dataplex/samples/V1/DataplexServiceClient/list_locations.php @@ -31,13 +31,21 @@ /** * Lists information about the supported locations for this service. -This method can be called in two ways: -* **List all public locations:** Use the path `GET /v1/locations`. -* **List project-visible locations:** Use the path -`GET /v1/projects/{project_id}/locations`. This may include public -locations as well as private or other locations specifically visible -to the project. +This method lists locations based on the resource scope provided in +the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * +**Global locations**: If `name` is empty, the method lists the +public locations available to all projects. * **Project-specific +locations**: If `name` follows the format +`projects/{project}`, the method lists locations visible to that +specific project. This includes public, private, or other +project-specific locations enabled for the project. + +For gRPC and client library implementations, the resource name is +passed as the `name` field. For direct service calls, the resource +name is +incorporated into the request path based on the specific service +implementation and version. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Dataplex/samples/V1/MetadataServiceClient/list_locations.php b/Dataplex/samples/V1/MetadataServiceClient/list_locations.php index e4b5189588c9..a4ed47206cd0 100644 --- a/Dataplex/samples/V1/MetadataServiceClient/list_locations.php +++ b/Dataplex/samples/V1/MetadataServiceClient/list_locations.php @@ -31,13 +31,21 @@ /** * Lists information about the supported locations for this service. -This method can be called in two ways: -* **List all public locations:** Use the path `GET /v1/locations`. -* **List project-visible locations:** Use the path -`GET /v1/projects/{project_id}/locations`. This may include public -locations as well as private or other locations specifically visible -to the project. +This method lists locations based on the resource scope provided in +the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * +**Global locations**: If `name` is empty, the method lists the +public locations available to all projects. * **Project-specific +locations**: If `name` follows the format +`projects/{project}`, the method lists locations visible to that +specific project. This includes public, private, or other +project-specific locations enabled for the project. + +For gRPC and client library implementations, the resource name is +passed as the `name` field. For direct service calls, the resource +name is +incorporated into the request path based on the specific service +implementation and version. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Dataplex/src/V1/Aspect.php b/Dataplex/src/V1/Aspect.php index 9e54209e87fd..1cf3c1a17717 100644 --- a/Dataplex/src/V1/Aspect.php +++ b/Dataplex/src/V1/Aspect.php @@ -9,7 +9,7 @@ use Google\Protobuf\RepeatedField; /** - * An aspect is a single piece of metadata describing an entry. + * Represents a single piece of metadata describing an entry or entry link. * * Generated from protobuf message google.cloud.dataplex.v1.Aspect */ diff --git a/Dataplex/src/V1/CancelDataScanJobRequest.php b/Dataplex/src/V1/CancelDataScanJobRequest.php new file mode 100644 index 000000000000..a19502ed983b --- /dev/null +++ b/Dataplex/src/V1/CancelDataScanJobRequest.php @@ -0,0 +1,96 @@ +google.cloud.dataplex.v1.CancelDataScanJobRequest + */ +class CancelDataScanJobRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The resource name of the DataScanJob: + * `projects/{project_id_or_number}/locations/{location_id}/dataScans/{data_scan_id}/jobs/{data_scan_job_id}` + * where `project_id_or_number` refers to a *project_id* or *project_number* + * and `location_id` refers to a Google Cloud region. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + + /** + * @param string $name Required. The resource name of the DataScanJob: + * `projects/{project_id_or_number}/locations/{location_id}/dataScans/{data_scan_id}/jobs/{data_scan_job_id}` + * where `project_id_or_number` refers to a *project_id* or *project_number* + * and `location_id` refers to a Google Cloud region. Please see + * {@see DataScanServiceClient::dataScanJobName()} for help formatting this field. + * + * @return \Google\Cloud\Dataplex\V1\CancelDataScanJobRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The resource name of the DataScanJob: + * `projects/{project_id_or_number}/locations/{location_id}/dataScans/{data_scan_id}/jobs/{data_scan_job_id}` + * where `project_id_or_number` refers to a *project_id* or *project_number* + * and `location_id` refers to a Google Cloud region. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\Datascans::initOnce(); + parent::__construct($data); + } + + /** + * Required. The resource name of the DataScanJob: + * `projects/{project_id_or_number}/locations/{location_id}/dataScans/{data_scan_id}/jobs/{data_scan_job_id}` + * where `project_id_or_number` refers to a *project_id* or *project_number* + * and `location_id` refers to a Google Cloud region. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. The resource name of the DataScanJob: + * `projects/{project_id_or_number}/locations/{location_id}/dataScans/{data_scan_id}/jobs/{data_scan_job_id}` + * where `project_id_or_number` refers to a *project_id* or *project_number* + * and `location_id` refers to a Google Cloud region. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/CancelDataScanJobResponse.php b/Dataplex/src/V1/CancelDataScanJobResponse.php new file mode 100644 index 000000000000..81f14e7f9e48 --- /dev/null +++ b/Dataplex/src/V1/CancelDataScanJobResponse.php @@ -0,0 +1,33 @@ +google.cloud.dataplex.v1.CancelDataScanJobResponse + */ +class CancelDataScanJobResponse extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\Datascans::initOnce(); + parent::__construct($data); + } + +} + diff --git a/Dataplex/src/V1/ChangeRequest.php b/Dataplex/src/V1/ChangeRequest.php new file mode 100644 index 000000000000..6b64c8613bc7 --- /dev/null +++ b/Dataplex/src/V1/ChangeRequest.php @@ -0,0 +1,1031 @@ +google.cloud.dataplex.v1.ChangeRequest + */ +class ChangeRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Identifier. The relative resource name of the ChangeRequest, of the form: + * projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id} + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + */ + protected $name = ''; + /** + * Output only. System generated globally unique ID for the ChangeRequest. + * + * Generated from protobuf field string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { + */ + protected $uid = ''; + /** + * Output only. The time when the ChangeRequest was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $create_time = null; + /** + * Output only. The time when the ChangeRequest was last updated. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $update_time = null; + /** + * Optional. Justification of the ChangeRequest. This should explain + * *why* the change is needed or why it should be approved. + * + * Generated from protobuf field string justification = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $justification = ''; + /** + * Optional. User-defined labels for the ChangeRequest. + * + * Generated from protobuf field map labels = 6 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $labels; + /** + * Output only. The email address of the user who created the ChangeRequest. + * + * Generated from protobuf field string author = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $author = ''; + /** + * Output only. The current state of the ChangeRequest. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ChangeRequest.State state = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $state = 0; + /** + * Output only. The full resource name of the target resource to be modified. + * Example: + * //dataplex.googleapis.com/projects/my-project/locations/us-central1/entryGroups/my-group/entries/my-entry + * + * Generated from protobuf field string resource = 9 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + */ + protected $resource = ''; + /** + * Output only. The type of change represented by the change_payload. + * This field is derived from the populated field in the change_payload oneof. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ChangeRequest.ChangeType change_type = 19 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $change_type = 0; + /** + * Output only. The reason provided for rejecting the ChangeRequest. + * + * Generated from protobuf field string rejection_comment = 16 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $rejection_comment = ''; + /** + * Output only. The email address of the user who approved/rejected the + * ChangeRequest. + * + * Generated from protobuf field string approver = 17 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $approver = ''; + /** + * Optional. This checksum is computed by the service. It can be sent on + * update and delete requests to ensure the client has an up-to-date value + * before proceeding. + * + * Generated from protobuf field string etag = 18 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $etag = ''; + protected $change_payload; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Identifier. The relative resource name of the ChangeRequest, of the form: + * projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id} + * @type string $uid + * Output only. System generated globally unique ID for the ChangeRequest. + * @type \Google\Protobuf\Timestamp $create_time + * Output only. The time when the ChangeRequest was created. + * @type \Google\Protobuf\Timestamp $update_time + * Output only. The time when the ChangeRequest was last updated. + * @type string $justification + * Optional. Justification of the ChangeRequest. This should explain + * *why* the change is needed or why it should be approved. + * @type array|\Google\Protobuf\Internal\MapField $labels + * Optional. User-defined labels for the ChangeRequest. + * @type string $author + * Output only. The email address of the user who created the ChangeRequest. + * @type int $state + * Output only. The current state of the ChangeRequest. + * @type string $resource + * Output only. The full resource name of the target resource to be modified. + * Example: + * //dataplex.googleapis.com/projects/my-project/locations/us-central1/entryGroups/my-group/entries/my-entry + * @type \Google\Cloud\Dataplex\V1\CreateEntryRequest $create_entry + * Payload for creating an Entry. + * @type \Google\Cloud\Dataplex\V1\UpdateEntryRequest $update_entry + * Payload for updating an Entry. + * @type \Google\Cloud\Dataplex\V1\DeleteEntryRequest $delete_entry + * Payload for deleting an Entry. + * @type \Google\Cloud\Dataplex\V1\CreateEntryLinkRequest $create_entry_link + * Payload for creating an EntryLink. + * @type \Google\Cloud\Dataplex\V1\DeleteEntryLinkRequest $delete_entry_link + * Payload for deleting an EntryLink. + * @type \Google\Cloud\Dataplex\V1\CreateGlossaryRequest $create_glossary + * Payload for creating a Glossary. + * @type \Google\Cloud\Dataplex\V1\UpdateGlossaryRequest $update_glossary + * Payload for updating a Glossary. + * @type \Google\Cloud\Dataplex\V1\DeleteGlossaryRequest $delete_glossary + * Payload for deleting a Glossary. + * @type \Google\Cloud\Dataplex\V1\CreateGlossaryCategoryRequest $create_glossary_category + * Payload for creating a GlossaryCategory. + * @type \Google\Cloud\Dataplex\V1\UpdateGlossaryCategoryRequest $update_glossary_category + * Payload for updating a GlossaryCategory. + * @type \Google\Cloud\Dataplex\V1\DeleteGlossaryCategoryRequest $delete_glossary_category + * Payload for deleting a GlossaryCategory. + * @type \Google\Cloud\Dataplex\V1\CreateGlossaryTermRequest $create_glossary_term + * Payload for creating a GlossaryTerm. + * @type \Google\Cloud\Dataplex\V1\UpdateGlossaryTermRequest $update_glossary_term + * Payload for updating a GlossaryTerm. + * @type \Google\Cloud\Dataplex\V1\DeleteGlossaryTermRequest $delete_glossary_term + * Payload for deleting a GlossaryTerm. + * @type \Google\Cloud\Dataplex\V1\DataProductAccessRequest $data_product_access_request + * Payload for Data Product access request. + * @type int $change_type + * Output only. The type of change represented by the change_payload. + * This field is derived from the populated field in the change_payload oneof. + * @type string $rejection_comment + * Output only. The reason provided for rejecting the ChangeRequest. + * @type string $approver + * Output only. The email address of the user who approved/rejected the + * ChangeRequest. + * @type string $etag + * Optional. This checksum is computed by the service. It can be sent on + * update and delete requests to ensure the client has an up-to-date value + * before proceeding. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\ApprovalWorkflow::initOnce(); + parent::__construct($data); + } + + /** + * Identifier. The relative resource name of the ChangeRequest, of the form: + * projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id} + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Identifier. The relative resource name of the ChangeRequest, of the form: + * projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id} + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Output only. System generated globally unique ID for the ChangeRequest. + * + * Generated from protobuf field string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { + * @return string + */ + public function getUid() + { + return $this->uid; + } + + /** + * Output only. System generated globally unique ID for the ChangeRequest. + * + * Generated from protobuf field string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { + * @param string $var + * @return $this + */ + public function setUid($var) + { + GPBUtil::checkString($var, True); + $this->uid = $var; + + return $this; + } + + /** + * Output only. The time when the ChangeRequest was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCreateTime() + { + return $this->create_time; + } + + public function hasCreateTime() + { + return isset($this->create_time); + } + + public function clearCreateTime() + { + unset($this->create_time); + } + + /** + * Output only. The time when the ChangeRequest was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCreateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->create_time = $var; + + return $this; + } + + /** + * Output only. The time when the ChangeRequest was last updated. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getUpdateTime() + { + return $this->update_time; + } + + public function hasUpdateTime() + { + return isset($this->update_time); + } + + public function clearUpdateTime() + { + unset($this->update_time); + } + + /** + * Output only. The time when the ChangeRequest was last updated. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setUpdateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->update_time = $var; + + return $this; + } + + /** + * Optional. Justification of the ChangeRequest. This should explain + * *why* the change is needed or why it should be approved. + * + * Generated from protobuf field string justification = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getJustification() + { + return $this->justification; + } + + /** + * Optional. Justification of the ChangeRequest. This should explain + * *why* the change is needed or why it should be approved. + * + * Generated from protobuf field string justification = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setJustification($var) + { + GPBUtil::checkString($var, True); + $this->justification = $var; + + return $this; + } + + /** + * Optional. User-defined labels for the ChangeRequest. + * + * Generated from protobuf field map labels = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\Internal\MapField + */ + public function getLabels() + { + return $this->labels; + } + + /** + * Optional. User-defined labels for the ChangeRequest. + * + * Generated from protobuf field map labels = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @param array|\Google\Protobuf\Internal\MapField $var + * @return $this + */ + public function setLabels($var) + { + $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::STRING); + $this->labels = $arr; + + return $this; + } + + /** + * Output only. The email address of the user who created the ChangeRequest. + * + * Generated from protobuf field string author = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getAuthor() + { + return $this->author; + } + + /** + * Output only. The email address of the user who created the ChangeRequest. + * + * Generated from protobuf field string author = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setAuthor($var) + { + GPBUtil::checkString($var, True); + $this->author = $var; + + return $this; + } + + /** + * Output only. The current state of the ChangeRequest. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ChangeRequest.State state = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getState() + { + return $this->state; + } + + /** + * Output only. The current state of the ChangeRequest. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ChangeRequest.State state = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setState($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Dataplex\V1\ChangeRequest\State::class); + $this->state = $var; + + return $this; + } + + /** + * Output only. The full resource name of the target resource to be modified. + * Example: + * //dataplex.googleapis.com/projects/my-project/locations/us-central1/entryGroups/my-group/entries/my-entry + * + * Generated from protobuf field string resource = 9 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @return string + */ + public function getResource() + { + return $this->resource; + } + + /** + * Output only. The full resource name of the target resource to be modified. + * Example: + * //dataplex.googleapis.com/projects/my-project/locations/us-central1/entryGroups/my-group/entries/my-entry + * + * Generated from protobuf field string resource = 9 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setResource($var) + { + GPBUtil::checkString($var, True); + $this->resource = $var; + + return $this; + } + + /** + * Payload for creating an Entry. + * + * Generated from protobuf field .google.cloud.dataplex.v1.CreateEntryRequest create_entry = 10; + * @return \Google\Cloud\Dataplex\V1\CreateEntryRequest|null + */ + public function getCreateEntry() + { + return $this->readOneof(10); + } + + public function hasCreateEntry() + { + return $this->hasOneof(10); + } + + /** + * Payload for creating an Entry. + * + * Generated from protobuf field .google.cloud.dataplex.v1.CreateEntryRequest create_entry = 10; + * @param \Google\Cloud\Dataplex\V1\CreateEntryRequest $var + * @return $this + */ + public function setCreateEntry($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\CreateEntryRequest::class); + $this->writeOneof(10, $var); + + return $this; + } + + /** + * Payload for updating an Entry. + * + * Generated from protobuf field .google.cloud.dataplex.v1.UpdateEntryRequest update_entry = 11; + * @return \Google\Cloud\Dataplex\V1\UpdateEntryRequest|null + */ + public function getUpdateEntry() + { + return $this->readOneof(11); + } + + public function hasUpdateEntry() + { + return $this->hasOneof(11); + } + + /** + * Payload for updating an Entry. + * + * Generated from protobuf field .google.cloud.dataplex.v1.UpdateEntryRequest update_entry = 11; + * @param \Google\Cloud\Dataplex\V1\UpdateEntryRequest $var + * @return $this + */ + public function setUpdateEntry($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\UpdateEntryRequest::class); + $this->writeOneof(11, $var); + + return $this; + } + + /** + * Payload for deleting an Entry. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DeleteEntryRequest delete_entry = 12; + * @return \Google\Cloud\Dataplex\V1\DeleteEntryRequest|null + */ + public function getDeleteEntry() + { + return $this->readOneof(12); + } + + public function hasDeleteEntry() + { + return $this->hasOneof(12); + } + + /** + * Payload for deleting an Entry. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DeleteEntryRequest delete_entry = 12; + * @param \Google\Cloud\Dataplex\V1\DeleteEntryRequest $var + * @return $this + */ + public function setDeleteEntry($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\DeleteEntryRequest::class); + $this->writeOneof(12, $var); + + return $this; + } + + /** + * Payload for creating an EntryLink. + * + * Generated from protobuf field .google.cloud.dataplex.v1.CreateEntryLinkRequest create_entry_link = 13; + * @return \Google\Cloud\Dataplex\V1\CreateEntryLinkRequest|null + */ + public function getCreateEntryLink() + { + return $this->readOneof(13); + } + + public function hasCreateEntryLink() + { + return $this->hasOneof(13); + } + + /** + * Payload for creating an EntryLink. + * + * Generated from protobuf field .google.cloud.dataplex.v1.CreateEntryLinkRequest create_entry_link = 13; + * @param \Google\Cloud\Dataplex\V1\CreateEntryLinkRequest $var + * @return $this + */ + public function setCreateEntryLink($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\CreateEntryLinkRequest::class); + $this->writeOneof(13, $var); + + return $this; + } + + /** + * Payload for deleting an EntryLink. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DeleteEntryLinkRequest delete_entry_link = 14; + * @return \Google\Cloud\Dataplex\V1\DeleteEntryLinkRequest|null + */ + public function getDeleteEntryLink() + { + return $this->readOneof(14); + } + + public function hasDeleteEntryLink() + { + return $this->hasOneof(14); + } + + /** + * Payload for deleting an EntryLink. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DeleteEntryLinkRequest delete_entry_link = 14; + * @param \Google\Cloud\Dataplex\V1\DeleteEntryLinkRequest $var + * @return $this + */ + public function setDeleteEntryLink($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\DeleteEntryLinkRequest::class); + $this->writeOneof(14, $var); + + return $this; + } + + /** + * Payload for creating a Glossary. + * + * Generated from protobuf field .google.cloud.dataplex.v1.CreateGlossaryRequest create_glossary = 20; + * @return \Google\Cloud\Dataplex\V1\CreateGlossaryRequest|null + */ + public function getCreateGlossary() + { + return $this->readOneof(20); + } + + public function hasCreateGlossary() + { + return $this->hasOneof(20); + } + + /** + * Payload for creating a Glossary. + * + * Generated from protobuf field .google.cloud.dataplex.v1.CreateGlossaryRequest create_glossary = 20; + * @param \Google\Cloud\Dataplex\V1\CreateGlossaryRequest $var + * @return $this + */ + public function setCreateGlossary($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\CreateGlossaryRequest::class); + $this->writeOneof(20, $var); + + return $this; + } + + /** + * Payload for updating a Glossary. + * + * Generated from protobuf field .google.cloud.dataplex.v1.UpdateGlossaryRequest update_glossary = 21; + * @return \Google\Cloud\Dataplex\V1\UpdateGlossaryRequest|null + */ + public function getUpdateGlossary() + { + return $this->readOneof(21); + } + + public function hasUpdateGlossary() + { + return $this->hasOneof(21); + } + + /** + * Payload for updating a Glossary. + * + * Generated from protobuf field .google.cloud.dataplex.v1.UpdateGlossaryRequest update_glossary = 21; + * @param \Google\Cloud\Dataplex\V1\UpdateGlossaryRequest $var + * @return $this + */ + public function setUpdateGlossary($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\UpdateGlossaryRequest::class); + $this->writeOneof(21, $var); + + return $this; + } + + /** + * Payload for deleting a Glossary. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DeleteGlossaryRequest delete_glossary = 22; + * @return \Google\Cloud\Dataplex\V1\DeleteGlossaryRequest|null + */ + public function getDeleteGlossary() + { + return $this->readOneof(22); + } + + public function hasDeleteGlossary() + { + return $this->hasOneof(22); + } + + /** + * Payload for deleting a Glossary. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DeleteGlossaryRequest delete_glossary = 22; + * @param \Google\Cloud\Dataplex\V1\DeleteGlossaryRequest $var + * @return $this + */ + public function setDeleteGlossary($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\DeleteGlossaryRequest::class); + $this->writeOneof(22, $var); + + return $this; + } + + /** + * Payload for creating a GlossaryCategory. + * + * Generated from protobuf field .google.cloud.dataplex.v1.CreateGlossaryCategoryRequest create_glossary_category = 23; + * @return \Google\Cloud\Dataplex\V1\CreateGlossaryCategoryRequest|null + */ + public function getCreateGlossaryCategory() + { + return $this->readOneof(23); + } + + public function hasCreateGlossaryCategory() + { + return $this->hasOneof(23); + } + + /** + * Payload for creating a GlossaryCategory. + * + * Generated from protobuf field .google.cloud.dataplex.v1.CreateGlossaryCategoryRequest create_glossary_category = 23; + * @param \Google\Cloud\Dataplex\V1\CreateGlossaryCategoryRequest $var + * @return $this + */ + public function setCreateGlossaryCategory($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\CreateGlossaryCategoryRequest::class); + $this->writeOneof(23, $var); + + return $this; + } + + /** + * Payload for updating a GlossaryCategory. + * + * Generated from protobuf field .google.cloud.dataplex.v1.UpdateGlossaryCategoryRequest update_glossary_category = 24; + * @return \Google\Cloud\Dataplex\V1\UpdateGlossaryCategoryRequest|null + */ + public function getUpdateGlossaryCategory() + { + return $this->readOneof(24); + } + + public function hasUpdateGlossaryCategory() + { + return $this->hasOneof(24); + } + + /** + * Payload for updating a GlossaryCategory. + * + * Generated from protobuf field .google.cloud.dataplex.v1.UpdateGlossaryCategoryRequest update_glossary_category = 24; + * @param \Google\Cloud\Dataplex\V1\UpdateGlossaryCategoryRequest $var + * @return $this + */ + public function setUpdateGlossaryCategory($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\UpdateGlossaryCategoryRequest::class); + $this->writeOneof(24, $var); + + return $this; + } + + /** + * Payload for deleting a GlossaryCategory. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DeleteGlossaryCategoryRequest delete_glossary_category = 26; + * @return \Google\Cloud\Dataplex\V1\DeleteGlossaryCategoryRequest|null + */ + public function getDeleteGlossaryCategory() + { + return $this->readOneof(26); + } + + public function hasDeleteGlossaryCategory() + { + return $this->hasOneof(26); + } + + /** + * Payload for deleting a GlossaryCategory. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DeleteGlossaryCategoryRequest delete_glossary_category = 26; + * @param \Google\Cloud\Dataplex\V1\DeleteGlossaryCategoryRequest $var + * @return $this + */ + public function setDeleteGlossaryCategory($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\DeleteGlossaryCategoryRequest::class); + $this->writeOneof(26, $var); + + return $this; + } + + /** + * Payload for creating a GlossaryTerm. + * + * Generated from protobuf field .google.cloud.dataplex.v1.CreateGlossaryTermRequest create_glossary_term = 27; + * @return \Google\Cloud\Dataplex\V1\CreateGlossaryTermRequest|null + */ + public function getCreateGlossaryTerm() + { + return $this->readOneof(27); + } + + public function hasCreateGlossaryTerm() + { + return $this->hasOneof(27); + } + + /** + * Payload for creating a GlossaryTerm. + * + * Generated from protobuf field .google.cloud.dataplex.v1.CreateGlossaryTermRequest create_glossary_term = 27; + * @param \Google\Cloud\Dataplex\V1\CreateGlossaryTermRequest $var + * @return $this + */ + public function setCreateGlossaryTerm($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\CreateGlossaryTermRequest::class); + $this->writeOneof(27, $var); + + return $this; + } + + /** + * Payload for updating a GlossaryTerm. + * + * Generated from protobuf field .google.cloud.dataplex.v1.UpdateGlossaryTermRequest update_glossary_term = 28; + * @return \Google\Cloud\Dataplex\V1\UpdateGlossaryTermRequest|null + */ + public function getUpdateGlossaryTerm() + { + return $this->readOneof(28); + } + + public function hasUpdateGlossaryTerm() + { + return $this->hasOneof(28); + } + + /** + * Payload for updating a GlossaryTerm. + * + * Generated from protobuf field .google.cloud.dataplex.v1.UpdateGlossaryTermRequest update_glossary_term = 28; + * @param \Google\Cloud\Dataplex\V1\UpdateGlossaryTermRequest $var + * @return $this + */ + public function setUpdateGlossaryTerm($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\UpdateGlossaryTermRequest::class); + $this->writeOneof(28, $var); + + return $this; + } + + /** + * Payload for deleting a GlossaryTerm. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DeleteGlossaryTermRequest delete_glossary_term = 30; + * @return \Google\Cloud\Dataplex\V1\DeleteGlossaryTermRequest|null + */ + public function getDeleteGlossaryTerm() + { + return $this->readOneof(30); + } + + public function hasDeleteGlossaryTerm() + { + return $this->hasOneof(30); + } + + /** + * Payload for deleting a GlossaryTerm. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DeleteGlossaryTermRequest delete_glossary_term = 30; + * @param \Google\Cloud\Dataplex\V1\DeleteGlossaryTermRequest $var + * @return $this + */ + public function setDeleteGlossaryTerm($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\DeleteGlossaryTermRequest::class); + $this->writeOneof(30, $var); + + return $this; + } + + /** + * Payload for Data Product access request. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataProductAccessRequest data_product_access_request = 32; + * @return \Google\Cloud\Dataplex\V1\DataProductAccessRequest|null + */ + public function getDataProductAccessRequest() + { + return $this->readOneof(32); + } + + public function hasDataProductAccessRequest() + { + return $this->hasOneof(32); + } + + /** + * Payload for Data Product access request. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataProductAccessRequest data_product_access_request = 32; + * @param \Google\Cloud\Dataplex\V1\DataProductAccessRequest $var + * @return $this + */ + public function setDataProductAccessRequest($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\DataProductAccessRequest::class); + $this->writeOneof(32, $var); + + return $this; + } + + /** + * Output only. The type of change represented by the change_payload. + * This field is derived from the populated field in the change_payload oneof. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ChangeRequest.ChangeType change_type = 19 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getChangeType() + { + return $this->change_type; + } + + /** + * Output only. The type of change represented by the change_payload. + * This field is derived from the populated field in the change_payload oneof. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ChangeRequest.ChangeType change_type = 19 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setChangeType($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Dataplex\V1\ChangeRequest\ChangeType::class); + $this->change_type = $var; + + return $this; + } + + /** + * Output only. The reason provided for rejecting the ChangeRequest. + * + * Generated from protobuf field string rejection_comment = 16 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getRejectionComment() + { + return $this->rejection_comment; + } + + /** + * Output only. The reason provided for rejecting the ChangeRequest. + * + * Generated from protobuf field string rejection_comment = 16 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setRejectionComment($var) + { + GPBUtil::checkString($var, True); + $this->rejection_comment = $var; + + return $this; + } + + /** + * Output only. The email address of the user who approved/rejected the + * ChangeRequest. + * + * Generated from protobuf field string approver = 17 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getApprover() + { + return $this->approver; + } + + /** + * Output only. The email address of the user who approved/rejected the + * ChangeRequest. + * + * Generated from protobuf field string approver = 17 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setApprover($var) + { + GPBUtil::checkString($var, True); + $this->approver = $var; + + return $this; + } + + /** + * Optional. This checksum is computed by the service. It can be sent on + * update and delete requests to ensure the client has an up-to-date value + * before proceeding. + * + * Generated from protobuf field string etag = 18 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getEtag() + { + return $this->etag; + } + + /** + * Optional. This checksum is computed by the service. It can be sent on + * update and delete requests to ensure the client has an up-to-date value + * before proceeding. + * + * Generated from protobuf field string etag = 18 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setEtag($var) + { + GPBUtil::checkString($var, True); + $this->etag = $var; + + return $this; + } + + /** + * @return string + */ + public function getChangePayload() + { + return $this->whichOneof("change_payload"); + } + +} + diff --git a/Dataplex/src/V1/ChangeRequest/ChangeType.php b/Dataplex/src/V1/ChangeRequest/ChangeType.php new file mode 100644 index 000000000000..a6edce883f50 --- /dev/null +++ b/Dataplex/src/V1/ChangeRequest/ChangeType.php @@ -0,0 +1,152 @@ +google.cloud.dataplex.v1.ChangeRequest.ChangeType + */ +class ChangeType +{ + /** + * State unspecified. + * + * Generated from protobuf enum CHANGE_TYPE_UNSPECIFIED = 0; + */ + const CHANGE_TYPE_UNSPECIFIED = 0; + /** + * Request to create an Entry. + * + * Generated from protobuf enum CREATE_ENTRY = 1; + */ + const CREATE_ENTRY = 1; + /** + * Request to update an Entry. + * + * Generated from protobuf enum UPDATE_ENTRY = 2; + */ + const UPDATE_ENTRY = 2; + /** + * Request to delete an Entry. + * + * Generated from protobuf enum DELETE_ENTRY = 3; + */ + const DELETE_ENTRY = 3; + /** + * Request to create an EntryLink. + * + * Generated from protobuf enum CREATE_ENTRY_LINK = 4; + */ + const CREATE_ENTRY_LINK = 4; + /** + * Request to delete an EntryLink. + * + * Generated from protobuf enum DELETE_ENTRY_LINK = 5; + */ + const DELETE_ENTRY_LINK = 5; + /** + * Request to create a Glossary. + * + * Generated from protobuf enum CREATE_GLOSSARY = 7; + */ + const CREATE_GLOSSARY = 7; + /** + * Request to update a Glossary. + * + * Generated from protobuf enum UPDATE_GLOSSARY = 8; + */ + const UPDATE_GLOSSARY = 8; + /** + * Request to delete a Glossary. + * + * Generated from protobuf enum DELETE_GLOSSARY = 9; + */ + const DELETE_GLOSSARY = 9; + /** + * Request to create a GlossaryCategory. + * + * Generated from protobuf enum CREATE_GLOSSARY_CATEGORY = 10; + */ + const CREATE_GLOSSARY_CATEGORY = 10; + /** + * Request to update a GlossaryCategory. + * + * Generated from protobuf enum UPDATE_GLOSSARY_CATEGORY = 11; + */ + const UPDATE_GLOSSARY_CATEGORY = 11; + /** + * Request to delete a GlossaryCategory. + * + * Generated from protobuf enum DELETE_GLOSSARY_CATEGORY = 13; + */ + const DELETE_GLOSSARY_CATEGORY = 13; + /** + * Request to create a GlossaryTerm. + * + * Generated from protobuf enum CREATE_GLOSSARY_TERM = 14; + */ + const CREATE_GLOSSARY_TERM = 14; + /** + * Request to update a GlossaryTerm. + * + * Generated from protobuf enum UPDATE_GLOSSARY_TERM = 15; + */ + const UPDATE_GLOSSARY_TERM = 15; + /** + * Request to delete a GlossaryTerm. + * + * Generated from protobuf enum DELETE_GLOSSARY_TERM = 17; + */ + const DELETE_GLOSSARY_TERM = 17; + /** + * Request to request Data Product access. + * + * Generated from protobuf enum REQUEST_DATA_PRODUCT_ACCESS = 33; + */ + const REQUEST_DATA_PRODUCT_ACCESS = 33; + + private static $valueToName = [ + self::CHANGE_TYPE_UNSPECIFIED => 'CHANGE_TYPE_UNSPECIFIED', + self::CREATE_ENTRY => 'CREATE_ENTRY', + self::UPDATE_ENTRY => 'UPDATE_ENTRY', + self::DELETE_ENTRY => 'DELETE_ENTRY', + self::CREATE_ENTRY_LINK => 'CREATE_ENTRY_LINK', + self::DELETE_ENTRY_LINK => 'DELETE_ENTRY_LINK', + self::CREATE_GLOSSARY => 'CREATE_GLOSSARY', + self::UPDATE_GLOSSARY => 'UPDATE_GLOSSARY', + self::DELETE_GLOSSARY => 'DELETE_GLOSSARY', + self::CREATE_GLOSSARY_CATEGORY => 'CREATE_GLOSSARY_CATEGORY', + self::UPDATE_GLOSSARY_CATEGORY => 'UPDATE_GLOSSARY_CATEGORY', + self::DELETE_GLOSSARY_CATEGORY => 'DELETE_GLOSSARY_CATEGORY', + self::CREATE_GLOSSARY_TERM => 'CREATE_GLOSSARY_TERM', + self::UPDATE_GLOSSARY_TERM => 'UPDATE_GLOSSARY_TERM', + self::DELETE_GLOSSARY_TERM => 'DELETE_GLOSSARY_TERM', + self::REQUEST_DATA_PRODUCT_ACCESS => 'REQUEST_DATA_PRODUCT_ACCESS', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Dataplex/src/V1/ChangeRequest/State.php b/Dataplex/src/V1/ChangeRequest/State.php new file mode 100644 index 000000000000..a943d8a4e010 --- /dev/null +++ b/Dataplex/src/V1/ChangeRequest/State.php @@ -0,0 +1,86 @@ +google.cloud.dataplex.v1.ChangeRequest.State + */ +class State +{ + /** + * State unspecified. + * + * Generated from protobuf enum STATE_UNSPECIFIED = 0; + */ + const STATE_UNSPECIFIED = 0; + /** + * The change is proposed and new. + * + * Generated from protobuf enum NEW = 1; + */ + const PBNEW = 1; + /** + * The change has been approved. + * + * Generated from protobuf enum APPROVED = 2; + */ + const APPROVED = 2; + /** + * The change has been rejected. + * + * Generated from protobuf enum REJECTED = 3; + */ + const REJECTED = 3; + /** + * The change request has expired. + * + * Generated from protobuf enum EXPIRED = 4; + */ + const EXPIRED = 4; + /** + * The approved change has been revoked. + * + * Generated from protobuf enum REVOKED = 5; + */ + const REVOKED = 5; + + private static $valueToName = [ + self::STATE_UNSPECIFIED => 'STATE_UNSPECIFIED', + self::PBNEW => 'NEW', + self::APPROVED => 'APPROVED', + self::REJECTED => 'REJECTED', + self::EXPIRED => 'EXPIRED', + self::REVOKED => 'REVOKED', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + $pbconst = __CLASS__. '::PB' . strtoupper($name); + if (!defined($pbconst)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($pbconst); + } + return constant($const); + } +} + diff --git a/Dataplex/src/V1/Client/BusinessGlossaryServiceClient.php b/Dataplex/src/V1/Client/BusinessGlossaryServiceClient.php index 6d2b755e5093..8bdead403adb 100644 --- a/Dataplex/src/V1/Client/BusinessGlossaryServiceClient.php +++ b/Dataplex/src/V1/Client/BusinessGlossaryServiceClient.php @@ -128,7 +128,12 @@ final class BusinessGlossaryServiceClient private const CODEGEN_NAME = 'gapic'; /** The default scopes required by the service. */ - public static $serviceScopes = ['https://www.googleapis.com/auth/cloud-platform']; + public static $serviceScopes = [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-platform.read-only', + 'https://www.googleapis.com/auth/dataplex.read-write', + 'https://www.googleapis.com/auth/dataplex.readonly', + ]; private $operationsClient; @@ -836,13 +841,21 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. - This method can be called in two ways: - * **List all public locations:** Use the path `GET /v1/locations`. - * **List project-visible locations:** Use the path - `GET /v1/projects/{project_id}/locations`. This may include public - locations as well as private or other locations specifically visible - to the project. + This method lists locations based on the resource scope provided in + the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + **Global locations**: If `name` is empty, the method lists the + public locations available to all projects. * **Project-specific + locations**: If `name` follows the format + `projects/{project}`, the method lists locations visible to that + specific project. This includes public, private, or other + project-specific locations enabled for the project. + + For gRPC and client library implementations, the resource name is + passed as the `name` field. For direct service calls, the resource + name is + incorporated into the request path based on the specific service + implementation and version. * * The async variant is {@see BusinessGlossaryServiceClient::listLocationsAsync()} * . diff --git a/Dataplex/src/V1/Client/CatalogServiceClient.php b/Dataplex/src/V1/Client/CatalogServiceClient.php index 321002603538..6748751e64e6 100644 --- a/Dataplex/src/V1/Client/CatalogServiceClient.php +++ b/Dataplex/src/V1/Client/CatalogServiceClient.php @@ -73,6 +73,7 @@ use Google\Cloud\Dataplex\V1\LookupEntryRequest; use Google\Cloud\Dataplex\V1\MetadataFeed; use Google\Cloud\Dataplex\V1\MetadataJob; +use Google\Cloud\Dataplex\V1\ModifyEntryRequest; use Google\Cloud\Dataplex\V1\SearchEntriesRequest; use Google\Cloud\Dataplex\V1\UpdateAspectTypeRequest; use Google\Cloud\Dataplex\V1\UpdateEntryGroupRequest; @@ -138,6 +139,7 @@ * @method PromiseInterface lookupContextAsync(LookupContextRequest $request, array $optionalArgs = []) * @method PromiseInterface lookupEntryAsync(LookupEntryRequest $request, array $optionalArgs = []) * @method PromiseInterface lookupEntryLinksAsync(LookupEntryLinksRequest $request, array $optionalArgs = []) + * @method PromiseInterface modifyEntryAsync(ModifyEntryRequest $request, array $optionalArgs = []) * @method PromiseInterface searchEntriesAsync(SearchEntriesRequest $request, array $optionalArgs = []) * @method PromiseInterface updateAspectTypeAsync(UpdateAspectTypeRequest $request, array $optionalArgs = []) * @method PromiseInterface updateEntryAsync(UpdateEntryRequest $request, array $optionalArgs = []) @@ -1347,6 +1349,32 @@ public function lookupEntryLinks(LookupEntryLinksRequest $request, array $callOp return $this->startApiCall('LookupEntryLinks', $request, $callOptions); } + /** + * Modifies an entry using the permission on the source system. + * + * The async variant is {@see CatalogServiceClient::modifyEntryAsync()} . + * + * @example samples/V1/CatalogServiceClient/modify_entry.php + * + * @param ModifyEntryRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return Entry + * + * @throws ApiException Thrown if the API call fails. + */ + public function modifyEntry(ModifyEntryRequest $request, array $callOptions = []): Entry + { + return $this->startApiCall('ModifyEntry', $request, $callOptions)->wait(); + } + /** * Searches for Entries matching the given query and scope. * @@ -1557,13 +1585,21 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. - This method can be called in two ways: - * **List all public locations:** Use the path `GET /v1/locations`. - * **List project-visible locations:** Use the path - `GET /v1/projects/{project_id}/locations`. This may include public - locations as well as private or other locations specifically visible - to the project. + This method lists locations based on the resource scope provided in + the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + **Global locations**: If `name` is empty, the method lists the + public locations available to all projects. * **Project-specific + locations**: If `name` follows the format + `projects/{project}`, the method lists locations visible to that + specific project. This includes public, private, or other + project-specific locations enabled for the project. + + For gRPC and client library implementations, the resource name is + passed as the `name` field. For direct service calls, the resource + name is + incorporated into the request path based on the specific service + implementation and version. * * The async variant is {@see CatalogServiceClient::listLocationsAsync()} . * diff --git a/Dataplex/src/V1/Client/CmekServiceClient.php b/Dataplex/src/V1/Client/CmekServiceClient.php index ea97d11a4a56..7f17a0ed06b8 100644 --- a/Dataplex/src/V1/Client/CmekServiceClient.php +++ b/Dataplex/src/V1/Client/CmekServiceClient.php @@ -101,7 +101,10 @@ final class CmekServiceClient private const CODEGEN_NAME = 'gapic'; /** The default scopes required by the service. */ - public static $serviceScopes = ['https://www.googleapis.com/auth/cloud-platform']; + public static $serviceScopes = [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/dataplex.read-write', + ]; private $operationsClient; @@ -488,13 +491,21 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. - This method can be called in two ways: - * **List all public locations:** Use the path `GET /v1/locations`. - * **List project-visible locations:** Use the path - `GET /v1/projects/{project_id}/locations`. This may include public - locations as well as private or other locations specifically visible - to the project. + This method lists locations based on the resource scope provided in + the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + **Global locations**: If `name` is empty, the method lists the + public locations available to all projects. * **Project-specific + locations**: If `name` follows the format + `projects/{project}`, the method lists locations visible to that + specific project. This includes public, private, or other + project-specific locations enabled for the project. + + For gRPC and client library implementations, the resource name is + passed as the `name` field. For direct service calls, the resource + name is + incorporated into the request path based on the specific service + implementation and version. * * The async variant is {@see CmekServiceClient::listLocationsAsync()} . * diff --git a/Dataplex/src/V1/Client/ContentServiceClient.php b/Dataplex/src/V1/Client/ContentServiceClient.php index 58dc7ff13441..daae83240214 100644 --- a/Dataplex/src/V1/Client/ContentServiceClient.php +++ b/Dataplex/src/V1/Client/ContentServiceClient.php @@ -197,13 +197,21 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. - This method can be called in two ways: - * **List all public locations:** Use the path `GET /v1/locations`. - * **List project-visible locations:** Use the path - `GET /v1/projects/{project_id}/locations`. This may include public - locations as well as private or other locations specifically visible - to the project. + This method lists locations based on the resource scope provided in + the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + **Global locations**: If `name` is empty, the method lists the + public locations available to all projects. * **Project-specific + locations**: If `name` follows the format + `projects/{project}`, the method lists locations visible to that + specific project. This includes public, private, or other + project-specific locations enabled for the project. + + For gRPC and client library implementations, the resource name is + passed as the `name` field. For direct service calls, the resource + name is + incorporated into the request path based on the specific service + implementation and version. * * The async variant is {@see ContentServiceClient::listLocationsAsync()} . * diff --git a/Dataplex/src/V1/Client/DataProductServiceClient.php b/Dataplex/src/V1/Client/DataProductServiceClient.php index 2ab20a879bf4..27a61e333615 100644 --- a/Dataplex/src/V1/Client/DataProductServiceClient.php +++ b/Dataplex/src/V1/Client/DataProductServiceClient.php @@ -45,6 +45,8 @@ use Google\Cloud\Dataplex\V1\GetDataProductRequest; use Google\Cloud\Dataplex\V1\ListDataAssetsRequest; use Google\Cloud\Dataplex\V1\ListDataProductsRequest; +use Google\Cloud\Dataplex\V1\RequestDataProductAccessRequest; +use Google\Cloud\Dataplex\V1\RequestDataProductAccessResponse; use Google\Cloud\Dataplex\V1\UpdateDataAssetRequest; use Google\Cloud\Dataplex\V1\UpdateDataProductRequest; use Google\Cloud\Iam\V1\GetIamPolicyRequest; @@ -80,6 +82,7 @@ * @method PromiseInterface getDataProductAsync(GetDataProductRequest $request, array $optionalArgs = []) * @method PromiseInterface listDataAssetsAsync(ListDataAssetsRequest $request, array $optionalArgs = []) * @method PromiseInterface listDataProductsAsync(ListDataProductsRequest $request, array $optionalArgs = []) + * @method PromiseInterface requestDataProductAccessAsync(RequestDataProductAccessRequest $request, array $optionalArgs = []) * @method PromiseInterface updateDataAssetAsync(UpdateDataAssetRequest $request, array $optionalArgs = []) * @method PromiseInterface updateDataProductAsync(UpdateDataProductRequest $request, array $optionalArgs = []) * @method PromiseInterface getLocationAsync(GetLocationRequest $request, array $optionalArgs = []) @@ -113,7 +116,12 @@ final class DataProductServiceClient private const CODEGEN_NAME = 'gapic'; /** The default scopes required by the service. */ - public static $serviceScopes = ['https://www.googleapis.com/auth/cloud-platform']; + public static $serviceScopes = [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-platform.read-only', + 'https://www.googleapis.com/auth/dataplex.read-write', + 'https://www.googleapis.com/auth/dataplex.readonly', + ]; private $operationsClient; @@ -184,6 +192,25 @@ private function createOperationsClient(array $options) return new OperationsClient($options); } + /** + * Formats a string containing the fully-qualified path to represent a + * change_request resource. + * + * @param string $project + * @param string $location + * @param string $changeRequest + * + * @return string The formatted change_request resource. + */ + public static function changeRequestName(string $project, string $location, string $changeRequest): string + { + return self::getPathTemplate('changeRequest')->render([ + 'project' => $project, + 'location' => $location, + 'change_request' => $changeRequest, + ]); + } + /** * Formats a string containing the fully-qualified path to represent a data_asset * resource. @@ -228,6 +255,140 @@ public static function dataProductName(string $project, string $location, string ]); } + /** + * Formats a string containing the fully-qualified path to represent a entry + * resource. + * + * @param string $project + * @param string $location + * @param string $entryGroup + * @param string $entry + * + * @return string The formatted entry resource. + */ + public static function entryName(string $project, string $location, string $entryGroup, string $entry): string + { + return self::getPathTemplate('entry')->render([ + 'project' => $project, + 'location' => $location, + 'entry_group' => $entryGroup, + 'entry' => $entry, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a entry_group + * resource. + * + * @param string $project + * @param string $location + * @param string $entryGroup + * + * @return string The formatted entry_group resource. + */ + public static function entryGroupName(string $project, string $location, string $entryGroup): string + { + return self::getPathTemplate('entryGroup')->render([ + 'project' => $project, + 'location' => $location, + 'entry_group' => $entryGroup, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a entry_link + * resource. + * + * @param string $project + * @param string $location + * @param string $entryGroup + * @param string $entryLink + * + * @return string The formatted entry_link resource. + */ + public static function entryLinkName( + string $project, + string $location, + string $entryGroup, + string $entryLink + ): string { + return self::getPathTemplate('entryLink')->render([ + 'project' => $project, + 'location' => $location, + 'entry_group' => $entryGroup, + 'entry_link' => $entryLink, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a glossary + * resource. + * + * @param string $project + * @param string $location + * @param string $glossary + * + * @return string The formatted glossary resource. + */ + public static function glossaryName(string $project, string $location, string $glossary): string + { + return self::getPathTemplate('glossary')->render([ + 'project' => $project, + 'location' => $location, + 'glossary' => $glossary, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * glossary_category resource. + * + * @param string $project + * @param string $location + * @param string $glossary + * @param string $glossaryCategory + * + * @return string The formatted glossary_category resource. + */ + public static function glossaryCategoryName( + string $project, + string $location, + string $glossary, + string $glossaryCategory + ): string { + return self::getPathTemplate('glossaryCategory')->render([ + 'project' => $project, + 'location' => $location, + 'glossary' => $glossary, + 'glossary_category' => $glossaryCategory, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * glossary_term resource. + * + * @param string $project + * @param string $location + * @param string $glossary + * @param string $glossaryTerm + * + * @return string The formatted glossary_term resource. + */ + public static function glossaryTermName( + string $project, + string $location, + string $glossary, + string $glossaryTerm + ): string { + return self::getPathTemplate('glossaryTerm')->render([ + 'project' => $project, + 'location' => $location, + 'glossary' => $glossary, + 'glossary_term' => $glossaryTerm, + ]); + } + /** * Formats a string containing the fully-qualified path to represent a location * resource. @@ -249,8 +410,15 @@ public static function locationName(string $project, string $location): string * Parses a formatted name string and returns an associative array of the components in the name. * The following name formats are supported: * Template: Pattern + * - changeRequest: projects/{project}/locations/{location}/changeRequests/{change_request} * - dataAsset: projects/{project}/locations/{location}/dataProducts/{data_product}/dataAssets/{data_asset} * - dataProduct: projects/{project}/locations/{location}/dataProducts/{data_product} + * - entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry} + * - entryGroup: projects/{project}/locations/{location}/entryGroups/{entry_group} + * - entryLink: projects/{project}/locations/{location}/entryGroups/{entry_group}/entryLinks/{entry_link} + * - glossary: projects/{project}/locations/{location}/glossaries/{glossary} + * - glossaryCategory: projects/{project}/locations/{location}/glossaries/{glossary}/categories/{glossary_category} + * - glossaryTerm: projects/{project}/locations/{location}/glossaries/{glossary}/terms/{glossary_term} * - location: projects/{project}/locations/{location} * * The optional $template argument can be supplied to specify a particular pattern, @@ -566,6 +734,37 @@ public function listDataProducts(ListDataProductsRequest $request, array $callOp return $this->startApiCall('ListDataProducts', $request, $callOptions); } + /** + * Requests access to a data product. This will trigger an access approval + * workflow, and the requester will need to wait for the approval to be + * granted before they will be able to access the data product assets. + * + * The async variant is + * {@see DataProductServiceClient::requestDataProductAccessAsync()} . + * + * @example samples/V1/DataProductServiceClient/request_data_product_access.php + * + * @param RequestDataProductAccessRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return RequestDataProductAccessResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function requestDataProductAccess( + RequestDataProductAccessRequest $request, + array $callOptions = [] + ): RequestDataProductAccessResponse { + return $this->startApiCall('RequestDataProductAccess', $request, $callOptions)->wait(); + } + /** * Updates a data asset. * @@ -646,13 +845,21 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. - This method can be called in two ways: - * **List all public locations:** Use the path `GET /v1/locations`. - * **List project-visible locations:** Use the path - `GET /v1/projects/{project_id}/locations`. This may include public - locations as well as private or other locations specifically visible - to the project. + This method lists locations based on the resource scope provided in + the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + **Global locations**: If `name` is empty, the method lists the + public locations available to all projects. * **Project-specific + locations**: If `name` follows the format + `projects/{project}`, the method lists locations visible to that + specific project. This includes public, private, or other + project-specific locations enabled for the project. + + For gRPC and client library implementations, the resource name is + passed as the `name` field. For direct service calls, the resource + name is + incorporated into the request path based on the specific service + implementation and version. * * The async variant is {@see DataProductServiceClient::listLocationsAsync()} . * diff --git a/Dataplex/src/V1/Client/DataScanServiceClient.php b/Dataplex/src/V1/Client/DataScanServiceClient.php index 55605066ae34..d43e706d2220 100644 --- a/Dataplex/src/V1/Client/DataScanServiceClient.php +++ b/Dataplex/src/V1/Client/DataScanServiceClient.php @@ -35,6 +35,8 @@ use Google\ApiCore\Transport\TransportInterface; use Google\ApiCore\ValidationException; use Google\Auth\FetchAuthTokenInterface; +use Google\Cloud\Dataplex\V1\CancelDataScanJobRequest; +use Google\Cloud\Dataplex\V1\CancelDataScanJobResponse; use Google\Cloud\Dataplex\V1\CreateDataScanRequest; use Google\Cloud\Dataplex\V1\DataScan; use Google\Cloud\Dataplex\V1\DataScanJob; @@ -74,6 +76,7 @@ * name, and additionally a parseName method to extract the individual identifiers * contained within formatted names that are returned by the API. * + * @method PromiseInterface cancelDataScanJobAsync(CancelDataScanJobRequest $request, array $optionalArgs = []) * @method PromiseInterface createDataScanAsync(CreateDataScanRequest $request, array $optionalArgs = []) * @method PromiseInterface deleteDataScanAsync(DeleteDataScanRequest $request, array $optionalArgs = []) * @method PromiseInterface generateDataQualityRulesAsync(GenerateDataQualityRulesRequest $request, array $optionalArgs = []) @@ -114,7 +117,12 @@ final class DataScanServiceClient private const CODEGEN_NAME = 'gapic'; /** The default scopes required by the service. */ - public static $serviceScopes = ['https://www.googleapis.com/auth/cloud-platform']; + public static $serviceScopes = [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-platform.read-only', + 'https://www.googleapis.com/auth/dataplex.read-write', + 'https://www.googleapis.com/auth/dataplex.readonly', + ]; private $operationsClient; @@ -289,6 +297,27 @@ public static function entityName( ]); } + /** + * Formats a string containing the fully-qualified path to represent a entry + * resource. + * + * @param string $project + * @param string $location + * @param string $entryGroup + * @param string $entry + * + * @return string The formatted entry resource. + */ + public static function entryName(string $project, string $location, string $entryGroup, string $entry): string + { + return self::getPathTemplate('entry')->render([ + 'project' => $project, + 'location' => $location, + 'entry_group' => $entryGroup, + 'entry' => $entry, + ]); + } + /** * Formats a string containing the fully-qualified path to represent a location * resource. @@ -330,6 +359,7 @@ public static function projectName(string $project): string * - dataScanJob: projects/{project}/locations/{location}/dataScans/{dataScan}/jobs/{job} * - dataset: projects/{project}/datasets/{dataset} * - entity: projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/entities/{entity} + * - entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry} * - location: projects/{project}/locations/{location} * - project: projects/{project} * @@ -437,6 +467,34 @@ public function __call($method, $args) return call_user_func_array([$this, 'startAsyncCall'], $args); } + /** + * Cancels a running/pending DataScan job. + * + * The async variant is {@see DataScanServiceClient::cancelDataScanJobAsync()} . + * + * @example samples/V1/DataScanServiceClient/cancel_data_scan_job.php + * + * @param CancelDataScanJobRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return CancelDataScanJobResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function cancelDataScanJob( + CancelDataScanJobRequest $request, + array $callOptions = [] + ): CancelDataScanJobResponse { + return $this->startApiCall('CancelDataScanJob', $request, $callOptions)->wait(); + } + /** * Creates a DataScan resource. * @@ -705,13 +763,21 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. - This method can be called in two ways: - * **List all public locations:** Use the path `GET /v1/locations`. - * **List project-visible locations:** Use the path - `GET /v1/projects/{project_id}/locations`. This may include public - locations as well as private or other locations specifically visible - to the project. + This method lists locations based on the resource scope provided in + the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + **Global locations**: If `name` is empty, the method lists the + public locations available to all projects. * **Project-specific + locations**: If `name` follows the format + `projects/{project}`, the method lists locations visible to that + specific project. This includes public, private, or other + project-specific locations enabled for the project. + + For gRPC and client library implementations, the resource name is + passed as the `name` field. For direct service calls, the resource + name is + incorporated into the request path based on the specific service + implementation and version. * * The async variant is {@see DataScanServiceClient::listLocationsAsync()} . * diff --git a/Dataplex/src/V1/Client/DataTaxonomyServiceClient.php b/Dataplex/src/V1/Client/DataTaxonomyServiceClient.php index 302e884f877d..d28d632ffc09 100644 --- a/Dataplex/src/V1/Client/DataTaxonomyServiceClient.php +++ b/Dataplex/src/V1/Client/DataTaxonomyServiceClient.php @@ -126,7 +126,10 @@ final class DataTaxonomyServiceClient private const CODEGEN_NAME = 'gapic'; /** The default scopes required by the service. */ - public static $serviceScopes = ['https://www.googleapis.com/auth/cloud-platform']; + public static $serviceScopes = [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/dataplex.read-write', + ]; private $operationsClient; @@ -867,13 +870,21 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. - This method can be called in two ways: - * **List all public locations:** Use the path `GET /v1/locations`. - * **List project-visible locations:** Use the path - `GET /v1/projects/{project_id}/locations`. This may include public - locations as well as private or other locations specifically visible - to the project. + This method lists locations based on the resource scope provided in + the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + **Global locations**: If `name` is empty, the method lists the + public locations available to all projects. * **Project-specific + locations**: If `name` follows the format + `projects/{project}`, the method lists locations visible to that + specific project. This includes public, private, or other + project-specific locations enabled for the project. + + For gRPC and client library implementations, the resource name is + passed as the `name` field. For direct service calls, the resource + name is + incorporated into the request path based on the specific service + implementation and version. * * The async variant is {@see DataTaxonomyServiceClient::listLocationsAsync()} . * diff --git a/Dataplex/src/V1/Client/DataplexServiceClient.php b/Dataplex/src/V1/Client/DataplexServiceClient.php index 3cf8d9f16428..cee279b6b0cc 100644 --- a/Dataplex/src/V1/Client/DataplexServiceClient.php +++ b/Dataplex/src/V1/Client/DataplexServiceClient.php @@ -154,7 +154,12 @@ final class DataplexServiceClient private const CODEGEN_NAME = 'gapic'; /** The default scopes required by the service. */ - public static $serviceScopes = ['https://www.googleapis.com/auth/cloud-platform']; + public static $serviceScopes = [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-platform.read-only', + 'https://www.googleapis.com/auth/dataplex.read-write', + 'https://www.googleapis.com/auth/dataplex.readonly', + ]; private $operationsClient; @@ -1200,13 +1205,21 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. - This method can be called in two ways: - * **List all public locations:** Use the path `GET /v1/locations`. - * **List project-visible locations:** Use the path - `GET /v1/projects/{project_id}/locations`. This may include public - locations as well as private or other locations specifically visible - to the project. + This method lists locations based on the resource scope provided in + the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + **Global locations**: If `name` is empty, the method lists the + public locations available to all projects. * **Project-specific + locations**: If `name` follows the format + `projects/{project}`, the method lists locations visible to that + specific project. This includes public, private, or other + project-specific locations enabled for the project. + + For gRPC and client library implementations, the resource name is + passed as the `name` field. For direct service calls, the resource + name is + incorporated into the request path based on the specific service + implementation and version. * * The async variant is {@see DataplexServiceClient::listLocationsAsync()} . * diff --git a/Dataplex/src/V1/Client/MetadataServiceClient.php b/Dataplex/src/V1/Client/MetadataServiceClient.php index 36beef3621cc..f9e675833e16 100644 --- a/Dataplex/src/V1/Client/MetadataServiceClient.php +++ b/Dataplex/src/V1/Client/MetadataServiceClient.php @@ -108,7 +108,10 @@ final class MetadataServiceClient private const CODEGEN_NAME = 'gapic'; /** The default scopes required by the service. */ - public static $serviceScopes = ['https://www.googleapis.com/auth/cloud-platform']; + public static $serviceScopes = [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/dataplex.read-write', + ]; private static function getClientDefaults() { @@ -578,13 +581,21 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. - This method can be called in two ways: - * **List all public locations:** Use the path `GET /v1/locations`. - * **List project-visible locations:** Use the path - `GET /v1/projects/{project_id}/locations`. This may include public - locations as well as private or other locations specifically visible - to the project. + This method lists locations based on the resource scope provided in + the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + **Global locations**: If `name` is empty, the method lists the + public locations available to all projects. * **Project-specific + locations**: If `name` follows the format + `projects/{project}`, the method lists locations visible to that + specific project. This includes public, private, or other + project-specific locations enabled for the project. + + For gRPC and client library implementations, the resource name is + passed as the `name` field. For direct service calls, the resource + name is + incorporated into the request path based on the specific service + implementation and version. * * The async variant is {@see MetadataServiceClient::listLocationsAsync()} . * diff --git a/Dataplex/src/V1/CreateDataScanRequest.php b/Dataplex/src/V1/CreateDataScanRequest.php index 2389a27e3be8..6cbb738f08c9 100644 --- a/Dataplex/src/V1/CreateDataScanRequest.php +++ b/Dataplex/src/V1/CreateDataScanRequest.php @@ -31,14 +31,15 @@ class CreateDataScanRequest extends \Google\Protobuf\Internal\Message */ protected $data_scan = null; /** - * Required. DataScan identifier. + * Optional. DataScan identifier. If not provided, a unique ID will be + * generated with the prefix "data-scan-". * * Must contain only lowercase letters, numbers and hyphens. * * Must start with a letter. * * Must end with a number or a letter. * * Must be between 1-63 characters. * * Must be unique within the customer project / location. * - * Generated from protobuf field string data_scan_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * Generated from protobuf field string data_scan_id = 3 [(.google.api.field_behavior) = OPTIONAL]; */ protected $data_scan_id = ''; /** @@ -56,7 +57,8 @@ class CreateDataScanRequest extends \Google\Protobuf\Internal\Message * `location_id` refers to a Google Cloud region. Please see * {@see DataScanServiceClient::locationName()} for help formatting this field. * @param \Google\Cloud\Dataplex\V1\DataScan $dataScan Required. DataScan resource. - * @param string $dataScanId Required. DataScan identifier. + * @param string $dataScanId Optional. DataScan identifier. If not provided, a unique ID will be + * generated with the prefix "data-scan-". * * * Must contain only lowercase letters, numbers and hyphens. * * Must start with a letter. @@ -90,7 +92,8 @@ public static function build(string $parent, \Google\Cloud\Dataplex\V1\DataScan * @type \Google\Cloud\Dataplex\V1\DataScan $data_scan * Required. DataScan resource. * @type string $data_scan_id - * Required. DataScan identifier. + * Optional. DataScan identifier. If not provided, a unique ID will be + * generated with the prefix "data-scan-". * * Must contain only lowercase letters, numbers and hyphens. * * Must start with a letter. * * Must end with a number or a letter. @@ -175,14 +178,15 @@ public function setDataScan($var) } /** - * Required. DataScan identifier. + * Optional. DataScan identifier. If not provided, a unique ID will be + * generated with the prefix "data-scan-". * * Must contain only lowercase letters, numbers and hyphens. * * Must start with a letter. * * Must end with a number or a letter. * * Must be between 1-63 characters. * * Must be unique within the customer project / location. * - * Generated from protobuf field string data_scan_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * Generated from protobuf field string data_scan_id = 3 [(.google.api.field_behavior) = OPTIONAL]; * @return string */ public function getDataScanId() @@ -191,14 +195,15 @@ public function getDataScanId() } /** - * Required. DataScan identifier. + * Optional. DataScan identifier. If not provided, a unique ID will be + * generated with the prefix "data-scan-". * * Must contain only lowercase letters, numbers and hyphens. * * Must start with a letter. * * Must end with a number or a letter. * * Must be between 1-63 characters. * * Must be unique within the customer project / location. * - * Generated from protobuf field string data_scan_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * Generated from protobuf field string data_scan_id = 3 [(.google.api.field_behavior) = OPTIONAL]; * @param string $var * @return $this */ diff --git a/Dataplex/src/V1/DataDiscoverySpec/StorageConfig.php b/Dataplex/src/V1/DataDiscoverySpec/StorageConfig.php index e4fb08fe3831..d8a9112f02ae 100644 --- a/Dataplex/src/V1/DataDiscoverySpec/StorageConfig.php +++ b/Dataplex/src/V1/DataDiscoverySpec/StorageConfig.php @@ -48,6 +48,12 @@ class StorageConfig extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.cloud.dataplex.v1.DataDiscoverySpec.StorageConfig.JsonOptions json_options = 4 [(.google.api.field_behavior) = OPTIONAL]; */ protected $json_options = null; + /** + * Optional. Specifies configuration for unstructured data discovery. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataDiscoverySpec.StorageConfig.UnstructuredDataOptions unstructured_data_options = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $unstructured_data_options = null; /** * Constructor. @@ -72,6 +78,8 @@ class StorageConfig extends \Google\Protobuf\Internal\Message * Optional. Configuration for CSV data. * @type \Google\Cloud\Dataplex\V1\DataDiscoverySpec\StorageConfig\JsonOptions $json_options * Optional. Configuration for JSON data. + * @type \Google\Cloud\Dataplex\V1\DataDiscoverySpec\StorageConfig\UnstructuredDataOptions $unstructured_data_options + * Optional. Specifies configuration for unstructured data discovery. * } */ public function __construct($data = NULL) { @@ -221,5 +229,41 @@ public function setJsonOptions($var) return $this; } + /** + * Optional. Specifies configuration for unstructured data discovery. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataDiscoverySpec.StorageConfig.UnstructuredDataOptions unstructured_data_options = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Dataplex\V1\DataDiscoverySpec\StorageConfig\UnstructuredDataOptions|null + */ + public function getUnstructuredDataOptions() + { + return $this->unstructured_data_options; + } + + public function hasUnstructuredDataOptions() + { + return isset($this->unstructured_data_options); + } + + public function clearUnstructuredDataOptions() + { + unset($this->unstructured_data_options); + } + + /** + * Optional. Specifies configuration for unstructured data discovery. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataDiscoverySpec.StorageConfig.UnstructuredDataOptions unstructured_data_options = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Dataplex\V1\DataDiscoverySpec\StorageConfig\UnstructuredDataOptions $var + * @return $this + */ + public function setUnstructuredDataOptions($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\DataDiscoverySpec\StorageConfig\UnstructuredDataOptions::class); + $this->unstructured_data_options = $var; + + return $this; + } + } diff --git a/Dataplex/src/V1/DataDiscoverySpec/StorageConfig/UnstructuredDataOptions.php b/Dataplex/src/V1/DataDiscoverySpec/StorageConfig/UnstructuredDataOptions.php new file mode 100644 index 000000000000..8e41f634eb67 --- /dev/null +++ b/Dataplex/src/V1/DataDiscoverySpec/StorageConfig/UnstructuredDataOptions.php @@ -0,0 +1,71 @@ +google.cloud.dataplex.v1.DataDiscoverySpec.StorageConfig.UnstructuredDataOptions + */ +class UnstructuredDataOptions extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. Specifies whether deeper semantic inference over the objects' + * contents using GenAI is enabled. + * + * Generated from protobuf field bool semantic_inference_enabled = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $semantic_inference_enabled = false; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type bool $semantic_inference_enabled + * Optional. Specifies whether deeper semantic inference over the objects' + * contents using GenAI is enabled. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\DataDiscovery::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Specifies whether deeper semantic inference over the objects' + * contents using GenAI is enabled. + * + * Generated from protobuf field bool semantic_inference_enabled = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getSemanticInferenceEnabled() + { + return $this->semantic_inference_enabled; + } + + /** + * Optional. Specifies whether deeper semantic inference over the objects' + * contents using GenAI is enabled. + * + * Generated from protobuf field bool semantic_inference_enabled = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setSemanticInferenceEnabled($var) + { + GPBUtil::checkBool($var); + $this->semantic_inference_enabled = $var; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/DataProduct.php b/Dataplex/src/V1/DataProduct.php index 2639a88ccd26..5ea6efdba3bf 100644 --- a/Dataplex/src/V1/DataProduct.php +++ b/Dataplex/src/V1/DataProduct.php @@ -122,6 +122,12 @@ class DataProduct extends \Google\Protobuf\Internal\Message * Generated from protobuf field map access_groups = 14 [(.google.api.field_behavior) = OPTIONAL]; */ private $access_groups; + /** + * Optional. Configuration for access approval for the data product. + * + * Generated from protobuf field optional .google.cloud.dataplex.v1.DataProduct.AccessApprovalConfig access_approval_config = 15 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $access_approval_config = null; /** * Constructor. @@ -186,6 +192,8 @@ class DataProduct extends \Google\Protobuf\Internal\Message * } * } * ``` + * @type \Google\Cloud\Dataplex\V1\DataProduct\AccessApprovalConfig $access_approval_config + * Optional. Configuration for access approval for the data product. * } */ public function __construct($data = NULL) { @@ -591,5 +599,41 @@ public function setAccessGroups($var) return $this; } + /** + * Optional. Configuration for access approval for the data product. + * + * Generated from protobuf field optional .google.cloud.dataplex.v1.DataProduct.AccessApprovalConfig access_approval_config = 15 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Dataplex\V1\DataProduct\AccessApprovalConfig|null + */ + public function getAccessApprovalConfig() + { + return $this->access_approval_config; + } + + public function hasAccessApprovalConfig() + { + return isset($this->access_approval_config); + } + + public function clearAccessApprovalConfig() + { + unset($this->access_approval_config); + } + + /** + * Optional. Configuration for access approval for the data product. + * + * Generated from protobuf field optional .google.cloud.dataplex.v1.DataProduct.AccessApprovalConfig access_approval_config = 15 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Dataplex\V1\DataProduct\AccessApprovalConfig $var + * @return $this + */ + public function setAccessApprovalConfig($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\DataProduct\AccessApprovalConfig::class); + $this->access_approval_config = $var; + + return $this; + } + } diff --git a/Dataplex/src/V1/DataProduct/AccessApprovalConfig.php b/Dataplex/src/V1/DataProduct/AccessApprovalConfig.php new file mode 100644 index 000000000000..c464ccedc7b8 --- /dev/null +++ b/Dataplex/src/V1/DataProduct/AccessApprovalConfig.php @@ -0,0 +1,75 @@ +google.cloud.dataplex.v1.DataProduct.AccessApprovalConfig + */ +class AccessApprovalConfig extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. Specifies the email addresses of users who are potential + * approvers and are notified when an access request is made for the data + * product. The maximum number of emails allowed is 10. + * + * Generated from protobuf field repeated string approver_emails = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $approver_emails; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string[] $approver_emails + * Optional. Specifies the email addresses of users who are potential + * approvers and are notified when an access request is made for the data + * product. The maximum number of emails allowed is 10. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\DataProducts::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Specifies the email addresses of users who are potential + * approvers and are notified when an access request is made for the data + * product. The maximum number of emails allowed is 10. + * + * Generated from protobuf field repeated string approver_emails = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return RepeatedField + */ + public function getApproverEmails() + { + return $this->approver_emails; + } + + /** + * Optional. Specifies the email addresses of users who are potential + * approvers and are notified when an access request is made for the data + * product. The maximum number of emails allowed is 10. + * + * Generated from protobuf field repeated string approver_emails = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param string[] $var + * @return $this + */ + public function setApproverEmails($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->approver_emails = $arr; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/DataProduct/Principal.php b/Dataplex/src/V1/DataProduct/Principal.php index d5bc9cacd1e2..558e897b2f80 100644 --- a/Dataplex/src/V1/DataProduct/Principal.php +++ b/Dataplex/src/V1/DataProduct/Principal.php @@ -16,6 +16,13 @@ */ class Principal extends \Google\Protobuf\Internal\Message { + /** + * Optional. Specifies the email of the producer service account, as per + * https://cloud.google.com/iam/docs/principals-overview#service-account. + * + * Generated from protobuf field optional string service_account = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $service_account = null; protected $type; /** @@ -27,6 +34,9 @@ class Principal extends \Google\Protobuf\Internal\Message * @type string $google_group * Optional. Email of the Google Group, as per * https://cloud.google.com/iam/docs/principals-overview#google-group. + * @type string $service_account + * Optional. Specifies the email of the producer service account, as per + * https://cloud.google.com/iam/docs/principals-overview#service-account. * } */ public function __construct($data = NULL) { @@ -67,6 +77,44 @@ public function setGoogleGroup($var) return $this; } + /** + * Optional. Specifies the email of the producer service account, as per + * https://cloud.google.com/iam/docs/principals-overview#service-account. + * + * Generated from protobuf field optional string service_account = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getServiceAccount() + { + return isset($this->service_account) ? $this->service_account : ''; + } + + public function hasServiceAccount() + { + return isset($this->service_account); + } + + public function clearServiceAccount() + { + unset($this->service_account); + } + + /** + * Optional. Specifies the email of the producer service account, as per + * https://cloud.google.com/iam/docs/principals-overview#service-account. + * + * Generated from protobuf field optional string service_account = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setServiceAccount($var) + { + GPBUtil::checkString($var, True); + $this->service_account = $var; + + return $this; + } + /** * @return string */ diff --git a/Dataplex/src/V1/DataProductAccessRequest.php b/Dataplex/src/V1/DataProductAccessRequest.php new file mode 100644 index 000000000000..f4fb431c0056 --- /dev/null +++ b/Dataplex/src/V1/DataProductAccessRequest.php @@ -0,0 +1,216 @@ +google.cloud.dataplex.v1.DataProductAccessRequest + */ +class DataProductAccessRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The resource name of the data product. + * Format: + * projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id} + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Required. The ID of the access group for which access is being requested. + * This corresponds to the unique identifier of the AccessGroup defined in the + * Data Product. + * + * Generated from protobuf field string access_group_id = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $access_group_id = ''; + /** + * Output only. The display name of the access group defined in the Data + * Product for which access is being requested. + * + * Generated from protobuf field string access_group_display_name = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $access_group_display_name = ''; + /** + * Optional. The principal for which access is being requested in IAM format. + * If not specified, the requestor's principal will be used. + * Example: `serviceAccount:my-sa\@my-project.iam.gserviceaccount.com`. + * Only service account principals are currently supported. + * https://cloud.google.com/iam/docs/principal-identifiers + * + * Generated from protobuf field optional string requested_principal = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $requested_principal = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The resource name of the data product. + * Format: + * projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id} + * @type string $access_group_id + * Required. The ID of the access group for which access is being requested. + * This corresponds to the unique identifier of the AccessGroup defined in the + * Data Product. + * @type string $access_group_display_name + * Output only. The display name of the access group defined in the Data + * Product for which access is being requested. + * @type string $requested_principal + * Optional. The principal for which access is being requested in IAM format. + * If not specified, the requestor's principal will be used. + * Example: `serviceAccount:my-sa\@my-project.iam.gserviceaccount.com`. + * Only service account principals are currently supported. + * https://cloud.google.com/iam/docs/principal-identifiers + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\ApprovalWorkflow::initOnce(); + parent::__construct($data); + } + + /** + * Required. The resource name of the data product. + * Format: + * projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id} + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. The resource name of the data product. + * Format: + * projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id} + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Required. The ID of the access group for which access is being requested. + * This corresponds to the unique identifier of the AccessGroup defined in the + * Data Product. + * + * Generated from protobuf field string access_group_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getAccessGroupId() + { + return $this->access_group_id; + } + + /** + * Required. The ID of the access group for which access is being requested. + * This corresponds to the unique identifier of the AccessGroup defined in the + * Data Product. + * + * Generated from protobuf field string access_group_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setAccessGroupId($var) + { + GPBUtil::checkString($var, True); + $this->access_group_id = $var; + + return $this; + } + + /** + * Output only. The display name of the access group defined in the Data + * Product for which access is being requested. + * + * Generated from protobuf field string access_group_display_name = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getAccessGroupDisplayName() + { + return $this->access_group_display_name; + } + + /** + * Output only. The display name of the access group defined in the Data + * Product for which access is being requested. + * + * Generated from protobuf field string access_group_display_name = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setAccessGroupDisplayName($var) + { + GPBUtil::checkString($var, True); + $this->access_group_display_name = $var; + + return $this; + } + + /** + * Optional. The principal for which access is being requested in IAM format. + * If not specified, the requestor's principal will be used. + * Example: `serviceAccount:my-sa\@my-project.iam.gserviceaccount.com`. + * Only service account principals are currently supported. + * https://cloud.google.com/iam/docs/principal-identifiers + * + * Generated from protobuf field optional string requested_principal = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getRequestedPrincipal() + { + return isset($this->requested_principal) ? $this->requested_principal : ''; + } + + public function hasRequestedPrincipal() + { + return isset($this->requested_principal); + } + + public function clearRequestedPrincipal() + { + unset($this->requested_principal); + } + + /** + * Optional. The principal for which access is being requested in IAM format. + * If not specified, the requestor's principal will be used. + * Example: `serviceAccount:my-sa\@my-project.iam.gserviceaccount.com`. + * Only service account principals are currently supported. + * https://cloud.google.com/iam/docs/principal-identifiers + * + * Generated from protobuf field optional string requested_principal = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setRequestedPrincipal($var) + { + GPBUtil::checkString($var, True); + $this->requested_principal = $var; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/DataProfileSpec.php b/Dataplex/src/V1/DataProfileSpec.php index efb736dec377..c9f0f682394b 100644 --- a/Dataplex/src/V1/DataProfileSpec.php +++ b/Dataplex/src/V1/DataProfileSpec.php @@ -64,6 +64,12 @@ class DataProfileSpec extends \Google\Protobuf\Internal\Message * Generated from protobuf field bool catalog_publishing_enabled = 8 [(.google.api.field_behavior) = OPTIONAL]; */ protected $catalog_publishing_enabled = false; + /** + * Optional. The execution mode for the profile scan. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataProfileSpec.Mode mode = 9 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $mode = 0; /** * Constructor. @@ -96,6 +102,8 @@ class DataProfileSpec extends \Google\Protobuf\Internal\Message * @type bool $catalog_publishing_enabled * Optional. If set, the latest DataScan job result will be published as * Dataplex Universal Catalog metadata. + * @type int $mode + * Optional. The execution mode for the profile scan. * } */ public function __construct($data = NULL) { @@ -315,5 +323,31 @@ public function setCatalogPublishingEnabled($var) return $this; } + /** + * Optional. The execution mode for the profile scan. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataProfileSpec.Mode mode = 9 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getMode() + { + return $this->mode; + } + + /** + * Optional. The execution mode for the profile scan. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataProfileSpec.Mode mode = 9 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setMode($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Dataplex\V1\DataProfileSpec\Mode::class); + $this->mode = $var; + + return $this; + } + } diff --git a/Dataplex/src/V1/DataProfileSpec/Mode.php b/Dataplex/src/V1/DataProfileSpec/Mode.php new file mode 100644 index 000000000000..ae4854e6c3b1 --- /dev/null +++ b/Dataplex/src/V1/DataProfileSpec/Mode.php @@ -0,0 +1,66 @@ +google.cloud.dataplex.v1.DataProfileSpec.Mode + */ +class Mode +{ + /** + * Default value. This value is unused. + * + * Generated from protobuf enum MODE_UNSPECIFIED = 0; + */ + const MODE_UNSPECIFIED = 0; + /** + * Performs standard profiling. The behavior is controlled by other fields + * such as `sampling_percent`, `row_filter`, and column filters. + * This mode allows for full scans or custom sampling. + * + * Generated from protobuf enum STANDARD = 1; + */ + const STANDARD = 1; + /** + * Specifies lightweight profiling mode. This mode is optimized for + * low-latency, low-fidelity profiling. + * When this mode is selected, the following fields must not be set: + * `sampling_percent`, `row_filter`, `include_fields`, and `exclude_fields`. + * + * Generated from protobuf enum LIGHTWEIGHT = 2; + */ + const LIGHTWEIGHT = 2; + + private static $valueToName = [ + self::MODE_UNSPECIFIED => 'MODE_UNSPECIFIED', + self::STANDARD => 'STANDARD', + self::LIGHTWEIGHT => 'LIGHTWEIGHT', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Dataplex/src/V1/DataQualityRule.php b/Dataplex/src/V1/DataQualityRule.php index a532bc1d9c4b..94c6a80933c2 100644 --- a/Dataplex/src/V1/DataQualityRule.php +++ b/Dataplex/src/V1/DataQualityRule.php @@ -76,6 +76,21 @@ class DataQualityRule extends \Google\Protobuf\Internal\Message * Generated from protobuf field bool suspended = 506 [(.google.api.field_behavior) = OPTIONAL]; */ protected $suspended = false; + /** + * Optional. Map of attribute name and value linked to the rule. The rules to + * evaluate can be filtered based on attributes provided here and a filter + * expression provided in the DataQualitySpec.filter field. + * + * Generated from protobuf field map attributes = 507 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $attributes; + /** + * Output only. Contains information about the source of the rule and its + * relationship with the BigQuery table, where applicable. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataQualityRule.RuleSource rule_source = 508 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $rule_source = null; /** * Optional. Specifies the debug queries for this rule. * Currently, only one query is supported, but this may be expanded in the @@ -117,6 +132,10 @@ class DataQualityRule extends \Google\Protobuf\Internal\Message * @type \Google\Cloud\Dataplex\V1\DataQualityRule\SqlAssertion $sql_assertion * Aggregate rule which evaluates the number of rows returned for the * provided statement. If any rows are returned, this rule fails. + * @type \Google\Cloud\Dataplex\V1\DataQualityRule\TemplateReference $template_reference + * Aggregate rule which references a rule template and provides the + * parameters to be substituted in the template. If any rows are returned, + * this rule fails. * @type string $column * Optional. The unnested column which this rule is evaluated against. * @type bool $ignore_null @@ -150,6 +169,13 @@ class DataQualityRule extends \Google\Protobuf\Internal\Message * @type bool $suspended * Optional. Whether the Rule is active or suspended. * Default is false. + * @type array|\Google\Protobuf\Internal\MapField $attributes + * Optional. Map of attribute name and value linked to the rule. The rules to + * evaluate can be filtered based on attributes provided here and a filter + * expression provided in the DataQualitySpec.filter field. + * @type \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource $rule_source + * Output only. Contains information about the source of the rule and its + * relationship with the BigQuery table, where applicable. * @type \Google\Cloud\Dataplex\V1\DataQualityRule\DebugQuery[] $debug_queries * Optional. Specifies the debug queries for this rule. * Currently, only one query is supported, but this may be expanded in the @@ -454,6 +480,41 @@ public function setSqlAssertion($var) return $this; } + /** + * Aggregate rule which references a rule template and provides the + * parameters to be substituted in the template. If any rows are returned, + * this rule fails. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataQualityRule.TemplateReference template_reference = 5; + * @return \Google\Cloud\Dataplex\V1\DataQualityRule\TemplateReference|null + */ + public function getTemplateReference() + { + return $this->readOneof(5); + } + + public function hasTemplateReference() + { + return $this->hasOneof(5); + } + + /** + * Aggregate rule which references a rule template and provides the + * parameters to be substituted in the template. If any rows are returned, + * this rule fails. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataQualityRule.TemplateReference template_reference = 5; + * @param \Google\Cloud\Dataplex\V1\DataQualityRule\TemplateReference $var + * @return $this + */ + public function setTemplateReference($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\DataQualityRule\TemplateReference::class); + $this->writeOneof(5, $var); + + return $this; + } + /** * Optional. The unnested column which this rule is evaluated against. * @@ -674,6 +735,74 @@ public function setSuspended($var) return $this; } + /** + * Optional. Map of attribute name and value linked to the rule. The rules to + * evaluate can be filtered based on attributes provided here and a filter + * expression provided in the DataQualitySpec.filter field. + * + * Generated from protobuf field map attributes = 507 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\Internal\MapField + */ + public function getAttributes() + { + return $this->attributes; + } + + /** + * Optional. Map of attribute name and value linked to the rule. The rules to + * evaluate can be filtered based on attributes provided here and a filter + * expression provided in the DataQualitySpec.filter field. + * + * Generated from protobuf field map attributes = 507 [(.google.api.field_behavior) = OPTIONAL]; + * @param array|\Google\Protobuf\Internal\MapField $var + * @return $this + */ + public function setAttributes($var) + { + $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::STRING); + $this->attributes = $arr; + + return $this; + } + + /** + * Output only. Contains information about the source of the rule and its + * relationship with the BigQuery table, where applicable. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataQualityRule.RuleSource rule_source = 508 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource|null + */ + public function getRuleSource() + { + return $this->rule_source; + } + + public function hasRuleSource() + { + return isset($this->rule_source); + } + + public function clearRuleSource() + { + unset($this->rule_source); + } + + /** + * Output only. Contains information about the source of the rule and its + * relationship with the BigQuery table, where applicable. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataQualityRule.RuleSource rule_source = 508 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource $var + * @return $this + */ + public function setRuleSource($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource::class); + $this->rule_source = $var; + + return $this; + } + /** * Optional. Specifies the debug queries for this rule. * Currently, only one query is supported, but this may be expanded in the diff --git a/Dataplex/src/V1/DataQualityRule/RuleSource.php b/Dataplex/src/V1/DataQualityRule/RuleSource.php new file mode 100644 index 000000000000..df974ce23fce --- /dev/null +++ b/Dataplex/src/V1/DataQualityRule/RuleSource.php @@ -0,0 +1,75 @@ +google.cloud.dataplex.v1.DataQualityRule.RuleSource + */ +class RuleSource extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. Rule path elements represent information about the + * individual items in the relationship path between the scan resource and + * rule origin in that order. + * + * Generated from protobuf field repeated .google.cloud.dataplex.v1.DataQualityRule.RuleSource.RulePathElement rule_path_elements = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $rule_path_elements; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource\RulePathElement[] $rule_path_elements + * Output only. Rule path elements represent information about the + * individual items in the relationship path between the scan resource and + * rule origin in that order. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\DataQuality::initOnce(); + parent::__construct($data); + } + + /** + * Output only. Rule path elements represent information about the + * individual items in the relationship path between the scan resource and + * rule origin in that order. + * + * Generated from protobuf field repeated .google.cloud.dataplex.v1.DataQualityRule.RuleSource.RulePathElement rule_path_elements = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField<\Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource\RulePathElement> + */ + public function getRulePathElements() + { + return $this->rule_path_elements; + } + + /** + * Output only. Rule path elements represent information about the + * individual items in the relationship path between the scan resource and + * rule origin in that order. + * + * Generated from protobuf field repeated .google.cloud.dataplex.v1.DataQualityRule.RuleSource.RulePathElement rule_path_elements = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource\RulePathElement[] $var + * @return $this + */ + public function setRulePathElements($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource\RulePathElement::class); + $this->rule_path_elements = $arr; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/DataQualityRule/RuleSource/RulePathElement.php b/Dataplex/src/V1/DataQualityRule/RuleSource/RulePathElement.php new file mode 100644 index 000000000000..f896d32d936d --- /dev/null +++ b/Dataplex/src/V1/DataQualityRule/RuleSource/RulePathElement.php @@ -0,0 +1,118 @@ +google.cloud.dataplex.v1.DataQualityRule.RuleSource.RulePathElement + */ +class RulePathElement extends \Google\Protobuf\Internal\Message +{ + protected $source_type; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource\RulePathElement\EntrySource $entry_source + * Output only. Entry source represents information about the related + * source entry. + * @type \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource\RulePathElement\EntryLinkSource $entry_link_source + * Output only. Entry link source represents information about the entry + * link. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\DataQuality::initOnce(); + parent::__construct($data); + } + + /** + * Output only. Entry source represents information about the related + * source entry. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataQualityRule.RuleSource.RulePathElement.EntrySource entry_source = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource\RulePathElement\EntrySource|null + */ + public function getEntrySource() + { + return $this->readOneof(1); + } + + public function hasEntrySource() + { + return $this->hasOneof(1); + } + + /** + * Output only. Entry source represents information about the related + * source entry. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataQualityRule.RuleSource.RulePathElement.EntrySource entry_source = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource\RulePathElement\EntrySource $var + * @return $this + */ + public function setEntrySource($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource\RulePathElement\EntrySource::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Output only. Entry link source represents information about the entry + * link. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataQualityRule.RuleSource.RulePathElement.EntryLinkSource entry_link_source = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource\RulePathElement\EntryLinkSource|null + */ + public function getEntryLinkSource() + { + return $this->readOneof(2); + } + + public function hasEntryLinkSource() + { + return $this->hasOneof(2); + } + + /** + * Output only. Entry link source represents information about the entry + * link. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataQualityRule.RuleSource.RulePathElement.EntryLinkSource entry_link_source = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource\RulePathElement\EntryLinkSource $var + * @return $this + */ + public function setEntryLinkSource($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\DataQualityRule\RuleSource\RulePathElement\EntryLinkSource::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getSourceType() + { + return $this->whichOneof("source_type"); + } + +} + diff --git a/Dataplex/src/V1/DataQualityRule/RuleSource/RulePathElement/EntryLinkSource.php b/Dataplex/src/V1/DataQualityRule/RuleSource/RulePathElement/EntryLinkSource.php new file mode 100644 index 000000000000..d30ce4bedea6 --- /dev/null +++ b/Dataplex/src/V1/DataQualityRule/RuleSource/RulePathElement/EntryLinkSource.php @@ -0,0 +1,117 @@ +google.cloud.dataplex.v1.DataQualityRule.RuleSource.RulePathElement.EntryLinkSource + */ +class EntryLinkSource extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The entry link type to represent the current + * relationship between the entry and the next entry in the path. + * In the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryLinkTypes/{entry_link_type_id}` + * + * Generated from protobuf field string entry_link_type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $entry_link_type = ''; + /** + * Output only. The entry link name in the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}` + * + * Generated from protobuf field string entry_link = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $entry_link = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $entry_link_type + * Output only. The entry link type to represent the current + * relationship between the entry and the next entry in the path. + * In the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryLinkTypes/{entry_link_type_id}` + * @type string $entry_link + * Output only. The entry link name in the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\DataQuality::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The entry link type to represent the current + * relationship between the entry and the next entry in the path. + * In the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryLinkTypes/{entry_link_type_id}` + * + * Generated from protobuf field string entry_link_type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getEntryLinkType() + { + return $this->entry_link_type; + } + + /** + * Output only. The entry link type to represent the current + * relationship between the entry and the next entry in the path. + * In the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryLinkTypes/{entry_link_type_id}` + * + * Generated from protobuf field string entry_link_type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setEntryLinkType($var) + { + GPBUtil::checkString($var, True); + $this->entry_link_type = $var; + + return $this; + } + + /** + * Output only. The entry link name in the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}` + * + * Generated from protobuf field string entry_link = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getEntryLink() + { + return $this->entry_link; + } + + /** + * Output only. The entry link name in the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}` + * + * Generated from protobuf field string entry_link = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setEntryLink($var) + { + GPBUtil::checkString($var, True); + $this->entry_link = $var; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/DataQualityRule/RuleSource/RulePathElement/EntrySource.php b/Dataplex/src/V1/DataQualityRule/RuleSource/RulePathElement/EntrySource.php new file mode 100644 index 000000000000..bae1eb1a8d6a --- /dev/null +++ b/Dataplex/src/V1/DataQualityRule/RuleSource/RulePathElement/EntrySource.php @@ -0,0 +1,147 @@ +google.cloud.dataplex.v1.DataQualityRule.RuleSource.RulePathElement.EntrySource + */ +class EntrySource extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The entry type to represent the current characteristics + * of the entry in the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry-type-id}`. + * + * Generated from protobuf field string entry_type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $entry_type = ''; + /** + * Output only. The entry name in the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + * + * Generated from protobuf field string entry = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $entry = ''; + /** + * Output only. The display name of the entry. + * + * Generated from protobuf field string display_name = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $display_name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $entry_type + * Output only. The entry type to represent the current characteristics + * of the entry in the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry-type-id}`. + * @type string $entry + * Output only. The entry name in the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + * @type string $display_name + * Output only. The display name of the entry. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\DataQuality::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The entry type to represent the current characteristics + * of the entry in the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry-type-id}`. + * + * Generated from protobuf field string entry_type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getEntryType() + { + return $this->entry_type; + } + + /** + * Output only. The entry type to represent the current characteristics + * of the entry in the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry-type-id}`. + * + * Generated from protobuf field string entry_type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setEntryType($var) + { + GPBUtil::checkString($var, True); + $this->entry_type = $var; + + return $this; + } + + /** + * Output only. The entry name in the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + * + * Generated from protobuf field string entry = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getEntry() + { + return $this->entry; + } + + /** + * Output only. The entry name in the form of: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + * + * Generated from protobuf field string entry = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setEntry($var) + { + GPBUtil::checkString($var, True); + $this->entry = $var; + + return $this; + } + + /** + * Output only. The display name of the entry. + * + * Generated from protobuf field string display_name = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getDisplayName() + { + return $this->display_name; + } + + /** + * Output only. The display name of the entry. + * + * Generated from protobuf field string display_name = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setDisplayName($var) + { + GPBUtil::checkString($var, True); + $this->display_name = $var; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/DataQualityRule/TemplateReference.php b/Dataplex/src/V1/DataQualityRule/TemplateReference.php new file mode 100644 index 000000000000..9e17a784b7af --- /dev/null +++ b/Dataplex/src/V1/DataQualityRule/TemplateReference.php @@ -0,0 +1,213 @@ +google.cloud.dataplex.v1.DataQualityRule.TemplateReference + */ +class TemplateReference extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The template entry name. Entry must be of EntryType + * `projects/dataplex-types/locations/global/entryTypes/data-quality-rule-template` + * and contains top-level aspect of AspectType + * `projects/dataplex-types/locations/global/aspectTypes/data-quality-rule-template`. + * The format is: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + /** + * Optional. Provides the map of parameter name and value. + * The maximum size of the field is 120KB (encoded as UTF-8). + * + * Generated from protobuf field map values = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $values; + /** + * Output only. The resolved SQL statement generated from the template with + * parameters substituted. It is only populated in the result. + * + * Generated from protobuf field string resolved_sql = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $resolved_sql = ''; + /** + * Output only. The rule template used to resolve the rule. It is only + * populated in the result. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataQualityRuleTemplate rule_template = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $rule_template = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The template entry name. Entry must be of EntryType + * `projects/dataplex-types/locations/global/entryTypes/data-quality-rule-template` + * and contains top-level aspect of AspectType + * `projects/dataplex-types/locations/global/aspectTypes/data-quality-rule-template`. + * The format is: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + * @type array|\Google\Protobuf\Internal\MapField $values + * Optional. Provides the map of parameter name and value. + * The maximum size of the field is 120KB (encoded as UTF-8). + * @type string $resolved_sql + * Output only. The resolved SQL statement generated from the template with + * parameters substituted. It is only populated in the result. + * @type \Google\Cloud\Dataplex\V1\DataQualityRuleTemplate $rule_template + * Output only. The rule template used to resolve the rule. It is only + * populated in the result. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\DataQuality::initOnce(); + parent::__construct($data); + } + + /** + * Required. The template entry name. Entry must be of EntryType + * `projects/dataplex-types/locations/global/entryTypes/data-quality-rule-template` + * and contains top-level aspect of AspectType + * `projects/dataplex-types/locations/global/aspectTypes/data-quality-rule-template`. + * The format is: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. The template entry name. Entry must be of EntryType + * `projects/dataplex-types/locations/global/entryTypes/data-quality-rule-template` + * and contains top-level aspect of AspectType + * `projects/dataplex-types/locations/global/aspectTypes/data-quality-rule-template`. + * The format is: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Optional. Provides the map of parameter name and value. + * The maximum size of the field is 120KB (encoded as UTF-8). + * + * Generated from protobuf field map values = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\Internal\MapField + */ + public function getValues() + { + return $this->values; + } + + /** + * Optional. Provides the map of parameter name and value. + * The maximum size of the field is 120KB (encoded as UTF-8). + * + * Generated from protobuf field map values = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param array|\Google\Protobuf\Internal\MapField $var + * @return $this + */ + public function setValues($var) + { + $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Dataplex\V1\DataQualityRule\TemplateReference\ParameterValue::class); + $this->values = $arr; + + return $this; + } + + /** + * Output only. The resolved SQL statement generated from the template with + * parameters substituted. It is only populated in the result. + * + * Generated from protobuf field string resolved_sql = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getResolvedSql() + { + return $this->resolved_sql; + } + + /** + * Output only. The resolved SQL statement generated from the template with + * parameters substituted. It is only populated in the result. + * + * Generated from protobuf field string resolved_sql = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setResolvedSql($var) + { + GPBUtil::checkString($var, True); + $this->resolved_sql = $var; + + return $this; + } + + /** + * Output only. The rule template used to resolve the rule. It is only + * populated in the result. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataQualityRuleTemplate rule_template = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Dataplex\V1\DataQualityRuleTemplate|null + */ + public function getRuleTemplate() + { + return $this->rule_template; + } + + public function hasRuleTemplate() + { + return isset($this->rule_template); + } + + public function clearRuleTemplate() + { + unset($this->rule_template); + } + + /** + * Output only. The rule template used to resolve the rule. It is only + * populated in the result. + * + * Generated from protobuf field .google.cloud.dataplex.v1.DataQualityRuleTemplate rule_template = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Dataplex\V1\DataQualityRuleTemplate $var + * @return $this + */ + public function setRuleTemplate($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\DataQualityRuleTemplate::class); + $this->rule_template = $var; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/DataQualityRule/TemplateReference/ParameterValue.php b/Dataplex/src/V1/DataQualityRule/TemplateReference/ParameterValue.php new file mode 100644 index 000000000000..ab4ca0c95183 --- /dev/null +++ b/Dataplex/src/V1/DataQualityRule/TemplateReference/ParameterValue.php @@ -0,0 +1,67 @@ +google.cloud.dataplex.v1.DataQualityRule.TemplateReference.ParameterValue + */ +class ParameterValue extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Represents the string value of the parameter. + * + * Generated from protobuf field string value = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $value = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $value + * Required. Represents the string value of the parameter. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\DataQuality::initOnce(); + parent::__construct($data); + } + + /** + * Required. Represents the string value of the parameter. + * + * Generated from protobuf field string value = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getValue() + { + return $this->value; + } + + /** + * Required. Represents the string value of the parameter. + * + * Generated from protobuf field string value = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setValue($var) + { + GPBUtil::checkString($var, True); + $this->value = $var; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/DataQualityRuleTemplate.php b/Dataplex/src/V1/DataQualityRuleTemplate.php new file mode 100644 index 000000000000..c1756214ac97 --- /dev/null +++ b/Dataplex/src/V1/DataQualityRuleTemplate.php @@ -0,0 +1,220 @@ +google.cloud.dataplex.v1.DataQualityRuleTemplate + */ +class DataQualityRuleTemplate extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The name of the rule template in the format: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $name = ''; + /** + * Output only. The dimension a rule template belongs to. Rule level results + * are also aggregated at the dimension level. + * + * Generated from protobuf field string dimension = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $dimension = ''; + /** + * Output only. Collection of SQLs for data quality rules. Currently only one + * SQL is supported. + * + * Generated from protobuf field repeated .google.cloud.dataplex.v1.DataQualityRuleTemplate.Sql sql_collection = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $sql_collection; + /** + * Output only. Description for input parameters + * + * Generated from protobuf field map input_parameters = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $input_parameters; + /** + * Output only. A list of features or properties supported by this rule + * template. + * + * Generated from protobuf field repeated string capabilities = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $capabilities; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Output only. The name of the rule template in the format: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + * @type string $dimension + * Output only. The dimension a rule template belongs to. Rule level results + * are also aggregated at the dimension level. + * @type \Google\Cloud\Dataplex\V1\DataQualityRuleTemplate\Sql[] $sql_collection + * Output only. Collection of SQLs for data quality rules. Currently only one + * SQL is supported. + * @type array|\Google\Protobuf\Internal\MapField $input_parameters + * Output only. Description for input parameters + * @type string[] $capabilities + * Output only. A list of features or properties supported by this rule + * template. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\DataQualityRuleTemplate::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The name of the rule template in the format: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Output only. The name of the rule template in the format: + * `projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Output only. The dimension a rule template belongs to. Rule level results + * are also aggregated at the dimension level. + * + * Generated from protobuf field string dimension = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getDimension() + { + return $this->dimension; + } + + /** + * Output only. The dimension a rule template belongs to. Rule level results + * are also aggregated at the dimension level. + * + * Generated from protobuf field string dimension = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setDimension($var) + { + GPBUtil::checkString($var, True); + $this->dimension = $var; + + return $this; + } + + /** + * Output only. Collection of SQLs for data quality rules. Currently only one + * SQL is supported. + * + * Generated from protobuf field repeated .google.cloud.dataplex.v1.DataQualityRuleTemplate.Sql sql_collection = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField<\Google\Cloud\Dataplex\V1\DataQualityRuleTemplate\Sql> + */ + public function getSqlCollection() + { + return $this->sql_collection; + } + + /** + * Output only. Collection of SQLs for data quality rules. Currently only one + * SQL is supported. + * + * Generated from protobuf field repeated .google.cloud.dataplex.v1.DataQualityRuleTemplate.Sql sql_collection = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Dataplex\V1\DataQualityRuleTemplate\Sql[] $var + * @return $this + */ + public function setSqlCollection($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Dataplex\V1\DataQualityRuleTemplate\Sql::class); + $this->sql_collection = $arr; + + return $this; + } + + /** + * Output only. Description for input parameters + * + * Generated from protobuf field map input_parameters = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Internal\MapField + */ + public function getInputParameters() + { + return $this->input_parameters; + } + + /** + * Output only. Description for input parameters + * + * Generated from protobuf field map input_parameters = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param array|\Google\Protobuf\Internal\MapField $var + * @return $this + */ + public function setInputParameters($var) + { + $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Dataplex\V1\DataQualityRuleTemplate\ParameterDescription::class); + $this->input_parameters = $arr; + + return $this; + } + + /** + * Output only. A list of features or properties supported by this rule + * template. + * + * Generated from protobuf field repeated string capabilities = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField + */ + public function getCapabilities() + { + return $this->capabilities; + } + + /** + * Output only. A list of features or properties supported by this rule + * template. + * + * Generated from protobuf field repeated string capabilities = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string[] $var + * @return $this + */ + public function setCapabilities($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->capabilities = $arr; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/DataQualityRuleTemplate/ParameterDescription.php b/Dataplex/src/V1/DataQualityRuleTemplate/ParameterDescription.php new file mode 100644 index 000000000000..e87be15f2d67 --- /dev/null +++ b/Dataplex/src/V1/DataQualityRuleTemplate/ParameterDescription.php @@ -0,0 +1,115 @@ +google.cloud.dataplex.v1.DataQualityRuleTemplate.ParameterDescription + */ +class ParameterDescription extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. Description of the input parameter. It can include the + * type(s) supported by the parameter and intended usage. It is for + * information purposes only and does not affect the behavior of the rule + * template. + * + * Generated from protobuf field string description = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $description = ''; + /** + * Output only. The default value for the parameter if no value is provided. + * + * Generated from protobuf field string default_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $default_value = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $description + * Output only. Description of the input parameter. It can include the + * type(s) supported by the parameter and intended usage. It is for + * information purposes only and does not affect the behavior of the rule + * template. + * @type string $default_value + * Output only. The default value for the parameter if no value is provided. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\DataQualityRuleTemplate::initOnce(); + parent::__construct($data); + } + + /** + * Output only. Description of the input parameter. It can include the + * type(s) supported by the parameter and intended usage. It is for + * information purposes only and does not affect the behavior of the rule + * template. + * + * Generated from protobuf field string description = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * Output only. Description of the input parameter. It can include the + * type(s) supported by the parameter and intended usage. It is for + * information purposes only and does not affect the behavior of the rule + * template. + * + * Generated from protobuf field string description = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setDescription($var) + { + GPBUtil::checkString($var, True); + $this->description = $var; + + return $this; + } + + /** + * Output only. The default value for the parameter if no value is provided. + * + * Generated from protobuf field string default_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getDefaultValue() + { + return $this->default_value; + } + + /** + * Output only. The default value for the parameter if no value is provided. + * + * Generated from protobuf field string default_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setDefaultValue($var) + { + GPBUtil::checkString($var, True); + $this->default_value = $var; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/DataQualityRuleTemplate/Sql.php b/Dataplex/src/V1/DataQualityRuleTemplate/Sql.php new file mode 100644 index 000000000000..cc971bee0aa0 --- /dev/null +++ b/Dataplex/src/V1/DataQualityRuleTemplate/Sql.php @@ -0,0 +1,68 @@ +google.cloud.dataplex.v1.DataQualityRuleTemplate.Sql + */ +class Sql extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. Templatized SQL query for data quality rules. + * + * Generated from protobuf field string query = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $query = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $query + * Output only. Templatized SQL query for data quality rules. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\DataQualityRuleTemplate::initOnce(); + parent::__construct($data); + } + + /** + * Output only. Templatized SQL query for data quality rules. + * + * Generated from protobuf field string query = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getQuery() + { + return $this->query; + } + + /** + * Output only. Templatized SQL query for data quality rules. + * + * Generated from protobuf field string query = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setQuery($var) + { + GPBUtil::checkString($var, True); + $this->query = $var; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/DataQualityScanRuleResult/RuleType.php b/Dataplex/src/V1/DataQualityScanRuleResult/RuleType.php index 99e48fc7e6ca..b7519f675823 100644 --- a/Dataplex/src/V1/DataQualityScanRuleResult/RuleType.php +++ b/Dataplex/src/V1/DataQualityScanRuleResult/RuleType.php @@ -82,6 +82,13 @@ class RuleType * Generated from protobuf enum SQL_ASSERTION = 9; */ const SQL_ASSERTION = 9; + /** + * See + * [DataQualityRule.TemplateReference][google.cloud.dataplex.v1.DataQualityRule.TemplateReference]. + * + * Generated from protobuf enum TEMPLATE_REFERENCE = 10; + */ + const TEMPLATE_REFERENCE = 10; private static $valueToName = [ self::RULE_TYPE_UNSPECIFIED => 'RULE_TYPE_UNSPECIFIED', @@ -94,6 +101,7 @@ class RuleType self::TABLE_CONDITION_EXPECTATION => 'TABLE_CONDITION_EXPECTATION', self::UNIQUENESS_EXPECTATION => 'UNIQUENESS_EXPECTATION', self::SQL_ASSERTION => 'SQL_ASSERTION', + self::TEMPLATE_REFERENCE => 'TEMPLATE_REFERENCE', ]; public static function name($value) diff --git a/Dataplex/src/V1/DataQualitySpec.php b/Dataplex/src/V1/DataQualitySpec.php index 7ecdbcc5ad4d..48caf1a03755 100644 --- a/Dataplex/src/V1/DataQualitySpec.php +++ b/Dataplex/src/V1/DataQualitySpec.php @@ -56,6 +56,34 @@ class DataQualitySpec extends \Google\Protobuf\Internal\Message * Generated from protobuf field bool catalog_publishing_enabled = 8 [(.google.api.field_behavior) = OPTIONAL]; */ protected $catalog_publishing_enabled = false; + /** + * Optional. If enabled, the data scan will retrieve rules defined in the + * dataplex-types.global.data-rules aspect on all paths of the catalog entry + * corresponding to the BigQuery table resource and all attached glossary + * terms. The path that data-rules aspect is attached on the table entry + * defines the column that the rule will be evaluated against. For glossary + * terms, the path that the terms are attached on the table entry defines the + * column that the rule will be evaluated against. At the start of scan + * execution, the rules reflect the latest state retrieved from the catalog + * entry and any updates on the rules thereafter are ignored for that + * execution. The updates will be reflected from the next execution. Rules + * defined in the datascan must be empty if this field is enabled. + * + * Generated from protobuf field bool enable_catalog_based_rules = 10 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $enable_catalog_based_rules = false; + /** + * Optional. Filter for selectively running a subset of rules. You can filter + * the request by the name or attribute key-value pairs defined on the rule. + * If not specified, all rules are run. The filter is applicable to both, the + * rules retrieved from catalog and explicitly defined rules in the scan. + * Please see [filter + * syntax](https://docs.cloud.google.com/dataplex/docs/auto-data-quality-overview#rule-filtering) + * for more details. + * + * Generated from protobuf field string filter = 11 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $filter = ''; /** * Constructor. @@ -84,6 +112,26 @@ class DataQualitySpec extends \Google\Protobuf\Internal\Message * @type bool $catalog_publishing_enabled * Optional. If set, the latest DataScan job result will be published as * Dataplex Universal Catalog metadata. + * @type bool $enable_catalog_based_rules + * Optional. If enabled, the data scan will retrieve rules defined in the + * dataplex-types.global.data-rules aspect on all paths of the catalog entry + * corresponding to the BigQuery table resource and all attached glossary + * terms. The path that data-rules aspect is attached on the table entry + * defines the column that the rule will be evaluated against. For glossary + * terms, the path that the terms are attached on the table entry defines the + * column that the rule will be evaluated against. At the start of scan + * execution, the rules reflect the latest state retrieved from the catalog + * entry and any updates on the rules thereafter are ignored for that + * execution. The updates will be reflected from the next execution. Rules + * defined in the datascan must be empty if this field is enabled. + * @type string $filter + * Optional. Filter for selectively running a subset of rules. You can filter + * the request by the name or attribute key-value pairs defined on the rule. + * If not specified, all rules are run. The filter is applicable to both, the + * rules retrieved from catalog and explicitly defined rules in the scan. + * Please see [filter + * syntax](https://docs.cloud.google.com/dataplex/docs/auto-data-quality-overview#rule-filtering) + * for more details. * } */ public function __construct($data = NULL) { @@ -253,5 +301,89 @@ public function setCatalogPublishingEnabled($var) return $this; } + /** + * Optional. If enabled, the data scan will retrieve rules defined in the + * dataplex-types.global.data-rules aspect on all paths of the catalog entry + * corresponding to the BigQuery table resource and all attached glossary + * terms. The path that data-rules aspect is attached on the table entry + * defines the column that the rule will be evaluated against. For glossary + * terms, the path that the terms are attached on the table entry defines the + * column that the rule will be evaluated against. At the start of scan + * execution, the rules reflect the latest state retrieved from the catalog + * entry and any updates on the rules thereafter are ignored for that + * execution. The updates will be reflected from the next execution. Rules + * defined in the datascan must be empty if this field is enabled. + * + * Generated from protobuf field bool enable_catalog_based_rules = 10 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getEnableCatalogBasedRules() + { + return $this->enable_catalog_based_rules; + } + + /** + * Optional. If enabled, the data scan will retrieve rules defined in the + * dataplex-types.global.data-rules aspect on all paths of the catalog entry + * corresponding to the BigQuery table resource and all attached glossary + * terms. The path that data-rules aspect is attached on the table entry + * defines the column that the rule will be evaluated against. For glossary + * terms, the path that the terms are attached on the table entry defines the + * column that the rule will be evaluated against. At the start of scan + * execution, the rules reflect the latest state retrieved from the catalog + * entry and any updates on the rules thereafter are ignored for that + * execution. The updates will be reflected from the next execution. Rules + * defined in the datascan must be empty if this field is enabled. + * + * Generated from protobuf field bool enable_catalog_based_rules = 10 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setEnableCatalogBasedRules($var) + { + GPBUtil::checkBool($var); + $this->enable_catalog_based_rules = $var; + + return $this; + } + + /** + * Optional. Filter for selectively running a subset of rules. You can filter + * the request by the name or attribute key-value pairs defined on the rule. + * If not specified, all rules are run. The filter is applicable to both, the + * rules retrieved from catalog and explicitly defined rules in the scan. + * Please see [filter + * syntax](https://docs.cloud.google.com/dataplex/docs/auto-data-quality-overview#rule-filtering) + * for more details. + * + * Generated from protobuf field string filter = 11 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getFilter() + { + return $this->filter; + } + + /** + * Optional. Filter for selectively running a subset of rules. You can filter + * the request by the name or attribute key-value pairs defined on the rule. + * If not specified, all rules are run. The filter is applicable to both, the + * rules retrieved from catalog and explicitly defined rules in the scan. + * Please see [filter + * syntax](https://docs.cloud.google.com/dataplex/docs/auto-data-quality-overview#rule-filtering) + * for more details. + * + * Generated from protobuf field string filter = 11 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setFilter($var) + { + GPBUtil::checkString($var, True); + $this->filter = $var; + + return $this; + } + } diff --git a/Dataplex/src/V1/DataScan.php b/Dataplex/src/V1/DataScan.php index b3e21cb75988..fc8507dac394 100644 --- a/Dataplex/src/V1/DataScan.php +++ b/Dataplex/src/V1/DataScan.php @@ -23,10 +23,11 @@ * * Data discovery: scans data in Cloud Storage buckets to extract and then * catalog metadata. For more information, see [Discover and catalog Cloud * Storage data](https://cloud.google.com/bigquery/docs/automatic-discovery). - * * Data documentation: analyzes the table details and generates insights - * including descriptions and sample SQL queries for the table. For more - * information, see [Generate data insights in - * BigQuery](https://cloud.google.com/bigquery/docs/data-insights). + * * Data documentation: analyzes the table or dataset metadata and generates + * insights. For tables, insights include descriptions and sample SQL + * queries. For datasets, insights include descriptions, schema relationships + * and sample SQL queries. For more information, see [Generate data insights + * in BigQuery](https://cloud.google.com/bigquery/docs/data-insights). * * Generated from protobuf message google.cloud.dataplex.v1.DataScan */ @@ -111,6 +112,13 @@ class DataScan extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.cloud.dataplex.v1.DataScanType type = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $type = 0; + /** + * Optional. Immutable. The identity to run the datascan. + * If not specified, defaults to the Dataplex Service Agent. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ExecutionIdentity execution_identity = 300 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_behavior) = IMMUTABLE]; + */ + protected $execution_identity = null; protected $spec; protected $result; @@ -167,6 +175,9 @@ class DataScan extends \Google\Protobuf\Internal\Message * Output only. The result of a data discovery scan. * @type \Google\Cloud\Dataplex\V1\DataDocumentationResult $data_documentation_result * Output only. The result of a data documentation scan. + * @type \Google\Cloud\Dataplex\V1\ExecutionIdentity $execution_identity + * Optional. Immutable. The identity to run the datascan. + * If not specified, defaults to the Dataplex Service Agent. * } */ public function __construct($data = NULL) { @@ -798,6 +809,44 @@ public function setDataDocumentationResult($var) return $this; } + /** + * Optional. Immutable. The identity to run the datascan. + * If not specified, defaults to the Dataplex Service Agent. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ExecutionIdentity execution_identity = 300 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_behavior) = IMMUTABLE]; + * @return \Google\Cloud\Dataplex\V1\ExecutionIdentity|null + */ + public function getExecutionIdentity() + { + return $this->execution_identity; + } + + public function hasExecutionIdentity() + { + return isset($this->execution_identity); + } + + public function clearExecutionIdentity() + { + unset($this->execution_identity); + } + + /** + * Optional. Immutable. The identity to run the datascan. + * If not specified, defaults to the Dataplex Service Agent. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ExecutionIdentity execution_identity = 300 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_behavior) = IMMUTABLE]; + * @param \Google\Cloud\Dataplex\V1\ExecutionIdentity $var + * @return $this + */ + public function setExecutionIdentity($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\ExecutionIdentity::class); + $this->execution_identity = $var; + + return $this; + } + /** * @return string */ diff --git a/Dataplex/src/V1/DataScanJob.php b/Dataplex/src/V1/DataScanJob.php index ef30f5bcf510..e0799f3623cf 100644 --- a/Dataplex/src/V1/DataScanJob.php +++ b/Dataplex/src/V1/DataScanJob.php @@ -37,6 +37,12 @@ class DataScanJob extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $create_time = null; + /** + * Output only. A message indicating partial failure details. + * + * Generated from protobuf field string partial_failure_message = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $partial_failure_message = ''; /** * Output only. The time when the DataScanJob was started. * @@ -86,6 +92,8 @@ class DataScanJob extends \Google\Protobuf\Internal\Message * Output only. System generated globally unique ID for the DataScanJob. * @type \Google\Protobuf\Timestamp $create_time * Output only. The time when the DataScanJob was created. + * @type string $partial_failure_message + * Output only. A message indicating partial failure details. * @type \Google\Protobuf\Timestamp $start_time * Output only. The time when the DataScanJob was started. * @type \Google\Protobuf\Timestamp $end_time @@ -215,6 +223,32 @@ public function setCreateTime($var) return $this; } + /** + * Output only. A message indicating partial failure details. + * + * Generated from protobuf field string partial_failure_message = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getPartialFailureMessage() + { + return $this->partial_failure_message; + } + + /** + * Output only. A message indicating partial failure details. + * + * Generated from protobuf field string partial_failure_message = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setPartialFailureMessage($var) + { + GPBUtil::checkString($var, True); + $this->partial_failure_message = $var; + + return $this; + } + /** * Output only. The time when the DataScanJob was started. * diff --git a/Dataplex/src/V1/DataScanJob/State.php b/Dataplex/src/V1/DataScanJob/State.php index 2709a4d239fa..5f79ddc321e2 100644 --- a/Dataplex/src/V1/DataScanJob/State.php +++ b/Dataplex/src/V1/DataScanJob/State.php @@ -55,6 +55,12 @@ class State * Generated from protobuf enum PENDING = 7; */ const PENDING = 7; + /** + * The DataScanJob succeeded with errors. + * + * Generated from protobuf enum SUCCEEDED_WITH_ERRORS = 8; + */ + const SUCCEEDED_WITH_ERRORS = 8; private static $valueToName = [ self::STATE_UNSPECIFIED => 'STATE_UNSPECIFIED', @@ -64,6 +70,7 @@ class State self::SUCCEEDED => 'SUCCEEDED', self::FAILED => 'FAILED', self::PENDING => 'PENDING', + self::SUCCEEDED_WITH_ERRORS => 'SUCCEEDED_WITH_ERRORS', ]; public static function name($value) diff --git a/Dataplex/src/V1/DataSource.php b/Dataplex/src/V1/DataSource.php index a6def1dea490..38e25bb9c433 100644 --- a/Dataplex/src/V1/DataSource.php +++ b/Dataplex/src/V1/DataSource.php @@ -34,8 +34,13 @@ class DataSource extends \Google\Protobuf\Internal\Message * //storage.googleapis.com/projects/PROJECT_ID/buckets/BUCKET_ID * or * BigQuery table of type "TABLE" for - * DataProfileScan/DataQualityScan/DataDocumentationScan Format: + * DataProfileScan/DataQualityScan/DataDocumentationScan + * Format: * //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID + * or + * BigQuery dataset for DataDocumentationScan only + * Format: + * //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID * } */ public function __construct($data = NULL) { @@ -85,8 +90,13 @@ public function setEntity($var) * //storage.googleapis.com/projects/PROJECT_ID/buckets/BUCKET_ID * or * BigQuery table of type "TABLE" for - * DataProfileScan/DataQualityScan/DataDocumentationScan Format: + * DataProfileScan/DataQualityScan/DataDocumentationScan + * Format: * //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID + * or + * BigQuery dataset for DataDocumentationScan only + * Format: + * //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID * * Generated from protobuf field string resource = 101 [(.google.api.field_behavior) = IMMUTABLE]; * @return string @@ -108,8 +118,13 @@ public function hasResource() * //storage.googleapis.com/projects/PROJECT_ID/buckets/BUCKET_ID * or * BigQuery table of type "TABLE" for - * DataProfileScan/DataQualityScan/DataDocumentationScan Format: + * DataProfileScan/DataQualityScan/DataDocumentationScan + * Format: * //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID + * or + * BigQuery dataset for DataDocumentationScan only + * Format: + * //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID * * Generated from protobuf field string resource = 101 [(.google.api.field_behavior) = IMMUTABLE]; * @param string $var diff --git a/Dataplex/src/V1/ExecutionIdentity.php b/Dataplex/src/V1/ExecutionIdentity.php new file mode 100644 index 000000000000..02f5c114a548 --- /dev/null +++ b/Dataplex/src/V1/ExecutionIdentity.php @@ -0,0 +1,144 @@ +google.cloud.dataplex.v1.ExecutionIdentity + */ +class ExecutionIdentity extends \Google\Protobuf\Internal\Message +{ + protected $identity; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Dataplex\V1\ExecutionIdentity\DataplexServiceAgent $dataplex_service_agent + * Optional. The Dataplex service agent associated with the user's project. + * @type \Google\Cloud\Dataplex\V1\ExecutionIdentity\UserCredential $user_credential + * Optional. The credential of the calling user. Supports only ONE_TIME + * trigger type. + * @type \Google\Cloud\Dataplex\V1\ExecutionIdentity\ServiceAccount $service_account + * Optional. The provided service account. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\Datascans::initOnce(); + parent::__construct($data); + } + + /** + * Optional. The Dataplex service agent associated with the user's project. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ExecutionIdentity.DataplexServiceAgent dataplex_service_agent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Dataplex\V1\ExecutionIdentity\DataplexServiceAgent|null + */ + public function getDataplexServiceAgent() + { + return $this->readOneof(1); + } + + public function hasDataplexServiceAgent() + { + return $this->hasOneof(1); + } + + /** + * Optional. The Dataplex service agent associated with the user's project. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ExecutionIdentity.DataplexServiceAgent dataplex_service_agent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Dataplex\V1\ExecutionIdentity\DataplexServiceAgent $var + * @return $this + */ + public function setDataplexServiceAgent($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\ExecutionIdentity\DataplexServiceAgent::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Optional. The credential of the calling user. Supports only ONE_TIME + * trigger type. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ExecutionIdentity.UserCredential user_credential = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Dataplex\V1\ExecutionIdentity\UserCredential|null + */ + public function getUserCredential() + { + return $this->readOneof(2); + } + + public function hasUserCredential() + { + return $this->hasOneof(2); + } + + /** + * Optional. The credential of the calling user. Supports only ONE_TIME + * trigger type. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ExecutionIdentity.UserCredential user_credential = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Dataplex\V1\ExecutionIdentity\UserCredential $var + * @return $this + */ + public function setUserCredential($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\ExecutionIdentity\UserCredential::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * Optional. The provided service account. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ExecutionIdentity.ServiceAccount service_account = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Dataplex\V1\ExecutionIdentity\ServiceAccount|null + */ + public function getServiceAccount() + { + return $this->readOneof(3); + } + + public function hasServiceAccount() + { + return $this->hasOneof(3); + } + + /** + * Optional. The provided service account. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ExecutionIdentity.ServiceAccount service_account = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Dataplex\V1\ExecutionIdentity\ServiceAccount $var + * @return $this + */ + public function setServiceAccount($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\ExecutionIdentity\ServiceAccount::class); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * @return string + */ + public function getIdentity() + { + return $this->whichOneof("identity"); + } + +} + diff --git a/Dataplex/src/V1/ExecutionIdentity/DataplexServiceAgent.php b/Dataplex/src/V1/ExecutionIdentity/DataplexServiceAgent.php new file mode 100644 index 000000000000..3acec9b3ed4b --- /dev/null +++ b/Dataplex/src/V1/ExecutionIdentity/DataplexServiceAgent.php @@ -0,0 +1,33 @@ +google.cloud.dataplex.v1.ExecutionIdentity.DataplexServiceAgent + */ +class DataplexServiceAgent extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\Datascans::initOnce(); + parent::__construct($data); + } + +} + diff --git a/Dataplex/src/V1/ExecutionIdentity/ServiceAccount.php b/Dataplex/src/V1/ExecutionIdentity/ServiceAccount.php new file mode 100644 index 000000000000..fd0af2eafa19 --- /dev/null +++ b/Dataplex/src/V1/ExecutionIdentity/ServiceAccount.php @@ -0,0 +1,83 @@ +google.cloud.dataplex.v1.ExecutionIdentity.ServiceAccount + */ +class ServiceAccount extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Service account email. The datascan will execute with this + * service account's credentials. The user calling this API must have + * permissions to act as this service account. Dataplex service agent must + * be granted iam.serviceAccounts.getAccessToken permission on this service + * account, for example, through the iam.serviceAccountTokenCreator role . + * + * Generated from protobuf field string email = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $email = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $email + * Required. Service account email. The datascan will execute with this + * service account's credentials. The user calling this API must have + * permissions to act as this service account. Dataplex service agent must + * be granted iam.serviceAccounts.getAccessToken permission on this service + * account, for example, through the iam.serviceAccountTokenCreator role . + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\Datascans::initOnce(); + parent::__construct($data); + } + + /** + * Required. Service account email. The datascan will execute with this + * service account's credentials. The user calling this API must have + * permissions to act as this service account. Dataplex service agent must + * be granted iam.serviceAccounts.getAccessToken permission on this service + * account, for example, through the iam.serviceAccountTokenCreator role . + * + * Generated from protobuf field string email = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getEmail() + { + return $this->email; + } + + /** + * Required. Service account email. The datascan will execute with this + * service account's credentials. The user calling this API must have + * permissions to act as this service account. Dataplex service agent must + * be granted iam.serviceAccounts.getAccessToken permission on this service + * account, for example, through the iam.serviceAccountTokenCreator role . + * + * Generated from protobuf field string email = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setEmail($var) + { + GPBUtil::checkString($var, True); + $this->email = $var; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/ExecutionIdentity/UserCredential.php b/Dataplex/src/V1/ExecutionIdentity/UserCredential.php new file mode 100644 index 000000000000..8efb59845cb0 --- /dev/null +++ b/Dataplex/src/V1/ExecutionIdentity/UserCredential.php @@ -0,0 +1,33 @@ +google.cloud.dataplex.v1.ExecutionIdentity.UserCredential + */ +class UserCredential extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\Datascans::initOnce(); + parent::__construct($data); + } + +} + diff --git a/Dataplex/src/V1/GetEntryRequest.php b/Dataplex/src/V1/GetEntryRequest.php index e4099479ce1f..425cfc062f0b 100644 --- a/Dataplex/src/V1/GetEntryRequest.php +++ b/Dataplex/src/V1/GetEntryRequest.php @@ -25,6 +25,9 @@ class GetEntryRequest extends \Google\Protobuf\Internal\Message /** * Optional. View to control which parts of an entry the service should * return. + * **Please check the limitations on returned aspects in the Entry view + * documentation. Amount of returned aspects depends on the selected Entry + * View.** * * Generated from protobuf field .google.cloud.dataplex.v1.EntryView view = 2 [(.google.api.field_behavior) = OPTIONAL]; */ @@ -71,6 +74,9 @@ public static function build(string $name): self * @type int $view * Optional. View to control which parts of an entry the service should * return. + * **Please check the limitations on returned aspects in the Entry view + * documentation. Amount of returned aspects depends on the selected Entry + * View.** * @type string[] $aspect_types * Optional. Limits the aspects returned to the provided aspect types. * It only works for CUSTOM view. @@ -115,6 +121,9 @@ public function setName($var) /** * Optional. View to control which parts of an entry the service should * return. + * **Please check the limitations on returned aspects in the Entry view + * documentation. Amount of returned aspects depends on the selected Entry + * View.** * * Generated from protobuf field .google.cloud.dataplex.v1.EntryView view = 2 [(.google.api.field_behavior) = OPTIONAL]; * @return int @@ -127,6 +136,9 @@ public function getView() /** * Optional. View to control which parts of an entry the service should * return. + * **Please check the limitations on returned aspects in the Entry view + * documentation. Amount of returned aspects depends on the selected Entry + * View.** * * Generated from protobuf field .google.cloud.dataplex.v1.EntryView view = 2 [(.google.api.field_behavior) = OPTIONAL]; * @param int $var diff --git a/Dataplex/src/V1/LookupContextRequest.php b/Dataplex/src/V1/LookupContextRequest.php index fad3ee9c0fed..aad7968a1d54 100644 --- a/Dataplex/src/V1/LookupContextRequest.php +++ b/Dataplex/src/V1/LookupContextRequest.php @@ -23,16 +23,29 @@ class LookupContextRequest extends \Google\Protobuf\Internal\Message */ protected $name = ''; /** - * Required. The entry names to lookup context for. The request should have - * max 10 of those. + * Required. The entry names to look up the context for. The maximum number of + * resources for a request is limited to 10. * ## Examples: - * projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry} + * `projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}` * * Generated from protobuf field repeated string resources = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { */ private $resources; + /** + * Optional. The text representing contextual information for which metadata + * context is being requested. + * + * Generated from protobuf field string context = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $context = ''; /** * Optional. Allows to configure the context. + * Supported options: + * - `format` - The format of the context (one of `yaml`, + * `xml`, `json`, default is `yaml`). + * - `context_budget` - If provided, the output will be intelligently + * truncated on a best-effort basis to contain approximately the desired + * amount of characters. There is no guarantee to achieve the specific amount. * * Generated from protobuf field map options = 4 [(.google.api.field_behavior) = OPTIONAL]; */ @@ -48,12 +61,21 @@ class LookupContextRequest extends \Google\Protobuf\Internal\Message * Required. The project to which the request should be attributed in the * following form: `projects/{project}/locations/{location}`. * @type string[] $resources - * Required. The entry names to lookup context for. The request should have - * max 10 of those. + * Required. The entry names to look up the context for. The maximum number of + * resources for a request is limited to 10. * ## Examples: - * projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry} + * `projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}` + * @type string $context + * Optional. The text representing contextual information for which metadata + * context is being requested. * @type array|\Google\Protobuf\Internal\MapField $options * Optional. Allows to configure the context. + * Supported options: + * - `format` - The format of the context (one of `yaml`, + * `xml`, `json`, default is `yaml`). + * - `context_budget` - If provided, the output will be intelligently + * truncated on a best-effort basis to contain approximately the desired + * amount of characters. There is no guarantee to achieve the specific amount. * } */ public function __construct($data = NULL) { @@ -90,10 +112,10 @@ public function setName($var) } /** - * Required. The entry names to lookup context for. The request should have - * max 10 of those. + * Required. The entry names to look up the context for. The maximum number of + * resources for a request is limited to 10. * ## Examples: - * projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry} + * `projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}` * * Generated from protobuf field repeated string resources = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { * @return RepeatedField @@ -104,10 +126,10 @@ public function getResources() } /** - * Required. The entry names to lookup context for. The request should have - * max 10 of those. + * Required. The entry names to look up the context for. The maximum number of + * resources for a request is limited to 10. * ## Examples: - * projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry} + * `projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}` * * Generated from protobuf field repeated string resources = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { * @param string[] $var @@ -121,8 +143,42 @@ public function setResources($var) return $this; } + /** + * Optional. The text representing contextual information for which metadata + * context is being requested. + * + * Generated from protobuf field string context = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getContext() + { + return $this->context; + } + + /** + * Optional. The text representing contextual information for which metadata + * context is being requested. + * + * Generated from protobuf field string context = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setContext($var) + { + GPBUtil::checkString($var, True); + $this->context = $var; + + return $this; + } + /** * Optional. Allows to configure the context. + * Supported options: + * - `format` - The format of the context (one of `yaml`, + * `xml`, `json`, default is `yaml`). + * - `context_budget` - If provided, the output will be intelligently + * truncated on a best-effort basis to contain approximately the desired + * amount of characters. There is no guarantee to achieve the specific amount. * * Generated from protobuf field map options = 4 [(.google.api.field_behavior) = OPTIONAL]; * @return \Google\Protobuf\Internal\MapField @@ -134,6 +190,12 @@ public function getOptions() /** * Optional. Allows to configure the context. + * Supported options: + * - `format` - The format of the context (one of `yaml`, + * `xml`, `json`, default is `yaml`). + * - `context_budget` - If provided, the output will be intelligently + * truncated on a best-effort basis to contain approximately the desired + * amount of characters. There is no guarantee to achieve the specific amount. * * Generated from protobuf field map options = 4 [(.google.api.field_behavior) = OPTIONAL]; * @param array|\Google\Protobuf\Internal\MapField $var diff --git a/Dataplex/src/V1/LookupContextResponse.php b/Dataplex/src/V1/LookupContextResponse.php index 6edb7ca58100..8d292fb2d3b6 100644 --- a/Dataplex/src/V1/LookupContextResponse.php +++ b/Dataplex/src/V1/LookupContextResponse.php @@ -16,7 +16,8 @@ class LookupContextResponse extends \Google\Protobuf\Internal\Message { /** - * LLM generated context for the resources. + * Pre-formatted block of text containing the context for the requested + * resources. * * Generated from protobuf field string context = 1; */ @@ -29,7 +30,8 @@ class LookupContextResponse extends \Google\Protobuf\Internal\Message * Optional. Data for populating the Message object. * * @type string $context - * LLM generated context for the resources. + * Pre-formatted block of text containing the context for the requested + * resources. * } */ public function __construct($data = NULL) { @@ -38,7 +40,8 @@ public function __construct($data = NULL) { } /** - * LLM generated context for the resources. + * Pre-formatted block of text containing the context for the requested + * resources. * * Generated from protobuf field string context = 1; * @return string @@ -49,7 +52,8 @@ public function getContext() } /** - * LLM generated context for the resources. + * Pre-formatted block of text containing the context for the requested + * resources. * * Generated from protobuf field string context = 1; * @param string $var diff --git a/Dataplex/src/V1/LookupEntryRequest.php b/Dataplex/src/V1/LookupEntryRequest.php index 1fbba3f0f92a..34e44e82a6c1 100644 --- a/Dataplex/src/V1/LookupEntryRequest.php +++ b/Dataplex/src/V1/LookupEntryRequest.php @@ -25,6 +25,9 @@ class LookupEntryRequest extends \Google\Protobuf\Internal\Message /** * Optional. View to control which parts of an entry the service should * return. + * **Please check the limitations on returned aspects in the Entry view + * documentation. Amount of returned aspects depends on the selected Entry + * View.** * * Generated from protobuf field .google.cloud.dataplex.v1.EntryView view = 2 [(.google.api.field_behavior) = OPTIONAL]; */ @@ -63,6 +66,9 @@ class LookupEntryRequest extends \Google\Protobuf\Internal\Message * @type int $view * Optional. View to control which parts of an entry the service should * return. + * **Please check the limitations on returned aspects in the Entry view + * documentation. Amount of returned aspects depends on the selected Entry + * View.** * @type string[] $aspect_types * Optional. Limits the aspects returned to the provided aspect types. * It only works for CUSTOM view. @@ -110,6 +116,9 @@ public function setName($var) /** * Optional. View to control which parts of an entry the service should * return. + * **Please check the limitations on returned aspects in the Entry view + * documentation. Amount of returned aspects depends on the selected Entry + * View.** * * Generated from protobuf field .google.cloud.dataplex.v1.EntryView view = 2 [(.google.api.field_behavior) = OPTIONAL]; * @return int @@ -122,6 +131,9 @@ public function getView() /** * Optional. View to control which parts of an entry the service should * return. + * **Please check the limitations on returned aspects in the Entry view + * documentation. Amount of returned aspects depends on the selected Entry + * View.** * * Generated from protobuf field .google.cloud.dataplex.v1.EntryView view = 2 [(.google.api.field_behavior) = OPTIONAL]; * @param int $var diff --git a/Dataplex/src/V1/ModifyEntryRequest.php b/Dataplex/src/V1/ModifyEntryRequest.php new file mode 100644 index 000000000000..015927c9a6d1 --- /dev/null +++ b/Dataplex/src/V1/ModifyEntryRequest.php @@ -0,0 +1,299 @@ +google.cloud.dataplex.v1.ModifyEntryRequest + */ +class ModifyEntryRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The project to which the request should be attributed in the + * following form: `projects/{project}/locations/{location}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $name = ''; + /** + * Required. The entry to modify. + * + * Generated from protobuf field .google.cloud.dataplex.v1.Entry entry = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $entry = null; + /** + * Optional. Mask of fields to update. To update Aspects, the update_mask must + * contain the value "aspects". + * If the update_mask is empty, the service will update all modifiable fields + * present in the request. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $update_mask = null; + /** + * Optional. If set to true, any aspects not specified in the request will be + * deleted. The default is false. + * + * Generated from protobuf field bool delete_missing_aspects = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $delete_missing_aspects = false; + /** + * Optional. The aspect keys which the service should modify. It supports + * the following syntaxes: + * * `` - matches an aspect of the given type and empty + * path. + * * `\@path` - matches an aspect of the given type and + * specified path. For example, to attach an aspect to a field that is + * specified by the `schema` aspect, the path should have the format + * `Schema.`. + * * `\@*` - matches aspects of the given type for all + * paths. + * * `*\@path` - matches aspects of all types on the given path. + * The service will not remove existing aspects matching the syntax unless + * `delete_missing_aspects` is set to true. + * If this field is left empty, the service treats it as specifying + * exactly those Aspects present in the request. + * + * Generated from protobuf field repeated string aspect_keys = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $aspect_keys; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The project to which the request should be attributed in the + * following form: `projects/{project}/locations/{location}`. + * @type \Google\Cloud\Dataplex\V1\Entry $entry + * Required. The entry to modify. + * @type \Google\Protobuf\FieldMask $update_mask + * Optional. Mask of fields to update. To update Aspects, the update_mask must + * contain the value "aspects". + * If the update_mask is empty, the service will update all modifiable fields + * present in the request. + * @type bool $delete_missing_aspects + * Optional. If set to true, any aspects not specified in the request will be + * deleted. The default is false. + * @type string[] $aspect_keys + * Optional. The aspect keys which the service should modify. It supports + * the following syntaxes: + * * `` - matches an aspect of the given type and empty + * path. + * * `\@path` - matches an aspect of the given type and + * specified path. For example, to attach an aspect to a field that is + * specified by the `schema` aspect, the path should have the format + * `Schema.`. + * * `\@*` - matches aspects of the given type for all + * paths. + * * `*\@path` - matches aspects of all types on the given path. + * The service will not remove existing aspects matching the syntax unless + * `delete_missing_aspects` is set to true. + * If this field is left empty, the service treats it as specifying + * exactly those Aspects present in the request. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\Catalog::initOnce(); + parent::__construct($data); + } + + /** + * Required. The project to which the request should be attributed in the + * following form: `projects/{project}/locations/{location}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. The project to which the request should be attributed in the + * following form: `projects/{project}/locations/{location}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Required. The entry to modify. + * + * Generated from protobuf field .google.cloud.dataplex.v1.Entry entry = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Dataplex\V1\Entry|null + */ + public function getEntry() + { + return $this->entry; + } + + public function hasEntry() + { + return isset($this->entry); + } + + public function clearEntry() + { + unset($this->entry); + } + + /** + * Required. The entry to modify. + * + * Generated from protobuf field .google.cloud.dataplex.v1.Entry entry = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Dataplex\V1\Entry $var + * @return $this + */ + public function setEntry($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\Entry::class); + $this->entry = $var; + + return $this; + } + + /** + * Optional. Mask of fields to update. To update Aspects, the update_mask must + * contain the value "aspects". + * If the update_mask is empty, the service will update all modifiable fields + * present in the request. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\FieldMask|null + */ + public function getUpdateMask() + { + return $this->update_mask; + } + + public function hasUpdateMask() + { + return isset($this->update_mask); + } + + public function clearUpdateMask() + { + unset($this->update_mask); + } + + /** + * Optional. Mask of fields to update. To update Aspects, the update_mask must + * contain the value "aspects". + * If the update_mask is empty, the service will update all modifiable fields + * present in the request. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Protobuf\FieldMask $var + * @return $this + */ + public function setUpdateMask($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class); + $this->update_mask = $var; + + return $this; + } + + /** + * Optional. If set to true, any aspects not specified in the request will be + * deleted. The default is false. + * + * Generated from protobuf field bool delete_missing_aspects = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getDeleteMissingAspects() + { + return $this->delete_missing_aspects; + } + + /** + * Optional. If set to true, any aspects not specified in the request will be + * deleted. The default is false. + * + * Generated from protobuf field bool delete_missing_aspects = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setDeleteMissingAspects($var) + { + GPBUtil::checkBool($var); + $this->delete_missing_aspects = $var; + + return $this; + } + + /** + * Optional. The aspect keys which the service should modify. It supports + * the following syntaxes: + * * `` - matches an aspect of the given type and empty + * path. + * * `\@path` - matches an aspect of the given type and + * specified path. For example, to attach an aspect to a field that is + * specified by the `schema` aspect, the path should have the format + * `Schema.`. + * * `\@*` - matches aspects of the given type for all + * paths. + * * `*\@path` - matches aspects of all types on the given path. + * The service will not remove existing aspects matching the syntax unless + * `delete_missing_aspects` is set to true. + * If this field is left empty, the service treats it as specifying + * exactly those Aspects present in the request. + * + * Generated from protobuf field repeated string aspect_keys = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return RepeatedField + */ + public function getAspectKeys() + { + return $this->aspect_keys; + } + + /** + * Optional. The aspect keys which the service should modify. It supports + * the following syntaxes: + * * `` - matches an aspect of the given type and empty + * path. + * * `\@path` - matches an aspect of the given type and + * specified path. For example, to attach an aspect to a field that is + * specified by the `schema` aspect, the path should have the format + * `Schema.`. + * * `\@*` - matches aspects of the given type for all + * paths. + * * `*\@path` - matches aspects of all types on the given path. + * The service will not remove existing aspects matching the syntax unless + * `delete_missing_aspects` is set to true. + * If this field is left empty, the service treats it as specifying + * exactly those Aspects present in the request. + * + * Generated from protobuf field repeated string aspect_keys = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param string[] $var + * @return $this + */ + public function setAspectKeys($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->aspect_keys = $arr; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/RequestDataProductAccessRequest.php b/Dataplex/src/V1/RequestDataProductAccessRequest.php new file mode 100644 index 000000000000..195591139df8 --- /dev/null +++ b/Dataplex/src/V1/RequestDataProductAccessRequest.php @@ -0,0 +1,175 @@ +google.cloud.dataplex.v1.RequestDataProductAccessRequest + */ +class RequestDataProductAccessRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The resource name of the data product. + * Format: + * projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id} + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Required. The change request for the data product access request. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ChangeRequest change_request = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $change_request = null; + /** + * Optional. Validates the request without actually creating the access change + * request. Defaults to false. + * + * Generated from protobuf field bool validate_only = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $validate_only = false; + + /** + * @param string $parent Required. The resource name of the data product. + * Format: + * projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id} + * Please see {@see DataProductServiceClient::dataProductName()} for help formatting this field. + * @param \Google\Cloud\Dataplex\V1\ChangeRequest $changeRequest Required. The change request for the data product access request. + * + * @return \Google\Cloud\Dataplex\V1\RequestDataProductAccessRequest + * + * @experimental + */ + public static function build(string $parent, \Google\Cloud\Dataplex\V1\ChangeRequest $changeRequest): self + { + return (new self()) + ->setParent($parent) + ->setChangeRequest($changeRequest); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The resource name of the data product. + * Format: + * projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id} + * @type \Google\Cloud\Dataplex\V1\ChangeRequest $change_request + * Required. The change request for the data product access request. + * @type bool $validate_only + * Optional. Validates the request without actually creating the access change + * request. Defaults to false. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\DataProducts::initOnce(); + parent::__construct($data); + } + + /** + * Required. The resource name of the data product. + * Format: + * projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id} + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. The resource name of the data product. + * Format: + * projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id} + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Required. The change request for the data product access request. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ChangeRequest change_request = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Dataplex\V1\ChangeRequest|null + */ + public function getChangeRequest() + { + return $this->change_request; + } + + public function hasChangeRequest() + { + return isset($this->change_request); + } + + public function clearChangeRequest() + { + unset($this->change_request); + } + + /** + * Required. The change request for the data product access request. + * + * Generated from protobuf field .google.cloud.dataplex.v1.ChangeRequest change_request = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Dataplex\V1\ChangeRequest $var + * @return $this + */ + public function setChangeRequest($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataplex\V1\ChangeRequest::class); + $this->change_request = $var; + + return $this; + } + + /** + * Optional. Validates the request without actually creating the access change + * request. Defaults to false. + * + * Generated from protobuf field bool validate_only = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getValidateOnly() + { + return $this->validate_only; + } + + /** + * Optional. Validates the request without actually creating the access change + * request. Defaults to false. + * + * Generated from protobuf field bool validate_only = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setValidateOnly($var) + { + GPBUtil::checkBool($var); + $this->validate_only = $var; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/RequestDataProductAccessResponse.php b/Dataplex/src/V1/RequestDataProductAccessResponse.php new file mode 100644 index 000000000000..af9f4d7d8a79 --- /dev/null +++ b/Dataplex/src/V1/RequestDataProductAccessResponse.php @@ -0,0 +1,75 @@ +google.cloud.dataplex.v1.RequestDataProductAccessResponse + */ +class RequestDataProductAccessResponse extends \Google\Protobuf\Internal\Message +{ + /** + * The resource name of the created ChangeRequest. + * Format: + * projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id} + * + * Generated from protobuf field string change_request_name = 1 [(.google.api.resource_reference) = { + */ + protected $change_request_name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $change_request_name + * The resource name of the created ChangeRequest. + * Format: + * projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id} + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataplex\V1\DataProducts::initOnce(); + parent::__construct($data); + } + + /** + * The resource name of the created ChangeRequest. + * Format: + * projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id} + * + * Generated from protobuf field string change_request_name = 1 [(.google.api.resource_reference) = { + * @return string + */ + public function getChangeRequestName() + { + return $this->change_request_name; + } + + /** + * The resource name of the created ChangeRequest. + * Format: + * projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id} + * + * Generated from protobuf field string change_request_name = 1 [(.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setChangeRequestName($var) + { + GPBUtil::checkString($var, True); + $this->change_request_name = $var; + + return $this; + } + +} + diff --git a/Dataplex/src/V1/gapic_metadata.json b/Dataplex/src/V1/gapic_metadata.json index 2bdcfb90f45e..fb49daf13f33 100644 --- a/Dataplex/src/V1/gapic_metadata.json +++ b/Dataplex/src/V1/gapic_metadata.json @@ -438,6 +438,11 @@ "lookupEntryLinks" ] }, + "ModifyEntry": { + "methods": [ + "modifyEntry" + ] + }, "SearchEntries": { "methods": [ "searchEntries" @@ -640,6 +645,11 @@ "listDataProducts" ] }, + "RequestDataProductAccess": { + "methods": [ + "requestDataProductAccess" + ] + }, "UpdateDataAsset": { "methods": [ "updateDataAsset" @@ -793,6 +803,11 @@ "grpc": { "libraryClient": "DataScanServiceGapicClient", "rpcs": { + "CancelDataScanJob": { + "methods": [ + "cancelDataScanJob" + ] + }, "CreateDataScan": { "methods": [ "createDataScan" diff --git a/Dataplex/src/V1/resources/business_glossary_service_rest_client_config.php b/Dataplex/src/V1/resources/business_glossary_service_rest_client_config.php index 96a57becffff..b4af8f0da8f0 100644 --- a/Dataplex/src/V1/resources/business_glossary_service_rest_client_config.php +++ b/Dataplex/src/V1/resources/business_glossary_service_rest_client_config.php @@ -257,10 +257,6 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:getIamPolicy', ], - [ - 'method' => 'get', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:getIamPolicy', - ], [ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:getIamPolicy', @@ -321,6 +317,10 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=organizations/*/locations/*/encryptionConfigs/*}:getIamPolicy', ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:getIamPolicy', + ], ], 'placeholders' => [ 'resource' => [ @@ -350,11 +350,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:setIamPolicy', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:setIamPolicy', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:setIamPolicy', @@ -430,6 +425,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:setIamPolicy', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:setIamPolicy', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ @@ -459,11 +459,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:testIamPermissions', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:testIamPermissions', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:testIamPermissions', @@ -539,6 +534,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:testIamPermissions', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:testIamPermissions', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ diff --git a/Dataplex/src/V1/resources/catalog_service_client_config.json b/Dataplex/src/V1/resources/catalog_service_client_config.json index bb323a0bb67f..4a3df73c84c8 100644 --- a/Dataplex/src/V1/resources/catalog_service_client_config.json +++ b/Dataplex/src/V1/resources/catalog_service_client_config.json @@ -97,8 +97,8 @@ }, "CreateEntryLink": { "timeout_millis": 60000, - "retry_codes_name": "no_retry_codes", - "retry_params_name": "no_retry_params" + "retry_codes_name": "no_retry_4_codes", + "retry_params_name": "no_retry_4_params" }, "CreateEntryType": { "timeout_millis": 60000, @@ -132,8 +132,8 @@ }, "DeleteEntryLink": { "timeout_millis": 60000, - "retry_codes_name": "no_retry_codes", - "retry_params_name": "no_retry_params" + "retry_codes_name": "no_retry_4_codes", + "retry_params_name": "no_retry_4_params" }, "DeleteEntryType": { "timeout_millis": 60000, @@ -161,9 +161,9 @@ "retry_params_name": "retry_policy_9_params" }, "GetEntryLink": { - "timeout_millis": 60000, - "retry_codes_name": "no_retry_codes", - "retry_params_name": "no_retry_params" + "timeout_millis": 20000, + "retry_codes_name": "retry_policy_7_codes", + "retry_params_name": "retry_policy_7_params" }, "GetEntryType": { "timeout_millis": 60000, @@ -221,6 +221,11 @@ "retry_params_name": "retry_policy_7_params" }, "LookupEntryLinks": { + "timeout_millis": 20000, + "retry_codes_name": "retry_policy_7_codes", + "retry_params_name": "retry_policy_7_params" + }, + "ModifyEntry": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" @@ -247,8 +252,8 @@ }, "UpdateEntryLink": { "timeout_millis": 60000, - "retry_codes_name": "no_retry_codes", - "retry_params_name": "no_retry_params" + "retry_codes_name": "retry_policy_8_codes", + "retry_params_name": "retry_policy_8_params" }, "UpdateEntryType": { "timeout_millis": 60000, diff --git a/Dataplex/src/V1/resources/catalog_service_descriptor_config.php b/Dataplex/src/V1/resources/catalog_service_descriptor_config.php index 5e3abfad63e8..cb51ee721ce0 100644 --- a/Dataplex/src/V1/resources/catalog_service_descriptor_config.php +++ b/Dataplex/src/V1/resources/catalog_service_descriptor_config.php @@ -582,6 +582,18 @@ ], ], ], + 'ModifyEntry' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Dataplex\V1\Entry', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], 'SearchEntries' => [ 'pageStreaming' => [ 'requestPageTokenGetMethod' => 'getPageToken', diff --git a/Dataplex/src/V1/resources/catalog_service_rest_client_config.php b/Dataplex/src/V1/resources/catalog_service_rest_client_config.php index 5129dca486b5..6bad68b73f4b 100644 --- a/Dataplex/src/V1/resources/catalog_service_rest_client_config.php +++ b/Dataplex/src/V1/resources/catalog_service_rest_client_config.php @@ -377,6 +377,18 @@ ], ], ], + 'ModifyEntry' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{name=projects/*/locations/*}:modifyEntry', + 'body' => '*', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], 'SearchEntries' => [ 'method' => 'post', 'uriTemplate' => '/v1/{name=projects/*/locations/*}:searchEntries', @@ -517,10 +529,6 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:getIamPolicy', ], - [ - 'method' => 'get', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:getIamPolicy', - ], [ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:getIamPolicy', @@ -581,6 +589,10 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=organizations/*/locations/*/encryptionConfigs/*}:getIamPolicy', ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:getIamPolicy', + ], ], 'placeholders' => [ 'resource' => [ @@ -610,11 +622,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:setIamPolicy', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:setIamPolicy', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:setIamPolicy', @@ -690,6 +697,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:setIamPolicy', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:setIamPolicy', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ @@ -719,11 +731,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:testIamPermissions', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:testIamPermissions', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:testIamPermissions', @@ -799,6 +806,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:testIamPermissions', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:testIamPermissions', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ diff --git a/Dataplex/src/V1/resources/cmek_service_rest_client_config.php b/Dataplex/src/V1/resources/cmek_service_rest_client_config.php index 8397272482de..92929f11e178 100644 --- a/Dataplex/src/V1/resources/cmek_service_rest_client_config.php +++ b/Dataplex/src/V1/resources/cmek_service_rest_client_config.php @@ -126,10 +126,6 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:getIamPolicy', ], - [ - 'method' => 'get', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:getIamPolicy', - ], [ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:getIamPolicy', @@ -190,6 +186,10 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=organizations/*/locations/*/encryptionConfigs/*}:getIamPolicy', ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:getIamPolicy', + ], ], 'placeholders' => [ 'resource' => [ @@ -219,11 +219,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:setIamPolicy', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:setIamPolicy', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:setIamPolicy', @@ -299,6 +294,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:setIamPolicy', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:setIamPolicy', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ @@ -328,11 +328,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:testIamPermissions', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:testIamPermissions', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:testIamPermissions', @@ -408,6 +403,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:testIamPermissions', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:testIamPermissions', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ diff --git a/Dataplex/src/V1/resources/content_service_rest_client_config.php b/Dataplex/src/V1/resources/content_service_rest_client_config.php index 7a036781f50f..159c091da02d 100644 --- a/Dataplex/src/V1/resources/content_service_rest_client_config.php +++ b/Dataplex/src/V1/resources/content_service_rest_client_config.php @@ -63,10 +63,6 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:getIamPolicy', ], - [ - 'method' => 'get', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:getIamPolicy', - ], [ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:getIamPolicy', @@ -127,6 +123,10 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=organizations/*/locations/*/encryptionConfigs/*}:getIamPolicy', ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:getIamPolicy', + ], ], 'placeholders' => [ 'resource' => [ @@ -156,11 +156,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:setIamPolicy', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:setIamPolicy', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:setIamPolicy', @@ -236,6 +231,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:setIamPolicy', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:setIamPolicy', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ @@ -265,11 +265,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:testIamPermissions', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:testIamPermissions', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:testIamPermissions', @@ -345,6 +340,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:testIamPermissions', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:testIamPermissions', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ diff --git a/Dataplex/src/V1/resources/data_product_service_client_config.json b/Dataplex/src/V1/resources/data_product_service_client_config.json index 8337b1ae330a..f160b2345b6c 100644 --- a/Dataplex/src/V1/resources/data_product_service_client_config.json +++ b/Dataplex/src/V1/resources/data_product_service_client_config.json @@ -56,6 +56,11 @@ "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, + "RequestDataProductAccess": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "UpdateDataAsset": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", diff --git a/Dataplex/src/V1/resources/data_product_service_descriptor_config.php b/Dataplex/src/V1/resources/data_product_service_descriptor_config.php index a9ac24f0d32c..5c49c5557a20 100644 --- a/Dataplex/src/V1/resources/data_product_service_descriptor_config.php +++ b/Dataplex/src/V1/resources/data_product_service_descriptor_config.php @@ -203,6 +203,18 @@ ], ], ], + 'RequestDataProductAccess' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Dataplex\V1\RequestDataProductAccessResponse', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], 'GetLocation' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Cloud\Location\Location', @@ -277,8 +289,15 @@ 'interfaceOverride' => 'google.iam.v1.IAMPolicy', ], 'templateMap' => [ + 'changeRequest' => 'projects/{project}/locations/{location}/changeRequests/{change_request}', 'dataAsset' => 'projects/{project}/locations/{location}/dataProducts/{data_product}/dataAssets/{data_asset}', 'dataProduct' => 'projects/{project}/locations/{location}/dataProducts/{data_product}', + 'entry' => 'projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}', + 'entryGroup' => 'projects/{project}/locations/{location}/entryGroups/{entry_group}', + 'entryLink' => 'projects/{project}/locations/{location}/entryGroups/{entry_group}/entryLinks/{entry_link}', + 'glossary' => 'projects/{project}/locations/{location}/glossaries/{glossary}', + 'glossaryCategory' => 'projects/{project}/locations/{location}/glossaries/{glossary}/categories/{glossary_category}', + 'glossaryTerm' => 'projects/{project}/locations/{location}/glossaries/{glossary}/terms/{glossary_term}', 'location' => 'projects/{project}/locations/{location}', ], ], diff --git a/Dataplex/src/V1/resources/data_product_service_rest_client_config.php b/Dataplex/src/V1/resources/data_product_service_rest_client_config.php index 322310fe1c60..ddc88c1c8330 100644 --- a/Dataplex/src/V1/resources/data_product_service_rest_client_config.php +++ b/Dataplex/src/V1/resources/data_product_service_rest_client_config.php @@ -113,6 +113,18 @@ ], ], ], + 'RequestDataProductAccess' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*/dataProducts/*}:requestAccess', + 'body' => '*', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], 'UpdateDataAsset' => [ 'method' => 'patch', 'uriTemplate' => '/v1/{data_asset.name=projects/*/locations/*/dataProducts/*/dataAssets/*}', @@ -181,10 +193,6 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:getIamPolicy', ], - [ - 'method' => 'get', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:getIamPolicy', - ], [ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:getIamPolicy', @@ -245,6 +253,10 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=organizations/*/locations/*/encryptionConfigs/*}:getIamPolicy', ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:getIamPolicy', + ], ], 'placeholders' => [ 'resource' => [ @@ -274,11 +286,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:setIamPolicy', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:setIamPolicy', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:setIamPolicy', @@ -354,6 +361,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:setIamPolicy', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:setIamPolicy', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ @@ -383,11 +395,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:testIamPermissions', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:testIamPermissions', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:testIamPermissions', @@ -463,6 +470,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:testIamPermissions', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:testIamPermissions', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ diff --git a/Dataplex/src/V1/resources/data_scan_service_client_config.json b/Dataplex/src/V1/resources/data_scan_service_client_config.json index 270ba2b2b0ee..405f258d4ce6 100644 --- a/Dataplex/src/V1/resources/data_scan_service_client_config.json +++ b/Dataplex/src/V1/resources/data_scan_service_client_config.json @@ -16,6 +16,11 @@ } }, "methods": { + "CancelDataScanJob": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "CreateDataScan": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", diff --git a/Dataplex/src/V1/resources/data_scan_service_descriptor_config.php b/Dataplex/src/V1/resources/data_scan_service_descriptor_config.php index 1607f45f33c5..fba6acfda371 100644 --- a/Dataplex/src/V1/resources/data_scan_service_descriptor_config.php +++ b/Dataplex/src/V1/resources/data_scan_service_descriptor_config.php @@ -81,6 +81,18 @@ ], ], ], + 'CancelDataScanJob' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Dataplex\V1\CancelDataScanJobResponse', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], 'GenerateDataQualityRules' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Cloud\Dataplex\V1\GenerateDataQualityRulesResponse', @@ -248,6 +260,7 @@ 'dataScanJob' => 'projects/{project}/locations/{location}/dataScans/{dataScan}/jobs/{job}', 'dataset' => 'projects/{project}/datasets/{dataset}', 'entity' => 'projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/entities/{entity}', + 'entry' => 'projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}', 'location' => 'projects/{project}/locations/{location}', 'project' => 'projects/{project}', ], diff --git a/Dataplex/src/V1/resources/data_scan_service_rest_client_config.php b/Dataplex/src/V1/resources/data_scan_service_rest_client_config.php index 480471fbb267..3314387a5a45 100644 --- a/Dataplex/src/V1/resources/data_scan_service_rest_client_config.php +++ b/Dataplex/src/V1/resources/data_scan_service_rest_client_config.php @@ -23,6 +23,18 @@ return [ 'interfaces' => [ 'google.cloud.dataplex.v1.DataScanService' => [ + 'CancelDataScanJob' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/dataScans/*/jobs/*}:cancel', + 'body' => '*', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], 'CreateDataScan' => [ 'method' => 'post', 'uriTemplate' => '/v1/{parent=projects/*/locations/*}/dataScans', @@ -34,9 +46,6 @@ ], ], ], - 'queryParams' => [ - 'data_scan_id', - ], ], 'DeleteDataScan' => [ 'method' => 'delete', @@ -179,10 +188,6 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:getIamPolicy', ], - [ - 'method' => 'get', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:getIamPolicy', - ], [ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:getIamPolicy', @@ -243,6 +248,10 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=organizations/*/locations/*/encryptionConfigs/*}:getIamPolicy', ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:getIamPolicy', + ], ], 'placeholders' => [ 'resource' => [ @@ -272,11 +281,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:setIamPolicy', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:setIamPolicy', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:setIamPolicy', @@ -352,6 +356,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:setIamPolicy', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:setIamPolicy', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ @@ -381,11 +390,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:testIamPermissions', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:testIamPermissions', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:testIamPermissions', @@ -461,6 +465,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:testIamPermissions', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:testIamPermissions', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ diff --git a/Dataplex/src/V1/resources/data_taxonomy_service_rest_client_config.php b/Dataplex/src/V1/resources/data_taxonomy_service_rest_client_config.php index bd73f6bcc608..57ea87f5b17d 100644 --- a/Dataplex/src/V1/resources/data_taxonomy_service_rest_client_config.php +++ b/Dataplex/src/V1/resources/data_taxonomy_service_rest_client_config.php @@ -260,10 +260,6 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:getIamPolicy', ], - [ - 'method' => 'get', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:getIamPolicy', - ], [ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:getIamPolicy', @@ -324,6 +320,10 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=organizations/*/locations/*/encryptionConfigs/*}:getIamPolicy', ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:getIamPolicy', + ], ], 'placeholders' => [ 'resource' => [ @@ -353,11 +353,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:setIamPolicy', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:setIamPolicy', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:setIamPolicy', @@ -433,6 +428,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:setIamPolicy', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:setIamPolicy', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ @@ -462,11 +462,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:testIamPermissions', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:testIamPermissions', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:testIamPermissions', @@ -542,6 +537,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:testIamPermissions', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:testIamPermissions', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ diff --git a/Dataplex/src/V1/resources/dataplex_service_rest_client_config.php b/Dataplex/src/V1/resources/dataplex_service_rest_client_config.php index a6695c5d366a..49c1eabad1ce 100644 --- a/Dataplex/src/V1/resources/dataplex_service_rest_client_config.php +++ b/Dataplex/src/V1/resources/dataplex_service_rest_client_config.php @@ -400,10 +400,6 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:getIamPolicy', ], - [ - 'method' => 'get', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:getIamPolicy', - ], [ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:getIamPolicy', @@ -464,6 +460,10 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=organizations/*/locations/*/encryptionConfigs/*}:getIamPolicy', ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:getIamPolicy', + ], ], 'placeholders' => [ 'resource' => [ @@ -493,11 +493,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:setIamPolicy', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:setIamPolicy', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:setIamPolicy', @@ -573,6 +568,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:setIamPolicy', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:setIamPolicy', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ @@ -602,11 +602,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:testIamPermissions', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:testIamPermissions', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:testIamPermissions', @@ -682,6 +677,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:testIamPermissions', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:testIamPermissions', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ diff --git a/Dataplex/src/V1/resources/metadata_service_rest_client_config.php b/Dataplex/src/V1/resources/metadata_service_rest_client_config.php index 2b86d2e82fe5..bc18d323dbe2 100644 --- a/Dataplex/src/V1/resources/metadata_service_rest_client_config.php +++ b/Dataplex/src/V1/resources/metadata_service_rest_client_config.php @@ -174,10 +174,6 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:getIamPolicy', ], - [ - 'method' => 'get', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:getIamPolicy', - ], [ 'method' => 'get', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:getIamPolicy', @@ -238,6 +234,10 @@ 'method' => 'get', 'uriTemplate' => '/v1/{resource=organizations/*/locations/*/encryptionConfigs/*}:getIamPolicy', ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:getIamPolicy', + ], ], 'placeholders' => [ 'resource' => [ @@ -267,11 +267,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:setIamPolicy', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:setIamPolicy', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:setIamPolicy', @@ -347,6 +342,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:setIamPolicy', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:setIamPolicy', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ @@ -376,11 +376,6 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/tasks/*}:testIamPermissions', 'body' => '*', ], - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/lakes/*/environments/*}:testIamPermissions', - 'body' => '*', - ], [ 'method' => 'post', 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataScans/*}:testIamPermissions', @@ -456,6 +451,11 @@ 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataProducts/*}:testIamPermissions', 'body' => '*', ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/dataDomains/*}:testIamPermissions', + 'body' => '*', + ], ], 'placeholders' => [ 'resource' => [ diff --git a/Dataplex/tests/Unit/V1/Client/CatalogServiceClientTest.php b/Dataplex/tests/Unit/V1/Client/CatalogServiceClientTest.php index 7915da08a750..68903aadaa3c 100644 --- a/Dataplex/tests/Unit/V1/Client/CatalogServiceClientTest.php +++ b/Dataplex/tests/Unit/V1/Client/CatalogServiceClientTest.php @@ -75,6 +75,7 @@ use Google\Cloud\Dataplex\V1\MetadataFeed\Scope; use Google\Cloud\Dataplex\V1\MetadataJob; use Google\Cloud\Dataplex\V1\MetadataJob\Type; +use Google\Cloud\Dataplex\V1\ModifyEntryRequest; use Google\Cloud\Dataplex\V1\SearchEntriesRequest; use Google\Cloud\Dataplex\V1\SearchEntriesResponse; use Google\Cloud\Dataplex\V1\SearchEntriesResult; @@ -2654,9 +2655,9 @@ public function lookupContextTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $context = 'context951530927'; + $context2 = 'context2-406810206'; $expectedResponse = new LookupContextResponse(); - $expectedResponse->setContext($context); + $expectedResponse->setContext($context2); $transport->addResponse($expectedResponse); // Mock request $name = 'name3373707'; @@ -2864,6 +2865,85 @@ public function lookupEntryLinksExceptionTest() $this->assertTrue($transport->isExhausted()); } + /** @test */ + public function modifyEntryTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $entryType = 'entryType-1965312281'; + $parentEntry = 'parentEntry1393020061'; + $fullyQualifiedName = 'fullyQualifiedName338146659'; + $expectedResponse = new Entry(); + $expectedResponse->setName($name2); + $expectedResponse->setEntryType($entryType); + $expectedResponse->setParentEntry($parentEntry); + $expectedResponse->setFullyQualifiedName($fullyQualifiedName); + $transport->addResponse($expectedResponse); + // Mock request + $name = 'name3373707'; + $entry = new Entry(); + $entryEntryType = 'entryEntryType884603514'; + $entry->setEntryType($entryEntryType); + $request = (new ModifyEntryRequest())->setName($name)->setEntry($entry); + $response = $gapicClient->modifyEntry($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataplex.v1.CatalogService/ModifyEntry', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($name, $actualValue); + $actualValue = $actualRequestObject->getEntry(); + $this->assertProtobufEquals($entry, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function modifyEntryExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $name = 'name3373707'; + $entry = new Entry(); + $entryEntryType = 'entryEntryType884603514'; + $entry->setEntryType($entryEntryType); + $request = (new ModifyEntryRequest())->setName($name)->setEntry($entry); + try { + $gapicClient->modifyEntry($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + /** @test */ public function searchEntriesTest() { diff --git a/Dataplex/tests/Unit/V1/Client/DataProductServiceClientTest.php b/Dataplex/tests/Unit/V1/Client/DataProductServiceClientTest.php index 6b8dd56e8659..565c97e20603 100644 --- a/Dataplex/tests/Unit/V1/Client/DataProductServiceClientTest.php +++ b/Dataplex/tests/Unit/V1/Client/DataProductServiceClientTest.php @@ -26,6 +26,7 @@ use Google\ApiCore\CredentialsWrapper; use Google\ApiCore\Testing\GeneratedTest; use Google\ApiCore\Testing\MockTransport; +use Google\Cloud\Dataplex\V1\ChangeRequest; use Google\Cloud\Dataplex\V1\Client\DataProductServiceClient; use Google\Cloud\Dataplex\V1\CreateDataAssetRequest; use Google\Cloud\Dataplex\V1\CreateDataProductRequest; @@ -39,6 +40,8 @@ use Google\Cloud\Dataplex\V1\ListDataAssetsResponse; use Google\Cloud\Dataplex\V1\ListDataProductsRequest; use Google\Cloud\Dataplex\V1\ListDataProductsResponse; +use Google\Cloud\Dataplex\V1\RequestDataProductAccessRequest; +use Google\Cloud\Dataplex\V1\RequestDataProductAccessResponse; use Google\Cloud\Dataplex\V1\UpdateDataAssetRequest; use Google\Cloud\Dataplex\V1\UpdateDataProductRequest; use Google\Cloud\Iam\V1\GetIamPolicyRequest; @@ -908,6 +911,79 @@ public function listDataProductsExceptionTest() $this->assertTrue($transport->isExhausted()); } + /** @test */ + public function requestDataProductAccessTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $changeRequestName = 'changeRequestName-180005270'; + $expectedResponse = new RequestDataProductAccessResponse(); + $expectedResponse->setChangeRequestName($changeRequestName); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->dataProductName('[PROJECT]', '[LOCATION]', '[DATA_PRODUCT]'); + $changeRequest = new ChangeRequest(); + $request = (new RequestDataProductAccessRequest()) + ->setParent($formattedParent) + ->setChangeRequest($changeRequest); + $response = $gapicClient->requestDataProductAccess($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataplex.v1.DataProductService/RequestDataProductAccess', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $actualValue = $actualRequestObject->getChangeRequest(); + $this->assertProtobufEquals($changeRequest, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function requestDataProductAccessExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->dataProductName('[PROJECT]', '[LOCATION]', '[DATA_PRODUCT]'); + $changeRequest = new ChangeRequest(); + $request = (new RequestDataProductAccessRequest()) + ->setParent($formattedParent) + ->setChangeRequest($changeRequest); + try { + $gapicClient->requestDataProductAccess($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + /** @test */ public function updateDataAssetTest() { diff --git a/Dataplex/tests/Unit/V1/Client/DataScanServiceClientTest.php b/Dataplex/tests/Unit/V1/Client/DataScanServiceClientTest.php index 046d398e8397..d020bff1fdf4 100644 --- a/Dataplex/tests/Unit/V1/Client/DataScanServiceClientTest.php +++ b/Dataplex/tests/Unit/V1/Client/DataScanServiceClientTest.php @@ -26,6 +26,8 @@ use Google\ApiCore\CredentialsWrapper; use Google\ApiCore\Testing\GeneratedTest; use Google\ApiCore\Testing\MockTransport; +use Google\Cloud\Dataplex\V1\CancelDataScanJobRequest; +use Google\Cloud\Dataplex\V1\CancelDataScanJobResponse; use Google\Cloud\Dataplex\V1\Client\DataScanServiceClient; use Google\Cloud\Dataplex\V1\CreateDataScanRequest; use Google\Cloud\Dataplex\V1\DataScan; @@ -90,6 +92,69 @@ private function createClient(array $options = []) return new DataScanServiceClient($options); } + /** @test */ + public function cancelDataScanJobTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $expectedResponse = new CancelDataScanJobResponse(); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->dataScanJobName('[PROJECT]', '[LOCATION]', '[DATASCAN]', '[JOB]'); + $request = (new CancelDataScanJobRequest())->setName($formattedName); + $response = $gapicClient->cancelDataScanJob($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataplex.v1.DataScanService/CancelDataScanJob', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function cancelDataScanJobExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->dataScanJobName('[PROJECT]', '[LOCATION]', '[DATASCAN]', '[JOB]'); + $request = (new CancelDataScanJobRequest())->setName($formattedName); + try { + $gapicClient->cancelDataScanJob($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + /** @test */ public function createDataScanTest() { @@ -132,11 +197,7 @@ public function createDataScanTest() $dataScan = new DataScan(); $dataScanData = new DataSource(); $dataScan->setData($dataScanData); - $dataScanId = 'dataScanId1236798088'; - $request = (new CreateDataScanRequest()) - ->setParent($formattedParent) - ->setDataScan($dataScan) - ->setDataScanId($dataScanId); + $request = (new CreateDataScanRequest())->setParent($formattedParent)->setDataScan($dataScan); $response = $gapicClient->createDataScan($request); $this->assertFalse($response->isDone()); $this->assertNull($response->getResult()); @@ -151,8 +212,6 @@ public function createDataScanTest() $this->assertProtobufEquals($formattedParent, $actualValue); $actualValue = $actualApiRequestObject->getDataScan(); $this->assertProtobufEquals($dataScan, $actualValue); - $actualValue = $actualApiRequestObject->getDataScanId(); - $this->assertProtobufEquals($dataScanId, $actualValue); $expectedOperationsRequestObject = new GetOperationRequest(); $expectedOperationsRequestObject->setName('operations/createDataScanTest'); $response->pollUntilComplete([ @@ -211,11 +270,7 @@ public function createDataScanExceptionTest() $dataScan = new DataScan(); $dataScanData = new DataSource(); $dataScan->setData($dataScanData); - $dataScanId = 'dataScanId1236798088'; - $request = (new CreateDataScanRequest()) - ->setParent($formattedParent) - ->setDataScan($dataScan) - ->setDataScanId($dataScanId); + $request = (new CreateDataScanRequest())->setParent($formattedParent)->setDataScan($dataScan); $response = $gapicClient->createDataScan($request); $this->assertFalse($response->isDone()); $this->assertNull($response->getResult()); @@ -505,10 +560,12 @@ public function getDataScanJobTest() // Mock response $name2 = 'name2-1052831874'; $uid = 'uid115792'; + $partialFailureMessage = 'partialFailureMessage564046740'; $message = 'message954925063'; $expectedResponse = new DataScanJob(); $expectedResponse->setName($name2); $expectedResponse->setUid($uid); + $expectedResponse->setPartialFailureMessage($partialFailureMessage); $expectedResponse->setMessage($message); $transport->addResponse($expectedResponse); // Mock request @@ -1236,84 +1293,28 @@ public function testIamPermissionsExceptionTest() } /** @test */ - public function createDataScanAsyncTest() + public function cancelDataScanJobAsyncTest() { - $operationsTransport = $this->createTransport(); - $operationsClient = new OperationsClient([ - 'apiEndpoint' => '', - 'transport' => $operationsTransport, - 'credentials' => $this->createCredentials(), - ]); $transport = $this->createTransport(); $gapicClient = $this->createClient([ 'transport' => $transport, - 'operationsClient' => $operationsClient, ]); $this->assertTrue($transport->isExhausted()); - $this->assertTrue($operationsTransport->isExhausted()); // Mock response - $incompleteOperation = new Operation(); - $incompleteOperation->setName('operations/createDataScanTest'); - $incompleteOperation->setDone(false); - $transport->addResponse($incompleteOperation); - $name = 'name3373707'; - $uid = 'uid115792'; - $description = 'description-1724546052'; - $displayName = 'displayName1615086568'; - $expectedResponse = new DataScan(); - $expectedResponse->setName($name); - $expectedResponse->setUid($uid); - $expectedResponse->setDescription($description); - $expectedResponse->setDisplayName($displayName); - $anyResponse = new Any(); - $anyResponse->setValue($expectedResponse->serializeToString()); - $completeOperation = new Operation(); - $completeOperation->setName('operations/createDataScanTest'); - $completeOperation->setDone(true); - $completeOperation->setResponse($anyResponse); - $operationsTransport->addResponse($completeOperation); + $expectedResponse = new CancelDataScanJobResponse(); + $transport->addResponse($expectedResponse); // Mock request - $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); - $dataScan = new DataScan(); - $dataScanData = new DataSource(); - $dataScan->setData($dataScanData); - $dataScanId = 'dataScanId1236798088'; - $request = (new CreateDataScanRequest()) - ->setParent($formattedParent) - ->setDataScan($dataScan) - ->setDataScanId($dataScanId); - $response = $gapicClient->createDataScanAsync($request)->wait(); - $this->assertFalse($response->isDone()); - $this->assertNull($response->getResult()); - $apiRequests = $transport->popReceivedCalls(); - $this->assertSame(1, count($apiRequests)); - $operationsRequestsEmpty = $operationsTransport->popReceivedCalls(); - $this->assertSame(0, count($operationsRequestsEmpty)); - $actualApiFuncCall = $apiRequests[0]->getFuncCall(); - $actualApiRequestObject = $apiRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataplex.v1.DataScanService/CreateDataScan', $actualApiFuncCall); - $actualValue = $actualApiRequestObject->getParent(); - $this->assertProtobufEquals($formattedParent, $actualValue); - $actualValue = $actualApiRequestObject->getDataScan(); - $this->assertProtobufEquals($dataScan, $actualValue); - $actualValue = $actualApiRequestObject->getDataScanId(); - $this->assertProtobufEquals($dataScanId, $actualValue); - $expectedOperationsRequestObject = new GetOperationRequest(); - $expectedOperationsRequestObject->setName('operations/createDataScanTest'); - $response->pollUntilComplete([ - 'initialPollDelayMillis' => 1, - ]); - $this->assertTrue($response->isDone()); - $this->assertEquals($expectedResponse, $response->getResult()); - $apiRequestsEmpty = $transport->popReceivedCalls(); - $this->assertSame(0, count($apiRequestsEmpty)); - $operationsRequests = $operationsTransport->popReceivedCalls(); - $this->assertSame(1, count($operationsRequests)); - $actualOperationsFuncCall = $operationsRequests[0]->getFuncCall(); - $actualOperationsRequestObject = $operationsRequests[0]->getRequestObject(); - $this->assertSame('/google.longrunning.Operations/GetOperation', $actualOperationsFuncCall); - $this->assertEquals($expectedOperationsRequestObject, $actualOperationsRequestObject); + $formattedName = $gapicClient->dataScanJobName('[PROJECT]', '[LOCATION]', '[DATASCAN]', '[JOB]'); + $request = (new CancelDataScanJobRequest())->setName($formattedName); + $response = $gapicClient->cancelDataScanJobAsync($request)->wait(); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataplex.v1.DataScanService/CancelDataScanJob', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); - $this->assertTrue($operationsTransport->isExhausted()); } } diff --git a/SecurityPrivateCa/metadata/V1/Resources.php b/SecurityPrivateCa/metadata/V1/Resources.php index 3c7d12c5602d..35d57a49c7fe 100644 --- a/SecurityPrivateCa/metadata/V1/Resources.php +++ b/SecurityPrivateCa/metadata/V1/Resources.php @@ -20,7 +20,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); \GPBMetadata\Google\Type\Expr::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xC0l\x0A2google/cloud/security/privateca/v1/resources.proto\x12\"google.cloud.security.privateca.v1\x1A\x19google/api/resource.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x16google/type/expr.proto\"\x86\x12\x0A\x14CertificateAuthority\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12S\x0A\x04type\x18\x02 \x01(\x0E2=.google.cloud.security.privateca.v1.CertificateAuthority.TypeB\x06\xE0A\x02\xE0A\x05\x12M\x0A\x06config\x18\x03 \x01(\x0B25.google.cloud.security.privateca.v1.CertificateConfigB\x06\xE0A\x02\xE0A\x05\x123\x0A\x08lifetime\x18\x04 \x01(\x0B2\x19.google.protobuf.DurationB\x06\xE0A\x02\xE0A\x05\x12a\x0A\x08key_spec\x18\x05 \x01(\x0B2G.google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpecB\x06\xE0A\x02\xE0A\x05\x12V\x0A\x12subordinate_config\x18\x06 \x01(\x0B25.google.cloud.security.privateca.v1.SubordinateConfigB\x03\xE0A\x01\x12B\x0A\x04tier\x18\x07 \x01(\x0E2/.google.cloud.security.privateca.v1.CaPool.TierB\x03\xE0A\x03\x12R\x0A\x05state\x18\x08 \x01(\x0E2>.google.cloud.security.privateca.v1.CertificateAuthority.StateB\x03\xE0A\x03\x12 \x0A\x13pem_ca_certificates\x18\x09 \x03(\x09B\x03\xE0A\x03\x12d\x0A\x1Bca_certificate_descriptions\x18\x0A \x03(\x0B2:.google.cloud.security.privateca.v1.CertificateDescriptionB\x03\xE0A\x03\x12\x17\x0A\x0Agcs_bucket\x18\x0B \x01(\x09B\x03\xE0A\x05\x12]\x0A\x0Baccess_urls\x18\x0C \x01(\x0B2C.google.cloud.security.privateca.v1.CertificateAuthority.AccessUrlsB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x0D \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x0E \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bdelete_time\x18\x0F \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bexpire_time\x18\x10 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12Y\x0A\x06labels\x18\x11 \x03(\x0B2D.google.cloud.security.privateca.v1.CertificateAuthority.LabelsEntryB\x03\xE0A\x01\x12u\x0A\x18user_defined_access_urls\x18\x12 \x01(\x0B2N.google.cloud.security.privateca.v1.CertificateAuthority.UserDefinedAccessUrlsB\x03\xE0A\x01\x12\x1A\x0A\x0Dsatisfies_pzs\x18\x13 \x01(\x08B\x03\xE0A\x03\x12\x1A\x0A\x0Dsatisfies_pzi\x18\x14 \x01(\x08B\x03\xE0A\x03\x1AH\x0A\x0AAccessUrls\x12!\x0A\x19ca_certificate_access_url\x18\x01 \x01(\x09\x12\x17\x0A\x0Fcrl_access_urls\x18\x02 \x03(\x09\x1A\xA0\x01\x0A\x0EKeyVersionSpec\x12\x1F\x0A\x15cloud_kms_key_version\x18\x01 \x01(\x09H\x00\x12_\x0A\x09algorithm\x18\x02 \x01(\x0E2J.google.cloud.security.privateca.v1.CertificateAuthority.SignHashAlgorithmH\x00B\x0C\x0A\x0AKeyVersion\x1A`\x0A\x15UserDefinedAccessUrls\x12)\x0A\x1Caia_issuing_certificate_urls\x18\x01 \x03(\x09B\x03\xE0A\x01\x12\x1C\x0A\x0Fcrl_access_urls\x18\x02 \x03(\x09B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\">\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BSELF_SIGNED\x10\x01\x12\x0F\x0A\x0BSUBORDINATE\x10\x02\"p\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07ENABLED\x10\x01\x12\x0C\x0A\x08DISABLED\x10\x02\x12\x0A\x0A\x06STAGED\x10\x03\x12\x1C\x0A\x18AWAITING_USER_ACTIVATION\x10\x04\x12\x0B\x0A\x07DELETED\x10\x05\"\xFC\x01\x0A\x11SignHashAlgorithm\x12#\x0A\x1FSIGN_HASH_ALGORITHM_UNSPECIFIED\x10\x00\x12\x17\x0A\x13RSA_PSS_2048_SHA256\x10\x01\x12\x17\x0A\x13RSA_PSS_3072_SHA256\x10\x02\x12\x17\x0A\x13RSA_PSS_4096_SHA256\x10\x03\x12\x19\x0A\x15RSA_PKCS1_2048_SHA256\x10\x06\x12\x19\x0A\x15RSA_PKCS1_3072_SHA256\x10\x07\x12\x19\x0A\x15RSA_PKCS1_4096_SHA256\x10\x08\x12\x12\x0A\x0EEC_P256_SHA256\x10\x04\x12\x12\x0A\x0EEC_P384_SHA384\x10\x05:\x9D\x01\xEAA\x99\x01\x0A-privateca.googleapis.com/CertificateAuthority\x12hprojects/{project}/locations/{location}/caPools/{ca_pool}/certificateAuthorities/{certificate_authority}\"\xDC\x10\x0A\x06CaPool\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12E\x0A\x04tier\x18\x02 \x01(\x0E2/.google.cloud.security.privateca.v1.CaPool.TierB\x06\xE0A\x02\xE0A\x05\x12W\x0A\x0Fissuance_policy\x18\x03 \x01(\x0B29.google.cloud.security.privateca.v1.CaPool.IssuancePolicyB\x03\xE0A\x01\x12]\x0A\x12publishing_options\x18\x04 \x01(\x0B2<.google.cloud.security.privateca.v1.CaPool.PublishingOptionsB\x03\xE0A\x01\x12K\x0A\x06labels\x18\x05 \x03(\x0B26.google.cloud.security.privateca.v1.CaPool.LabelsEntryB\x03\xE0A\x01\x1A\xFB\x01\x0A\x11PublishingOptions\x12\x1C\x0A\x0Fpublish_ca_cert\x18\x01 \x01(\x08B\x03\xE0A\x01\x12\x18\x0A\x0Bpublish_crl\x18\x02 \x01(\x08B\x03\xE0A\x01\x12i\x0A\x0Fencoding_format\x18\x03 \x01(\x0E2K.google.cloud.security.privateca.v1.CaPool.PublishingOptions.EncodingFormatB\x03\xE0A\x01\"C\x0A\x0EEncodingFormat\x12\x1F\x0A\x1BENCODING_FORMAT_UNSPECIFIED\x10\x00\x12\x07\x0A\x03PEM\x10\x01\x12\x07\x0A\x03DER\x10\x02\x1A\xAA\x0A\x0A\x0EIssuancePolicy\x12h\x0A\x11allowed_key_types\x18\x01 \x03(\x0B2H.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyTypeB\x03\xE0A\x01\x129\x0A\x11backdate_duration\x18\x07 \x01(\x0B2\x19.google.protobuf.DurationB\x03\xE0A\x01\x128\x0A\x10maximum_lifetime\x18\x02 \x01(\x0B2\x19.google.protobuf.DurationB\x03\xE0A\x01\x12l\x0A\x16allowed_issuance_modes\x18\x03 \x01(\x0B2G.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModesB\x03\xE0A\x01\x12P\x0A\x0Fbaseline_values\x18\x04 \x01(\x0B22.google.cloud.security.privateca.v1.X509ParametersB\x03\xE0A\x01\x12e\x0A\x14identity_constraints\x18\x05 \x01(\x0B2B.google.cloud.security.privateca.v1.CertificateIdentityConstraintsB\x03\xE0A\x01\x12h\x0A\x16passthrough_extensions\x18\x06 \x01(\x0B2C.google.cloud.security.privateca.v1.CertificateExtensionConstraintsB\x03\xE0A\x01\x1A\xC5\x04\x0A\x0EAllowedKeyType\x12b\x0A\x03rsa\x18\x01 \x01(\x0B2S.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyTypeH\x00\x12l\x0A\x0Eelliptic_curve\x18\x02 \x01(\x0B2R.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyTypeH\x00\x1AJ\x0A\x0ARsaKeyType\x12\x1D\x0A\x10min_modulus_size\x18\x01 \x01(\x03B\x03\xE0A\x01\x12\x1D\x0A\x10max_modulus_size\x18\x02 \x01(\x03B\x03\xE0A\x01\x1A\x88\x02\x0A\x09EcKeyType\x12\x89\x01\x0A\x13signature_algorithm\x18\x01 \x01(\x0E2g.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.EcSignatureAlgorithmB\x03\xE0A\x01\"o\x0A\x14EcSignatureAlgorithm\x12&\x0A\"EC_SIGNATURE_ALGORITHM_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0AECDSA_P256\x10\x01\x12\x0E\x0A\x0AECDSA_P384\x10\x02\x12\x0F\x0A\x0BEDDSA_25519\x10\x03B\x0A\x0A\x08key_type\x1A`\x0A\x0DIssuanceModes\x12%\x0A\x18allow_csr_based_issuance\x18\x01 \x01(\x08B\x03\xE0A\x01\x12(\x0A\x1Ballow_config_based_issuance\x18\x02 \x01(\x08B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"8\x0A\x04Tier\x12\x14\x0A\x10TIER_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0AENTERPRISE\x10\x01\x12\x0A\x0A\x06DEVOPS\x10\x02:_\xEAA\\\x0A\x1Fprivateca.googleapis.com/CaPool\x129projects/{project}/locations/{location}/caPools/{ca_pool}\"\xBC\x08\x0A\x19CertificateRevocationList\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1C\x0A\x0Fsequence_number\x18\x02 \x01(\x03B\x03\xE0A\x03\x12s\x0A\x14revoked_certificates\x18\x03 \x03(\x0B2P.google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificateB\x03\xE0A\x03\x12\x14\x0A\x07pem_crl\x18\x04 \x01(\x09B\x03\xE0A\x03\x12\x17\x0A\x0Aaccess_url\x18\x05 \x01(\x09B\x03\xE0A\x03\x12W\x0A\x05state\x18\x06 \x01(\x0E2C.google.cloud.security.privateca.v1.CertificateRevocationList.StateB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x08 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x18\x0A\x0Brevision_id\x18\x09 \x01(\x09B\x03\xE0A\x03\x12^\x0A\x06labels\x18\x0A \x03(\x0B2I.google.cloud.security.privateca.v1.CertificateRevocationList.LabelsEntryB\x03\xE0A\x01\x1A\xC0\x01\x0A\x12RevokedCertificate\x12>\x0A\x0Bcertificate\x18\x01 \x01(\x09B)\xFAA&\x0A\$privateca.googleapis.com/Certificate\x12\x19\x0A\x11hex_serial_number\x18\x02 \x01(\x09\x12O\x0A\x11revocation_reason\x18\x03 \x01(\x0E24.google.cloud.security.privateca.v1.RevocationReason\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\":\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06ACTIVE\x10\x01\x12\x0E\x0A\x0ASUPERSEDED\x10\x02:\xDC\x01\xEAA\xD8\x01\x0A2privateca.googleapis.com/CertificateRevocationList\x12\xA1\x01projects/{project}/locations/{location}/caPools/{ca_pool}/certificateAuthorities/{certificate_authority}/certificateRevocationLists/{certificate_revocation_list}\"\xE6\x09\x0A\x0BCertificate\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x16\x0A\x07pem_csr\x18\x02 \x01(\x09B\x03\xE0A\x05H\x00\x12L\x0A\x06config\x18\x03 \x01(\x0B25.google.cloud.security.privateca.v1.CertificateConfigB\x03\xE0A\x05H\x00\x12[\x0A\x1Cissuer_certificate_authority\x18\x04 \x01(\x09B5\xE0A\x03\xFAA/\x0A-privateca.googleapis.com/CertificateAuthority\x123\x0A\x08lifetime\x18\x05 \x01(\x0B2\x19.google.protobuf.DurationB\x06\xE0A\x02\xE0A\x05\x12R\x0A\x14certificate_template\x18\x06 \x01(\x09B4\xE0A\x05\xFAA.\x0A,privateca.googleapis.com/CertificateTemplate\x12Q\x0A\x0Csubject_mode\x18\x07 \x01(\x0E26.google.cloud.security.privateca.v1.SubjectRequestModeB\x03\xE0A\x05\x12b\x0A\x12revocation_details\x18\x08 \x01(\x0B2A.google.cloud.security.privateca.v1.Certificate.RevocationDetailsB\x03\xE0A\x03\x12\x1C\x0A\x0Fpem_certificate\x18\x09 \x01(\x09B\x03\xE0A\x03\x12`\x0A\x17certificate_description\x18\x0A \x01(\x0B2:.google.cloud.security.privateca.v1.CertificateDescriptionB\x03\xE0A\x03\x12\"\x0A\x15pem_certificate_chain\x18\x0B \x03(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x0C \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x0D \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12P\x0A\x06labels\x18\x0E \x03(\x0B2;.google.cloud.security.privateca.v1.Certificate.LabelsEntryB\x03\xE0A\x01\x1A\x98\x01\x0A\x11RevocationDetails\x12N\x0A\x10revocation_state\x18\x01 \x01(\x0E24.google.cloud.security.privateca.v1.RevocationReason\x123\x0A\x0Frevocation_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.Timestamp\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x7F\xEAA|\x0A\$privateca.googleapis.com/Certificate\x12Tprojects/{project}/locations/{location}/caPools/{ca_pool}/certificates/{certificate}B\x14\x0A\x12certificate_config\"\xA0\x06\x0A\x13CertificateTemplate\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x128\x0A\x10maximum_lifetime\x18\x09 \x01(\x0B2\x19.google.protobuf.DurationB\x03\xE0A\x01\x12R\x0A\x11predefined_values\x18\x02 \x01(\x0B22.google.cloud.security.privateca.v1.X509ParametersB\x03\xE0A\x01\x12e\x0A\x14identity_constraints\x18\x03 \x01(\x0B2B.google.cloud.security.privateca.v1.CertificateIdentityConstraintsB\x03\xE0A\x01\x12h\x0A\x16passthrough_extensions\x18\x04 \x01(\x0B2C.google.cloud.security.privateca.v1.CertificateExtensionConstraintsB\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x05 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12X\x0A\x06labels\x18\x08 \x03(\x0B2C.google.cloud.security.privateca.v1.CertificateTemplate.LabelsEntryB\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x87\x01\xEAA\x83\x01\x0A,privateca.googleapis.com/CertificateTemplate\x12Sprojects/{project}/locations/{location}/certificateTemplates/{certificate_template}\"\xCE\x06\x0A\x0EX509Parameters\x12D\x0A\x09key_usage\x18\x01 \x01(\x0B2,.google.cloud.security.privateca.v1.KeyUsageB\x03\xE0A\x01\x12U\x0A\x0Aca_options\x18\x02 \x01(\x0B2<.google.cloud.security.privateca.v1.X509Parameters.CaOptionsB\x03\xE0A\x01\x12E\x0A\x0Apolicy_ids\x18\x03 \x03(\x0B2,.google.cloud.security.privateca.v1.ObjectIdB\x03\xE0A\x01\x12\x1D\x0A\x10aia_ocsp_servers\x18\x04 \x03(\x09B\x03\xE0A\x01\x12a\x0A\x10name_constraints\x18\x06 \x01(\x0B2B.google.cloud.security.privateca.v1.X509Parameters.NameConstraintsB\x03\xE0A\x01\x12U\x0A\x15additional_extensions\x18\x05 \x03(\x0B21.google.cloud.security.privateca.v1.X509ExtensionB\x03\xE0A\x01\x1As\x0A\x09CaOptions\x12\x17\x0A\x05is_ca\x18\x01 \x01(\x08B\x03\xE0A\x01H\x00\x88\x01\x01\x12(\x0A\x16max_issuer_path_length\x18\x02 \x01(\x05B\x03\xE0A\x01H\x01\x88\x01\x01B\x08\x0A\x06_is_caB\x19\x0A\x17_max_issuer_path_length\x1A\x89\x02\x0A\x0FNameConstraints\x12\x10\x0A\x08critical\x18\x01 \x01(\x08\x12\x1B\x0A\x13permitted_dns_names\x18\x02 \x03(\x09\x12\x1A\x0A\x12excluded_dns_names\x18\x03 \x03(\x09\x12\x1B\x0A\x13permitted_ip_ranges\x18\x04 \x03(\x09\x12\x1A\x0A\x12excluded_ip_ranges\x18\x05 \x03(\x09\x12!\x0A\x19permitted_email_addresses\x18\x06 \x03(\x09\x12 \x0A\x18excluded_email_addresses\x18\x07 \x03(\x09\x12\x16\x0A\x0Epermitted_uris\x18\x08 \x03(\x09\x12\x15\x0A\x0Dexcluded_uris\x18\x09 \x03(\x09\"\xA9\x02\x0A\x11SubordinateConfig\x12V\x0A\x15certificate_authority\x18\x01 \x01(\x09B5\xE0A\x02\xFAA/\x0A-privateca.googleapis.com/CertificateAuthorityH\x00\x12m\x0A\x10pem_issuer_chain\x18\x02 \x01(\x0B2L.google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChainB\x03\xE0A\x02H\x00\x1A7\x0A\x16SubordinateConfigChain\x12\x1D\x0A\x10pem_certificates\x18\x01 \x03(\x09B\x03\xE0A\x02B\x14\x0A\x12subordinate_config\"\x9D\x01\x0A\x09PublicKey\x12\x10\x0A\x03key\x18\x01 \x01(\x0CB\x03\xE0A\x02\x12L\x0A\x06format\x18\x02 \x01(\x0E27.google.cloud.security.privateca.v1.PublicKey.KeyFormatB\x03\xE0A\x02\"0\x0A\x09KeyFormat\x12\x1A\x0A\x16KEY_FORMAT_UNSPECIFIED\x10\x00\x12\x07\x0A\x03PEM\x10\x01\"\xAC\x04\x0A\x11CertificateConfig\x12`\x0A\x0Esubject_config\x18\x01 \x01(\x0B2C.google.cloud.security.privateca.v1.CertificateConfig.SubjectConfigB\x03\xE0A\x02\x12L\x0A\x0Bx509_config\x18\x02 \x01(\x0B22.google.cloud.security.privateca.v1.X509ParametersB\x03\xE0A\x02\x12F\x0A\x0Apublic_key\x18\x03 \x01(\x0B2-.google.cloud.security.privateca.v1.PublicKeyB\x03\xE0A\x01\x12X\x0A\x0Esubject_key_id\x18\x04 \x01(\x0B2;.google.cloud.security.privateca.v1.CertificateConfig.KeyIdB\x03\xE0A\x01\x1A\xA6\x01\x0A\x0DSubjectConfig\x12A\x0A\x07subject\x18\x01 \x01(\x0B2+.google.cloud.security.privateca.v1.SubjectB\x03\xE0A\x01\x12R\x0A\x10subject_alt_name\x18\x02 \x01(\x0B23.google.cloud.security.privateca.v1.SubjectAltNamesB\x03\xE0A\x01\x1A\x1C\x0A\x05KeyId\x12\x13\x0A\x06key_id\x18\x01 \x01(\x09B\x03\xE0A\x02\"\xC1\x08\x0A\x16CertificateDescription\x12j\x0A\x13subject_description\x18\x01 \x01(\x0B2M.google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription\x12L\x0A\x10x509_description\x18\x02 \x01(\x0B22.google.cloud.security.privateca.v1.X509Parameters\x12A\x0A\x0Apublic_key\x18\x03 \x01(\x0B2-.google.cloud.security.privateca.v1.PublicKey\x12X\x0A\x0Esubject_key_id\x18\x04 \x01(\x0B2@.google.cloud.security.privateca.v1.CertificateDescription.KeyId\x12Z\x0A\x10authority_key_id\x18\x05 \x01(\x0B2@.google.cloud.security.privateca.v1.CertificateDescription.KeyId\x12\x1F\x0A\x17crl_distribution_points\x18\x06 \x03(\x09\x12\$\x0A\x1Caia_issuing_certificate_urls\x18\x07 \x03(\x09\x12k\x0A\x10cert_fingerprint\x18\x08 \x01(\x0B2Q.google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint\x12\x1E\x0A\x16tbs_certificate_digest\x18\x09 \x01(\x09\x1A\xD2\x02\x0A\x12SubjectDescription\x12<\x0A\x07subject\x18\x01 \x01(\x0B2+.google.cloud.security.privateca.v1.Subject\x12M\x0A\x10subject_alt_name\x18\x02 \x01(\x0B23.google.cloud.security.privateca.v1.SubjectAltNames\x12\x19\x0A\x11hex_serial_number\x18\x03 \x01(\x09\x12+\x0A\x08lifetime\x18\x04 \x01(\x0B2\x19.google.protobuf.Duration\x123\x0A\x0Fnot_before_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.Timestamp\x122\x0A\x0Enot_after_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.Timestamp\x1A\x1C\x0A\x05KeyId\x12\x13\x0A\x06key_id\x18\x01 \x01(\x09B\x03\xE0A\x01\x1A-\x0A\x16CertificateFingerprint\x12\x13\x0A\x0Bsha256_hash\x18\x01 \x01(\x09\"'\x0A\x08ObjectId\x12\x1B\x0A\x0Eobject_id_path\x18\x01 \x03(\x05B\x03\xE0A\x02\"\x80\x01\x0A\x0DX509Extension\x12D\x0A\x09object_id\x18\x01 \x01(\x0B2,.google.cloud.security.privateca.v1.ObjectIdB\x03\xE0A\x02\x12\x15\x0A\x08critical\x18\x02 \x01(\x08B\x03\xE0A\x01\x12\x12\x0A\x05value\x18\x03 \x01(\x0CB\x03\xE0A\x02\"\xA2\x05\x0A\x08KeyUsage\x12T\x0A\x0Ebase_key_usage\x18\x01 \x01(\x0B2<.google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions\x12`\x0A\x12extended_key_usage\x18\x02 \x01(\x0B2D.google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions\x12Q\x0A\x1Bunknown_extended_key_usages\x18\x03 \x03(\x0B2,.google.cloud.security.privateca.v1.ObjectId\x1A\xE7\x01\x0A\x0FKeyUsageOptions\x12\x19\x0A\x11digital_signature\x18\x01 \x01(\x08\x12\x1A\x0A\x12content_commitment\x18\x02 \x01(\x08\x12\x18\x0A\x10key_encipherment\x18\x03 \x01(\x08\x12\x19\x0A\x11data_encipherment\x18\x04 \x01(\x08\x12\x15\x0A\x0Dkey_agreement\x18\x05 \x01(\x08\x12\x11\x0A\x09cert_sign\x18\x06 \x01(\x08\x12\x10\x0A\x08crl_sign\x18\x07 \x01(\x08\x12\x15\x0A\x0Dencipher_only\x18\x08 \x01(\x08\x12\x15\x0A\x0Ddecipher_only\x18\x09 \x01(\x08\x1A\xA0\x01\x0A\x17ExtendedKeyUsageOptions\x12\x13\x0A\x0Bserver_auth\x18\x01 \x01(\x08\x12\x13\x0A\x0Bclient_auth\x18\x02 \x01(\x08\x12\x14\x0A\x0Ccode_signing\x18\x03 \x01(\x08\x12\x18\x0A\x10email_protection\x18\x04 \x01(\x08\x12\x15\x0A\x0Dtime_stamping\x18\x05 \x01(\x08\x12\x14\x0A\x0Cocsp_signing\x18\x06 \x01(\x08\"\xBE\x01\x0A\x15AttributeTypeAndValue\x12A\x0A\x04type\x18\x01 \x01(\x0E21.google.cloud.security.privateca.v1.AttributeTypeH\x00\x12A\x0A\x09object_id\x18\x02 \x01(\x0B2,.google.cloud.security.privateca.v1.ObjectIdH\x00\x12\x0D\x0A\x05value\x18\x03 \x01(\x09B\x10\x0A\x0Eattribute_type\"j\x0A\x19RelativeDistinguishedName\x12M\x0A\x0Aattributes\x18\x01 \x03(\x0B29.google.cloud.security.privateca.v1.AttributeTypeAndValue\"\x8D\x02\x0A\x07Subject\x12\x13\x0A\x0Bcommon_name\x18\x01 \x01(\x09\x12\x14\x0A\x0Ccountry_code\x18\x02 \x01(\x09\x12\x14\x0A\x0Corganization\x18\x03 \x01(\x09\x12\x1B\x0A\x13organizational_unit\x18\x04 \x01(\x09\x12\x10\x0A\x08locality\x18\x05 \x01(\x09\x12\x10\x0A\x08province\x18\x06 \x01(\x09\x12\x16\x0A\x0Estreet_address\x18\x07 \x01(\x09\x12\x13\x0A\x0Bpostal_code\x18\x08 \x01(\x09\x12S\x0A\x0Crdn_sequence\x18\x09 \x03(\x0B2=.google.cloud.security.privateca.v1.RelativeDistinguishedName\"\xA9\x01\x0A\x0FSubjectAltNames\x12\x11\x0A\x09dns_names\x18\x01 \x03(\x09\x12\x0C\x0A\x04uris\x18\x02 \x03(\x09\x12\x17\x0A\x0Femail_addresses\x18\x03 \x03(\x09\x12\x14\x0A\x0Cip_addresses\x18\x04 \x03(\x09\x12F\x0A\x0Bcustom_sans\x18\x05 \x03(\x0B21.google.cloud.security.privateca.v1.X509Extension\"\xFA\x01\x0A\x1ECertificateIdentityConstraints\x12.\x0A\x0Ecel_expression\x18\x01 \x01(\x0B2\x11.google.type.ExprB\x03\xE0A\x01\x12+\x0A\x19allow_subject_passthrough\x18\x02 \x01(\x08B\x03\xE0A\x02H\x00\x88\x01\x01\x125\x0A#allow_subject_alt_names_passthrough\x18\x03 \x01(\x08B\x03\xE0A\x02H\x01\x88\x01\x01B\x1C\x0A\x1A_allow_subject_passthroughB&\x0A\$_allow_subject_alt_names_passthrough\"\xB4\x03\x0A\x1FCertificateExtensionConstraints\x12|\x0A\x10known_extensions\x18\x01 \x03(\x0E2].google.cloud.security.privateca.v1.CertificateExtensionConstraints.KnownCertificateExtensionB\x03\xE0A\x01\x12P\x0A\x15additional_extensions\x18\x02 \x03(\x0B2,.google.cloud.security.privateca.v1.ObjectIdB\x03\xE0A\x01\"\xC0\x01\x0A\x19KnownCertificateExtension\x12+\x0A'KNOWN_CERTIFICATE_EXTENSION_UNSPECIFIED\x10\x00\x12\x12\x0A\x0EBASE_KEY_USAGE\x10\x01\x12\x16\x0A\x12EXTENDED_KEY_USAGE\x10\x02\x12\x0E\x0A\x0ACA_OPTIONS\x10\x03\x12\x0E\x0A\x0APOLICY_IDS\x10\x04\x12\x14\x0A\x10AIA_OCSP_SERVERS\x10\x05\x12\x14\x0A\x10NAME_CONSTRAINTS\x10\x06*\xBE\x01\x0A\x0DAttributeType\x12\x1E\x0A\x1AATTRIBUTE_TYPE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BCOMMON_NAME\x10\x01\x12\x10\x0A\x0CCOUNTRY_CODE\x10\x02\x12\x10\x0A\x0CORGANIZATION\x10\x03\x12\x17\x0A\x13ORGANIZATIONAL_UNIT\x10\x04\x12\x0C\x0A\x08LOCALITY\x10\x05\x12\x0C\x0A\x08PROVINCE\x10\x06\x12\x12\x0A\x0ESTREET_ADDRESS\x10\x07\x12\x0F\x0A\x0BPOSTAL_CODE\x10\x08*\x87\x02\x0A\x10RevocationReason\x12!\x0A\x1DREVOCATION_REASON_UNSPECIFIED\x10\x00\x12\x12\x0A\x0EKEY_COMPROMISE\x10\x01\x12\$\x0A CERTIFICATE_AUTHORITY_COMPROMISE\x10\x02\x12\x17\x0A\x13AFFILIATION_CHANGED\x10\x03\x12\x0E\x0A\x0ASUPERSEDED\x10\x04\x12\x1A\x0A\x16CESSATION_OF_OPERATION\x10\x05\x12\x14\x0A\x10CERTIFICATE_HOLD\x10\x06\x12\x17\x0A\x13PRIVILEGE_WITHDRAWN\x10\x07\x12\"\x0A\x1EATTRIBUTE_AUTHORITY_COMPROMISE\x10\x08*o\x0A\x12SubjectRequestMode\x12\$\x0A SUBJECT_REQUEST_MODE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07DEFAULT\x10\x01\x12\x10\x0A\x0CRDN_SEQUENCE\x10\x03\x12\x14\x0A\x10REFLECTED_SPIFFE\x10\x02B\xFC\x01\x0A&com.google.cloud.security.privateca.v1B\x17PrivateCaResourcesProtoP\x01ZDcloud.google.com/go/security/privateca/apiv1/privatecapb;privatecapb\xAA\x02\"Google.Cloud.Security.PrivateCA.V1\xCA\x02\"Google\\Cloud\\Security\\PrivateCA\\V1\xEA\x02&Google::Cloud::Security::PrivateCA::V1b\x06proto3" + "\x0A\xB7n\x0A2google/cloud/security/privateca/v1/resources.proto\x12\"google.cloud.security.privateca.v1\x1A\x19google/api/resource.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x16google/type/expr.proto\"\x86\x12\x0A\x14CertificateAuthority\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12S\x0A\x04type\x18\x02 \x01(\x0E2=.google.cloud.security.privateca.v1.CertificateAuthority.TypeB\x06\xE0A\x02\xE0A\x05\x12M\x0A\x06config\x18\x03 \x01(\x0B25.google.cloud.security.privateca.v1.CertificateConfigB\x06\xE0A\x02\xE0A\x05\x123\x0A\x08lifetime\x18\x04 \x01(\x0B2\x19.google.protobuf.DurationB\x06\xE0A\x02\xE0A\x05\x12a\x0A\x08key_spec\x18\x05 \x01(\x0B2G.google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpecB\x06\xE0A\x02\xE0A\x05\x12V\x0A\x12subordinate_config\x18\x06 \x01(\x0B25.google.cloud.security.privateca.v1.SubordinateConfigB\x03\xE0A\x01\x12B\x0A\x04tier\x18\x07 \x01(\x0E2/.google.cloud.security.privateca.v1.CaPool.TierB\x03\xE0A\x03\x12R\x0A\x05state\x18\x08 \x01(\x0E2>.google.cloud.security.privateca.v1.CertificateAuthority.StateB\x03\xE0A\x03\x12 \x0A\x13pem_ca_certificates\x18\x09 \x03(\x09B\x03\xE0A\x03\x12d\x0A\x1Bca_certificate_descriptions\x18\x0A \x03(\x0B2:.google.cloud.security.privateca.v1.CertificateDescriptionB\x03\xE0A\x03\x12\x17\x0A\x0Agcs_bucket\x18\x0B \x01(\x09B\x03\xE0A\x05\x12]\x0A\x0Baccess_urls\x18\x0C \x01(\x0B2C.google.cloud.security.privateca.v1.CertificateAuthority.AccessUrlsB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x0D \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x0E \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bdelete_time\x18\x0F \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bexpire_time\x18\x10 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12Y\x0A\x06labels\x18\x11 \x03(\x0B2D.google.cloud.security.privateca.v1.CertificateAuthority.LabelsEntryB\x03\xE0A\x01\x12u\x0A\x18user_defined_access_urls\x18\x12 \x01(\x0B2N.google.cloud.security.privateca.v1.CertificateAuthority.UserDefinedAccessUrlsB\x03\xE0A\x01\x12\x1A\x0A\x0Dsatisfies_pzs\x18\x13 \x01(\x08B\x03\xE0A\x03\x12\x1A\x0A\x0Dsatisfies_pzi\x18\x14 \x01(\x08B\x03\xE0A\x03\x1AH\x0A\x0AAccessUrls\x12!\x0A\x19ca_certificate_access_url\x18\x01 \x01(\x09\x12\x17\x0A\x0Fcrl_access_urls\x18\x02 \x03(\x09\x1A\xA0\x01\x0A\x0EKeyVersionSpec\x12\x1F\x0A\x15cloud_kms_key_version\x18\x01 \x01(\x09H\x00\x12_\x0A\x09algorithm\x18\x02 \x01(\x0E2J.google.cloud.security.privateca.v1.CertificateAuthority.SignHashAlgorithmH\x00B\x0C\x0A\x0AKeyVersion\x1A`\x0A\x15UserDefinedAccessUrls\x12)\x0A\x1Caia_issuing_certificate_urls\x18\x01 \x03(\x09B\x03\xE0A\x01\x12\x1C\x0A\x0Fcrl_access_urls\x18\x02 \x03(\x09B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\">\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BSELF_SIGNED\x10\x01\x12\x0F\x0A\x0BSUBORDINATE\x10\x02\"p\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07ENABLED\x10\x01\x12\x0C\x0A\x08DISABLED\x10\x02\x12\x0A\x0A\x06STAGED\x10\x03\x12\x1C\x0A\x18AWAITING_USER_ACTIVATION\x10\x04\x12\x0B\x0A\x07DELETED\x10\x05\"\xFC\x01\x0A\x11SignHashAlgorithm\x12#\x0A\x1FSIGN_HASH_ALGORITHM_UNSPECIFIED\x10\x00\x12\x17\x0A\x13RSA_PSS_2048_SHA256\x10\x01\x12\x17\x0A\x13RSA_PSS_3072_SHA256\x10\x02\x12\x17\x0A\x13RSA_PSS_4096_SHA256\x10\x03\x12\x19\x0A\x15RSA_PKCS1_2048_SHA256\x10\x06\x12\x19\x0A\x15RSA_PKCS1_3072_SHA256\x10\x07\x12\x19\x0A\x15RSA_PKCS1_4096_SHA256\x10\x08\x12\x12\x0A\x0EEC_P256_SHA256\x10\x04\x12\x12\x0A\x0EEC_P384_SHA384\x10\x05:\x9D\x01\xEAA\x99\x01\x0A-privateca.googleapis.com/CertificateAuthority\x12hprojects/{project}/locations/{location}/caPools/{ca_pool}/certificateAuthorities/{certificate_authority}\"\xE6\x11\x0A\x06CaPool\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12E\x0A\x04tier\x18\x02 \x01(\x0E2/.google.cloud.security.privateca.v1.CaPool.TierB\x06\xE0A\x02\xE0A\x05\x12W\x0A\x0Fissuance_policy\x18\x03 \x01(\x0B29.google.cloud.security.privateca.v1.CaPool.IssuancePolicyB\x03\xE0A\x01\x12]\x0A\x12publishing_options\x18\x04 \x01(\x0B2<.google.cloud.security.privateca.v1.CaPool.PublishingOptionsB\x03\xE0A\x01\x12P\x0A\x0Fencryption_spec\x18\x08 \x01(\x0B22.google.cloud.security.privateca.v1.EncryptionSpecB\x03\xE0A\x01\x12K\x0A\x06labels\x18\x05 \x03(\x0B26.google.cloud.security.privateca.v1.CaPool.LabelsEntryB\x03\xE0A\x01\x1A\xFB\x01\x0A\x11PublishingOptions\x12\x1C\x0A\x0Fpublish_ca_cert\x18\x01 \x01(\x08B\x03\xE0A\x01\x12\x18\x0A\x0Bpublish_crl\x18\x02 \x01(\x08B\x03\xE0A\x01\x12i\x0A\x0Fencoding_format\x18\x03 \x01(\x0E2K.google.cloud.security.privateca.v1.CaPool.PublishingOptions.EncodingFormatB\x03\xE0A\x01\"C\x0A\x0EEncodingFormat\x12\x1F\x0A\x1BENCODING_FORMAT_UNSPECIFIED\x10\x00\x12\x07\x0A\x03PEM\x10\x01\x12\x07\x0A\x03DER\x10\x02\x1A\xE2\x0A\x0A\x0EIssuancePolicy\x12h\x0A\x11allowed_key_types\x18\x01 \x03(\x0B2H.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyTypeB\x03\xE0A\x01\x129\x0A\x11backdate_duration\x18\x07 \x01(\x0B2\x19.google.protobuf.DurationB\x03\xE0A\x01\x126\x0A)allow_requester_specified_not_before_time\x18\x08 \x01(\x08B\x03\xE0A\x01\x128\x0A\x10maximum_lifetime\x18\x02 \x01(\x0B2\x19.google.protobuf.DurationB\x03\xE0A\x01\x12l\x0A\x16allowed_issuance_modes\x18\x03 \x01(\x0B2G.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModesB\x03\xE0A\x01\x12P\x0A\x0Fbaseline_values\x18\x04 \x01(\x0B22.google.cloud.security.privateca.v1.X509ParametersB\x03\xE0A\x01\x12e\x0A\x14identity_constraints\x18\x05 \x01(\x0B2B.google.cloud.security.privateca.v1.CertificateIdentityConstraintsB\x03\xE0A\x01\x12h\x0A\x16passthrough_extensions\x18\x06 \x01(\x0B2C.google.cloud.security.privateca.v1.CertificateExtensionConstraintsB\x03\xE0A\x01\x1A\xC5\x04\x0A\x0EAllowedKeyType\x12b\x0A\x03rsa\x18\x01 \x01(\x0B2S.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyTypeH\x00\x12l\x0A\x0Eelliptic_curve\x18\x02 \x01(\x0B2R.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyTypeH\x00\x1AJ\x0A\x0ARsaKeyType\x12\x1D\x0A\x10min_modulus_size\x18\x01 \x01(\x03B\x03\xE0A\x01\x12\x1D\x0A\x10max_modulus_size\x18\x02 \x01(\x03B\x03\xE0A\x01\x1A\x88\x02\x0A\x09EcKeyType\x12\x89\x01\x0A\x13signature_algorithm\x18\x01 \x01(\x0E2g.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.EcSignatureAlgorithmB\x03\xE0A\x01\"o\x0A\x14EcSignatureAlgorithm\x12&\x0A\"EC_SIGNATURE_ALGORITHM_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0AECDSA_P256\x10\x01\x12\x0E\x0A\x0AECDSA_P384\x10\x02\x12\x0F\x0A\x0BEDDSA_25519\x10\x03B\x0A\x0A\x08key_type\x1A`\x0A\x0DIssuanceModes\x12%\x0A\x18allow_csr_based_issuance\x18\x01 \x01(\x08B\x03\xE0A\x01\x12(\x0A\x1Ballow_config_based_issuance\x18\x02 \x01(\x08B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"8\x0A\x04Tier\x12\x14\x0A\x10TIER_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0AENTERPRISE\x10\x01\x12\x0A\x0A\x06DEVOPS\x10\x02:_\xEAA\\\x0A\x1Fprivateca.googleapis.com/CaPool\x129projects/{project}/locations/{location}/caPools/{ca_pool}\"'\x0A\x0EEncryptionSpec\x12\x15\x0A\x0Dcloud_kms_key\x18\x01 \x01(\x09\"\xBC\x08\x0A\x19CertificateRevocationList\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1C\x0A\x0Fsequence_number\x18\x02 \x01(\x03B\x03\xE0A\x03\x12s\x0A\x14revoked_certificates\x18\x03 \x03(\x0B2P.google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificateB\x03\xE0A\x03\x12\x14\x0A\x07pem_crl\x18\x04 \x01(\x09B\x03\xE0A\x03\x12\x17\x0A\x0Aaccess_url\x18\x05 \x01(\x09B\x03\xE0A\x03\x12W\x0A\x05state\x18\x06 \x01(\x0E2C.google.cloud.security.privateca.v1.CertificateRevocationList.StateB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x08 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x18\x0A\x0Brevision_id\x18\x09 \x01(\x09B\x03\xE0A\x03\x12^\x0A\x06labels\x18\x0A \x03(\x0B2I.google.cloud.security.privateca.v1.CertificateRevocationList.LabelsEntryB\x03\xE0A\x01\x1A\xC0\x01\x0A\x12RevokedCertificate\x12>\x0A\x0Bcertificate\x18\x01 \x01(\x09B)\xFAA&\x0A\$privateca.googleapis.com/Certificate\x12\x19\x0A\x11hex_serial_number\x18\x02 \x01(\x09\x12O\x0A\x11revocation_reason\x18\x03 \x01(\x0E24.google.cloud.security.privateca.v1.RevocationReason\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\":\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06ACTIVE\x10\x01\x12\x0E\x0A\x0ASUPERSEDED\x10\x02:\xDC\x01\xEAA\xD8\x01\x0A2privateca.googleapis.com/CertificateRevocationList\x12\xA1\x01projects/{project}/locations/{location}/caPools/{ca_pool}/certificateAuthorities/{certificate_authority}/certificateRevocationLists/{certificate_revocation_list}\"\xAA\x0A\x0A\x0BCertificate\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x16\x0A\x07pem_csr\x18\x02 \x01(\x09B\x03\xE0A\x05H\x00\x12L\x0A\x06config\x18\x03 \x01(\x0B25.google.cloud.security.privateca.v1.CertificateConfigB\x03\xE0A\x05H\x00\x12[\x0A\x1Cissuer_certificate_authority\x18\x04 \x01(\x09B5\xE0A\x03\xFAA/\x0A-privateca.googleapis.com/CertificateAuthority\x123\x0A\x08lifetime\x18\x05 \x01(\x0B2\x19.google.protobuf.DurationB\x06\xE0A\x02\xE0A\x05\x12R\x0A\x14certificate_template\x18\x06 \x01(\x09B4\xE0A\x05\xFAA.\x0A,privateca.googleapis.com/CertificateTemplate\x12Q\x0A\x0Csubject_mode\x18\x07 \x01(\x0E26.google.cloud.security.privateca.v1.SubjectRequestModeB\x03\xE0A\x05\x12b\x0A\x12revocation_details\x18\x08 \x01(\x0B2A.google.cloud.security.privateca.v1.Certificate.RevocationDetailsB\x03\xE0A\x03\x12\x1C\x0A\x0Fpem_certificate\x18\x09 \x01(\x09B\x03\xE0A\x03\x12`\x0A\x17certificate_description\x18\x0A \x01(\x0B2:.google.cloud.security.privateca.v1.CertificateDescriptionB\x03\xE0A\x03\x12\"\x0A\x15pem_certificate_chain\x18\x0B \x03(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x0C \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x0D \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12P\x0A\x06labels\x18\x0E \x03(\x0B2;.google.cloud.security.privateca.v1.Certificate.LabelsEntryB\x03\xE0A\x01\x12B\x0A\x19requested_not_before_time\x18\x0F \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x1A\x98\x01\x0A\x11RevocationDetails\x12N\x0A\x10revocation_state\x18\x01 \x01(\x0E24.google.cloud.security.privateca.v1.RevocationReason\x123\x0A\x0Frevocation_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.Timestamp\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x7F\xEAA|\x0A\$privateca.googleapis.com/Certificate\x12Tprojects/{project}/locations/{location}/caPools/{ca_pool}/certificates/{certificate}B\x14\x0A\x12certificate_config\"\xA0\x06\x0A\x13CertificateTemplate\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x128\x0A\x10maximum_lifetime\x18\x09 \x01(\x0B2\x19.google.protobuf.DurationB\x03\xE0A\x01\x12R\x0A\x11predefined_values\x18\x02 \x01(\x0B22.google.cloud.security.privateca.v1.X509ParametersB\x03\xE0A\x01\x12e\x0A\x14identity_constraints\x18\x03 \x01(\x0B2B.google.cloud.security.privateca.v1.CertificateIdentityConstraintsB\x03\xE0A\x01\x12h\x0A\x16passthrough_extensions\x18\x04 \x01(\x0B2C.google.cloud.security.privateca.v1.CertificateExtensionConstraintsB\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x05 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12X\x0A\x06labels\x18\x08 \x03(\x0B2C.google.cloud.security.privateca.v1.CertificateTemplate.LabelsEntryB\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x87\x01\xEAA\x83\x01\x0A,privateca.googleapis.com/CertificateTemplate\x12Sprojects/{project}/locations/{location}/certificateTemplates/{certificate_template}\"\xCE\x06\x0A\x0EX509Parameters\x12D\x0A\x09key_usage\x18\x01 \x01(\x0B2,.google.cloud.security.privateca.v1.KeyUsageB\x03\xE0A\x01\x12U\x0A\x0Aca_options\x18\x02 \x01(\x0B2<.google.cloud.security.privateca.v1.X509Parameters.CaOptionsB\x03\xE0A\x01\x12E\x0A\x0Apolicy_ids\x18\x03 \x03(\x0B2,.google.cloud.security.privateca.v1.ObjectIdB\x03\xE0A\x01\x12\x1D\x0A\x10aia_ocsp_servers\x18\x04 \x03(\x09B\x03\xE0A\x01\x12a\x0A\x10name_constraints\x18\x06 \x01(\x0B2B.google.cloud.security.privateca.v1.X509Parameters.NameConstraintsB\x03\xE0A\x01\x12U\x0A\x15additional_extensions\x18\x05 \x03(\x0B21.google.cloud.security.privateca.v1.X509ExtensionB\x03\xE0A\x01\x1As\x0A\x09CaOptions\x12\x17\x0A\x05is_ca\x18\x01 \x01(\x08B\x03\xE0A\x01H\x00\x88\x01\x01\x12(\x0A\x16max_issuer_path_length\x18\x02 \x01(\x05B\x03\xE0A\x01H\x01\x88\x01\x01B\x08\x0A\x06_is_caB\x19\x0A\x17_max_issuer_path_length\x1A\x89\x02\x0A\x0FNameConstraints\x12\x10\x0A\x08critical\x18\x01 \x01(\x08\x12\x1B\x0A\x13permitted_dns_names\x18\x02 \x03(\x09\x12\x1A\x0A\x12excluded_dns_names\x18\x03 \x03(\x09\x12\x1B\x0A\x13permitted_ip_ranges\x18\x04 \x03(\x09\x12\x1A\x0A\x12excluded_ip_ranges\x18\x05 \x03(\x09\x12!\x0A\x19permitted_email_addresses\x18\x06 \x03(\x09\x12 \x0A\x18excluded_email_addresses\x18\x07 \x03(\x09\x12\x16\x0A\x0Epermitted_uris\x18\x08 \x03(\x09\x12\x15\x0A\x0Dexcluded_uris\x18\x09 \x03(\x09\"\xA9\x02\x0A\x11SubordinateConfig\x12V\x0A\x15certificate_authority\x18\x01 \x01(\x09B5\xE0A\x02\xFAA/\x0A-privateca.googleapis.com/CertificateAuthorityH\x00\x12m\x0A\x10pem_issuer_chain\x18\x02 \x01(\x0B2L.google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChainB\x03\xE0A\x02H\x00\x1A7\x0A\x16SubordinateConfigChain\x12\x1D\x0A\x10pem_certificates\x18\x01 \x03(\x09B\x03\xE0A\x02B\x14\x0A\x12subordinate_config\"\x9D\x01\x0A\x09PublicKey\x12\x10\x0A\x03key\x18\x01 \x01(\x0CB\x03\xE0A\x02\x12L\x0A\x06format\x18\x02 \x01(\x0E27.google.cloud.security.privateca.v1.PublicKey.KeyFormatB\x03\xE0A\x02\"0\x0A\x09KeyFormat\x12\x1A\x0A\x16KEY_FORMAT_UNSPECIFIED\x10\x00\x12\x07\x0A\x03PEM\x10\x01\"\xAC\x04\x0A\x11CertificateConfig\x12`\x0A\x0Esubject_config\x18\x01 \x01(\x0B2C.google.cloud.security.privateca.v1.CertificateConfig.SubjectConfigB\x03\xE0A\x02\x12L\x0A\x0Bx509_config\x18\x02 \x01(\x0B22.google.cloud.security.privateca.v1.X509ParametersB\x03\xE0A\x02\x12F\x0A\x0Apublic_key\x18\x03 \x01(\x0B2-.google.cloud.security.privateca.v1.PublicKeyB\x03\xE0A\x01\x12X\x0A\x0Esubject_key_id\x18\x04 \x01(\x0B2;.google.cloud.security.privateca.v1.CertificateConfig.KeyIdB\x03\xE0A\x01\x1A\xA6\x01\x0A\x0DSubjectConfig\x12A\x0A\x07subject\x18\x01 \x01(\x0B2+.google.cloud.security.privateca.v1.SubjectB\x03\xE0A\x01\x12R\x0A\x10subject_alt_name\x18\x02 \x01(\x0B23.google.cloud.security.privateca.v1.SubjectAltNamesB\x03\xE0A\x01\x1A\x1C\x0A\x05KeyId\x12\x13\x0A\x06key_id\x18\x01 \x01(\x09B\x03\xE0A\x02\"\xC1\x08\x0A\x16CertificateDescription\x12j\x0A\x13subject_description\x18\x01 \x01(\x0B2M.google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription\x12L\x0A\x10x509_description\x18\x02 \x01(\x0B22.google.cloud.security.privateca.v1.X509Parameters\x12A\x0A\x0Apublic_key\x18\x03 \x01(\x0B2-.google.cloud.security.privateca.v1.PublicKey\x12X\x0A\x0Esubject_key_id\x18\x04 \x01(\x0B2@.google.cloud.security.privateca.v1.CertificateDescription.KeyId\x12Z\x0A\x10authority_key_id\x18\x05 \x01(\x0B2@.google.cloud.security.privateca.v1.CertificateDescription.KeyId\x12\x1F\x0A\x17crl_distribution_points\x18\x06 \x03(\x09\x12\$\x0A\x1Caia_issuing_certificate_urls\x18\x07 \x03(\x09\x12k\x0A\x10cert_fingerprint\x18\x08 \x01(\x0B2Q.google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint\x12\x1E\x0A\x16tbs_certificate_digest\x18\x09 \x01(\x09\x1A\xD2\x02\x0A\x12SubjectDescription\x12<\x0A\x07subject\x18\x01 \x01(\x0B2+.google.cloud.security.privateca.v1.Subject\x12M\x0A\x10subject_alt_name\x18\x02 \x01(\x0B23.google.cloud.security.privateca.v1.SubjectAltNames\x12\x19\x0A\x11hex_serial_number\x18\x03 \x01(\x09\x12+\x0A\x08lifetime\x18\x04 \x01(\x0B2\x19.google.protobuf.Duration\x123\x0A\x0Fnot_before_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.Timestamp\x122\x0A\x0Enot_after_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.Timestamp\x1A\x1C\x0A\x05KeyId\x12\x13\x0A\x06key_id\x18\x01 \x01(\x09B\x03\xE0A\x01\x1A-\x0A\x16CertificateFingerprint\x12\x13\x0A\x0Bsha256_hash\x18\x01 \x01(\x09\"'\x0A\x08ObjectId\x12\x1B\x0A\x0Eobject_id_path\x18\x01 \x03(\x05B\x03\xE0A\x02\"\x80\x01\x0A\x0DX509Extension\x12D\x0A\x09object_id\x18\x01 \x01(\x0B2,.google.cloud.security.privateca.v1.ObjectIdB\x03\xE0A\x02\x12\x15\x0A\x08critical\x18\x02 \x01(\x08B\x03\xE0A\x01\x12\x12\x0A\x05value\x18\x03 \x01(\x0CB\x03\xE0A\x02\"\xA2\x05\x0A\x08KeyUsage\x12T\x0A\x0Ebase_key_usage\x18\x01 \x01(\x0B2<.google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions\x12`\x0A\x12extended_key_usage\x18\x02 \x01(\x0B2D.google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions\x12Q\x0A\x1Bunknown_extended_key_usages\x18\x03 \x03(\x0B2,.google.cloud.security.privateca.v1.ObjectId\x1A\xE7\x01\x0A\x0FKeyUsageOptions\x12\x19\x0A\x11digital_signature\x18\x01 \x01(\x08\x12\x1A\x0A\x12content_commitment\x18\x02 \x01(\x08\x12\x18\x0A\x10key_encipherment\x18\x03 \x01(\x08\x12\x19\x0A\x11data_encipherment\x18\x04 \x01(\x08\x12\x15\x0A\x0Dkey_agreement\x18\x05 \x01(\x08\x12\x11\x0A\x09cert_sign\x18\x06 \x01(\x08\x12\x10\x0A\x08crl_sign\x18\x07 \x01(\x08\x12\x15\x0A\x0Dencipher_only\x18\x08 \x01(\x08\x12\x15\x0A\x0Ddecipher_only\x18\x09 \x01(\x08\x1A\xA0\x01\x0A\x17ExtendedKeyUsageOptions\x12\x13\x0A\x0Bserver_auth\x18\x01 \x01(\x08\x12\x13\x0A\x0Bclient_auth\x18\x02 \x01(\x08\x12\x14\x0A\x0Ccode_signing\x18\x03 \x01(\x08\x12\x18\x0A\x10email_protection\x18\x04 \x01(\x08\x12\x15\x0A\x0Dtime_stamping\x18\x05 \x01(\x08\x12\x14\x0A\x0Cocsp_signing\x18\x06 \x01(\x08\"\xBE\x01\x0A\x15AttributeTypeAndValue\x12A\x0A\x04type\x18\x01 \x01(\x0E21.google.cloud.security.privateca.v1.AttributeTypeH\x00\x12A\x0A\x09object_id\x18\x02 \x01(\x0B2,.google.cloud.security.privateca.v1.ObjectIdH\x00\x12\x0D\x0A\x05value\x18\x03 \x01(\x09B\x10\x0A\x0Eattribute_type\"j\x0A\x19RelativeDistinguishedName\x12M\x0A\x0Aattributes\x18\x01 \x03(\x0B29.google.cloud.security.privateca.v1.AttributeTypeAndValue\"\x8D\x02\x0A\x07Subject\x12\x13\x0A\x0Bcommon_name\x18\x01 \x01(\x09\x12\x14\x0A\x0Ccountry_code\x18\x02 \x01(\x09\x12\x14\x0A\x0Corganization\x18\x03 \x01(\x09\x12\x1B\x0A\x13organizational_unit\x18\x04 \x01(\x09\x12\x10\x0A\x08locality\x18\x05 \x01(\x09\x12\x10\x0A\x08province\x18\x06 \x01(\x09\x12\x16\x0A\x0Estreet_address\x18\x07 \x01(\x09\x12\x13\x0A\x0Bpostal_code\x18\x08 \x01(\x09\x12S\x0A\x0Crdn_sequence\x18\x09 \x03(\x0B2=.google.cloud.security.privateca.v1.RelativeDistinguishedName\"\xA9\x01\x0A\x0FSubjectAltNames\x12\x11\x0A\x09dns_names\x18\x01 \x03(\x09\x12\x0C\x0A\x04uris\x18\x02 \x03(\x09\x12\x17\x0A\x0Femail_addresses\x18\x03 \x03(\x09\x12\x14\x0A\x0Cip_addresses\x18\x04 \x03(\x09\x12F\x0A\x0Bcustom_sans\x18\x05 \x03(\x0B21.google.cloud.security.privateca.v1.X509Extension\"\xFA\x01\x0A\x1ECertificateIdentityConstraints\x12.\x0A\x0Ecel_expression\x18\x01 \x01(\x0B2\x11.google.type.ExprB\x03\xE0A\x01\x12+\x0A\x19allow_subject_passthrough\x18\x02 \x01(\x08B\x03\xE0A\x02H\x00\x88\x01\x01\x125\x0A#allow_subject_alt_names_passthrough\x18\x03 \x01(\x08B\x03\xE0A\x02H\x01\x88\x01\x01B\x1C\x0A\x1A_allow_subject_passthroughB&\x0A\$_allow_subject_alt_names_passthrough\"\xB4\x03\x0A\x1FCertificateExtensionConstraints\x12|\x0A\x10known_extensions\x18\x01 \x03(\x0E2].google.cloud.security.privateca.v1.CertificateExtensionConstraints.KnownCertificateExtensionB\x03\xE0A\x01\x12P\x0A\x15additional_extensions\x18\x02 \x03(\x0B2,.google.cloud.security.privateca.v1.ObjectIdB\x03\xE0A\x01\"\xC0\x01\x0A\x19KnownCertificateExtension\x12+\x0A'KNOWN_CERTIFICATE_EXTENSION_UNSPECIFIED\x10\x00\x12\x12\x0A\x0EBASE_KEY_USAGE\x10\x01\x12\x16\x0A\x12EXTENDED_KEY_USAGE\x10\x02\x12\x0E\x0A\x0ACA_OPTIONS\x10\x03\x12\x0E\x0A\x0APOLICY_IDS\x10\x04\x12\x14\x0A\x10AIA_OCSP_SERVERS\x10\x05\x12\x14\x0A\x10NAME_CONSTRAINTS\x10\x06*\xBE\x01\x0A\x0DAttributeType\x12\x1E\x0A\x1AATTRIBUTE_TYPE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BCOMMON_NAME\x10\x01\x12\x10\x0A\x0CCOUNTRY_CODE\x10\x02\x12\x10\x0A\x0CORGANIZATION\x10\x03\x12\x17\x0A\x13ORGANIZATIONAL_UNIT\x10\x04\x12\x0C\x0A\x08LOCALITY\x10\x05\x12\x0C\x0A\x08PROVINCE\x10\x06\x12\x12\x0A\x0ESTREET_ADDRESS\x10\x07\x12\x0F\x0A\x0BPOSTAL_CODE\x10\x08*\x87\x02\x0A\x10RevocationReason\x12!\x0A\x1DREVOCATION_REASON_UNSPECIFIED\x10\x00\x12\x12\x0A\x0EKEY_COMPROMISE\x10\x01\x12\$\x0A CERTIFICATE_AUTHORITY_COMPROMISE\x10\x02\x12\x17\x0A\x13AFFILIATION_CHANGED\x10\x03\x12\x0E\x0A\x0ASUPERSEDED\x10\x04\x12\x1A\x0A\x16CESSATION_OF_OPERATION\x10\x05\x12\x14\x0A\x10CERTIFICATE_HOLD\x10\x06\x12\x17\x0A\x13PRIVILEGE_WITHDRAWN\x10\x07\x12\"\x0A\x1EATTRIBUTE_AUTHORITY_COMPROMISE\x10\x08*o\x0A\x12SubjectRequestMode\x12\$\x0A SUBJECT_REQUEST_MODE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07DEFAULT\x10\x01\x12\x10\x0A\x0CRDN_SEQUENCE\x10\x03\x12\x14\x0A\x10REFLECTED_SPIFFE\x10\x02B\xFC\x01\x0A&com.google.cloud.security.privateca.v1B\x17PrivateCaResourcesProtoP\x01ZDcloud.google.com/go/security/privateca/apiv1/privatecapb;privatecapb\xAA\x02\"Google.Cloud.Security.PrivateCA.V1\xCA\x02\"Google\\Cloud\\Security\\PrivateCA\\V1\xEA\x02&Google::Cloud::Security::PrivateCA::V1b\x06proto3" , true); static::$is_initialized = true; diff --git a/SecurityPrivateCa/samples/V1/CertificateAuthorityServiceClient/list_certificates.php b/SecurityPrivateCa/samples/V1/CertificateAuthorityServiceClient/list_certificates.php index 9164da83f6f1..10344c930e25 100644 --- a/SecurityPrivateCa/samples/V1/CertificateAuthorityServiceClient/list_certificates.php +++ b/SecurityPrivateCa/samples/V1/CertificateAuthorityServiceClient/list_certificates.php @@ -32,10 +32,19 @@ /** * Lists [Certificates][google.cloud.security.privateca.v1.Certificate]. * - * @param string $formattedParent The resource name of the location associated with the + * @param string $formattedParent The resource name of the parent associated with the * [Certificates][google.cloud.security.privateca.v1.Certificate], in the - * format `projects/*/locations/*/caPools/*`. Please see - * {@see CertificateAuthorityServiceClient::caPoolName()} for help formatting this field. + * format `projects/*/locations/*/caPools/*`. The parent resource name can be + * in one of two forms: + * + * 1. **Specific CA Pool:** To list certificates within a single CA Pool: + * `projects/*/locations/*/caPools/*` + * + * 2. **All CA Pools in a Location:** To list certificates across *all* CA + * Pools in a given project and location, use the wildcard character (`-`) + * in place of the CA Pool ID. + * Example: `projects/*/locations/*/caPools/-` + * Please see {@see CertificateAuthorityServiceClient::caPoolName()} for help formatting this field. */ function list_certificates_sample(string $formattedParent): void { diff --git a/SecurityPrivateCa/samples/V1/CertificateAuthorityServiceClient/list_locations.php b/SecurityPrivateCa/samples/V1/CertificateAuthorityServiceClient/list_locations.php index 6c8e2c66cdb0..2935ae88781d 100644 --- a/SecurityPrivateCa/samples/V1/CertificateAuthorityServiceClient/list_locations.php +++ b/SecurityPrivateCa/samples/V1/CertificateAuthorityServiceClient/list_locations.php @@ -31,6 +31,21 @@ /** * Lists information about the supported locations for this service. + +This method lists locations based on the resource scope provided in +the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * +**Global locations**: If `name` is empty, the method lists the +public locations available to all projects. * **Project-specific +locations**: If `name` follows the format +`projects/{project}`, the method lists locations visible to that +specific project. This includes public, private, or other +project-specific locations enabled for the project. + +For gRPC and client library implementations, the resource name is +passed as the `name` field. For direct service calls, the resource +name is +incorporated into the request path based on the specific service +implementation and version. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/SecurityPrivateCa/src/V1/CaPool.php b/SecurityPrivateCa/src/V1/CaPool.php index fa9aa344a4ce..73c9ce2d9be6 100644 --- a/SecurityPrivateCa/src/V1/CaPool.php +++ b/SecurityPrivateCa/src/V1/CaPool.php @@ -58,6 +58,16 @@ class CaPool extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.cloud.security.privateca.v1.CaPool.PublishingOptions publishing_options = 4 [(.google.api.field_behavior) = OPTIONAL]; */ protected $publishing_options = null; + /** + * Optional. When + * [EncryptionSpec][google.cloud.security.privateca.v1.EncryptionSpec] is + * provided, the [Subject][google.cloud.security.privateca.v1.Subject], + * [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames], and + * the PEM-encoded certificate fields will be encrypted at rest. + * + * Generated from protobuf field .google.cloud.security.privateca.v1.EncryptionSpec encryption_spec = 8 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $encryption_spec = null; /** * Optional. Labels with user-defined metadata. * @@ -92,6 +102,12 @@ class CaPool extends \Google\Protobuf\Internal\Message * [Certificates][google.cloud.security.privateca.v1.Certificate] from any * [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] * in this [CaPool][google.cloud.security.privateca.v1.CaPool]. + * @type \Google\Cloud\Security\PrivateCA\V1\EncryptionSpec $encryption_spec + * Optional. When + * [EncryptionSpec][google.cloud.security.privateca.v1.EncryptionSpec] is + * provided, the [Subject][google.cloud.security.privateca.v1.Subject], + * [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames], and + * the PEM-encoded certificate fields will be encrypted at rest. * @type array|\Google\Protobuf\Internal\MapField $labels * Optional. Labels with user-defined metadata. * } @@ -251,6 +267,50 @@ public function setPublishingOptions($var) return $this; } + /** + * Optional. When + * [EncryptionSpec][google.cloud.security.privateca.v1.EncryptionSpec] is + * provided, the [Subject][google.cloud.security.privateca.v1.Subject], + * [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames], and + * the PEM-encoded certificate fields will be encrypted at rest. + * + * Generated from protobuf field .google.cloud.security.privateca.v1.EncryptionSpec encryption_spec = 8 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Security\PrivateCA\V1\EncryptionSpec|null + */ + public function getEncryptionSpec() + { + return $this->encryption_spec; + } + + public function hasEncryptionSpec() + { + return isset($this->encryption_spec); + } + + public function clearEncryptionSpec() + { + unset($this->encryption_spec); + } + + /** + * Optional. When + * [EncryptionSpec][google.cloud.security.privateca.v1.EncryptionSpec] is + * provided, the [Subject][google.cloud.security.privateca.v1.Subject], + * [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames], and + * the PEM-encoded certificate fields will be encrypted at rest. + * + * Generated from protobuf field .google.cloud.security.privateca.v1.EncryptionSpec encryption_spec = 8 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Security\PrivateCA\V1\EncryptionSpec $var + * @return $this + */ + public function setEncryptionSpec($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Security\PrivateCA\V1\EncryptionSpec::class); + $this->encryption_spec = $var; + + return $this; + } + /** * Optional. Labels with user-defined metadata. * diff --git a/SecurityPrivateCa/src/V1/CaPool/IssuancePolicy.php b/SecurityPrivateCa/src/V1/CaPool/IssuancePolicy.php index 4825860c2a15..30739bffd916 100644 --- a/SecurityPrivateCa/src/V1/CaPool/IssuancePolicy.php +++ b/SecurityPrivateCa/src/V1/CaPool/IssuancePolicy.php @@ -26,17 +26,36 @@ class IssuancePolicy extends \Google\Protobuf\Internal\Message */ private $allowed_key_types; /** - * Optional. The duration to backdate all certificates issued from this - * [CaPool][google.cloud.security.privateca.v1.CaPool]. If not set, the - * certificates will be issued with a not_before_time of the issuance time - * (i.e. the current time). If set, the certificates will be issued with a - * not_before_time of the issuance time minus the backdate_duration. The - * not_after_time will be adjusted to preserve the requested lifetime. The - * backdate_duration must be less than or equal to 48 hours. + * Optional. If set, all certificates issued from this + * [CaPool][google.cloud.security.privateca.v1.CaPool] will be backdated by + * this duration. The 'not_before_time' will be the issuance time minus this + * [backdate_duration][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.backdate_duration], + * and the 'not_after_time' will be adjusted to preserve the requested + * lifetime. The maximum duration that a certificate can be backdated with + * these options is 48 hours in the past. + * This option cannot be set if + * [allow_requester_specified_not_before_time][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.allow_requester_specified_not_before_time] + * is set. * * Generated from protobuf field .google.protobuf.Duration backdate_duration = 7 [(.google.api.field_behavior) = OPTIONAL]; */ protected $backdate_duration = null; + /** + * Optional. If set to true, allows requesters to specify the + * [requested_not_before_time][google.cloud.security.privateca.v1.Certificate.requested_not_before_time] + * field when creating a + * [Certificate][google.cloud.security.privateca.v1.Certificate]. + * Certificates requested with this option enabled will have a + * 'not_before_time' equal to the value specified in the request. The + * 'not_after_time' will be adjusted to preserve the requested lifetime. The + * maximum time that a certificate can be backdated with these options is 48 + * hours in the past. This option cannot be set if + * [backdate_duration][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.backdate_duration] + * is set. + * + * Generated from protobuf field bool allow_requester_specified_not_before_time = 8 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $allow_requester_specified_not_before_time = false; /** * Optional. The maximum lifetime allowed for issued * [Certificates][google.cloud.security.privateca.v1.Certificate]. Note that @@ -117,13 +136,28 @@ class IssuancePolicy extends \Google\Protobuf\Internal\Message * is specified, then the certificate request's public key must match one of * the key types listed here. Otherwise, any key may be used. * @type \Google\Protobuf\Duration $backdate_duration - * Optional. The duration to backdate all certificates issued from this - * [CaPool][google.cloud.security.privateca.v1.CaPool]. If not set, the - * certificates will be issued with a not_before_time of the issuance time - * (i.e. the current time). If set, the certificates will be issued with a - * not_before_time of the issuance time minus the backdate_duration. The - * not_after_time will be adjusted to preserve the requested lifetime. The - * backdate_duration must be less than or equal to 48 hours. + * Optional. If set, all certificates issued from this + * [CaPool][google.cloud.security.privateca.v1.CaPool] will be backdated by + * this duration. The 'not_before_time' will be the issuance time minus this + * [backdate_duration][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.backdate_duration], + * and the 'not_after_time' will be adjusted to preserve the requested + * lifetime. The maximum duration that a certificate can be backdated with + * these options is 48 hours in the past. + * This option cannot be set if + * [allow_requester_specified_not_before_time][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.allow_requester_specified_not_before_time] + * is set. + * @type bool $allow_requester_specified_not_before_time + * Optional. If set to true, allows requesters to specify the + * [requested_not_before_time][google.cloud.security.privateca.v1.Certificate.requested_not_before_time] + * field when creating a + * [Certificate][google.cloud.security.privateca.v1.Certificate]. + * Certificates requested with this option enabled will have a + * 'not_before_time' equal to the value specified in the request. The + * 'not_after_time' will be adjusted to preserve the requested lifetime. The + * maximum time that a certificate can be backdated with these options is 48 + * hours in the past. This option cannot be set if + * [backdate_duration][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.backdate_duration] + * is set. * @type \Google\Protobuf\Duration $maximum_lifetime * Optional. The maximum lifetime allowed for issued * [Certificates][google.cloud.security.privateca.v1.Certificate]. Note that @@ -211,13 +245,16 @@ public function setAllowedKeyTypes($var) } /** - * Optional. The duration to backdate all certificates issued from this - * [CaPool][google.cloud.security.privateca.v1.CaPool]. If not set, the - * certificates will be issued with a not_before_time of the issuance time - * (i.e. the current time). If set, the certificates will be issued with a - * not_before_time of the issuance time minus the backdate_duration. The - * not_after_time will be adjusted to preserve the requested lifetime. The - * backdate_duration must be less than or equal to 48 hours. + * Optional. If set, all certificates issued from this + * [CaPool][google.cloud.security.privateca.v1.CaPool] will be backdated by + * this duration. The 'not_before_time' will be the issuance time minus this + * [backdate_duration][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.backdate_duration], + * and the 'not_after_time' will be adjusted to preserve the requested + * lifetime. The maximum duration that a certificate can be backdated with + * these options is 48 hours in the past. + * This option cannot be set if + * [allow_requester_specified_not_before_time][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.allow_requester_specified_not_before_time] + * is set. * * Generated from protobuf field .google.protobuf.Duration backdate_duration = 7 [(.google.api.field_behavior) = OPTIONAL]; * @return \Google\Protobuf\Duration|null @@ -238,13 +275,16 @@ public function clearBackdateDuration() } /** - * Optional. The duration to backdate all certificates issued from this - * [CaPool][google.cloud.security.privateca.v1.CaPool]. If not set, the - * certificates will be issued with a not_before_time of the issuance time - * (i.e. the current time). If set, the certificates will be issued with a - * not_before_time of the issuance time minus the backdate_duration. The - * not_after_time will be adjusted to preserve the requested lifetime. The - * backdate_duration must be less than or equal to 48 hours. + * Optional. If set, all certificates issued from this + * [CaPool][google.cloud.security.privateca.v1.CaPool] will be backdated by + * this duration. The 'not_before_time' will be the issuance time minus this + * [backdate_duration][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.backdate_duration], + * and the 'not_after_time' will be adjusted to preserve the requested + * lifetime. The maximum duration that a certificate can be backdated with + * these options is 48 hours in the past. + * This option cannot be set if + * [allow_requester_specified_not_before_time][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.allow_requester_specified_not_before_time] + * is set. * * Generated from protobuf field .google.protobuf.Duration backdate_duration = 7 [(.google.api.field_behavior) = OPTIONAL]; * @param \Google\Protobuf\Duration $var @@ -258,6 +298,52 @@ public function setBackdateDuration($var) return $this; } + /** + * Optional. If set to true, allows requesters to specify the + * [requested_not_before_time][google.cloud.security.privateca.v1.Certificate.requested_not_before_time] + * field when creating a + * [Certificate][google.cloud.security.privateca.v1.Certificate]. + * Certificates requested with this option enabled will have a + * 'not_before_time' equal to the value specified in the request. The + * 'not_after_time' will be adjusted to preserve the requested lifetime. The + * maximum time that a certificate can be backdated with these options is 48 + * hours in the past. This option cannot be set if + * [backdate_duration][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.backdate_duration] + * is set. + * + * Generated from protobuf field bool allow_requester_specified_not_before_time = 8 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getAllowRequesterSpecifiedNotBeforeTime() + { + return $this->allow_requester_specified_not_before_time; + } + + /** + * Optional. If set to true, allows requesters to specify the + * [requested_not_before_time][google.cloud.security.privateca.v1.Certificate.requested_not_before_time] + * field when creating a + * [Certificate][google.cloud.security.privateca.v1.Certificate]. + * Certificates requested with this option enabled will have a + * 'not_before_time' equal to the value specified in the request. The + * 'not_after_time' will be adjusted to preserve the requested lifetime. The + * maximum time that a certificate can be backdated with these options is 48 + * hours in the past. This option cannot be set if + * [backdate_duration][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.backdate_duration] + * is set. + * + * Generated from protobuf field bool allow_requester_specified_not_before_time = 8 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setAllowRequesterSpecifiedNotBeforeTime($var) + { + GPBUtil::checkBool($var); + $this->allow_requester_specified_not_before_time = $var; + + return $this; + } + /** * Optional. The maximum lifetime allowed for issued * [Certificates][google.cloud.security.privateca.v1.Certificate]. Note that diff --git a/SecurityPrivateCa/src/V1/Certificate.php b/SecurityPrivateCa/src/V1/Certificate.php index d2d879605b06..5ae97a2348a6 100644 --- a/SecurityPrivateCa/src/V1/Certificate.php +++ b/SecurityPrivateCa/src/V1/Certificate.php @@ -112,6 +112,24 @@ class Certificate extends \Google\Protobuf\Internal\Message * Generated from protobuf field map labels = 14 [(.google.api.field_behavior) = OPTIONAL]; */ private $labels; + /** + * Optional. The requested + * [not_before_time][google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.not_before_time] + * of this [Certificate][google.cloud.security.privateca.v1.Certificate]. This + * field may only be set if the + * [CaPool.IssuancePolicy.allow_requester_specified_not_before_time][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.allow_requester_specified_not_before_time] + * field is set to true for the issuing + * [CaPool][google.cloud.security.privateca.v1.CaPool]. + * If this field is specified, the certificate will be issued with this + * 'not_before_time'. If this is not specified, the 'not_before_time' will be + * set to the issuance time or issuance time minus + * [backdate_duration][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.backdate_duration] + * depending on the [CaPool][google.cloud.security.privateca.v1.CaPool] + * configuration. + * + * Generated from protobuf field .google.protobuf.Timestamp requested_not_before_time = 15 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $requested_not_before_time = null; protected $certificate_config; /** @@ -172,6 +190,20 @@ class Certificate extends \Google\Protobuf\Internal\Message * [Certificate][google.cloud.security.privateca.v1.Certificate] was updated. * @type array|\Google\Protobuf\Internal\MapField $labels * Optional. Labels with user-defined metadata. + * @type \Google\Protobuf\Timestamp $requested_not_before_time + * Optional. The requested + * [not_before_time][google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.not_before_time] + * of this [Certificate][google.cloud.security.privateca.v1.Certificate]. This + * field may only be set if the + * [CaPool.IssuancePolicy.allow_requester_specified_not_before_time][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.allow_requester_specified_not_before_time] + * field is set to true for the issuing + * [CaPool][google.cloud.security.privateca.v1.CaPool]. + * If this field is specified, the certificate will be issued with this + * 'not_before_time'. If this is not specified, the 'not_before_time' will be + * set to the issuance time or issuance time minus + * [backdate_duration][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.backdate_duration] + * depending on the [CaPool][google.cloud.security.privateca.v1.CaPool] + * configuration. * } */ public function __construct($data = NULL) { @@ -651,6 +683,66 @@ public function setLabels($var) return $this; } + /** + * Optional. The requested + * [not_before_time][google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.not_before_time] + * of this [Certificate][google.cloud.security.privateca.v1.Certificate]. This + * field may only be set if the + * [CaPool.IssuancePolicy.allow_requester_specified_not_before_time][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.allow_requester_specified_not_before_time] + * field is set to true for the issuing + * [CaPool][google.cloud.security.privateca.v1.CaPool]. + * If this field is specified, the certificate will be issued with this + * 'not_before_time'. If this is not specified, the 'not_before_time' will be + * set to the issuance time or issuance time minus + * [backdate_duration][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.backdate_duration] + * depending on the [CaPool][google.cloud.security.privateca.v1.CaPool] + * configuration. + * + * Generated from protobuf field .google.protobuf.Timestamp requested_not_before_time = 15 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getRequestedNotBeforeTime() + { + return $this->requested_not_before_time; + } + + public function hasRequestedNotBeforeTime() + { + return isset($this->requested_not_before_time); + } + + public function clearRequestedNotBeforeTime() + { + unset($this->requested_not_before_time); + } + + /** + * Optional. The requested + * [not_before_time][google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.not_before_time] + * of this [Certificate][google.cloud.security.privateca.v1.Certificate]. This + * field may only be set if the + * [CaPool.IssuancePolicy.allow_requester_specified_not_before_time][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.allow_requester_specified_not_before_time] + * field is set to true for the issuing + * [CaPool][google.cloud.security.privateca.v1.CaPool]. + * If this field is specified, the certificate will be issued with this + * 'not_before_time'. If this is not specified, the 'not_before_time' will be + * set to the issuance time or issuance time minus + * [backdate_duration][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.backdate_duration] + * depending on the [CaPool][google.cloud.security.privateca.v1.CaPool] + * configuration. + * + * Generated from protobuf field .google.protobuf.Timestamp requested_not_before_time = 15 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setRequestedNotBeforeTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->requested_not_before_time = $var; + + return $this; + } + /** * @return string */ diff --git a/SecurityPrivateCa/src/V1/Client/CertificateAuthorityServiceClient.php b/SecurityPrivateCa/src/V1/Client/CertificateAuthorityServiceClient.php index f8b7a5819a18..922eddae8f6e 100644 --- a/SecurityPrivateCa/src/V1/Client/CertificateAuthorityServiceClient.php +++ b/SecurityPrivateCa/src/V1/Client/CertificateAuthorityServiceClient.php @@ -1375,6 +1375,21 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. + + This method lists locations based on the resource scope provided in + the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + **Global locations**: If `name` is empty, the method lists the + public locations available to all projects. * **Project-specific + locations**: If `name` follows the format + `projects/{project}`, the method lists locations visible to that + specific project. This includes public, private, or other + project-specific locations enabled for the project. + + For gRPC and client library implementations, the resource name is + passed as the `name` field. For direct service calls, the resource + name is + incorporated into the request path based on the specific service + implementation and version. * * The async variant is * {@see CertificateAuthorityServiceClient::listLocationsAsync()} . diff --git a/SecurityPrivateCa/src/V1/EncryptionSpec.php b/SecurityPrivateCa/src/V1/EncryptionSpec.php new file mode 100644 index 000000000000..329f51897689 --- /dev/null +++ b/SecurityPrivateCa/src/V1/EncryptionSpec.php @@ -0,0 +1,71 @@ +google.cloud.security.privateca.v1.EncryptionSpec + */ +class EncryptionSpec extends \Google\Protobuf\Internal\Message +{ + /** + * The resource name for a Cloud KMS key in the format + * `projects/{@*}locations/{@*}keyRings/{@*}cryptoKeys/*`. + * + * Generated from protobuf field string cloud_kms_key = 1; + */ + protected $cloud_kms_key = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $cloud_kms_key + * The resource name for a Cloud KMS key in the format + * `projects/{@*}locations/{@*}keyRings/{@*}cryptoKeys/*`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Security\Privateca\V1\Resources::initOnce(); + parent::__construct($data); + } + + /** + * The resource name for a Cloud KMS key in the format + * `projects/{@*}locations/{@*}keyRings/{@*}cryptoKeys/*`. + * + * Generated from protobuf field string cloud_kms_key = 1; + * @return string + */ + public function getCloudKmsKey() + { + return $this->cloud_kms_key; + } + + /** + * The resource name for a Cloud KMS key in the format + * `projects/{@*}locations/{@*}keyRings/{@*}cryptoKeys/*`. + * + * Generated from protobuf field string cloud_kms_key = 1; + * @param string $var + * @return $this + */ + public function setCloudKmsKey($var) + { + GPBUtil::checkString($var, True); + $this->cloud_kms_key = $var; + + return $this; + } + +} + diff --git a/SecurityPrivateCa/src/V1/ListCertificatesRequest.php b/SecurityPrivateCa/src/V1/ListCertificatesRequest.php index 9c3f1b78bd1e..9313f4111e6e 100644 --- a/SecurityPrivateCa/src/V1/ListCertificatesRequest.php +++ b/SecurityPrivateCa/src/V1/ListCertificatesRequest.php @@ -17,9 +17,16 @@ class ListCertificatesRequest extends \Google\Protobuf\Internal\Message { /** - * Required. The resource name of the location associated with the + * Required. The resource name of the parent associated with the * [Certificates][google.cloud.security.privateca.v1.Certificate], in the - * format `projects/{@*}locations/{@*}caPools/*`. + * format `projects/{@*}locations/{@*}caPools/*`. The parent resource name can be + * in one of two forms: + * 1. **Specific CA Pool:** To list certificates within a single CA Pool: + * `projects/{@*}locations/{@*}caPools/*` + * 2. **All CA Pools in a Location:** To list certificates across *all* CA + * Pools in a given project and location, use the wildcard character (`-`) + * in place of the CA Pool ID. + * Example: `projects/{@*}locations/{@*}caPools/-` * * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { */ @@ -62,10 +69,19 @@ class ListCertificatesRequest extends \Google\Protobuf\Internal\Message protected $order_by = ''; /** - * @param string $parent Required. The resource name of the location associated with the + * @param string $parent Required. The resource name of the parent associated with the * [Certificates][google.cloud.security.privateca.v1.Certificate], in the - * format `projects/*/locations/*/caPools/*`. Please see - * {@see CertificateAuthorityServiceClient::caPoolName()} for help formatting this field. + * format `projects/*/locations/*/caPools/*`. The parent resource name can be + * in one of two forms: + * + * 1. **Specific CA Pool:** To list certificates within a single CA Pool: + * `projects/*/locations/*/caPools/*` + * + * 2. **All CA Pools in a Location:** To list certificates across *all* CA + * Pools in a given project and location, use the wildcard character (`-`) + * in place of the CA Pool ID. + * Example: `projects/*/locations/*/caPools/-` + * Please see {@see CertificateAuthorityServiceClient::caPoolName()} for help formatting this field. * * @return \Google\Cloud\Security\PrivateCA\V1\ListCertificatesRequest * @@ -84,9 +100,16 @@ public static function build(string $parent): self * Optional. Data for populating the Message object. * * @type string $parent - * Required. The resource name of the location associated with the + * Required. The resource name of the parent associated with the * [Certificates][google.cloud.security.privateca.v1.Certificate], in the - * format `projects/{@*}locations/{@*}caPools/*`. + * format `projects/{@*}locations/{@*}caPools/*`. The parent resource name can be + * in one of two forms: + * 1. **Specific CA Pool:** To list certificates within a single CA Pool: + * `projects/{@*}locations/{@*}caPools/*` + * 2. **All CA Pools in a Location:** To list certificates across *all* CA + * Pools in a given project and location, use the wildcard character (`-`) + * in place of the CA Pool ID. + * Example: `projects/{@*}locations/{@*}caPools/-` * @type int $page_size * Optional. Limit on the number of * [Certificates][google.cloud.security.privateca.v1.Certificate] to include @@ -115,9 +138,16 @@ public function __construct($data = NULL) { } /** - * Required. The resource name of the location associated with the + * Required. The resource name of the parent associated with the * [Certificates][google.cloud.security.privateca.v1.Certificate], in the - * format `projects/{@*}locations/{@*}caPools/*`. + * format `projects/{@*}locations/{@*}caPools/*`. The parent resource name can be + * in one of two forms: + * 1. **Specific CA Pool:** To list certificates within a single CA Pool: + * `projects/{@*}locations/{@*}caPools/*` + * 2. **All CA Pools in a Location:** To list certificates across *all* CA + * Pools in a given project and location, use the wildcard character (`-`) + * in place of the CA Pool ID. + * Example: `projects/{@*}locations/{@*}caPools/-` * * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { * @return string @@ -128,9 +158,16 @@ public function getParent() } /** - * Required. The resource name of the location associated with the + * Required. The resource name of the parent associated with the * [Certificates][google.cloud.security.privateca.v1.Certificate], in the - * format `projects/{@*}locations/{@*}caPools/*`. + * format `projects/{@*}locations/{@*}caPools/*`. The parent resource name can be + * in one of two forms: + * 1. **Specific CA Pool:** To list certificates within a single CA Pool: + * `projects/{@*}locations/{@*}caPools/*` + * 2. **All CA Pools in a Location:** To list certificates across *all* CA + * Pools in a given project and location, use the wildcard character (`-`) + * in place of the CA Pool ID. + * Example: `projects/{@*}locations/{@*}caPools/-` * * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { * @param string $var diff --git a/Spanner/src/Operation.php b/Spanner/src/Operation.php index 4740e82985d8..16c1f0aaf12f 100644 --- a/Spanner/src/Operation.php +++ b/Spanner/src/Operation.php @@ -1005,8 +1005,12 @@ private function formatPartitionQueryOptions(array $args): array $parameters = $args['parameters'] ?? []; $types = $args['types'] ?? []; - $paramsAndParamTypes = $this->mapper->formatParamsForExecuteSql($parameters, $types); - return $this->formatSqlParams($paramsAndParamTypes); + /** @var array{params: array, paramTypes: array} $paramsAndParamTypes */ + $paramsAndParamTypes = $this->formatSqlParams( + $this->mapper->formatParamsForExecuteSql($parameters, $types) + ); + + return $paramsAndParamTypes; } /** diff --git a/Spanner/src/ValueMapper.php b/Spanner/src/ValueMapper.php index 636d84b26cde..93344374bbec 100644 --- a/Spanner/src/ValueMapper.php +++ b/Spanner/src/ValueMapper.php @@ -137,7 +137,7 @@ public function __construct(bool $returnInt64AsObject) * * @param array $parameters The key/value parameters. * @param array $types The types of values. - * @return array An associative array containing params and paramTypes. + * @return array{params: array, paramTypes: array} */ public function formatParamsForExecuteSql(array $parameters, array $types = []): array { @@ -836,8 +836,7 @@ private function objectParam(mixed $value): array * @param int $typeAnnotation The type annotation code * @param array $nestedDefinition [optional] A nested definition, to define * the structure of an array or struct type. - * @param string $nestedDefinitionType [optional] Either `arrayElementType` - * or `structType`. + * @param 'arrayElementType'|'structType'|null $nestedDefinitionType * @return array{ * code?: int, * arrayElementType?: array, diff --git a/SqlAdmin/metadata/V1/CloudSqlInstances.php b/SqlAdmin/metadata/V1/CloudSqlInstances.php index 0db52cf01183..8f0ef5b7d71d 100644 --- a/SqlAdmin/metadata/V1/CloudSqlInstances.php +++ b/SqlAdmin/metadata/V1/CloudSqlInstances.php @@ -24,7 +24,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\Wrappers::initOnce(); \GPBMetadata\Google\Rpc\Status::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xB7\xED\x01\x0A-google/cloud/sql/v1/cloud_sql_instances.proto\x12\x13google.cloud.sql.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A-google/cloud/sql/v1/cloud_sql_resources.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x1Egoogle/protobuf/wrappers.proto\x1A\x17google/rpc/status.proto\"C\x0A\x1ESqlInstancesAddServerCaRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"L\x0A'SqlInstancesAddServerCertificateRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"W\x0A(SqlInstancesAddEntraIdCertificateRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\"\x86\x01\x0A\x18SqlInstancesCloneRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\x12=\x0A\x04body\x18d \x01(\x0B2*.google.cloud.sql.v1.InstancesCloneRequestB\x03\xE0A\x02\"\x98\x02\x0A\x19SqlInstancesDeleteRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12 \x0A\x13enable_final_backup\x18\x07 \x01(\x08H\x01\x88\x01\x01\x12\$\x0A\x15final_backup_ttl_days\x18\x04 \x01(\x03B\x03\xE0A\x01H\x00\x12C\x0A\x18final_backup_expiry_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01H\x00\x12%\x0A\x18final_backup_description\x18\x05 \x01(\x09B\x03\xE0A\x01B\x0C\x0A\x0AexpirationB\x16\x0A\x14_enable_final_backup\"\x85\x01\x0A\x1FSqlInstancesDemoteMasterRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12?\x0A\x04body\x18d \x01(\x0B21.google.cloud.sql.v1.InstancesDemoteMasterRequest\"\x88\x01\x0A\x19SqlInstancesDemoteRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\x12>\x0A\x04body\x18d \x01(\x0B2+.google.cloud.sql.v1.InstancesDemoteRequestB\x03\xE0A\x02\"y\x0A\x19SqlInstancesExportRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x129\x0A\x04body\x18d \x01(\x0B2+.google.cloud.sql.v1.InstancesExportRequest\"}\x0A\x1BSqlInstancesFailoverRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12;\x0A\x04body\x18d \x01(\x0B2-.google.cloud.sql.v1.InstancesFailoverRequest\"E\x0A\x16SqlInstancesGetRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\"y\x0A\x19SqlInstancesImportRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x129\x0A\x04body\x18d \x01(\x0B2+.google.cloud.sql.v1.InstancesImportRequest\"a\x0A\x19SqlInstancesInsertRequest\x12\x0F\x0A\x07project\x18\x01 \x01(\x09\x123\x0A\x04body\x18d \x01(\x0B2%.google.cloud.sql.v1.DatabaseInstance\"c\x0A\x17SqlInstancesListRequest\x12\x0E\x0A\x06filter\x18\x01 \x01(\x09\x12\x13\x0A\x0Bmax_results\x18\x02 \x01(\x0D\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\x12\x0F\x0A\x07project\x18\x04 \x01(\x09\"E\x0A SqlInstancesListServerCasRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"X\x0A)SqlInstancesListServerCertificatesRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\"Y\x0A*SqlInstancesListEntraIdCertificatesRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\"r\x0A\x18SqlInstancesPatchRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x123\x0A\x04body\x18d \x01(\x0B2%.google.cloud.sql.v1.DatabaseInstance\"X\x0A!SqlInstancesPromoteReplicaRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12\x10\x0A\x08failover\x18\x03 \x01(\x08\"v\x0A\x1DSqlInstancesSwitchoverRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x122\x0A\x0Adb_timeout\x18\x03 \x01(\x0B2\x19.google.protobuf.DurationB\x03\xE0A\x01\"\xEE\x01\x0A!SqlInstancesResetSslConfigRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12V\x0A\x04mode\x18\x03 \x01(\x0E2C.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest.ResetSslModeB\x03\xE0A\x01\"N\x0A\x0CResetSslMode\x12\x1E\x0A\x1ARESET_SSL_MODE_UNSPECIFIED\x10\x00\x12\x07\x0A\x03ALL\x10\x01\x12\x15\x0A\x11SYNC_FROM_PRIMARY\x10\x02\"?\x0A\x1ASqlInstancesRestartRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"\x87\x01\x0A SqlInstancesRestoreBackupRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12@\x0A\x04body\x18d \x01(\x0B22.google.cloud.sql.v1.InstancesRestoreBackupRequest\"\x89\x01\x0A!SqlInstancesRotateServerCaRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12A\x0A\x04body\x18d \x01(\x0B23.google.cloud.sql.v1.InstancesRotateServerCaRequest\"\xAA\x01\x0A*SqlInstancesRotateServerCertificateRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\x12O\x0A\x04body\x18d \x01(\x0B2<.google.cloud.sql.v1.InstancesRotateServerCertificateRequestB\x03\xE0A\x01\"\xAC\x01\x0A+SqlInstancesRotateEntraIdCertificateRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\x12P\x0A\x04body\x18d \x01(\x0B2=.google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequestB\x03\xE0A\x01\"D\x0A\x1FSqlInstancesStartReplicaRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"C\x0A\x1ESqlInstancesStopReplicaRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"\x83\x01\x0A\x1ESqlInstancesTruncateLogRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12>\x0A\x04body\x18d \x01(\x0B20.google.cloud.sql.v1.InstancesTruncateLogRequest\"\x86\x01\x0A\$SqlInstancesPerformDiskShrinkRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12;\x0A\x04body\x18d \x01(\x0B2-.google.cloud.sql.v1.PerformDiskShrinkContext\"s\x0A\x19SqlInstancesUpdateRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x123\x0A\x04body\x18d \x01(\x0B2%.google.cloud.sql.v1.DatabaseInstance\"\x9E\x01\x0A(SqlInstancesRescheduleMaintenanceRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12O\x0A\x04body\x18d \x01(\x0B2A.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody\"\x7F\x0A\x1CSqlInstancesReencryptRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12<\x0A\x04body\x18\x03 \x01(\x0B2..google.cloud.sql.v1.InstancesReencryptRequest\"\x92\x01\x0A\x19InstancesReencryptRequest\x12V\x0A\x1Abackup_reencryption_config\x18\x01 \x01(\x0B2-.google.cloud.sql.v1.BackupReencryptionConfigH\x00\x88\x01\x01B\x1D\x0A\x1B_backup_reencryption_config\"\xF3\x01\x0A\x18BackupReencryptionConfig\x12\x19\x0A\x0Cbackup_limit\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12R\x0A\x0Bbackup_type\x18\x02 \x01(\x0E28.google.cloud.sql.v1.BackupReencryptionConfig.BackupTypeH\x01\x88\x01\x01\"G\x0A\x0ABackupType\x12\x1B\x0A\x17BACKUP_TYPE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09AUTOMATED\x10\x01\x12\x0D\x0A\x09ON_DEMAND\x10\x02B\x0F\x0A\x0D_backup_limitB\x0E\x0A\x0C_backup_type\".\x0A\x1AExternalSyncSelectedObject\x12\x10\x0A\x08database\x18\x01 \x01(\x09\"K\x0A&SqlInstancesGetDiskShrinkConfigRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"\x85\x06\x0A-SqlInstancesVerifyExternalSyncSettingsRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12\x1E\x0A\x16verify_connection_only\x18\x03 \x01(\x08\x12f\x0A\x09sync_mode\x18\x04 \x01(\x0E2S.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.ExternalSyncMode\x12\$\x0A\x17verify_replication_only\x18\x05 \x01(\x08B\x03\xE0A\x01\x12F\x0A\x11mysql_sync_config\x18\x06 \x01(\x0B2\$.google.cloud.sql.v1.MySqlSyncConfigB\x03\xE0A\x01H\x00\x12m\x0A\x0Emigration_type\x18\x07 \x01(\x0E2P.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.MigrationTypeB\x03\xE0A\x01\x12P\x0A\x13sync_parallel_level\x18\x08 \x01(\x0E2..google.cloud.sql.v1.ExternalSyncParallelLevelB\x03\xE0A\x01\x12N\x0A\x10selected_objects\x18\x09 \x03(\x0B2/.google.cloud.sql.v1.ExternalSyncSelectedObjectB\x03\xE0A\x01\"O\x0A\x10ExternalSyncMode\x12\"\x0A\x1EEXTERNAL_SYNC_MODE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06ONLINE\x10\x01\x12\x0B\x0A\x07OFFLINE\x10\x02\"J\x0A\x0DMigrationType\x12\x1E\x0A\x1AMIGRATION_TYPE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07LOGICAL\x10\x01\x12\x0C\x0A\x08PHYSICAL\x10\x02B\x0D\x0A\x0Bsync_config\"\x87\x04\x0A\$SqlInstancesStartExternalSyncRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12f\x0A\x09sync_mode\x18\x03 \x01(\x0E2S.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.ExternalSyncMode\x12\x19\x0A\x11skip_verification\x18\x04 \x01(\x08\x12A\x0A\x11mysql_sync_config\x18\x06 \x01(\x0B2\$.google.cloud.sql.v1.MySqlSyncConfigH\x00\x12P\x0A\x13sync_parallel_level\x18\x07 \x01(\x0E2..google.cloud.sql.v1.ExternalSyncParallelLevelB\x03\xE0A\x01\x12m\x0A\x0Emigration_type\x18\x08 \x01(\x0E2P.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.MigrationTypeB\x03\xE0A\x01\x12&\x0A\x19replica_overwrite_enabled\x18\x09 \x01(\x08B\x03\xE0A\x01B\x0D\x0A\x0Bsync_config\"H\x0A#SqlInstancesResetReplicaSizeRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"\x8E\x01\x0A&SqlInstancesCreateEphemeralCertRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12A\x0A\x04body\x18d \x01(\x0B23.google.cloud.sql.v1.SslCertsCreateEphemeralRequest\"V\x0A\x15InstancesCloneRequest\x12=\x0A\x0Dclone_context\x18\x01 \x01(\x0B2!.google.cloud.sql.v1.CloneContextB\x03\xE0A\x02\"g\x0A\x1CInstancesDemoteMasterRequest\x12G\x0A\x15demote_master_context\x18\x01 \x01(\x0B2(.google.cloud.sql.v1.DemoteMasterContext\"Y\x0A\x16InstancesDemoteRequest\x12?\x0A\x0Edemote_context\x18\x01 \x01(\x0B2\".google.cloud.sql.v1.DemoteContextB\x03\xE0A\x02\"T\x0A\x16InstancesExportRequest\x12:\x0A\x0Eexport_context\x18\x01 \x01(\x0B2\".google.cloud.sql.v1.ExportContext\"Z\x0A\x18InstancesFailoverRequest\x12>\x0A\x10failover_context\x18\x01 \x01(\x0B2\$.google.cloud.sql.v1.FailoverContext\"d\x0A\x1ESslCertsCreateEphemeralRequest\x12\x1E\x0A\x0Apublic_key\x18\x01 \x01(\x09R\x0Apublic_key\x12\"\x0A\x0Caccess_token\x18\x02 \x01(\x09R\x0Caccess_token\"T\x0A\x16InstancesImportRequest\x12:\x0A\x0Eimport_context\x18\x01 \x01(\x0B2\".google.cloud.sql.v1.ImportContext\"\x9C\x01\x0A+InstancesPreCheckMajorVersionUpgradeRequest\x12m\x0A'pre_check_major_version_upgrade_context\x18\x01 \x01(\x0B27.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContextB\x03\xE0A\x02\"\xA7\x01\x0A\x15InstancesListResponse\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x121\x0A\x08warnings\x18\x02 \x03(\x0B2\x1F.google.cloud.sql.v1.ApiWarning\x124\x0A\x05items\x18\x03 \x03(\x0B2%.google.cloud.sql.v1.DatabaseInstance\x12\x17\x0A\x0Fnext_page_token\x18\x04 \x01(\x09\"s\x0A\x1EInstancesListServerCasResponse\x12+\x0A\x05certs\x18\x01 \x03(\x0B2\x1C.google.cloud.sql.v1.SslCert\x12\x16\x0A\x0Eactive_version\x18\x02 \x01(\x09\x12\x0C\x0A\x04kind\x18\x03 \x01(\x09\"\xB3\x01\x0A'InstancesListServerCertificatesResponse\x12.\x0A\x08ca_certs\x18\x01 \x03(\x0B2\x1C.google.cloud.sql.v1.SslCert\x122\x0A\x0Cserver_certs\x18\x02 \x03(\x0B2\x1C.google.cloud.sql.v1.SslCert\x12\x16\x0A\x0Eactive_version\x18\x03 \x01(\x09\x12\x0C\x0A\x04kind\x18\x04 \x01(\x09\"}\x0A(InstancesListEntraIdCertificatesResponse\x12+\x0A\x05certs\x18\x01 \x03(\x0B2\x1C.google.cloud.sql.v1.SslCert\x12\x16\x0A\x0Eactive_version\x18\x02 \x01(\x09\x12\x0C\x0A\x04kind\x18\x03 \x01(\x09\"\xE7\x02\x0A\x1DInstancesRestoreBackupRequest\x12I\x0A\x16restore_backup_context\x18\x01 \x01(\x0B2).google.cloud.sql.v1.RestoreBackupContext\x123\x0A\x06backup\x18\x02 \x01(\x09B#\xFAA \x0A\x1Esqladmin.googleapis.com/Backup\x12<\x0A\x0Fbackupdr_backup\x18\x04 \x01(\x09B#\xFAA \x0A\x1Ebackupdr.googleapis.com/Backup\x12M\x0A\x19restore_instance_settings\x18\x03 \x01(\x0B2%.google.cloud.sql.v1.DatabaseInstanceB\x03\xE0A\x01\x129\x0A,restore_instance_clear_overrides_field_names\x18\x05 \x03(\x09B\x03\xE0A\x01\"n\x0A\x1EInstancesRotateServerCaRequest\x12L\x0A\x18rotate_server_ca_context\x18\x01 \x01(\x0B2*.google.cloud.sql.v1.RotateServerCaContext\"\x8E\x01\x0A'InstancesRotateServerCertificateRequest\x12c\x0A!rotate_server_certificate_context\x18\x01 \x01(\x0B23.google.cloud.sql.v1.RotateServerCertificateContextB\x03\xE0A\x01\"\x92\x01\x0A(InstancesRotateEntraIdCertificateRequest\x12f\x0A#rotate_entra_id_certificate_context\x18\x01 \x01(\x0B24.google.cloud.sql.v1.RotateEntraIdCertificateContextB\x03\xE0A\x01\"d\x0A\x1BInstancesTruncateLogRequest\x12E\x0A\x14truncate_log_context\x18\x01 \x01(\x0B2'.google.cloud.sql.v1.TruncateLogContext\"t\x0A InstancesAcquireSsrsLeaseRequest\x12P\x0A\x1Aacquire_ssrs_lease_context\x18\x01 \x01(\x0B2,.google.cloud.sql.v1.AcquireSsrsLeaseContext\"\xB2\x01\x0A.SqlInstancesPreCheckMajorVersionUpgradeRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\x12S\x0A\x04body\x18\x03 \x01(\x0B2@.google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequestB\x03\xE0A\x02\"\xC4\x01\x0A.SqlInstancesVerifyExternalSyncSettingsResponse\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12@\x0A\x06errors\x18\x02 \x03(\x0B20.google.cloud.sql.v1.SqlExternalSyncSettingError\x12B\x0A\x08warnings\x18\x03 \x03(\x0B20.google.cloud.sql.v1.SqlExternalSyncSettingError\"h\x0A'SqlInstancesGetDiskShrinkConfigResponse\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x1E\x0A\x16minimal_target_size_gb\x18\x02 \x01(\x03\x12\x0F\x0A\x07message\x18\x03 \x01(\x09\"\xB7\x01\x0A(SqlInstancesGetLatestRecoveryTimeRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12F\x0A\x1Dsource_instance_deletion_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampH\x00\x88\x01\x01B \x0A\x1E_source_instance_deletion_time\"\xAF\x01\x0A)SqlInstancesGetLatestRecoveryTimeResponse\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x128\x0A\x14latest_recovery_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12:\x0A\x16earliest_recovery_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.Timestamp\"\x94\x05\x0A\x0CCloneContext\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x19\x0A\x11pitr_timestamp_ms\x18\x02 \x01(\x03\x12&\x0A\x19destination_instance_name\x18\x03 \x01(\x09B\x03\xE0A\x02\x12C\x0A\x13bin_log_coordinates\x18\x04 \x01(\x0B2&.google.cloud.sql.v1.BinLogCoordinates\x121\x0A\x0Dpoint_in_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x1A\x0A\x12allocated_ip_range\x18\x06 \x01(\x09\x12\x16\x0A\x0Edatabase_names\x18\x09 \x03(\x09\x12 \x0A\x0Epreferred_zone\x18\x0A \x01(\x09B\x03\xE0A\x01H\x00\x88\x01\x01\x12*\x0A\x18preferred_secondary_zone\x18\x0B \x01(\x09B\x03\xE0A\x01H\x01\x88\x01\x01\x12F\x0A\x1Dsource_instance_deletion_time\x18\x0C \x01(\x0B2\x1A.google.protobuf.TimestampH\x02\x88\x01\x01\x12%\x0A\x13destination_project\x18\x0D \x01(\x09B\x03\xE0A\x01H\x03\x88\x01\x01\x12H\x0A\x13destination_network\x18\x0E \x01(\x09B&\xE0A\x01\xFAA \x0A\x1Ecompute.googleapis.com/NetworkH\x04\x88\x01\x01B\x11\x0A\x0F_preferred_zoneB\x1B\x0A\x19_preferred_secondary_zoneB \x0A\x1E_source_instance_deletion_timeB\x16\x0A\x14_destination_projectB\x16\x0A\x14_destination_network\"\x9F\x03\x0A\x19PointInTimeRestoreContext\x12\x17\x0A\x0Adatasource\x18\x01 \x01(\x09H\x00\x88\x01\x01\x126\x0A\x0Dpoint_in_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x02\x12\x1C\x0A\x0Ftarget_instance\x18\x03 \x01(\x09H\x01\x88\x01\x01\x12!\x0A\x0Fprivate_network\x18\x04 \x01(\x09B\x03\xE0A\x01H\x02\x88\x01\x01\x12\$\x0A\x12allocated_ip_range\x18\x05 \x01(\x09B\x03\xE0A\x01H\x03\x88\x01\x01\x12 \x0A\x0Epreferred_zone\x18\x06 \x01(\x09B\x03\xE0A\x01H\x04\x88\x01\x01\x12*\x0A\x18preferred_secondary_zone\x18\x09 \x01(\x09B\x03\xE0A\x01H\x05\x88\x01\x01B\x0D\x0A\x0B_datasourceB\x12\x0A\x10_target_instanceB\x12\x0A\x10_private_networkB\x15\x0A\x13_allocated_ip_rangeB\x11\x0A\x0F_preferred_zoneB\x1B\x0A\x19_preferred_secondary_zone\"V\x0A\x11BinLogCoordinates\x12\x19\x0A\x11bin_log_file_name\x18\x01 \x01(\x09\x12\x18\x0A\x10bin_log_position\x18\x02 \x01(\x03\x12\x0C\x0A\x04kind\x18\x03 \x01(\x09\"\x80#\x0A\x10DatabaseInstance\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12E\x0A\x05state\x18\x02 \x01(\x0E26.google.cloud.sql.v1.DatabaseInstance.SqlInstanceState\x12A\x0A\x10database_version\x18\x03 \x01(\x0E2'.google.cloud.sql.v1.SqlDatabaseVersion\x12/\x0A\x08settings\x18\x04 \x01(\x0B2\x1D.google.cloud.sql.v1.Settings\x12\x0C\x0A\x04etag\x18\x05 \x01(\x09\x12R\x0A\x10failover_replica\x18\x06 \x01(\x0B28.google.cloud.sql.v1.DatabaseInstance.SqlFailoverReplica\x12\x1C\x0A\x14master_instance_name\x18\x07 \x01(\x09\x12\x15\x0A\x0Dreplica_names\x18\x08 \x03(\x09\x126\x0A\x0Dmax_disk_size\x18\x09 \x01(\x0B2\x1B.google.protobuf.Int64ValueB\x02\x18\x01\x12:\x0A\x11current_disk_size\x18\x0A \x01(\x0B2\x1B.google.protobuf.Int64ValueB\x02\x18\x01\x124\x0A\x0Cip_addresses\x18\x0B \x03(\x0B2\x1E.google.cloud.sql.v1.IpMapping\x124\x0A\x0Eserver_ca_cert\x18\x0C \x01(\x0B2\x1C.google.cloud.sql.v1.SslCert\x12;\x0A\x0Dinstance_type\x18\x0D \x01(\x0E2\$.google.cloud.sql.v1.SqlInstanceType\x12\x0F\x0A\x07project\x18\x0E \x01(\x09\x12\x18\x0A\x0Cipv6_address\x18\x0F \x01(\x09B\x02\x18\x01\x12%\x0A\x1Dservice_account_email_address\x18\x10 \x01(\x09\x12O\x0A\x19on_premises_configuration\x18\x11 \x01(\x0B2,.google.cloud.sql.v1.OnPremisesConfiguration\x12H\x0A\x15replica_configuration\x18\x12 \x01(\x0B2).google.cloud.sql.v1.ReplicaConfiguration\x129\x0A\x0Cbackend_type\x18\x13 \x01(\x0E2#.google.cloud.sql.v1.SqlBackendType\x12\x11\x0A\x09self_link\x18\x14 \x01(\x09\x12C\x0A\x11suspension_reason\x18\x15 \x03(\x0E2(.google.cloud.sql.v1.SqlSuspensionReason\x12\x17\x0A\x0Fconnection_name\x18\x16 \x01(\x09\x12\x0C\x0A\x04name\x18\x17 \x01(\x09\x12\x0E\x0A\x06region\x18\x18 \x01(\x09\x12\x10\x0A\x08gce_zone\x18\x19 \x01(\x09\x12\x1A\x0A\x12secondary_gce_zone\x18\" \x01(\x09\x12W\x0A\x1Ddisk_encryption_configuration\x18\x1A \x01(\x0B20.google.cloud.sql.v1.DiskEncryptionConfiguration\x12I\x0A\x16disk_encryption_status\x18\x1B \x01(\x0B2).google.cloud.sql.v1.DiskEncryptionStatus\x12\x15\x0A\x0Droot_password\x18\x1D \x01(\x09\x12\\\x0A\x15scheduled_maintenance\x18\x1E \x01(\x0B2=.google.cloud.sql.v1.DatabaseInstance.SqlScheduledMaintenance\x121\x0A\x0Dsatisfies_pzs\x18# \x01(\x0B2\x1A.google.protobuf.BoolValue\x12'\x0A\x1Adatabase_installed_version\x18( \x01(\x09B\x03\xE0A\x03\x12Y\x0A\x12out_of_disk_report\x18& \x01(\x0B28.google.cloud.sql.v1.DatabaseInstance.SqlOutOfDiskReportH\x00\x88\x01\x01\x124\x0A\x0Bcreate_time\x18' \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12+\x0A\x1Eavailable_maintenance_versions\x18) \x03(\x09B\x03\xE0A\x03\x12\x1B\x0A\x13maintenance_version\x18* \x01(\x09\x12X\x0A\x1Cupgradable_database_versions\x18- \x03(\x0B2-.google.cloud.sql.v1.AvailableDatabaseVersionB\x03\xE0A\x03\x12c\x0A\x18sql_network_architecture\x18/ \x01(\x0E2<.google.cloud.sql.v1.DatabaseInstance.SqlNetworkArchitectureH\x01\x88\x01\x01\x12-\x0A\x1Bpsc_service_attachment_link\x180 \x01(\x09B\x03\xE0A\x03H\x02\x88\x01\x01\x12\x1A\x0A\x08dns_name\x181 \x01(\x09B\x03\xE0A\x03H\x03\x88\x01\x01\x12\$\x0A\x10primary_dns_name\x183 \x01(\x09B\x05\x18\x01\xE0A\x03H\x04\x88\x01\x01\x12 \x0A\x0Ewrite_endpoint\x184 \x01(\x09B\x03\xE0A\x03H\x05\x88\x01\x01\x12I\x0A\x13replication_cluster\x186 \x01(\x0B2'.google.cloud.sql.v1.ReplicationClusterB\x03\xE0A\x01\x12E\x0A\x0Dgemini_config\x187 \x01(\x0B2).google.cloud.sql.v1.GeminiInstanceConfigH\x06\x88\x01\x01\x126\x0A\x0Dsatisfies_pzi\x188 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x03\x12^\x0A0switch_transaction_logs_to_cloud_storage_enabled\x189 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x04H\x07\x88\x01\x01\x12X\x0A*include_replicas_for_major_version_upgrade\x18; \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x04H\x08\x88\x01\x01\x12H\x0A\x04tags\x18< \x03(\x0B2/.google.cloud.sql.v1.DatabaseInstance.TagsEntryB\x09\xE0A\x04\xE0A\x05\xE0A\x01\x12\x17\x0A\x0Anode_count\x18? \x01(\x05H\x09\x88\x01\x01\x12H\x0A\x05nodes\x18@ \x03(\x0B24.google.cloud.sql.v1.DatabaseInstance.PoolNodeConfigB\x03\xE0A\x03\x12;\x0A\x09dns_names\x18C \x03(\x0B2#.google.cloud.sql.v1.DnsNameMappingB\x03\xE0A\x03\x1AQ\x0A\x12SqlFailoverReplica\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12-\x0A\x09available\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValue\x1A\xD4\x01\x0A\x17SqlScheduledMaintenance\x12.\x0A\x0Astart_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x15\x0A\x09can_defer\x18\x02 \x01(\x08B\x02\x18\x01\x12\x16\x0A\x0Ecan_reschedule\x18\x03 \x01(\x08\x12?\x0A\x16schedule_deadline_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampH\x00\x88\x01\x01B\x19\x0A\x17_schedule_deadline_time\x1A\xD5\x02\x0A\x12SqlOutOfDiskReport\x12n\x0A\x15sql_out_of_disk_state\x18\x01 \x01(\x0E2J.google.cloud.sql.v1.DatabaseInstance.SqlOutOfDiskReport.SqlOutOfDiskStateH\x00\x88\x01\x01\x121\x0A\$sql_min_recommended_increase_size_gb\x18\x02 \x01(\x05H\x01\x88\x01\x01\"Y\x0A\x11SqlOutOfDiskState\x12%\x0A!SQL_OUT_OF_DISK_STATE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06NORMAL\x10\x01\x12\x11\x0A\x0DSOFT_SHUTDOWN\x10\x02B\x18\x0A\x16_sql_out_of_disk_stateB'\x0A%_sql_min_recommended_increase_size_gb\x1A\xF6\x03\x0A\x0EPoolNodeConfig\x12\x16\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03H\x00\x88\x01\x01\x12\x1A\x0A\x08gce_zone\x18\x02 \x01(\x09B\x03\xE0A\x03H\x01\x88\x01\x01\x129\x0A\x0Cip_addresses\x18\x03 \x03(\x0B2\x1E.google.cloud.sql.v1.IpMappingB\x03\xE0A\x03\x12\x1A\x0A\x08dns_name\x18\x04 \x01(\x09B\x03\xE0A\x03H\x02\x88\x01\x01\x12O\x0A\x05state\x18\x05 \x01(\x0E26.google.cloud.sql.v1.DatabaseInstance.SqlInstanceStateB\x03\xE0A\x03H\x03\x88\x01\x01\x12;\x0A\x09dns_names\x18\x06 \x03(\x0B2#.google.cloud.sql.v1.DnsNameMappingB\x03\xE0A\x03\x12-\x0A\x1Bpsc_service_attachment_link\x18\x07 \x01(\x09B\x03\xE0A\x03H\x04\x88\x01\x01\x12O\x0A\x14psc_auto_connections\x18\x08 \x03(\x0B2,.google.cloud.sql.v1.PscAutoConnectionConfigB\x03\xE0A\x03B\x07\x0A\x05_nameB\x0B\x0A\x09_gce_zoneB\x0B\x0A\x09_dns_nameB\x08\x0A\x06_stateB\x1E\x0A\x1C_psc_service_attachment_link\x1A+\x0A\x09TagsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xC3\x01\x0A\x10SqlInstanceState\x12\"\x0A\x1ESQL_INSTANCE_STATE_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08RUNNABLE\x10\x01\x12\x0D\x0A\x09SUSPENDED\x10\x02\x12\x12\x0A\x0EPENDING_DELETE\x10\x03\x12\x12\x0A\x0EPENDING_CREATE\x10\x04\x12\x0F\x0A\x0BMAINTENANCE\x10\x05\x12\x0A\x0A\x06FAILED\x10\x06\x12\x1A\x0A\x12ONLINE_MAINTENANCE\x10\x07\x1A\x02\x08\x01\x12\x0D\x0A\x09REPAIRING\x10\x08\"~\x0A\x16SqlNetworkArchitecture\x12(\x0A\$SQL_NETWORK_ARCHITECTURE_UNSPECIFIED\x10\x00\x12\x1C\x0A\x18NEW_NETWORK_ARCHITECTURE\x10\x01\x12\x1C\x0A\x18OLD_NETWORK_ARCHITECTURE\x10\x02B\x15\x0A\x13_out_of_disk_reportB\x1B\x0A\x19_sql_network_architectureB\x1E\x0A\x1C_psc_service_attachment_linkB\x0B\x0A\x09_dns_nameB\x13\x0A\x11_primary_dns_nameB\x11\x0A\x0F_write_endpointB\x10\x0A\x0E_gemini_configB3\x0A1_switch_transaction_logs_to_cloud_storage_enabledB-\x0A+_include_replicas_for_major_version_upgradeB\x0D\x0A\x0B_node_count\"\xA6\x03\x0A\x14GeminiInstanceConfig\x12\x1A\x0A\x08entitled\x18\x01 \x01(\x08B\x03\xE0A\x03H\x00\x88\x01\x01\x12,\x0A\x1Agoogle_vacuum_mgmt_enabled\x18\x02 \x01(\x08B\x03\xE0A\x03H\x01\x88\x01\x01\x12,\x0A\x1Aoom_session_cancel_enabled\x18\x03 \x01(\x08B\x03\xE0A\x03H\x02\x88\x01\x01\x12&\x0A\x14active_query_enabled\x18\x04 \x01(\x08B\x03\xE0A\x03H\x03\x88\x01\x01\x12'\x0A\x15index_advisor_enabled\x18\x05 \x01(\x08B\x03\xE0A\x03H\x04\x88\x01\x01\x12*\x0A\x18flag_recommender_enabled\x18\x06 \x01(\x08B\x03\xE0A\x03H\x05\x88\x01\x01B\x0B\x0A\x09_entitledB\x1D\x0A\x1B_google_vacuum_mgmt_enabledB\x1D\x0A\x1B_oom_session_cancel_enabledB\x17\x0A\x15_active_query_enabledB\x18\x0A\x16_index_advisor_enabledB\x1B\x0A\x19_flag_recommender_enabled\"u\x0A\x12ReplicationCluster\x12\x1F\x0A\x12psa_write_endpoint\x18\x01 \x01(\x09B\x03\xE0A\x03\x12%\x0A\x18failover_dr_replica_name\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x17\x0A\x0Adr_replica\x18\x04 \x01(\x08B\x03\xE0A\x03\"\x90\x01\x0A\x18AvailableDatabaseVersion\x12\x1A\x0A\x0Dmajor_version\x18\x03 \x01(\x09H\x00\x88\x01\x01\x12\x11\x0A\x04name\x18\x08 \x01(\x09H\x01\x88\x01\x01\x12\x19\x0A\x0Cdisplay_name\x18\x09 \x01(\x09H\x02\x88\x01\x01B\x10\x0A\x0E_major_versionB\x07\x0A\x05_nameB\x0F\x0A\x0D_display_name\"\xB2\x03\x0A,SqlInstancesRescheduleMaintenanceRequestBody\x12`\x0A\x0Areschedule\x18\x03 \x01(\x0B2L.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule\x1A\xAF\x01\x0A\x0AReschedule\x12i\x0A\x0Freschedule_type\x18\x01 \x01(\x0E2P.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.RescheduleType\x126\x0A\x0Dschedule_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\"n\x0A\x0ERescheduleType\x12\x1F\x0A\x1BRESCHEDULE_TYPE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09IMMEDIATE\x10\x01\x12\x19\x0A\x15NEXT_AVAILABLE_WINDOW\x10\x02\x12\x11\x0A\x0DSPECIFIC_TIME\x10\x03\"\xED\x01\x0A\x13DemoteMasterContext\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12;\x0A\x17verify_gtid_consistency\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12\x1C\x0A\x14master_instance_name\x18\x03 \x01(\x09\x12M\x0A\x15replica_configuration\x18\x04 \x01(\x0B2..google.cloud.sql.v1.DemoteMasterConfiguration\x12\x1E\x0A\x16skip_replication_setup\x18\x05 \x01(\x08\"O\x0A\x0DDemoteContext\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x120\x0A#source_representative_instance_name\x18\x02 \x01(\x09B\x03\xE0A\x02\"9\x0A\x0FFailoverContext\x12\x18\x0A\x10settings_version\x18\x01 \x01(\x03\x12\x0C\x0A\x04kind\x18\x02 \x01(\x09\"a\x0A\x14RestoreBackupContext\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x15\x0A\x0Dbackup_run_id\x18\x02 \x01(\x03\x12\x13\x0A\x0Binstance_id\x18\x03 \x01(\x09\x12\x0F\x0A\x07project\x18\x04 \x01(\x09\";\x0A\x15RotateServerCaContext\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x14\x0A\x0Cnext_version\x18\x02 \x01(\x09\"I\x0A\x1ERotateServerCertificateContext\x12\x11\x0A\x04kind\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x14\x0A\x0Cnext_version\x18\x02 \x01(\x09\"O\x0A\x1FRotateEntraIdCertificateContext\x12\x11\x0A\x04kind\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cnext_version\x18\x02 \x01(\x09B\x03\xE0A\x01\"4\x0A\x12TruncateLogContext\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x10\x0A\x08log_type\x18\x02 \x01(\x09\"\xDF\x10\x0A\x1BSqlExternalSyncSettingError\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12^\x0A\x04type\x18\x02 \x01(\x0E2P.google.cloud.sql.v1.SqlExternalSyncSettingError.SqlExternalSyncSettingErrorType\x12\x0E\x0A\x06detail\x18\x03 \x01(\x09\"\xC1\x0F\x0A\x1FSqlExternalSyncSettingErrorType\x124\x0A0SQL_EXTERNAL_SYNC_SETTING_ERROR_TYPE_UNSPECIFIED\x10\x00\x12\x16\x0A\x12CONNECTION_FAILURE\x10\x01\x12\x16\x0A\x12BINLOG_NOT_ENABLED\x10\x02\x12!\x0A\x1DINCOMPATIBLE_DATABASE_VERSION\x10\x03\x12\x19\x0A\x15REPLICA_ALREADY_SETUP\x10\x04\x12\x1A\x0A\x16INSUFFICIENT_PRIVILEGE\x10\x05\x12\x1E\x0A\x1AUNSUPPORTED_MIGRATION_TYPE\x10\x06\x12\x1A\x0A\x16NO_PGLOGICAL_INSTALLED\x10\x07\x12!\x0A\x1DPGLOGICAL_NODE_ALREADY_EXISTS\x10\x08\x12\x15\x0A\x11INVALID_WAL_LEVEL\x10\x09\x12\"\x0A\x1EINVALID_SHARED_PRELOAD_LIBRARY\x10\x0A\x12&\x0A\"INSUFFICIENT_MAX_REPLICATION_SLOTS\x10\x0B\x12 \x0A\x1CINSUFFICIENT_MAX_WAL_SENDERS\x10\x0C\x12%\x0A!INSUFFICIENT_MAX_WORKER_PROCESSES\x10\x0D\x12\x1A\x0A\x16UNSUPPORTED_EXTENSIONS\x10\x0E\x12#\x0A\x1FINVALID_RDS_LOGICAL_REPLICATION\x10\x0F\x12\x19\x0A\x15INVALID_LOGGING_SETUP\x10\x10\x12\x14\x0A\x10INVALID_DB_PARAM\x10\x11\x12\x19\x0A\x15UNSUPPORTED_GTID_MODE\x10\x12\x12\x1F\x0A\x1BSQLSERVER_AGENT_NOT_RUNNING\x10\x13\x12 \x0A\x1CUNSUPPORTED_TABLE_DEFINITION\x10\x14\x12\x17\x0A\x13UNSUPPORTED_DEFINER\x10\x15\x12!\x0A\x1DSQLSERVER_SERVERNAME_MISMATCH\x10\x16\x12\x19\x0A\x15PRIMARY_ALREADY_SETUP\x10\x17\x12\x1D\x0A\x19UNSUPPORTED_BINLOG_FORMAT\x10\x18\x12\x1C\x0A\x18BINLOG_RETENTION_SETTING\x10\x19\x12\x1E\x0A\x1AUNSUPPORTED_STORAGE_ENGINE\x10\x1A\x12\x1A\x0A\x16LIMITED_SUPPORT_TABLES\x10\x1B\x12\x1C\x0A\x18EXISTING_DATA_IN_REPLICA\x10\x1C\x12\x1F\x0A\x1BMISSING_OPTIONAL_PRIVILEGES\x10\x1D\x12 \x0A\x1CRISKY_BACKUP_ADMIN_PRIVILEGE\x10\x1E\x12 \x0A\x1CINSUFFICIENT_GCS_PERMISSIONS\x10\x1F\x12\x15\x0A\x11INVALID_FILE_INFO\x10 \x12!\x0A\x1DUNSUPPORTED_DATABASE_SETTINGS\x10!\x120\x0A,MYSQL_PARALLEL_IMPORT_INSUFFICIENT_PRIVILEGE\x10\"\x12\x14\x0A\x10LOCAL_INFILE_OFF\x10#\x12\x1E\x0A\x1ATURN_ON_PITR_AFTER_PROMOTE\x10\$\x12'\x0A#INCOMPATIBLE_DATABASE_MINOR_VERSION\x10%\x12\x1C\x0A\x18SOURCE_MAX_SUBSCRIPTIONS\x10&\x12\x1D\x0A\x19UNABLE_TO_VERIFY_DEFINERS\x10'\x12#\x0A\x1FSUBSCRIPTION_CALCULATION_STATUS\x10(\x12\x19\x0A\x15PG_SUBSCRIPTION_COUNT\x10)\x12\x1A\x0A\x16PG_SYNC_PARALLEL_LEVEL\x10*\x12\x1A\x0A\x16INSUFFICIENT_DISK_SIZE\x10+\x12\x1D\x0A\x19INSUFFICIENT_MACHINE_TIER\x10,\x12'\x0A#UNSUPPORTED_EXTENSIONS_NOT_MIGRATED\x10-\x12\x1B\x0A\x17EXTENSIONS_NOT_MIGRATED\x10.\x12#\x0A\x1FPG_CRON_FLAG_ENABLED_IN_REPLICA\x10/\x12%\x0A!EXTENSIONS_NOT_ENABLED_IN_REPLICA\x100\x12\x17\x0A\x13UNSUPPORTED_COLUMNS\x101\x12 \x0A\x1CUSERS_NOT_CREATED_IN_REPLICA\x102\x12\x1E\x0A\x1AUNSUPPORTED_SYSTEM_OBJECTS\x103\x12,\x0A(UNSUPPORTED_TABLES_WITH_REPLICA_IDENTITY\x104\x12(\x0A\$SELECTED_OBJECTS_NOT_EXIST_ON_SOURCE\x105\x124\x0A0PSC_ONLY_INSTANCE_WITH_NO_NETWORK_ATTACHMENT_URI\x106\x121\x0A-SELECTED_OBJECTS_REFERENCE_UNSELECTED_OBJECTS\x107\x12\x1A\x0A\x16PROMPT_DELETE_EXISTING\x108\x12\x18\x0A\x14WILL_DELETE_EXISTING\x109\x12-\x0A)PG_DDL_REPLICATION_INSUFFICIENT_PRIVILEGE\x10:\"(\x0A\x0FSelectedObjects\x12\x15\x0A\x08database\x18\x01 \x01(\x09B\x03\xE0A\x02\"\xE7\x03\x0A\x17OnPremisesConfiguration\x12\x11\x0A\x09host_port\x18\x01 \x01(\x09\x12\x0C\x0A\x04kind\x18\x02 \x01(\x09\x12\x10\x0A\x08username\x18\x03 \x01(\x09\x12\x10\x0A\x08password\x18\x04 \x01(\x09\x12\x16\x0A\x0Eca_certificate\x18\x05 \x01(\x09\x12\x1A\x0A\x12client_certificate\x18\x06 \x01(\x09\x12\x12\x0A\x0Aclient_key\x18\x07 \x01(\x09\x12\x16\x0A\x0Edump_file_path\x18\x08 \x01(\x09\x12?\x0A\x0Fsource_instance\x18\x0F \x01(\x0B2&.google.cloud.sql.v1.InstanceReference\x12C\x0A\x10selected_objects\x18\x10 \x03(\x0B2\$.google.cloud.sql.v1.SelectedObjectsB\x03\xE0A\x01\x12O\x0A\x0Assl_option\x18\x12 \x01(\x0E26.google.cloud.sql.v1.OnPremisesConfiguration.SslOptionB\x03\xE0A\x01\"P\x0A\x09SslOption\x12\x1A\x0A\x16SSL_OPTION_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07DISABLE\x10\x01\x12\x0B\x0A\x07REQUIRE\x10\x02\x12\x0D\x0A\x09VERIFY_CA\x10\x03\"\xEB\x01\x0A\x14ReplicaConfiguration\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12S\x0A\x1Bmysql_replica_configuration\x18\x02 \x01(\x0B2..google.cloud.sql.v1.MySqlReplicaConfiguration\x123\x0A\x0Ffailover_target\x18\x03 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12;\x0A\x12cascadable_replica\x18\x05 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\"\x82\x01\x0A\x1DSqlInstancesExecuteSqlRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\x124\x0A\x04body\x18d \x01(\x0B2&.google.cloud.sql.v1.ExecuteSqlPayload\"\x84\x03\x0A\x11ExecuteSqlPayload\x12\x11\x0A\x04user\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dsql_statement\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x15\x0A\x08database\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x1D\x0A\x0Eauto_iam_authn\x18\x0B \x01(\x08B\x03\xE0A\x01H\x00\x12\x16\x0A\x09row_limit\x18\x0A \x01(\x03B\x03\xE0A\x01\x12Z\x0A\x13partial_result_mode\x18\x0D \x01(\x0E28.google.cloud.sql.v1.ExecuteSqlPayload.PartialResultModeB\x03\xE0A\x01\x12\x18\x0A\x0Bapplication\x18\x10 \x01(\x09B\x03\xE0A\x01\"k\x0A\x11PartialResultMode\x12#\x0A\x1FPARTIAL_RESULT_MODE_UNSPECIFIED\x10\x00\x12\x17\x0A\x13FAIL_PARTIAL_RESULT\x10\x01\x12\x18\x0A\x14ALLOW_PARTIAL_RESULT\x10\x02B\x0F\x0A\x0Duser_password\"\xC8\x02\x0A\x1ESqlInstancesExecuteSqlResponse\x12M\x0A\x08messages\x18\x09 \x03(\x0B2;.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.Message\x12/\x0A\x08metadata\x18\x06 \x01(\x0B2\x1D.google.cloud.sql.v1.Metadata\x121\x0A\x07results\x18\x07 \x03(\x0B2 .google.cloud.sql.v1.QueryResult\x12\"\x0A\x06status\x18\x08 \x01(\x0B2\x12.google.rpc.Status\x1AO\x0A\x07Message\x12\x14\x0A\x07message\x18\x01 \x01(\x09H\x00\x88\x01\x01\x12\x15\x0A\x08severity\x18\x02 \x01(\x09H\x01\x88\x01\x01B\x0A\x0A\x08_messageB\x0B\x0A\x09_severity\"\xB0\x01\x0A\x0BQueryResult\x12,\x0A\x07columns\x18\x01 \x03(\x0B2\x1B.google.cloud.sql.v1.Column\x12&\x0A\x04rows\x18\x02 \x03(\x0B2\x18.google.cloud.sql.v1.Row\x12\x0F\x0A\x07message\x18\x03 \x01(\x09\x12\x16\x0A\x0Epartial_result\x18\x04 \x01(\x08\x12\"\x0A\x06status\x18\x08 \x01(\x0B2\x12.google.rpc.Status\"\$\x0A\x06Column\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x0C\x0A\x04type\x18\x02 \x01(\x09\"1\x0A\x03Row\x12*\x0A\x06values\x18\x01 \x03(\x0B2\x1A.google.cloud.sql.v1.Value\"*\x0A\x05Value\x12\x0D\x0A\x05value\x18\x01 \x01(\x09\x12\x12\x0A\x0Anull_value\x18\x02 \x01(\x08\"K\x0A\x08Metadata\x12?\x0A\x1Csql_statement_execution_time\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\"\x9C\x01\x0A#SqlInstancesAcquireSsrsLeaseRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\x12H\x0A\x04body\x18d \x01(\x0B25.google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequestB\x03\xE0A\x02\"<\x0A\$SqlInstancesAcquireSsrsLeaseResponse\x12\x14\x0A\x0Coperation_id\x18\x01 \x01(\x09\"R\x0A#SqlInstancesReleaseSsrsLeaseRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\"<\x0A\$SqlInstancesReleaseSsrsLeaseResponse\x12\x14\x0A\x0Coperation_id\x18\x01 \x01(\x09\"\x82\x01\x0A%SqlInstancesPointInTimeRestoreRequest\x12\x13\x0A\x06parent\x18\x01 \x01(\x09B\x03\xE0A\x02\x12D\x0A\x07context\x18d \x01(\x0B2..google.cloud.sql.v1.PointInTimeRestoreContextB\x03\xE0A\x02*h\x0A\x19ExternalSyncParallelLevel\x12,\x0A(EXTERNAL_SYNC_PARALLEL_LEVEL_UNSPECIFIED\x10\x00\x12\x07\x0A\x03MIN\x10\x01\x12\x0B\x0A\x07OPTIMAL\x10\x02\x12\x07\x0A\x03MAX\x10\x03*\x99\x01\x0A\x0FSqlInstanceType\x12!\x0A\x1DSQL_INSTANCE_TYPE_UNSPECIFIED\x10\x00\x12\x16\x0A\x12CLOUD_SQL_INSTANCE\x10\x01\x12\x18\x0A\x14ON_PREMISES_INSTANCE\x10\x02\x12\x19\x0A\x15READ_REPLICA_INSTANCE\x10\x03\x12\x16\x0A\x12READ_POOL_INSTANCE\x10\x05*\x8A\x01\x0A\x13SqlSuspensionReason\x12%\x0A!SQL_SUSPENSION_REASON_UNSPECIFIED\x10\x00\x12\x11\x0A\x0DBILLING_ISSUE\x10\x02\x12\x0F\x0A\x0BLEGAL_ISSUE\x10\x03\x12\x15\x0A\x11OPERATIONAL_ISSUE\x10\x04\x12\x11\x0A\x0DKMS_KEY_ISSUE\x10\x052\x99>\x0A\x13SqlInstancesService\x12\xA3\x01\x0A\x0BAddServerCa\x123.google.cloud.sql.v1.SqlInstancesAddServerCaRequest\x1A\x1E.google.cloud.sql.v1.Operation\"?\x82\xD3\xE4\x93\x029\"7/v1/projects/{project}/instances/{instance}/addServerCa\x12\xBE\x01\x0A\x14AddServerCertificate\x12<.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest\x1A\x1E.google.cloud.sql.v1.Operation\"H\x82\xD3\xE4\x93\x02B\"@/v1/projects/{project}/instances/{instance}/addServerCertificate\x12\xC1\x01\x0A\x15AddEntraIdCertificate\x12=.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest\x1A\x1E.google.cloud.sql.v1.Operation\"I\x82\xD3\xE4\x93\x02C\"A/v1/projects/{project}/instances/{instance}/addEntraIdCertificate\x12\x97\x01\x0A\x05Clone\x12-.google.cloud.sql.v1.SqlInstancesCloneRequest\x1A\x1E.google.cloud.sql.v1.Operation\"?\x82\xD3\xE4\x93\x029\"1/v1/projects/{project}/instances/{instance}/clone:\x04body\x12\x8D\x01\x0A\x06Delete\x12..google.cloud.sql.v1.SqlInstancesDeleteRequest\x1A\x1E.google.cloud.sql.v1.Operation\"3\x82\xD3\xE4\x93\x02-*+/v1/projects/{project}/instances/{instance}\x12\xAC\x01\x0A\x0CDemoteMaster\x124.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest\x1A\x1E.google.cloud.sql.v1.Operation\"F\x82\xD3\xE4\x93\x02@\"8/v1/projects/{project}/instances/{instance}/demoteMaster:\x04body\x12\x9A\x01\x0A\x06Demote\x12..google.cloud.sql.v1.SqlInstancesDemoteRequest\x1A\x1E.google.cloud.sql.v1.Operation\"@\x82\xD3\xE4\x93\x02:\"2/v1/projects/{project}/instances/{instance}/demote:\x04body\x12\x9A\x01\x0A\x06Export\x12..google.cloud.sql.v1.SqlInstancesExportRequest\x1A\x1E.google.cloud.sql.v1.Operation\"@\x82\xD3\xE4\x93\x02:\"2/v1/projects/{project}/instances/{instance}/export:\x04body\x12\xA0\x01\x0A\x08Failover\x120.google.cloud.sql.v1.SqlInstancesFailoverRequest\x1A\x1E.google.cloud.sql.v1.Operation\"B\x82\xD3\xE4\x93\x02<\"4/v1/projects/{project}/instances/{instance}/failover:\x04body\x12\xA3\x01\x0A\x09Reencrypt\x121.google.cloud.sql.v1.SqlInstancesReencryptRequest\x1A\x1E.google.cloud.sql.v1.Operation\"C\x82\xD3\xE4\x93\x02=\"5/v1/projects/{project}/instances/{instance}/reencrypt:\x04body\x12\x8E\x01\x0A\x03Get\x12+.google.cloud.sql.v1.SqlInstancesGetRequest\x1A%.google.cloud.sql.v1.DatabaseInstance\"3\x82\xD3\xE4\x93\x02-\x12+/v1/projects/{project}/instances/{instance}\x12\x9A\x01\x0A\x06Import\x12..google.cloud.sql.v1.SqlInstancesImportRequest\x1A\x1E.google.cloud.sql.v1.Operation\"@\x82\xD3\xE4\x93\x02:\"2/v1/projects/{project}/instances/{instance}/import:\x04body\x12\x88\x01\x0A\x06Insert\x12..google.cloud.sql.v1.SqlInstancesInsertRequest\x1A\x1E.google.cloud.sql.v1.Operation\".\x82\xD3\xE4\x93\x02(\" /v1/projects/{project}/instances:\x04body\x12\x8A\x01\x0A\x04List\x12,.google.cloud.sql.v1.SqlInstancesListRequest\x1A*.google.cloud.sql.v1.InstancesListResponse\"(\x82\xD3\xE4\x93\x02\"\x12 /v1/projects/{project}/instances\x12\xBE\x01\x0A\x0DListServerCas\x125.google.cloud.sql.v1.SqlInstancesListServerCasRequest\x1A3.google.cloud.sql.v1.InstancesListServerCasResponse\"A\x82\xD3\xE4\x93\x02;\x129/v1/projects/{project}/instances/{instance}/listServerCas\x12\xE2\x01\x0A\x16ListServerCertificates\x12>.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest\x1A<.google.cloud.sql.v1.InstancesListServerCertificatesResponse\"J\x82\xD3\xE4\x93\x02D\x12B/v1/projects/{project}/instances/{instance}/listServerCertificates\x12\xE6\x01\x0A\x17ListEntraIdCertificates\x12?.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest\x1A=.google.cloud.sql.v1.InstancesListEntraIdCertificatesResponse\"K\x82\xD3\xE4\x93\x02E\x12C/v1/projects/{project}/instances/{instance}/listEntraIdCertificates\x12\x91\x01\x0A\x05Patch\x12-.google.cloud.sql.v1.SqlInstancesPatchRequest\x1A\x1E.google.cloud.sql.v1.Operation\"9\x82\xD3\xE4\x93\x0232+/v1/projects/{project}/instances/{instance}:\x04body\x12\xAC\x01\x0A\x0EPromoteReplica\x126.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest\x1A\x1E.google.cloud.sql.v1.Operation\"B\x82\xD3\xE4\x93\x02<\":/v1/projects/{project}/instances/{instance}/promoteReplica\x12\xA0\x01\x0A\x0ASwitchover\x122.google.cloud.sql.v1.SqlInstancesSwitchoverRequest\x1A\x1E.google.cloud.sql.v1.Operation\">\x82\xD3\xE4\x93\x028\"6/v1/projects/{project}/instances/{instance}/switchover\x12\xAC\x01\x0A\x0EResetSslConfig\x126.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest\x1A\x1E.google.cloud.sql.v1.Operation\"B\x82\xD3\xE4\x93\x02<\":/v1/projects/{project}/instances/{instance}/resetSslConfig\x12\x97\x01\x0A\x07Restart\x12/.google.cloud.sql.v1.SqlInstancesRestartRequest\x1A\x1E.google.cloud.sql.v1.Operation\";\x82\xD3\xE4\x93\x025\"3/v1/projects/{project}/instances/{instance}/restart\x12\xAF\x01\x0A\x0DRestoreBackup\x125.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest\x1A\x1E.google.cloud.sql.v1.Operation\"G\x82\xD3\xE4\x93\x02A\"9/v1/projects/{project}/instances/{instance}/restoreBackup:\x04body\x12\xB2\x01\x0A\x0ERotateServerCa\x126.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest\x1A\x1E.google.cloud.sql.v1.Operation\"H\x82\xD3\xE4\x93\x02B\":/v1/projects/{project}/instances/{instance}/rotateServerCa:\x04body\x12\xCD\x01\x0A\x17RotateServerCertificate\x12?.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest\x1A\x1E.google.cloud.sql.v1.Operation\"Q\x82\xD3\xE4\x93\x02K\"C/v1/projects/{project}/instances/{instance}/rotateServerCertificate:\x04body\x12\xD0\x01\x0A\x18RotateEntraIdCertificate\x12@.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest\x1A\x1E.google.cloud.sql.v1.Operation\"R\x82\xD3\xE4\x93\x02L\"D/v1/projects/{project}/instances/{instance}/rotateEntraIdCertificate:\x04body\x12\xA6\x01\x0A\x0CStartReplica\x124.google.cloud.sql.v1.SqlInstancesStartReplicaRequest\x1A\x1E.google.cloud.sql.v1.Operation\"@\x82\xD3\xE4\x93\x02:\"8/v1/projects/{project}/instances/{instance}/startReplica\x12\xA3\x01\x0A\x0BStopReplica\x123.google.cloud.sql.v1.SqlInstancesStopReplicaRequest\x1A\x1E.google.cloud.sql.v1.Operation\"?\x82\xD3\xE4\x93\x029\"7/v1/projects/{project}/instances/{instance}/stopReplica\x12\xA9\x01\x0A\x0BTruncateLog\x123.google.cloud.sql.v1.SqlInstancesTruncateLogRequest\x1A\x1E.google.cloud.sql.v1.Operation\"E\x82\xD3\xE4\x93\x02?\"7/v1/projects/{project}/instances/{instance}/truncateLog:\x04body\x12\x93\x01\x0A\x06Update\x12..google.cloud.sql.v1.SqlInstancesUpdateRequest\x1A\x1E.google.cloud.sql.v1.Operation\"9\x82\xD3\xE4\x93\x023\x1A+/v1/projects/{project}/instances/{instance}:\x04body\x12\xB7\x01\x0A\x0FCreateEphemeral\x12;.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest\x1A\x1C.google.cloud.sql.v1.SslCert\"I\x82\xD3\xE4\x93\x02C\";/v1/projects/{project}/instances/{instance}/createEphemeral:\x04body\x12\xC7\x01\x0A\x15RescheduleMaintenance\x12=.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest\x1A\x1E.google.cloud.sql.v1.Operation\"O\x82\xD3\xE4\x93\x02I\"A/v1/projects/{project}/instances/{instance}/rescheduleMaintenance:\x04body\x12\xF8\x01\x0A\x1AVerifyExternalSyncSettings\x12B.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest\x1AC.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsResponse\"Q\x82\xD3\xE4\x93\x02K\"F/v1/projects/{project}/instances/{instance}/verifyExternalSyncSettings:\x01*\x12\xB8\x01\x0A\x11StartExternalSync\x129.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest\x1A\x1E.google.cloud.sql.v1.Operation\"H\x82\xD3\xE4\x93\x02B\"=/v1/projects/{project}/instances/{instance}/startExternalSync:\x01*\x12\xBB\x01\x0A\x11PerformDiskShrink\x129.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest\x1A\x1E.google.cloud.sql.v1.Operation\"K\x82\xD3\xE4\x93\x02E\"=/v1/projects/{project}/instances/{instance}/performDiskShrink:\x04body\x12\xD9\x01\x0A\x13GetDiskShrinkConfig\x12;.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest\x1A<.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigResponse\"G\x82\xD3\xE4\x93\x02A\x12?/v1/projects/{project}/instances/{instance}/getDiskShrinkConfig\x12\xB5\x01\x0A\x10ResetReplicaSize\x128.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest\x1A\x1E.google.cloud.sql.v1.Operation\"G\x82\xD3\xE4\x93\x02A\".google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeResponse\"I\x82\xD3\xE4\x93\x02C\x12A/v1/projects/{project}/instances/{instance}/getLatestRecoveryTime\x12\xBB\x01\x0A\x0AExecuteSql\x122.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest\x1A3.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse\"D\x82\xD3\xE4\x93\x02>\"6/v1/projects/{project}/instances/{instance}/executeSql:\x04body\x12\xD3\x01\x0A\x10AcquireSsrsLease\x128.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest\x1A9.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseResponse\"J\x82\xD3\xE4\x93\x02D\"\"\x0A\x04body\x18d \x01(\x0B2+.google.cloud.sql.v1.InstancesDemoteRequestB\x03\xE0A\x02\"y\x0A\x19SqlInstancesExportRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x129\x0A\x04body\x18d \x01(\x0B2+.google.cloud.sql.v1.InstancesExportRequest\"}\x0A\x1BSqlInstancesFailoverRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12;\x0A\x04body\x18d \x01(\x0B2-.google.cloud.sql.v1.InstancesFailoverRequest\"E\x0A\x16SqlInstancesGetRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\"y\x0A\x19SqlInstancesImportRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x129\x0A\x04body\x18d \x01(\x0B2+.google.cloud.sql.v1.InstancesImportRequest\"a\x0A\x19SqlInstancesInsertRequest\x12\x0F\x0A\x07project\x18\x01 \x01(\x09\x123\x0A\x04body\x18d \x01(\x0B2%.google.cloud.sql.v1.DatabaseInstance\"c\x0A\x17SqlInstancesListRequest\x12\x0E\x0A\x06filter\x18\x01 \x01(\x09\x12\x13\x0A\x0Bmax_results\x18\x02 \x01(\x0D\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\x12\x0F\x0A\x07project\x18\x04 \x01(\x09\"E\x0A SqlInstancesListServerCasRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"X\x0A)SqlInstancesListServerCertificatesRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\"Y\x0A*SqlInstancesListEntraIdCertificatesRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\"r\x0A\x18SqlInstancesPatchRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x123\x0A\x04body\x18d \x01(\x0B2%.google.cloud.sql.v1.DatabaseInstance\"X\x0A!SqlInstancesPromoteReplicaRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12\x10\x0A\x08failover\x18\x03 \x01(\x08\"v\x0A\x1DSqlInstancesSwitchoverRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x122\x0A\x0Adb_timeout\x18\x03 \x01(\x0B2\x19.google.protobuf.DurationB\x03\xE0A\x01\"\xEE\x01\x0A!SqlInstancesResetSslConfigRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12V\x0A\x04mode\x18\x03 \x01(\x0E2C.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest.ResetSslModeB\x03\xE0A\x01\"N\x0A\x0CResetSslMode\x12\x1E\x0A\x1ARESET_SSL_MODE_UNSPECIFIED\x10\x00\x12\x07\x0A\x03ALL\x10\x01\x12\x15\x0A\x11SYNC_FROM_PRIMARY\x10\x02\"?\x0A\x1ASqlInstancesRestartRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"\x87\x01\x0A SqlInstancesRestoreBackupRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12@\x0A\x04body\x18d \x01(\x0B22.google.cloud.sql.v1.InstancesRestoreBackupRequest\"\x89\x01\x0A!SqlInstancesRotateServerCaRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12A\x0A\x04body\x18d \x01(\x0B23.google.cloud.sql.v1.InstancesRotateServerCaRequest\"\xAA\x01\x0A*SqlInstancesRotateServerCertificateRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\x12O\x0A\x04body\x18d \x01(\x0B2<.google.cloud.sql.v1.InstancesRotateServerCertificateRequestB\x03\xE0A\x01\"\xAC\x01\x0A+SqlInstancesRotateEntraIdCertificateRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\x12P\x0A\x04body\x18d \x01(\x0B2=.google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequestB\x03\xE0A\x01\"D\x0A\x1FSqlInstancesStartReplicaRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"C\x0A\x1ESqlInstancesStopReplicaRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"\x83\x01\x0A\x1ESqlInstancesTruncateLogRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12>\x0A\x04body\x18d \x01(\x0B20.google.cloud.sql.v1.InstancesTruncateLogRequest\"\x86\x01\x0A\$SqlInstancesPerformDiskShrinkRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12;\x0A\x04body\x18d \x01(\x0B2-.google.cloud.sql.v1.PerformDiskShrinkContext\"s\x0A\x19SqlInstancesUpdateRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x123\x0A\x04body\x18d \x01(\x0B2%.google.cloud.sql.v1.DatabaseInstance\"\x9E\x01\x0A(SqlInstancesRescheduleMaintenanceRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12O\x0A\x04body\x18d \x01(\x0B2A.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody\"\x7F\x0A\x1CSqlInstancesReencryptRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12<\x0A\x04body\x18\x03 \x01(\x0B2..google.cloud.sql.v1.InstancesReencryptRequest\"\x92\x01\x0A\x19InstancesReencryptRequest\x12V\x0A\x1Abackup_reencryption_config\x18\x01 \x01(\x0B2-.google.cloud.sql.v1.BackupReencryptionConfigH\x00\x88\x01\x01B\x1D\x0A\x1B_backup_reencryption_config\"\xF3\x01\x0A\x18BackupReencryptionConfig\x12\x19\x0A\x0Cbackup_limit\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12R\x0A\x0Bbackup_type\x18\x02 \x01(\x0E28.google.cloud.sql.v1.BackupReencryptionConfig.BackupTypeH\x01\x88\x01\x01\"G\x0A\x0ABackupType\x12\x1B\x0A\x17BACKUP_TYPE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09AUTOMATED\x10\x01\x12\x0D\x0A\x09ON_DEMAND\x10\x02B\x0F\x0A\x0D_backup_limitB\x0E\x0A\x0C_backup_type\".\x0A\x1AExternalSyncSelectedObject\x12\x10\x0A\x08database\x18\x01 \x01(\x09\"K\x0A&SqlInstancesGetDiskShrinkConfigRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"\x85\x06\x0A-SqlInstancesVerifyExternalSyncSettingsRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12\x1E\x0A\x16verify_connection_only\x18\x03 \x01(\x08\x12f\x0A\x09sync_mode\x18\x04 \x01(\x0E2S.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.ExternalSyncMode\x12\$\x0A\x17verify_replication_only\x18\x05 \x01(\x08B\x03\xE0A\x01\x12F\x0A\x11mysql_sync_config\x18\x06 \x01(\x0B2\$.google.cloud.sql.v1.MySqlSyncConfigB\x03\xE0A\x01H\x00\x12m\x0A\x0Emigration_type\x18\x07 \x01(\x0E2P.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.MigrationTypeB\x03\xE0A\x01\x12P\x0A\x13sync_parallel_level\x18\x08 \x01(\x0E2..google.cloud.sql.v1.ExternalSyncParallelLevelB\x03\xE0A\x01\x12N\x0A\x10selected_objects\x18\x09 \x03(\x0B2/.google.cloud.sql.v1.ExternalSyncSelectedObjectB\x03\xE0A\x01\"O\x0A\x10ExternalSyncMode\x12\"\x0A\x1EEXTERNAL_SYNC_MODE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06ONLINE\x10\x01\x12\x0B\x0A\x07OFFLINE\x10\x02\"J\x0A\x0DMigrationType\x12\x1E\x0A\x1AMIGRATION_TYPE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07LOGICAL\x10\x01\x12\x0C\x0A\x08PHYSICAL\x10\x02B\x0D\x0A\x0Bsync_config\"\x87\x04\x0A\$SqlInstancesStartExternalSyncRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12f\x0A\x09sync_mode\x18\x03 \x01(\x0E2S.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.ExternalSyncMode\x12\x19\x0A\x11skip_verification\x18\x04 \x01(\x08\x12A\x0A\x11mysql_sync_config\x18\x06 \x01(\x0B2\$.google.cloud.sql.v1.MySqlSyncConfigH\x00\x12P\x0A\x13sync_parallel_level\x18\x07 \x01(\x0E2..google.cloud.sql.v1.ExternalSyncParallelLevelB\x03\xE0A\x01\x12m\x0A\x0Emigration_type\x18\x08 \x01(\x0E2P.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.MigrationTypeB\x03\xE0A\x01\x12&\x0A\x19replica_overwrite_enabled\x18\x09 \x01(\x08B\x03\xE0A\x01B\x0D\x0A\x0Bsync_config\"H\x0A#SqlInstancesResetReplicaSizeRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"\x8E\x01\x0A&SqlInstancesCreateEphemeralCertRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12A\x0A\x04body\x18d \x01(\x0B23.google.cloud.sql.v1.SslCertsCreateEphemeralRequest\"V\x0A\x15InstancesCloneRequest\x12=\x0A\x0Dclone_context\x18\x01 \x01(\x0B2!.google.cloud.sql.v1.CloneContextB\x03\xE0A\x02\"g\x0A\x1CInstancesDemoteMasterRequest\x12G\x0A\x15demote_master_context\x18\x01 \x01(\x0B2(.google.cloud.sql.v1.DemoteMasterContext\"Y\x0A\x16InstancesDemoteRequest\x12?\x0A\x0Edemote_context\x18\x01 \x01(\x0B2\".google.cloud.sql.v1.DemoteContextB\x03\xE0A\x02\"T\x0A\x16InstancesExportRequest\x12:\x0A\x0Eexport_context\x18\x01 \x01(\x0B2\".google.cloud.sql.v1.ExportContext\"Z\x0A\x18InstancesFailoverRequest\x12>\x0A\x10failover_context\x18\x01 \x01(\x0B2\$.google.cloud.sql.v1.FailoverContext\"d\x0A\x1ESslCertsCreateEphemeralRequest\x12\x1E\x0A\x0Apublic_key\x18\x01 \x01(\x09R\x0Apublic_key\x12\"\x0A\x0Caccess_token\x18\x02 \x01(\x09R\x0Caccess_token\"T\x0A\x16InstancesImportRequest\x12:\x0A\x0Eimport_context\x18\x01 \x01(\x0B2\".google.cloud.sql.v1.ImportContext\"\x9C\x01\x0A+InstancesPreCheckMajorVersionUpgradeRequest\x12m\x0A'pre_check_major_version_upgrade_context\x18\x01 \x01(\x0B27.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContextB\x03\xE0A\x02\"\xA7\x01\x0A\x15InstancesListResponse\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x121\x0A\x08warnings\x18\x02 \x03(\x0B2\x1F.google.cloud.sql.v1.ApiWarning\x124\x0A\x05items\x18\x03 \x03(\x0B2%.google.cloud.sql.v1.DatabaseInstance\x12\x17\x0A\x0Fnext_page_token\x18\x04 \x01(\x09\"s\x0A\x1EInstancesListServerCasResponse\x12+\x0A\x05certs\x18\x01 \x03(\x0B2\x1C.google.cloud.sql.v1.SslCert\x12\x16\x0A\x0Eactive_version\x18\x02 \x01(\x09\x12\x0C\x0A\x04kind\x18\x03 \x01(\x09\"\xB3\x01\x0A'InstancesListServerCertificatesResponse\x12.\x0A\x08ca_certs\x18\x01 \x03(\x0B2\x1C.google.cloud.sql.v1.SslCert\x122\x0A\x0Cserver_certs\x18\x02 \x03(\x0B2\x1C.google.cloud.sql.v1.SslCert\x12\x16\x0A\x0Eactive_version\x18\x03 \x01(\x09\x12\x0C\x0A\x04kind\x18\x04 \x01(\x09\"}\x0A(InstancesListEntraIdCertificatesResponse\x12+\x0A\x05certs\x18\x01 \x03(\x0B2\x1C.google.cloud.sql.v1.SslCert\x12\x16\x0A\x0Eactive_version\x18\x02 \x01(\x09\x12\x0C\x0A\x04kind\x18\x03 \x01(\x09\"\xE7\x02\x0A\x1DInstancesRestoreBackupRequest\x12I\x0A\x16restore_backup_context\x18\x01 \x01(\x0B2).google.cloud.sql.v1.RestoreBackupContext\x123\x0A\x06backup\x18\x02 \x01(\x09B#\xFAA \x0A\x1Esqladmin.googleapis.com/Backup\x12<\x0A\x0Fbackupdr_backup\x18\x04 \x01(\x09B#\xFAA \x0A\x1Ebackupdr.googleapis.com/Backup\x12M\x0A\x19restore_instance_settings\x18\x03 \x01(\x0B2%.google.cloud.sql.v1.DatabaseInstanceB\x03\xE0A\x01\x129\x0A,restore_instance_clear_overrides_field_names\x18\x05 \x03(\x09B\x03\xE0A\x01\"n\x0A\x1EInstancesRotateServerCaRequest\x12L\x0A\x18rotate_server_ca_context\x18\x01 \x01(\x0B2*.google.cloud.sql.v1.RotateServerCaContext\"\x8E\x01\x0A'InstancesRotateServerCertificateRequest\x12c\x0A!rotate_server_certificate_context\x18\x01 \x01(\x0B23.google.cloud.sql.v1.RotateServerCertificateContextB\x03\xE0A\x01\"\x92\x01\x0A(InstancesRotateEntraIdCertificateRequest\x12f\x0A#rotate_entra_id_certificate_context\x18\x01 \x01(\x0B24.google.cloud.sql.v1.RotateEntraIdCertificateContextB\x03\xE0A\x01\"d\x0A\x1BInstancesTruncateLogRequest\x12E\x0A\x14truncate_log_context\x18\x01 \x01(\x0B2'.google.cloud.sql.v1.TruncateLogContext\"t\x0A InstancesAcquireSsrsLeaseRequest\x12P\x0A\x1Aacquire_ssrs_lease_context\x18\x01 \x01(\x0B2,.google.cloud.sql.v1.AcquireSsrsLeaseContext\"\xB2\x01\x0A.SqlInstancesPreCheckMajorVersionUpgradeRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\x12S\x0A\x04body\x18\x03 \x01(\x0B2@.google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequestB\x03\xE0A\x02\"\xC4\x01\x0A.SqlInstancesVerifyExternalSyncSettingsResponse\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12@\x0A\x06errors\x18\x02 \x03(\x0B20.google.cloud.sql.v1.SqlExternalSyncSettingError\x12B\x0A\x08warnings\x18\x03 \x03(\x0B20.google.cloud.sql.v1.SqlExternalSyncSettingError\"h\x0A'SqlInstancesGetDiskShrinkConfigResponse\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x1E\x0A\x16minimal_target_size_gb\x18\x02 \x01(\x03\x12\x0F\x0A\x07message\x18\x03 \x01(\x09\"\xB7\x01\x0A(SqlInstancesGetLatestRecoveryTimeRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12F\x0A\x1Dsource_instance_deletion_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampH\x00\x88\x01\x01B \x0A\x1E_source_instance_deletion_time\"\xAF\x01\x0A)SqlInstancesGetLatestRecoveryTimeResponse\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x128\x0A\x14latest_recovery_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12:\x0A\x16earliest_recovery_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.Timestamp\"\x94\x05\x0A\x0CCloneContext\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x19\x0A\x11pitr_timestamp_ms\x18\x02 \x01(\x03\x12&\x0A\x19destination_instance_name\x18\x03 \x01(\x09B\x03\xE0A\x02\x12C\x0A\x13bin_log_coordinates\x18\x04 \x01(\x0B2&.google.cloud.sql.v1.BinLogCoordinates\x121\x0A\x0Dpoint_in_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x1A\x0A\x12allocated_ip_range\x18\x06 \x01(\x09\x12\x16\x0A\x0Edatabase_names\x18\x09 \x03(\x09\x12 \x0A\x0Epreferred_zone\x18\x0A \x01(\x09B\x03\xE0A\x01H\x00\x88\x01\x01\x12*\x0A\x18preferred_secondary_zone\x18\x0B \x01(\x09B\x03\xE0A\x01H\x01\x88\x01\x01\x12F\x0A\x1Dsource_instance_deletion_time\x18\x0C \x01(\x0B2\x1A.google.protobuf.TimestampH\x02\x88\x01\x01\x12%\x0A\x13destination_project\x18\x0D \x01(\x09B\x03\xE0A\x01H\x03\x88\x01\x01\x12H\x0A\x13destination_network\x18\x0E \x01(\x09B&\xE0A\x01\xFAA \x0A\x1Ecompute.googleapis.com/NetworkH\x04\x88\x01\x01B\x11\x0A\x0F_preferred_zoneB\x1B\x0A\x19_preferred_secondary_zoneB \x0A\x1E_source_instance_deletion_timeB\x16\x0A\x14_destination_projectB\x16\x0A\x14_destination_network\"\xCB\x04\x0A\x19PointInTimeRestoreContext\x12\x17\x0A\x0Adatasource\x18\x01 \x01(\x09H\x00\x88\x01\x01\x126\x0A\x0Dpoint_in_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x02\x12\x1C\x0A\x0Ftarget_instance\x18\x03 \x01(\x09H\x01\x88\x01\x01\x12!\x0A\x0Fprivate_network\x18\x04 \x01(\x09B\x03\xE0A\x01H\x02\x88\x01\x01\x12\$\x0A\x12allocated_ip_range\x18\x05 \x01(\x09B\x03\xE0A\x01H\x03\x88\x01\x01\x12 \x0A\x0Epreferred_zone\x18\x06 \x01(\x09B\x03\xE0A\x01H\x04\x88\x01\x01\x12*\x0A\x18preferred_secondary_zone\x18\x09 \x01(\x09B\x03\xE0A\x01H\x05\x88\x01\x01\x12L\x0A\x18target_instance_settings\x18\x0B \x01(\x0B2%.google.cloud.sql.v1.DatabaseInstanceB\x03\xE0A\x01\x127\x0A*target_instance_clear_settings_field_names\x18\x0C \x03(\x09B\x03\xE0A\x01\x12\x18\x0A\x06region\x18\x0D \x01(\x09B\x03\xE0A\x01H\x06\x88\x01\x01B\x0D\x0A\x0B_datasourceB\x12\x0A\x10_target_instanceB\x12\x0A\x10_private_networkB\x15\x0A\x13_allocated_ip_rangeB\x11\x0A\x0F_preferred_zoneB\x1B\x0A\x19_preferred_secondary_zoneB\x09\x0A\x07_region\"V\x0A\x11BinLogCoordinates\x12\x19\x0A\x11bin_log_file_name\x18\x01 \x01(\x09\x12\x18\x0A\x10bin_log_position\x18\x02 \x01(\x03\x12\x0C\x0A\x04kind\x18\x03 \x01(\x09\"\x80#\x0A\x10DatabaseInstance\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12E\x0A\x05state\x18\x02 \x01(\x0E26.google.cloud.sql.v1.DatabaseInstance.SqlInstanceState\x12A\x0A\x10database_version\x18\x03 \x01(\x0E2'.google.cloud.sql.v1.SqlDatabaseVersion\x12/\x0A\x08settings\x18\x04 \x01(\x0B2\x1D.google.cloud.sql.v1.Settings\x12\x0C\x0A\x04etag\x18\x05 \x01(\x09\x12R\x0A\x10failover_replica\x18\x06 \x01(\x0B28.google.cloud.sql.v1.DatabaseInstance.SqlFailoverReplica\x12\x1C\x0A\x14master_instance_name\x18\x07 \x01(\x09\x12\x15\x0A\x0Dreplica_names\x18\x08 \x03(\x09\x126\x0A\x0Dmax_disk_size\x18\x09 \x01(\x0B2\x1B.google.protobuf.Int64ValueB\x02\x18\x01\x12:\x0A\x11current_disk_size\x18\x0A \x01(\x0B2\x1B.google.protobuf.Int64ValueB\x02\x18\x01\x124\x0A\x0Cip_addresses\x18\x0B \x03(\x0B2\x1E.google.cloud.sql.v1.IpMapping\x124\x0A\x0Eserver_ca_cert\x18\x0C \x01(\x0B2\x1C.google.cloud.sql.v1.SslCert\x12;\x0A\x0Dinstance_type\x18\x0D \x01(\x0E2\$.google.cloud.sql.v1.SqlInstanceType\x12\x0F\x0A\x07project\x18\x0E \x01(\x09\x12\x18\x0A\x0Cipv6_address\x18\x0F \x01(\x09B\x02\x18\x01\x12%\x0A\x1Dservice_account_email_address\x18\x10 \x01(\x09\x12O\x0A\x19on_premises_configuration\x18\x11 \x01(\x0B2,.google.cloud.sql.v1.OnPremisesConfiguration\x12H\x0A\x15replica_configuration\x18\x12 \x01(\x0B2).google.cloud.sql.v1.ReplicaConfiguration\x129\x0A\x0Cbackend_type\x18\x13 \x01(\x0E2#.google.cloud.sql.v1.SqlBackendType\x12\x11\x0A\x09self_link\x18\x14 \x01(\x09\x12C\x0A\x11suspension_reason\x18\x15 \x03(\x0E2(.google.cloud.sql.v1.SqlSuspensionReason\x12\x17\x0A\x0Fconnection_name\x18\x16 \x01(\x09\x12\x0C\x0A\x04name\x18\x17 \x01(\x09\x12\x0E\x0A\x06region\x18\x18 \x01(\x09\x12\x10\x0A\x08gce_zone\x18\x19 \x01(\x09\x12\x1A\x0A\x12secondary_gce_zone\x18\" \x01(\x09\x12W\x0A\x1Ddisk_encryption_configuration\x18\x1A \x01(\x0B20.google.cloud.sql.v1.DiskEncryptionConfiguration\x12I\x0A\x16disk_encryption_status\x18\x1B \x01(\x0B2).google.cloud.sql.v1.DiskEncryptionStatus\x12\x15\x0A\x0Droot_password\x18\x1D \x01(\x09\x12\\\x0A\x15scheduled_maintenance\x18\x1E \x01(\x0B2=.google.cloud.sql.v1.DatabaseInstance.SqlScheduledMaintenance\x121\x0A\x0Dsatisfies_pzs\x18# \x01(\x0B2\x1A.google.protobuf.BoolValue\x12'\x0A\x1Adatabase_installed_version\x18( \x01(\x09B\x03\xE0A\x03\x12Y\x0A\x12out_of_disk_report\x18& \x01(\x0B28.google.cloud.sql.v1.DatabaseInstance.SqlOutOfDiskReportH\x00\x88\x01\x01\x124\x0A\x0Bcreate_time\x18' \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12+\x0A\x1Eavailable_maintenance_versions\x18) \x03(\x09B\x03\xE0A\x03\x12\x1B\x0A\x13maintenance_version\x18* \x01(\x09\x12X\x0A\x1Cupgradable_database_versions\x18- \x03(\x0B2-.google.cloud.sql.v1.AvailableDatabaseVersionB\x03\xE0A\x03\x12c\x0A\x18sql_network_architecture\x18/ \x01(\x0E2<.google.cloud.sql.v1.DatabaseInstance.SqlNetworkArchitectureH\x01\x88\x01\x01\x12-\x0A\x1Bpsc_service_attachment_link\x180 \x01(\x09B\x03\xE0A\x03H\x02\x88\x01\x01\x12\x1A\x0A\x08dns_name\x181 \x01(\x09B\x03\xE0A\x03H\x03\x88\x01\x01\x12\$\x0A\x10primary_dns_name\x183 \x01(\x09B\x05\x18\x01\xE0A\x03H\x04\x88\x01\x01\x12 \x0A\x0Ewrite_endpoint\x184 \x01(\x09B\x03\xE0A\x03H\x05\x88\x01\x01\x12I\x0A\x13replication_cluster\x186 \x01(\x0B2'.google.cloud.sql.v1.ReplicationClusterB\x03\xE0A\x01\x12E\x0A\x0Dgemini_config\x187 \x01(\x0B2).google.cloud.sql.v1.GeminiInstanceConfigH\x06\x88\x01\x01\x126\x0A\x0Dsatisfies_pzi\x188 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x03\x12^\x0A0switch_transaction_logs_to_cloud_storage_enabled\x189 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x04H\x07\x88\x01\x01\x12X\x0A*include_replicas_for_major_version_upgrade\x18; \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x04H\x08\x88\x01\x01\x12H\x0A\x04tags\x18< \x03(\x0B2/.google.cloud.sql.v1.DatabaseInstance.TagsEntryB\x09\xE0A\x04\xE0A\x05\xE0A\x01\x12\x17\x0A\x0Anode_count\x18? \x01(\x05H\x09\x88\x01\x01\x12H\x0A\x05nodes\x18@ \x03(\x0B24.google.cloud.sql.v1.DatabaseInstance.PoolNodeConfigB\x03\xE0A\x03\x12;\x0A\x09dns_names\x18C \x03(\x0B2#.google.cloud.sql.v1.DnsNameMappingB\x03\xE0A\x03\x1AQ\x0A\x12SqlFailoverReplica\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12-\x0A\x09available\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValue\x1A\xD4\x01\x0A\x17SqlScheduledMaintenance\x12.\x0A\x0Astart_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x15\x0A\x09can_defer\x18\x02 \x01(\x08B\x02\x18\x01\x12\x16\x0A\x0Ecan_reschedule\x18\x03 \x01(\x08\x12?\x0A\x16schedule_deadline_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampH\x00\x88\x01\x01B\x19\x0A\x17_schedule_deadline_time\x1A\xD5\x02\x0A\x12SqlOutOfDiskReport\x12n\x0A\x15sql_out_of_disk_state\x18\x01 \x01(\x0E2J.google.cloud.sql.v1.DatabaseInstance.SqlOutOfDiskReport.SqlOutOfDiskStateH\x00\x88\x01\x01\x121\x0A\$sql_min_recommended_increase_size_gb\x18\x02 \x01(\x05H\x01\x88\x01\x01\"Y\x0A\x11SqlOutOfDiskState\x12%\x0A!SQL_OUT_OF_DISK_STATE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06NORMAL\x10\x01\x12\x11\x0A\x0DSOFT_SHUTDOWN\x10\x02B\x18\x0A\x16_sql_out_of_disk_stateB'\x0A%_sql_min_recommended_increase_size_gb\x1A\xF6\x03\x0A\x0EPoolNodeConfig\x12\x16\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03H\x00\x88\x01\x01\x12\x1A\x0A\x08gce_zone\x18\x02 \x01(\x09B\x03\xE0A\x03H\x01\x88\x01\x01\x129\x0A\x0Cip_addresses\x18\x03 \x03(\x0B2\x1E.google.cloud.sql.v1.IpMappingB\x03\xE0A\x03\x12\x1A\x0A\x08dns_name\x18\x04 \x01(\x09B\x03\xE0A\x03H\x02\x88\x01\x01\x12O\x0A\x05state\x18\x05 \x01(\x0E26.google.cloud.sql.v1.DatabaseInstance.SqlInstanceStateB\x03\xE0A\x03H\x03\x88\x01\x01\x12;\x0A\x09dns_names\x18\x06 \x03(\x0B2#.google.cloud.sql.v1.DnsNameMappingB\x03\xE0A\x03\x12-\x0A\x1Bpsc_service_attachment_link\x18\x07 \x01(\x09B\x03\xE0A\x03H\x04\x88\x01\x01\x12O\x0A\x14psc_auto_connections\x18\x08 \x03(\x0B2,.google.cloud.sql.v1.PscAutoConnectionConfigB\x03\xE0A\x03B\x07\x0A\x05_nameB\x0B\x0A\x09_gce_zoneB\x0B\x0A\x09_dns_nameB\x08\x0A\x06_stateB\x1E\x0A\x1C_psc_service_attachment_link\x1A+\x0A\x09TagsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xC3\x01\x0A\x10SqlInstanceState\x12\"\x0A\x1ESQL_INSTANCE_STATE_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08RUNNABLE\x10\x01\x12\x0D\x0A\x09SUSPENDED\x10\x02\x12\x12\x0A\x0EPENDING_DELETE\x10\x03\x12\x12\x0A\x0EPENDING_CREATE\x10\x04\x12\x0F\x0A\x0BMAINTENANCE\x10\x05\x12\x0A\x0A\x06FAILED\x10\x06\x12\x1A\x0A\x12ONLINE_MAINTENANCE\x10\x07\x1A\x02\x08\x01\x12\x0D\x0A\x09REPAIRING\x10\x08\"~\x0A\x16SqlNetworkArchitecture\x12(\x0A\$SQL_NETWORK_ARCHITECTURE_UNSPECIFIED\x10\x00\x12\x1C\x0A\x18NEW_NETWORK_ARCHITECTURE\x10\x01\x12\x1C\x0A\x18OLD_NETWORK_ARCHITECTURE\x10\x02B\x15\x0A\x13_out_of_disk_reportB\x1B\x0A\x19_sql_network_architectureB\x1E\x0A\x1C_psc_service_attachment_linkB\x0B\x0A\x09_dns_nameB\x13\x0A\x11_primary_dns_nameB\x11\x0A\x0F_write_endpointB\x10\x0A\x0E_gemini_configB3\x0A1_switch_transaction_logs_to_cloud_storage_enabledB-\x0A+_include_replicas_for_major_version_upgradeB\x0D\x0A\x0B_node_count\"\xA6\x03\x0A\x14GeminiInstanceConfig\x12\x1A\x0A\x08entitled\x18\x01 \x01(\x08B\x03\xE0A\x03H\x00\x88\x01\x01\x12,\x0A\x1Agoogle_vacuum_mgmt_enabled\x18\x02 \x01(\x08B\x03\xE0A\x03H\x01\x88\x01\x01\x12,\x0A\x1Aoom_session_cancel_enabled\x18\x03 \x01(\x08B\x03\xE0A\x03H\x02\x88\x01\x01\x12&\x0A\x14active_query_enabled\x18\x04 \x01(\x08B\x03\xE0A\x03H\x03\x88\x01\x01\x12'\x0A\x15index_advisor_enabled\x18\x05 \x01(\x08B\x03\xE0A\x03H\x04\x88\x01\x01\x12*\x0A\x18flag_recommender_enabled\x18\x06 \x01(\x08B\x03\xE0A\x03H\x05\x88\x01\x01B\x0B\x0A\x09_entitledB\x1D\x0A\x1B_google_vacuum_mgmt_enabledB\x1D\x0A\x1B_oom_session_cancel_enabledB\x17\x0A\x15_active_query_enabledB\x18\x0A\x16_index_advisor_enabledB\x1B\x0A\x19_flag_recommender_enabled\"u\x0A\x12ReplicationCluster\x12\x1F\x0A\x12psa_write_endpoint\x18\x01 \x01(\x09B\x03\xE0A\x03\x12%\x0A\x18failover_dr_replica_name\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x17\x0A\x0Adr_replica\x18\x04 \x01(\x08B\x03\xE0A\x03\"\x90\x01\x0A\x18AvailableDatabaseVersion\x12\x1A\x0A\x0Dmajor_version\x18\x03 \x01(\x09H\x00\x88\x01\x01\x12\x11\x0A\x04name\x18\x08 \x01(\x09H\x01\x88\x01\x01\x12\x19\x0A\x0Cdisplay_name\x18\x09 \x01(\x09H\x02\x88\x01\x01B\x10\x0A\x0E_major_versionB\x07\x0A\x05_nameB\x0F\x0A\x0D_display_name\"\xB2\x03\x0A,SqlInstancesRescheduleMaintenanceRequestBody\x12`\x0A\x0Areschedule\x18\x03 \x01(\x0B2L.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule\x1A\xAF\x01\x0A\x0AReschedule\x12i\x0A\x0Freschedule_type\x18\x01 \x01(\x0E2P.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.RescheduleType\x126\x0A\x0Dschedule_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\"n\x0A\x0ERescheduleType\x12\x1F\x0A\x1BRESCHEDULE_TYPE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09IMMEDIATE\x10\x01\x12\x19\x0A\x15NEXT_AVAILABLE_WINDOW\x10\x02\x12\x11\x0A\x0DSPECIFIC_TIME\x10\x03\"\xED\x01\x0A\x13DemoteMasterContext\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12;\x0A\x17verify_gtid_consistency\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12\x1C\x0A\x14master_instance_name\x18\x03 \x01(\x09\x12M\x0A\x15replica_configuration\x18\x04 \x01(\x0B2..google.cloud.sql.v1.DemoteMasterConfiguration\x12\x1E\x0A\x16skip_replication_setup\x18\x05 \x01(\x08\"O\x0A\x0DDemoteContext\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x120\x0A#source_representative_instance_name\x18\x02 \x01(\x09B\x03\xE0A\x02\"9\x0A\x0FFailoverContext\x12\x18\x0A\x10settings_version\x18\x01 \x01(\x03\x12\x0C\x0A\x04kind\x18\x02 \x01(\x09\"a\x0A\x14RestoreBackupContext\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x15\x0A\x0Dbackup_run_id\x18\x02 \x01(\x03\x12\x13\x0A\x0Binstance_id\x18\x03 \x01(\x09\x12\x0F\x0A\x07project\x18\x04 \x01(\x09\";\x0A\x15RotateServerCaContext\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x14\x0A\x0Cnext_version\x18\x02 \x01(\x09\"I\x0A\x1ERotateServerCertificateContext\x12\x11\x0A\x04kind\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x14\x0A\x0Cnext_version\x18\x02 \x01(\x09\"O\x0A\x1FRotateEntraIdCertificateContext\x12\x11\x0A\x04kind\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cnext_version\x18\x02 \x01(\x09B\x03\xE0A\x01\"4\x0A\x12TruncateLogContext\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x10\x0A\x08log_type\x18\x02 \x01(\x09\"\xDF\x10\x0A\x1BSqlExternalSyncSettingError\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12^\x0A\x04type\x18\x02 \x01(\x0E2P.google.cloud.sql.v1.SqlExternalSyncSettingError.SqlExternalSyncSettingErrorType\x12\x0E\x0A\x06detail\x18\x03 \x01(\x09\"\xC1\x0F\x0A\x1FSqlExternalSyncSettingErrorType\x124\x0A0SQL_EXTERNAL_SYNC_SETTING_ERROR_TYPE_UNSPECIFIED\x10\x00\x12\x16\x0A\x12CONNECTION_FAILURE\x10\x01\x12\x16\x0A\x12BINLOG_NOT_ENABLED\x10\x02\x12!\x0A\x1DINCOMPATIBLE_DATABASE_VERSION\x10\x03\x12\x19\x0A\x15REPLICA_ALREADY_SETUP\x10\x04\x12\x1A\x0A\x16INSUFFICIENT_PRIVILEGE\x10\x05\x12\x1E\x0A\x1AUNSUPPORTED_MIGRATION_TYPE\x10\x06\x12\x1A\x0A\x16NO_PGLOGICAL_INSTALLED\x10\x07\x12!\x0A\x1DPGLOGICAL_NODE_ALREADY_EXISTS\x10\x08\x12\x15\x0A\x11INVALID_WAL_LEVEL\x10\x09\x12\"\x0A\x1EINVALID_SHARED_PRELOAD_LIBRARY\x10\x0A\x12&\x0A\"INSUFFICIENT_MAX_REPLICATION_SLOTS\x10\x0B\x12 \x0A\x1CINSUFFICIENT_MAX_WAL_SENDERS\x10\x0C\x12%\x0A!INSUFFICIENT_MAX_WORKER_PROCESSES\x10\x0D\x12\x1A\x0A\x16UNSUPPORTED_EXTENSIONS\x10\x0E\x12#\x0A\x1FINVALID_RDS_LOGICAL_REPLICATION\x10\x0F\x12\x19\x0A\x15INVALID_LOGGING_SETUP\x10\x10\x12\x14\x0A\x10INVALID_DB_PARAM\x10\x11\x12\x19\x0A\x15UNSUPPORTED_GTID_MODE\x10\x12\x12\x1F\x0A\x1BSQLSERVER_AGENT_NOT_RUNNING\x10\x13\x12 \x0A\x1CUNSUPPORTED_TABLE_DEFINITION\x10\x14\x12\x17\x0A\x13UNSUPPORTED_DEFINER\x10\x15\x12!\x0A\x1DSQLSERVER_SERVERNAME_MISMATCH\x10\x16\x12\x19\x0A\x15PRIMARY_ALREADY_SETUP\x10\x17\x12\x1D\x0A\x19UNSUPPORTED_BINLOG_FORMAT\x10\x18\x12\x1C\x0A\x18BINLOG_RETENTION_SETTING\x10\x19\x12\x1E\x0A\x1AUNSUPPORTED_STORAGE_ENGINE\x10\x1A\x12\x1A\x0A\x16LIMITED_SUPPORT_TABLES\x10\x1B\x12\x1C\x0A\x18EXISTING_DATA_IN_REPLICA\x10\x1C\x12\x1F\x0A\x1BMISSING_OPTIONAL_PRIVILEGES\x10\x1D\x12 \x0A\x1CRISKY_BACKUP_ADMIN_PRIVILEGE\x10\x1E\x12 \x0A\x1CINSUFFICIENT_GCS_PERMISSIONS\x10\x1F\x12\x15\x0A\x11INVALID_FILE_INFO\x10 \x12!\x0A\x1DUNSUPPORTED_DATABASE_SETTINGS\x10!\x120\x0A,MYSQL_PARALLEL_IMPORT_INSUFFICIENT_PRIVILEGE\x10\"\x12\x14\x0A\x10LOCAL_INFILE_OFF\x10#\x12\x1E\x0A\x1ATURN_ON_PITR_AFTER_PROMOTE\x10\$\x12'\x0A#INCOMPATIBLE_DATABASE_MINOR_VERSION\x10%\x12\x1C\x0A\x18SOURCE_MAX_SUBSCRIPTIONS\x10&\x12\x1D\x0A\x19UNABLE_TO_VERIFY_DEFINERS\x10'\x12#\x0A\x1FSUBSCRIPTION_CALCULATION_STATUS\x10(\x12\x19\x0A\x15PG_SUBSCRIPTION_COUNT\x10)\x12\x1A\x0A\x16PG_SYNC_PARALLEL_LEVEL\x10*\x12\x1A\x0A\x16INSUFFICIENT_DISK_SIZE\x10+\x12\x1D\x0A\x19INSUFFICIENT_MACHINE_TIER\x10,\x12'\x0A#UNSUPPORTED_EXTENSIONS_NOT_MIGRATED\x10-\x12\x1B\x0A\x17EXTENSIONS_NOT_MIGRATED\x10.\x12#\x0A\x1FPG_CRON_FLAG_ENABLED_IN_REPLICA\x10/\x12%\x0A!EXTENSIONS_NOT_ENABLED_IN_REPLICA\x100\x12\x17\x0A\x13UNSUPPORTED_COLUMNS\x101\x12 \x0A\x1CUSERS_NOT_CREATED_IN_REPLICA\x102\x12\x1E\x0A\x1AUNSUPPORTED_SYSTEM_OBJECTS\x103\x12,\x0A(UNSUPPORTED_TABLES_WITH_REPLICA_IDENTITY\x104\x12(\x0A\$SELECTED_OBJECTS_NOT_EXIST_ON_SOURCE\x105\x124\x0A0PSC_ONLY_INSTANCE_WITH_NO_NETWORK_ATTACHMENT_URI\x106\x121\x0A-SELECTED_OBJECTS_REFERENCE_UNSELECTED_OBJECTS\x107\x12\x1A\x0A\x16PROMPT_DELETE_EXISTING\x108\x12\x18\x0A\x14WILL_DELETE_EXISTING\x109\x12-\x0A)PG_DDL_REPLICATION_INSUFFICIENT_PRIVILEGE\x10:\"(\x0A\x0FSelectedObjects\x12\x15\x0A\x08database\x18\x01 \x01(\x09B\x03\xE0A\x02\"\xE7\x03\x0A\x17OnPremisesConfiguration\x12\x11\x0A\x09host_port\x18\x01 \x01(\x09\x12\x0C\x0A\x04kind\x18\x02 \x01(\x09\x12\x10\x0A\x08username\x18\x03 \x01(\x09\x12\x10\x0A\x08password\x18\x04 \x01(\x09\x12\x16\x0A\x0Eca_certificate\x18\x05 \x01(\x09\x12\x1A\x0A\x12client_certificate\x18\x06 \x01(\x09\x12\x12\x0A\x0Aclient_key\x18\x07 \x01(\x09\x12\x16\x0A\x0Edump_file_path\x18\x08 \x01(\x09\x12?\x0A\x0Fsource_instance\x18\x0F \x01(\x0B2&.google.cloud.sql.v1.InstanceReference\x12C\x0A\x10selected_objects\x18\x10 \x03(\x0B2\$.google.cloud.sql.v1.SelectedObjectsB\x03\xE0A\x01\x12O\x0A\x0Assl_option\x18\x12 \x01(\x0E26.google.cloud.sql.v1.OnPremisesConfiguration.SslOptionB\x03\xE0A\x01\"P\x0A\x09SslOption\x12\x1A\x0A\x16SSL_OPTION_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07DISABLE\x10\x01\x12\x0B\x0A\x07REQUIRE\x10\x02\x12\x0D\x0A\x09VERIFY_CA\x10\x03\"\xEB\x01\x0A\x14ReplicaConfiguration\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12S\x0A\x1Bmysql_replica_configuration\x18\x02 \x01(\x0B2..google.cloud.sql.v1.MySqlReplicaConfiguration\x123\x0A\x0Ffailover_target\x18\x03 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12;\x0A\x12cascadable_replica\x18\x05 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\"\x82\x01\x0A\x1DSqlInstancesExecuteSqlRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\x124\x0A\x04body\x18d \x01(\x0B2&.google.cloud.sql.v1.ExecuteSqlPayload\"\x84\x03\x0A\x11ExecuteSqlPayload\x12\x11\x0A\x04user\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dsql_statement\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x15\x0A\x08database\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x1D\x0A\x0Eauto_iam_authn\x18\x0B \x01(\x08B\x03\xE0A\x01H\x00\x12\x16\x0A\x09row_limit\x18\x0A \x01(\x03B\x03\xE0A\x01\x12Z\x0A\x13partial_result_mode\x18\x0D \x01(\x0E28.google.cloud.sql.v1.ExecuteSqlPayload.PartialResultModeB\x03\xE0A\x01\x12\x18\x0A\x0Bapplication\x18\x10 \x01(\x09B\x03\xE0A\x01\"k\x0A\x11PartialResultMode\x12#\x0A\x1FPARTIAL_RESULT_MODE_UNSPECIFIED\x10\x00\x12\x17\x0A\x13FAIL_PARTIAL_RESULT\x10\x01\x12\x18\x0A\x14ALLOW_PARTIAL_RESULT\x10\x02B\x0F\x0A\x0Duser_password\"\xC8\x02\x0A\x1ESqlInstancesExecuteSqlResponse\x12M\x0A\x08messages\x18\x09 \x03(\x0B2;.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.Message\x12/\x0A\x08metadata\x18\x06 \x01(\x0B2\x1D.google.cloud.sql.v1.Metadata\x121\x0A\x07results\x18\x07 \x03(\x0B2 .google.cloud.sql.v1.QueryResult\x12\"\x0A\x06status\x18\x08 \x01(\x0B2\x12.google.rpc.Status\x1AO\x0A\x07Message\x12\x14\x0A\x07message\x18\x01 \x01(\x09H\x00\x88\x01\x01\x12\x15\x0A\x08severity\x18\x02 \x01(\x09H\x01\x88\x01\x01B\x0A\x0A\x08_messageB\x0B\x0A\x09_severity\"\xB0\x01\x0A\x0BQueryResult\x12,\x0A\x07columns\x18\x01 \x03(\x0B2\x1B.google.cloud.sql.v1.Column\x12&\x0A\x04rows\x18\x02 \x03(\x0B2\x18.google.cloud.sql.v1.Row\x12\x0F\x0A\x07message\x18\x03 \x01(\x09\x12\x16\x0A\x0Epartial_result\x18\x04 \x01(\x08\x12\"\x0A\x06status\x18\x08 \x01(\x0B2\x12.google.rpc.Status\"\$\x0A\x06Column\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x0C\x0A\x04type\x18\x02 \x01(\x09\"1\x0A\x03Row\x12*\x0A\x06values\x18\x01 \x03(\x0B2\x1A.google.cloud.sql.v1.Value\"*\x0A\x05Value\x12\x0D\x0A\x05value\x18\x01 \x01(\x09\x12\x12\x0A\x0Anull_value\x18\x02 \x01(\x08\"K\x0A\x08Metadata\x12?\x0A\x1Csql_statement_execution_time\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\"\x9C\x01\x0A#SqlInstancesAcquireSsrsLeaseRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\x12H\x0A\x04body\x18d \x01(\x0B25.google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequestB\x03\xE0A\x02\"<\x0A\$SqlInstancesAcquireSsrsLeaseResponse\x12\x14\x0A\x0Coperation_id\x18\x01 \x01(\x09\"R\x0A#SqlInstancesReleaseSsrsLeaseRequest\x12\x15\x0A\x08instance\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x14\x0A\x07project\x18\x02 \x01(\x09B\x03\xE0A\x02\"<\x0A\$SqlInstancesReleaseSsrsLeaseResponse\x12\x14\x0A\x0Coperation_id\x18\x01 \x01(\x09\"\x82\x01\x0A%SqlInstancesPointInTimeRestoreRequest\x12\x13\x0A\x06parent\x18\x01 \x01(\x09B\x03\xE0A\x02\x12D\x0A\x07context\x18d \x01(\x0B2..google.cloud.sql.v1.PointInTimeRestoreContextB\x03\xE0A\x02*h\x0A\x19ExternalSyncParallelLevel\x12,\x0A(EXTERNAL_SYNC_PARALLEL_LEVEL_UNSPECIFIED\x10\x00\x12\x07\x0A\x03MIN\x10\x01\x12\x0B\x0A\x07OPTIMAL\x10\x02\x12\x07\x0A\x03MAX\x10\x03*\x99\x01\x0A\x0FSqlInstanceType\x12!\x0A\x1DSQL_INSTANCE_TYPE_UNSPECIFIED\x10\x00\x12\x16\x0A\x12CLOUD_SQL_INSTANCE\x10\x01\x12\x18\x0A\x14ON_PREMISES_INSTANCE\x10\x02\x12\x19\x0A\x15READ_REPLICA_INSTANCE\x10\x03\x12\x16\x0A\x12READ_POOL_INSTANCE\x10\x05*\x9D\x01\x0A\x13SqlSuspensionReason\x12%\x0A!SQL_SUSPENSION_REASON_UNSPECIFIED\x10\x00\x12\x11\x0A\x0DBILLING_ISSUE\x10\x02\x12\x0F\x0A\x0BLEGAL_ISSUE\x10\x03\x12\x15\x0A\x11OPERATIONAL_ISSUE\x10\x04\x12\x11\x0A\x0DKMS_KEY_ISSUE\x10\x05\x12\x11\x0A\x0DPROJECT_ABUSE\x10\x082\x99>\x0A\x13SqlInstancesService\x12\xA3\x01\x0A\x0BAddServerCa\x123.google.cloud.sql.v1.SqlInstancesAddServerCaRequest\x1A\x1E.google.cloud.sql.v1.Operation\"?\x82\xD3\xE4\x93\x029\"7/v1/projects/{project}/instances/{instance}/addServerCa\x12\xBE\x01\x0A\x14AddServerCertificate\x12<.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest\x1A\x1E.google.cloud.sql.v1.Operation\"H\x82\xD3\xE4\x93\x02B\"@/v1/projects/{project}/instances/{instance}/addServerCertificate\x12\xC1\x01\x0A\x15AddEntraIdCertificate\x12=.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest\x1A\x1E.google.cloud.sql.v1.Operation\"I\x82\xD3\xE4\x93\x02C\"A/v1/projects/{project}/instances/{instance}/addEntraIdCertificate\x12\x97\x01\x0A\x05Clone\x12-.google.cloud.sql.v1.SqlInstancesCloneRequest\x1A\x1E.google.cloud.sql.v1.Operation\"?\x82\xD3\xE4\x93\x029\"1/v1/projects/{project}/instances/{instance}/clone:\x04body\x12\x8D\x01\x0A\x06Delete\x12..google.cloud.sql.v1.SqlInstancesDeleteRequest\x1A\x1E.google.cloud.sql.v1.Operation\"3\x82\xD3\xE4\x93\x02-*+/v1/projects/{project}/instances/{instance}\x12\xAC\x01\x0A\x0CDemoteMaster\x124.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest\x1A\x1E.google.cloud.sql.v1.Operation\"F\x82\xD3\xE4\x93\x02@\"8/v1/projects/{project}/instances/{instance}/demoteMaster:\x04body\x12\x9A\x01\x0A\x06Demote\x12..google.cloud.sql.v1.SqlInstancesDemoteRequest\x1A\x1E.google.cloud.sql.v1.Operation\"@\x82\xD3\xE4\x93\x02:\"2/v1/projects/{project}/instances/{instance}/demote:\x04body\x12\x9A\x01\x0A\x06Export\x12..google.cloud.sql.v1.SqlInstancesExportRequest\x1A\x1E.google.cloud.sql.v1.Operation\"@\x82\xD3\xE4\x93\x02:\"2/v1/projects/{project}/instances/{instance}/export:\x04body\x12\xA0\x01\x0A\x08Failover\x120.google.cloud.sql.v1.SqlInstancesFailoverRequest\x1A\x1E.google.cloud.sql.v1.Operation\"B\x82\xD3\xE4\x93\x02<\"4/v1/projects/{project}/instances/{instance}/failover:\x04body\x12\xA3\x01\x0A\x09Reencrypt\x121.google.cloud.sql.v1.SqlInstancesReencryptRequest\x1A\x1E.google.cloud.sql.v1.Operation\"C\x82\xD3\xE4\x93\x02=\"5/v1/projects/{project}/instances/{instance}/reencrypt:\x04body\x12\x8E\x01\x0A\x03Get\x12+.google.cloud.sql.v1.SqlInstancesGetRequest\x1A%.google.cloud.sql.v1.DatabaseInstance\"3\x82\xD3\xE4\x93\x02-\x12+/v1/projects/{project}/instances/{instance}\x12\x9A\x01\x0A\x06Import\x12..google.cloud.sql.v1.SqlInstancesImportRequest\x1A\x1E.google.cloud.sql.v1.Operation\"@\x82\xD3\xE4\x93\x02:\"2/v1/projects/{project}/instances/{instance}/import:\x04body\x12\x88\x01\x0A\x06Insert\x12..google.cloud.sql.v1.SqlInstancesInsertRequest\x1A\x1E.google.cloud.sql.v1.Operation\".\x82\xD3\xE4\x93\x02(\" /v1/projects/{project}/instances:\x04body\x12\x8A\x01\x0A\x04List\x12,.google.cloud.sql.v1.SqlInstancesListRequest\x1A*.google.cloud.sql.v1.InstancesListResponse\"(\x82\xD3\xE4\x93\x02\"\x12 /v1/projects/{project}/instances\x12\xBE\x01\x0A\x0DListServerCas\x125.google.cloud.sql.v1.SqlInstancesListServerCasRequest\x1A3.google.cloud.sql.v1.InstancesListServerCasResponse\"A\x82\xD3\xE4\x93\x02;\x129/v1/projects/{project}/instances/{instance}/listServerCas\x12\xE2\x01\x0A\x16ListServerCertificates\x12>.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest\x1A<.google.cloud.sql.v1.InstancesListServerCertificatesResponse\"J\x82\xD3\xE4\x93\x02D\x12B/v1/projects/{project}/instances/{instance}/listServerCertificates\x12\xE6\x01\x0A\x17ListEntraIdCertificates\x12?.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest\x1A=.google.cloud.sql.v1.InstancesListEntraIdCertificatesResponse\"K\x82\xD3\xE4\x93\x02E\x12C/v1/projects/{project}/instances/{instance}/listEntraIdCertificates\x12\x91\x01\x0A\x05Patch\x12-.google.cloud.sql.v1.SqlInstancesPatchRequest\x1A\x1E.google.cloud.sql.v1.Operation\"9\x82\xD3\xE4\x93\x0232+/v1/projects/{project}/instances/{instance}:\x04body\x12\xAC\x01\x0A\x0EPromoteReplica\x126.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest\x1A\x1E.google.cloud.sql.v1.Operation\"B\x82\xD3\xE4\x93\x02<\":/v1/projects/{project}/instances/{instance}/promoteReplica\x12\xA0\x01\x0A\x0ASwitchover\x122.google.cloud.sql.v1.SqlInstancesSwitchoverRequest\x1A\x1E.google.cloud.sql.v1.Operation\">\x82\xD3\xE4\x93\x028\"6/v1/projects/{project}/instances/{instance}/switchover\x12\xAC\x01\x0A\x0EResetSslConfig\x126.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest\x1A\x1E.google.cloud.sql.v1.Operation\"B\x82\xD3\xE4\x93\x02<\":/v1/projects/{project}/instances/{instance}/resetSslConfig\x12\x97\x01\x0A\x07Restart\x12/.google.cloud.sql.v1.SqlInstancesRestartRequest\x1A\x1E.google.cloud.sql.v1.Operation\";\x82\xD3\xE4\x93\x025\"3/v1/projects/{project}/instances/{instance}/restart\x12\xAF\x01\x0A\x0DRestoreBackup\x125.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest\x1A\x1E.google.cloud.sql.v1.Operation\"G\x82\xD3\xE4\x93\x02A\"9/v1/projects/{project}/instances/{instance}/restoreBackup:\x04body\x12\xB2\x01\x0A\x0ERotateServerCa\x126.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest\x1A\x1E.google.cloud.sql.v1.Operation\"H\x82\xD3\xE4\x93\x02B\":/v1/projects/{project}/instances/{instance}/rotateServerCa:\x04body\x12\xCD\x01\x0A\x17RotateServerCertificate\x12?.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest\x1A\x1E.google.cloud.sql.v1.Operation\"Q\x82\xD3\xE4\x93\x02K\"C/v1/projects/{project}/instances/{instance}/rotateServerCertificate:\x04body\x12\xD0\x01\x0A\x18RotateEntraIdCertificate\x12@.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest\x1A\x1E.google.cloud.sql.v1.Operation\"R\x82\xD3\xE4\x93\x02L\"D/v1/projects/{project}/instances/{instance}/rotateEntraIdCertificate:\x04body\x12\xA6\x01\x0A\x0CStartReplica\x124.google.cloud.sql.v1.SqlInstancesStartReplicaRequest\x1A\x1E.google.cloud.sql.v1.Operation\"@\x82\xD3\xE4\x93\x02:\"8/v1/projects/{project}/instances/{instance}/startReplica\x12\xA3\x01\x0A\x0BStopReplica\x123.google.cloud.sql.v1.SqlInstancesStopReplicaRequest\x1A\x1E.google.cloud.sql.v1.Operation\"?\x82\xD3\xE4\x93\x029\"7/v1/projects/{project}/instances/{instance}/stopReplica\x12\xA9\x01\x0A\x0BTruncateLog\x123.google.cloud.sql.v1.SqlInstancesTruncateLogRequest\x1A\x1E.google.cloud.sql.v1.Operation\"E\x82\xD3\xE4\x93\x02?\"7/v1/projects/{project}/instances/{instance}/truncateLog:\x04body\x12\x93\x01\x0A\x06Update\x12..google.cloud.sql.v1.SqlInstancesUpdateRequest\x1A\x1E.google.cloud.sql.v1.Operation\"9\x82\xD3\xE4\x93\x023\x1A+/v1/projects/{project}/instances/{instance}:\x04body\x12\xB7\x01\x0A\x0FCreateEphemeral\x12;.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest\x1A\x1C.google.cloud.sql.v1.SslCert\"I\x82\xD3\xE4\x93\x02C\";/v1/projects/{project}/instances/{instance}/createEphemeral:\x04body\x12\xC7\x01\x0A\x15RescheduleMaintenance\x12=.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest\x1A\x1E.google.cloud.sql.v1.Operation\"O\x82\xD3\xE4\x93\x02I\"A/v1/projects/{project}/instances/{instance}/rescheduleMaintenance:\x04body\x12\xF8\x01\x0A\x1AVerifyExternalSyncSettings\x12B.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest\x1AC.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsResponse\"Q\x82\xD3\xE4\x93\x02K\"F/v1/projects/{project}/instances/{instance}/verifyExternalSyncSettings:\x01*\x12\xB8\x01\x0A\x11StartExternalSync\x129.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest\x1A\x1E.google.cloud.sql.v1.Operation\"H\x82\xD3\xE4\x93\x02B\"=/v1/projects/{project}/instances/{instance}/startExternalSync:\x01*\x12\xBB\x01\x0A\x11PerformDiskShrink\x129.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest\x1A\x1E.google.cloud.sql.v1.Operation\"K\x82\xD3\xE4\x93\x02E\"=/v1/projects/{project}/instances/{instance}/performDiskShrink:\x04body\x12\xD9\x01\x0A\x13GetDiskShrinkConfig\x12;.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest\x1A<.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigResponse\"G\x82\xD3\xE4\x93\x02A\x12?/v1/projects/{project}/instances/{instance}/getDiskShrinkConfig\x12\xB5\x01\x0A\x10ResetReplicaSize\x128.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest\x1A\x1E.google.cloud.sql.v1.Operation\"G\x82\xD3\xE4\x93\x02A\".google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeResponse\"I\x82\xD3\xE4\x93\x02C\x12A/v1/projects/{project}/instances/{instance}/getLatestRecoveryTime\x12\xBB\x01\x0A\x0AExecuteSql\x122.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest\x1A3.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse\"D\x82\xD3\xE4\x93\x02>\"6/v1/projects/{project}/instances/{instance}/executeSql:\x04body\x12\xD3\x01\x0A\x10AcquireSsrsLease\x128.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest\x1A9.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseResponse\"J\x82\xD3\xE4\x93\x02D\"\"internalAddGeneratedFile( - "\x0A\xB9\xA9\x01\x0A-google/cloud/sql/v1/cloud_sql_resources.proto\x12\x13google.cloud.sql.v1\x1A\x1Bgoogle/api/field_info.proto\x1A\x19google/api/resource.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x1Egoogle/protobuf/wrappers.proto\"o\x0A\x08AclEntry\x12\x0D\x0A\x05value\x18\x01 \x01(\x09\x123\x0A\x0Fexpiration_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x11\x0A\x04name\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x0C\x0A\x04kind\x18\x04 \x01(\x09\"\x9A\x02\x0A\x0AApiWarning\x12?\x0A\x04code\x18\x01 \x01(\x0E21.google.cloud.sql.v1.ApiWarning.SqlApiWarningCode\x12\x0F\x0A\x07message\x18\x02 \x01(\x09\x12\x0E\x0A\x06region\x18\x03 \x01(\x09\"\xA9\x01\x0A\x11SqlApiWarningCode\x12\$\x0A SQL_API_WARNING_CODE_UNSPECIFIED\x10\x00\x12\x16\x0A\x12REGION_UNREACHABLE\x10\x01\x12\x1D\x0A\x19MAX_RESULTS_EXCEEDS_LIMIT\x10\x02\x12\x1B\x0A\x17COMPROMISED_CREDENTIALS\x10\x03\x12\x1A\x0A\x16INTERNAL_STATE_FAILURE\x10\x04\"\xE0\x01\x0A\x17BackupRetentionSettings\x12R\x0A\x0Eretention_unit\x18\x01 \x01(\x0E2:.google.cloud.sql.v1.BackupRetentionSettings.RetentionUnit\x125\x0A\x10retained_backups\x18\x02 \x01(\x0B2\x1B.google.protobuf.Int32Value\":\x0A\x0DRetentionUnit\x12\x1E\x0A\x1ARETENTION_UNIT_UNSPECIFIED\x10\x00\x12\x09\x0A\x05COUNT\x10\x01\"\xD8\x07\x0A\x13BackupConfiguration\x12\x12\x0A\x0Astart_time\x18\x01 \x01(\x09\x12+\x0A\x07enabled\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12\x0C\x0A\x04kind\x18\x03 \x01(\x09\x126\x0A\x12binary_log_enabled\x18\x04 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12E\x0A!replication_log_archiving_enabled\x18\x05 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12\x10\x0A\x08location\x18\x06 \x01(\x09\x12B\x0A\x1Epoint_in_time_recovery_enabled\x18\x07 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12O\x0A\x19backup_retention_settings\x18\x08 \x01(\x0B2,.google.cloud.sql.v1.BackupRetentionSettings\x12C\x0A\x1Etransaction_log_retention_days\x18\x09 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12x\x0A\x1Ftransactional_log_storage_state\x18\x0A \x01(\x0E2E.google.cloud.sql.v1.BackupConfiguration.TransactionalLogStorageStateB\x03\xE0A\x03H\x00\x88\x01\x01\x12R\x0A\x0Bbackup_tier\x18\x0B \x01(\x0E23.google.cloud.sql.v1.BackupConfiguration.BackupTierB\x03\xE0A\x03H\x01\x88\x01\x01\"\xAB\x01\x0A\x1CTransactionalLogStorageState\x12/\x0A+TRANSACTIONAL_LOG_STORAGE_STATE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04DISK\x10\x01\x12\x1E\x0A\x1ASWITCHING_TO_CLOUD_STORAGE\x10\x02\x12\x1D\x0A\x19SWITCHED_TO_CLOUD_STORAGE\x10\x03\x12\x11\x0A\x0DCLOUD_STORAGE\x10\x04\"W\x0A\x0ABackupTier\x12\x1B\x0A\x17BACKUP_TIER_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08STANDARD\x10\x01\x12\x10\x0A\x08ADVANCED\x10\x02\x1A\x02\x08\x01\x12\x0C\x0A\x08ENHANCED\x10\x03B\"\x0A _transactional_log_storage_stateB\x0E\x0A\x0C_backup_tier\"2\x0A\x18PerformDiskShrinkContext\x12\x16\x0A\x0Etarget_size_gb\x18\x01 \x01(\x03\"\xFC\x01\x0A\x10PreCheckResponse\x12\x14\x0A\x07message\x18\x02 \x01(\x09H\x00\x88\x01\x01\x12L\x0A\x0Cmessage_type\x18\x03 \x01(\x0E21.google.cloud.sql.v1.PreCheckResponse.MessageTypeH\x01\x88\x01\x01\x12\x18\x0A\x10actions_required\x18\x04 \x03(\x09\"M\x0A\x0BMessageType\x12\x1C\x0A\x18MESSAGE_TYPE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04INFO\x10\x01\x12\x0B\x0A\x07WARNING\x10\x02\x12\x09\x0A\x05ERROR\x10\x03B\x0A\x0A\x08_messageB\x0F\x0A\x0D_message_type\"\xCE\x01\x0A\"PreCheckMajorVersionUpgradeContext\x12M\x0A\x17target_database_version\x18\x01 \x01(\x0E2'.google.cloud.sql.v1.SqlDatabaseVersionB\x03\xE0A\x02\x12F\x0A\x12pre_check_response\x18\x02 \x03(\x0B2%.google.cloud.sql.v1.PreCheckResponseB\x03\xE0A\x03\x12\x11\x0A\x04kind\x18\x03 \x01(\x09B\x03\xE0A\x01\">\x0A\x0DBackupContext\x12\x11\x0A\x09backup_id\x18\x01 \x01(\x03\x12\x0C\x0A\x04kind\x18\x02 \x01(\x09\x12\x0C\x0A\x04name\x18\x03 \x01(\x09\"\xF7\x01\x0A\x08Database\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x0F\x0A\x07charset\x18\x02 \x01(\x09\x12\x11\x0A\x09collation\x18\x03 \x01(\x09\x12\x0C\x0A\x04etag\x18\x04 \x01(\x09\x12\x0C\x0A\x04name\x18\x05 \x01(\x09\x12\x10\x0A\x08instance\x18\x06 \x01(\x09\x12\x11\x0A\x09self_link\x18\x07 \x01(\x09\x12\x0F\x0A\x07project\x18\x08 \x01(\x09\x12S\x0A\x1Asqlserver_database_details\x18\x09 \x01(\x0B2-.google.cloud.sql.v1.SqlServerDatabaseDetailsH\x00B\x12\x0A\x10database_details\"O\x0A\x18SqlServerDatabaseDetails\x12\x1B\x0A\x13compatibility_level\x18\x01 \x01(\x05\x12\x16\x0A\x0Erecovery_model\x18\x02 \x01(\x09\",\x0A\x0DDatabaseFlags\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09\"M\x0A\x0FMySqlSyncConfig\x12:\x0A\x12initial_sync_flags\x18\x01 \x03(\x0B2\x1E.google.cloud.sql.v1.SyncFlags\"(\x0A\x09SyncFlags\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09\"B\x0A\x11InstanceReference\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x0E\x0A\x06region\x18\x02 \x01(\x09\x12\x0F\x0A\x07project\x18\x03 \x01(\x09\"\x8A\x01\x0A\x19DemoteMasterConfiguration\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12_\x0A\x1Bmysql_replica_configuration\x18\x02 \x01(\x0B2:.google.cloud.sql.v1.DemoteMasterMySqlReplicaConfiguration\"\xA1\x01\x0A%DemoteMasterMySqlReplicaConfiguration\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x10\x0A\x08username\x18\x02 \x01(\x09\x12\x10\x0A\x08password\x18\x03 \x01(\x09\x12\x12\x0A\x0Aclient_key\x18\x04 \x01(\x09\x12\x1A\x0A\x12client_certificate\x18\x05 \x01(\x09\x12\x16\x0A\x0Eca_certificate\x18\x06 \x01(\x09\"\x81\x0E\x0A\x0DExportContext\x12\x0B\x0A\x03uri\x18\x01 \x01(\x09\x12\x11\x0A\x09databases\x18\x02 \x03(\x09\x12\x0C\x0A\x04kind\x18\x03 \x01(\x09\x12O\x0A\x12sql_export_options\x18\x04 \x01(\x0B23.google.cloud.sql.v1.ExportContext.SqlExportOptions\x12R\x0A\x12csv_export_options\x18\x05 \x01(\x0B26.google.cloud.sql.v1.ExportContext.SqlCsvExportOptions\x123\x0A\x09file_type\x18\x06 \x01(\x0E2 .google.cloud.sql.v1.SqlFileType\x12+\x0A\x07offload\x18\x08 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12R\x0A\x12bak_export_options\x18\x09 \x01(\x0B26.google.cloud.sql.v1.ExportContext.SqlBakExportOptions\x12W\x0A\x12tde_export_options\x18\x0A \x01(\x0B26.google.cloud.sql.v1.ExportContext.SqlTdeExportOptionsB\x03\xE0A\x01\x1A\x99\x01\x0A\x13SqlCsvExportOptions\x12\x14\x0A\x0Cselect_query\x18\x01 \x01(\x09\x12\x18\x0A\x10escape_character\x18\x02 \x01(\x09\x12\x17\x0A\x0Fquote_character\x18\x03 \x01(\x09\x12\x1C\x0A\x14fields_terminated_by\x18\x04 \x01(\x09\x12\x1B\x0A\x13lines_terminated_by\x18\x06 \x01(\x09\x1A\xD5\x04\x0A\x10SqlExportOptions\x12\x0E\x0A\x06tables\x18\x01 \x03(\x09\x12/\x0A\x0Bschema_only\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12d\x0A\x14mysql_export_options\x18\x03 \x01(\x0B2F.google.cloud.sql.v1.ExportContext.SqlExportOptions.MysqlExportOptions\x121\x0A\x07threads\x18\x04 \x01(\x0B2\x1B.google.protobuf.Int32ValueB\x03\xE0A\x01\x121\x0A\x08parallel\x18\x05 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x12o\x0A\x17postgres_export_options\x18\x06 \x01(\x0B2I.google.cloud.sql.v1.ExportContext.SqlExportOptions.PostgresExportOptionsB\x03\xE0A\x01\x1AF\x0A\x12MysqlExportOptions\x120\x0A\x0Bmaster_data\x18\x01 \x01(\x0B2\x1B.google.protobuf.Int32Value\x1A{\x0A\x15PostgresExportOptions\x12.\x0A\x05clean\x18\x01 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x122\x0A\x09if_exists\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x1A\x8D\x03\x0A\x13SqlBakExportOptions\x12+\x0A\x07striped\x18\x01 \x01(\x0B2\x1A.google.protobuf.BoolValue\x121\x0A\x0Cstripe_count\x18\x02 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12.\x0A\x08bak_type\x18\x04 \x01(\x0E2\x1C.google.cloud.sql.v1.BakType\x121\x0A\x09copy_only\x18\x05 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x02\x18\x01\x125\x0A\x11differential_base\x18\x06 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12>\x0A\x15export_log_start_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x12<\x0A\x13export_log_end_time\x18\x08 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x1A\x89\x01\x0A\x13SqlTdeExportOptions\x12\x1D\x0A\x10certificate_path\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x1D\x0A\x10private_key_path\x18\x02 \x01(\x09B\x03\xE0A\x02\x12!\x0A\x14private_key_password\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x11\x0A\x04name\x18\x05 \x01(\x09B\x03\xE0A\x02\"\x8E\x0D\x0A\x0DImportContext\x12\x0B\x0A\x03uri\x18\x01 \x01(\x09\x12\x10\x0A\x08database\x18\x02 \x01(\x09\x12\x0C\x0A\x04kind\x18\x03 \x01(\x09\x123\x0A\x09file_type\x18\x04 \x01(\x0E2 .google.cloud.sql.v1.SqlFileType\x12R\x0A\x12csv_import_options\x18\x05 \x01(\x0B26.google.cloud.sql.v1.ImportContext.SqlCsvImportOptions\x12\x13\x0A\x0Bimport_user\x18\x06 \x01(\x09\x12R\x0A\x12bak_import_options\x18\x07 \x01(\x0B26.google.cloud.sql.v1.ImportContext.SqlBakImportOptions\x12T\x0A\x12sql_import_options\x18\x08 \x01(\x0B23.google.cloud.sql.v1.ImportContext.SqlImportOptionsB\x03\xE0A\x01\x12W\x0A\x12tde_import_options\x18\x09 \x01(\x0B26.google.cloud.sql.v1.ImportContext.SqlTdeImportOptionsB\x03\xE0A\x01\x1A\xE6\x02\x0A\x10SqlImportOptions\x121\x0A\x07threads\x18\x01 \x01(\x0B2\x1B.google.protobuf.Int32ValueB\x03\xE0A\x01\x121\x0A\x08parallel\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x12o\x0A\x17postgres_import_options\x18\x03 \x01(\x0B2I.google.cloud.sql.v1.ImportContext.SqlImportOptions.PostgresImportOptionsB\x03\xE0A\x01\x1A{\x0A\x15PostgresImportOptions\x12.\x0A\x05clean\x18\x01 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x122\x0A\x09if_exists\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x1A\xA3\x01\x0A\x13SqlCsvImportOptions\x12\x0D\x0A\x05table\x18\x01 \x01(\x09\x12\x0F\x0A\x07columns\x18\x02 \x03(\x09\x12\x18\x0A\x10escape_character\x18\x04 \x01(\x09\x12\x17\x0A\x0Fquote_character\x18\x05 \x01(\x09\x12\x1C\x0A\x14fields_terminated_by\x18\x06 \x01(\x09\x12\x1B\x0A\x13lines_terminated_by\x18\x08 \x01(\x09\x1A\x93\x04\x0A\x13SqlBakImportOptions\x12d\x0A\x12encryption_options\x18\x01 \x01(\x0B2H.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.EncryptionOptions\x12+\x0A\x07striped\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12/\x0A\x0Bno_recovery\x18\x04 \x01(\x0B2\x1A.google.protobuf.BoolValue\x121\x0A\x0Drecovery_only\x18\x05 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12.\x0A\x08bak_type\x18\x06 \x01(\x0E2\x1C.google.cloud.sql.v1.BakType\x120\x0A\x07stop_at\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x12\x19\x0A\x0Cstop_at_mark\x18\x08 \x01(\x09B\x03\xE0A\x01\x1A\x87\x01\x0A\x11EncryptionOptions\x12\x11\x0A\x09cert_path\x18\x01 \x01(\x09\x12\x10\x0A\x08pvk_path\x18\x02 \x01(\x09\x12\x14\x0A\x0Cpvk_password\x18\x03 \x01(\x09\x127\x0A\x0Ekeep_encrypted\x18\x05 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x1A\x89\x01\x0A\x13SqlTdeImportOptions\x12\x1D\x0A\x10certificate_path\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x1D\x0A\x10private_key_path\x18\x02 \x01(\x09B\x03\xE0A\x02\x12!\x0A\x14private_key_password\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x11\x0A\x04name\x18\x05 \x01(\x09B\x03\xE0A\x02\"\xBB\x09\x0A\x0FIpConfiguration\x120\x0A\x0Cipv4_enabled\x18\x01 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12\x17\x0A\x0Fprivate_network\x18\x02 \x01(\x09\x12/\x0A\x0Brequire_ssl\x18\x03 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12:\x0A\x13authorized_networks\x18\x04 \x03(\x0B2\x1D.google.cloud.sql.v1.AclEntry\x12\x1A\x0A\x12allocated_ip_range\x18\x06 \x01(\x09\x12Q\x0A-enable_private_path_for_google_cloud_services\x18\x07 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12>\x0A\x08ssl_mode\x18\x08 \x01(\x0E2,.google.cloud.sql.v1.IpConfiguration.SslMode\x127\x0A\x0Apsc_config\x18\x09 \x01(\x0B2\x1E.google.cloud.sql.v1.PscConfigH\x00\x88\x01\x01\x12H\x0A\x0Eserver_ca_mode\x18\x0A \x01(\x0E2+.google.cloud.sql.v1.IpConfiguration.CaModeH\x01\x88\x01\x01\x12-\x0A custom_subject_alternative_names\x18\x0B \x03(\x09B\x03\xE0A\x01\x12 \x0A\x0Eserver_ca_pool\x18\x0C \x01(\x09B\x03\xE0A\x01H\x02\x88\x01\x01\x12v\x0A server_certificate_rotation_mode\x18\x10 \x01(\x0E2B.google.cloud.sql.v1.IpConfiguration.ServerCertificateRotationModeB\x03\xE0A\x01H\x03\x88\x01\x01\"\x85\x01\x0A\x07SslMode\x12\x18\x0A\x14SSL_MODE_UNSPECIFIED\x10\x00\x12#\x0A\x1FALLOW_UNENCRYPTED_AND_ENCRYPTED\x10\x01\x12\x12\x0A\x0EENCRYPTED_ONLY\x10\x02\x12'\x0A#TRUSTED_CLIENT_CERTIFICATE_REQUIRED\x10\x03\"y\x0A\x06CaMode\x12\x17\x0A\x13CA_MODE_UNSPECIFIED\x10\x00\x12\x1E\x0A\x1AGOOGLE_MANAGED_INTERNAL_CA\x10\x01\x12\x19\x0A\x15GOOGLE_MANAGED_CAS_CA\x10\x02\x12\x1B\x0A\x17CUSTOMER_MANAGED_CAS_CA\x10\x03\"\x97\x01\x0A\x1DServerCertificateRotationMode\x120\x0A,SERVER_CERTIFICATE_ROTATION_MODE_UNSPECIFIED\x10\x00\x12\x19\x0A\x15NO_AUTOMATIC_ROTATION\x10\x01\x12)\x0A%AUTOMATIC_ROTATION_DURING_MAINTENANCE\x10\x02B\x0D\x0A\x0B_psc_configB\x11\x0A\x0F_server_ca_modeB\x11\x0A\x0F_server_ca_poolB#\x0A!_server_certificate_rotation_mode\"\xD3\x01\x0A\x09PscConfig\x12\x18\x0A\x0Bpsc_enabled\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12&\x0A\x19allowed_consumer_projects\x18\x02 \x03(\x09B\x03\xE0A\x01\x12O\x0A\x14psc_auto_connections\x18\x03 \x03(\x0B2,.google.cloud.sql.v1.PscAutoConnectionConfigB\x03\xE0A\x01\x12#\x0A\x16network_attachment_uri\x18\x04 \x01(\x09B\x03\xE0A\x01B\x0E\x0A\x0C_psc_enabled\"\xEB\x01\x0A\x17PscAutoConnectionConfig\x12\x1D\x0A\x10consumer_project\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x1D\x0A\x10consumer_network\x18\x02 \x01(\x09B\x03\xE0A\x01\x12!\x0A\x0Aip_address\x18\x03 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04H\x00\x88\x01\x01\x12\x13\x0A\x06status\x18\x04 \x01(\x09H\x01\x88\x01\x01\x12\$\x0A\x17consumer_network_status\x18\x05 \x01(\x09H\x02\x88\x01\x01B\x0D\x0A\x0B_ip_addressB\x09\x0A\x07_statusB\x1A\x0A\x18_consumer_network_status\"l\x0A\x12LocationPreference\x12\"\x0A\x16follow_gae_application\x18\x01 \x01(\x09B\x02\x18\x01\x12\x0C\x0A\x04zone\x18\x02 \x01(\x09\x12\x16\x0A\x0Esecondary_zone\x18\x04 \x01(\x09\x12\x0C\x0A\x04kind\x18\x03 \x01(\x09\"\xB1\x01\x0A\x11MaintenanceWindow\x12)\x0A\x04hour\x18\x01 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12(\x0A\x03day\x18\x02 \x01(\x0B2\x1B.google.protobuf.Int32Value\x129\x0A\x0Cupdate_track\x18\x03 \x01(\x0E2#.google.cloud.sql.v1.SqlUpdateTrack\x12\x0C\x0A\x04kind\x18\x04 \x01(\x09\"K\x0A\x15DenyMaintenancePeriod\x12\x12\x0A\x0Astart_date\x18\x01 \x01(\x09\x12\x10\x0A\x08end_date\x18\x02 \x01(\x09\x12\x0C\x0A\x04time\x18\x03 \x01(\x09\"\xB1\x02\x0A\x0EInsightsConfig\x12\x1E\x0A\x16query_insights_enabled\x18\x01 \x01(\x08\x12\x1D\x0A\x15record_client_address\x18\x02 \x01(\x08\x12\x1F\x0A\x17record_application_tags\x18\x03 \x01(\x08\x128\x0A\x13query_string_length\x18\x04 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12;\x0A\x16query_plans_per_minute\x18\x05 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12H\x0A\x1Fenhanced_query_insights_enabled\x18\x08 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\"\xFB\x02\x0A\x19MySqlReplicaConfiguration\x12\x16\x0A\x0Edump_file_path\x18\x01 \x01(\x09\x12\x10\x0A\x08username\x18\x02 \x01(\x09\x12\x10\x0A\x08password\x18\x03 \x01(\x09\x12;\x0A\x16connect_retry_interval\x18\x04 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12<\x0A\x17master_heartbeat_period\x18\x05 \x01(\x0B2\x1B.google.protobuf.Int64Value\x12\x16\x0A\x0Eca_certificate\x18\x06 \x01(\x09\x12\x1A\x0A\x12client_certificate\x18\x07 \x01(\x09\x12\x12\x0A\x0Aclient_key\x18\x08 \x01(\x09\x12\x12\x0A\x0Assl_cipher\x18\x09 \x01(\x09\x12=\x0A\x19verify_server_certificate\x18\x0A \x01(\x0B2\x1A.google.protobuf.BoolValue\x12\x0C\x0A\x04kind\x18\x0B \x01(\x09\"A\x0A\x1BDiskEncryptionConfiguration\x12\x14\x0A\x0Ckms_key_name\x18\x01 \x01(\x09\x12\x0C\x0A\x04kind\x18\x02 \x01(\x09\"B\x0A\x14DiskEncryptionStatus\x12\x1C\x0A\x14kms_key_version_name\x18\x01 \x01(\x09\x12\x0C\x0A\x04kind\x18\x02 \x01(\x09\"\x88\x01\x0A\x09IpMapping\x123\x0A\x04type\x18\x01 \x01(\x0E2%.google.cloud.sql.v1.SqlIpAddressType\x12\x12\x0A\x0Aip_address\x18\x02 \x01(\x09\x122\x0A\x0Etime_to_retire\x18\x03 \x01(\x0B2\x1A.google.protobuf.Timestamp\"s\x0A\x13SqlSubOperationType\x12C\x0A\x10maintenance_type\x18\x01 \x01(\x0E2'.google.cloud.sql.v1.SqlMaintenanceTypeH\x00B\x17\x0A\x15sub_operation_details\"\xD5\x10\x0A\x09Operation\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x13\x0A\x0Btarget_link\x18\x02 \x01(\x09\x12A\x0A\x06status\x18\x03 \x01(\x0E21.google.cloud.sql.v1.Operation.SqlOperationStatus\x12\x0C\x0A\x04user\x18\x04 \x01(\x09\x12/\x0A\x0Binsert_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12.\x0A\x0Astart_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12,\x0A\x08end_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.Timestamp\x123\x0A\x05error\x18\x08 \x01(\x0B2\$.google.cloud.sql.v1.OperationErrors\x124\x0A\x0Bapi_warning\x18\x13 \x01(\x0B2\x1F.google.cloud.sql.v1.ApiWarning\x12G\x0A\x0Eoperation_type\x18\x09 \x01(\x0E2/.google.cloud.sql.v1.Operation.SqlOperationType\x12:\x0A\x0Eimport_context\x18\x0A \x01(\x0B2\".google.cloud.sql.v1.ImportContext\x12:\x0A\x0Eexport_context\x18\x0B \x01(\x0B2\".google.cloud.sql.v1.ExportContext\x12:\x0A\x0Ebackup_context\x18\x11 \x01(\x0B2\".google.cloud.sql.v1.BackupContext\x12h\x0A'pre_check_major_version_upgrade_context\x182 \x01(\x0B27.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext\x12\x0C\x0A\x04name\x18\x0C \x01(\x09\x12\x11\x0A\x09target_id\x18\x0D \x01(\x09\x12\x11\x0A\x09self_link\x18\x0E \x01(\x09\x12\x16\x0A\x0Etarget_project\x18\x0F \x01(\x09\x12P\x0A\x1Aacquire_ssrs_lease_context\x18\x14 \x01(\x0B2,.google.cloud.sql.v1.AcquireSsrsLeaseContext\x12I\x0A\x12sub_operation_type\x180 \x01(\x0B2(.google.cloud.sql.v1.SqlSubOperationTypeB\x03\xE0A\x01\"\xA9\x08\x0A\x10SqlOperationType\x12\"\x0A\x1ESQL_OPERATION_TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06IMPORT\x10\x01\x12\x0A\x0A\x06EXPORT\x10\x02\x12\x0A\x0A\x06CREATE\x10\x03\x12\x0A\x0A\x06UPDATE\x10\x04\x12\x0A\x0A\x06DELETE\x10\x05\x12\x0B\x0A\x07RESTART\x10\x06\x12\x0E\x0A\x06BACKUP\x10\x07\x1A\x02\x08\x01\x12\x10\x0A\x08SNAPSHOT\x10\x08\x1A\x02\x08\x01\x12\x11\x0A\x0DBACKUP_VOLUME\x10\x09\x12\x11\x0A\x0DDELETE_VOLUME\x10\x0A\x12\x12\x0A\x0ERESTORE_VOLUME\x10\x0B\x12\x0F\x0A\x0BINJECT_USER\x10\x0C\x12\x09\x0A\x05CLONE\x10\x0E\x12\x10\x0A\x0CSTOP_REPLICA\x10\x0F\x12\x11\x0A\x0DSTART_REPLICA\x10\x10\x12\x13\x0A\x0FPROMOTE_REPLICA\x10\x11\x12\x12\x0A\x0ECREATE_REPLICA\x10\x12\x12\x0F\x0A\x0BCREATE_USER\x10\x13\x12\x0F\x0A\x0BDELETE_USER\x10\x14\x12\x0F\x0A\x0BUPDATE_USER\x10\x15\x12\x13\x0A\x0FCREATE_DATABASE\x10\x16\x12\x13\x0A\x0FDELETE_DATABASE\x10\x17\x12\x13\x0A\x0FUPDATE_DATABASE\x10\x18\x12\x0C\x0A\x08FAILOVER\x10\x19\x12\x11\x0A\x0DDELETE_BACKUP\x10\x1A\x12\x14\x0A\x10RECREATE_REPLICA\x10\x1B\x12\x10\x0A\x0CTRUNCATE_LOG\x10\x1C\x12\x11\x0A\x0DDEMOTE_MASTER\x10\x1D\x12\x0F\x0A\x0BMAINTENANCE\x10\x1E\x12\x19\x0A\x11ENABLE_PRIVATE_IP\x10\x1F\x1A\x02\x08\x01\x12\x19\x0A\x11DEFER_MAINTENANCE\x10 \x1A\x02\x08\x01\x12\x14\x0A\x0CCREATE_CLONE\x10!\x1A\x02\x08\x01\x12\x1A\x0A\x16RESCHEDULE_MAINTENANCE\x10\"\x12\x17\x0A\x13START_EXTERNAL_SYNC\x10#\x12\x0F\x0A\x0BLOG_CLEANUP\x10\$\x12\x10\x0A\x0CAUTO_RESTART\x10%\x12\x0D\x0A\x09REENCRYPT\x10&\x12\x0E\x0A\x0ASWITCHOVER\x10'\x12\x11\x0A\x0DUPDATE_BACKUP\x10(\x12\x16\x0A\x12ACQUIRE_SSRS_LEASE\x10*\x12\x16\x0A\x12RELEASE_SSRS_LEASE\x10+\x12\x1B\x0A\x17RECONFIGURE_OLD_PRIMARY\x10,\x12\x1B\x0A\x13CLUSTER_MAINTENANCE\x10-\x1A\x02\x08\x01\x12 \x0A\x18SELF_SERVICE_MAINTENANCE\x10.\x1A\x02\x08\x01\x12\x19\x0A\x15SWITCHOVER_TO_REPLICA\x10/\x12\x19\x0A\x15MAJOR_VERSION_UPGRADE\x100\x12\x17\x0A\x0FADVANCED_BACKUP\x101\x1A\x02\x08\x01\x12\x11\x0A\x0DMANAGE_BACKUP\x102\x12\x13\x0A\x0FENHANCED_BACKUP\x103\x12\x14\x0A\x10REPAIR_READ_POOL\x104\x12\x14\x0A\x10CREATE_READ_POOL\x105\"^\x0A\x12SqlOperationStatus\x12\$\x0A SQL_OPERATION_STATUS_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PENDING\x10\x01\x12\x0B\x0A\x07RUNNING\x10\x02\x12\x08\x0A\x04DONE\x10\x03\"=\x0A\x0EOperationError\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x0C\x0A\x04code\x18\x02 \x01(\x09\x12\x0F\x0A\x07message\x18\x03 \x01(\x09\"T\x0A\x0FOperationErrors\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x123\x0A\x06errors\x18\x02 \x03(\x0B2#.google.cloud.sql.v1.OperationError\"\x94\x04\x0A\x18PasswordValidationPolicy\x12/\x0A\x0Amin_length\x18\x01 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12L\x0A\x0Acomplexity\x18\x02 \x01(\x0E28.google.cloud.sql.v1.PasswordValidationPolicy.Complexity\x123\x0A\x0Ereuse_interval\x18\x03 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12?\x0A\x1Bdisallow_username_substring\x18\x04 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12;\x0A\x18password_change_interval\x18\x05 \x01(\x0B2\x19.google.protobuf.Duration\x12:\x0A\x16enable_password_policy\x18\x06 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12H\x0A disallow_compromised_credentials\x18\x07 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x02\x18\x01\"@\x0A\x0AComplexity\x12\x1A\x0A\x16COMPLEXITY_UNSPECIFIED\x10\x00\x12\x16\x0A\x12COMPLEXITY_DEFAULT\x10\x01\"-\x0A\x0FDataCacheConfig\x12\x1A\x0A\x12data_cache_enabled\x18\x01 \x01(\x08\"e\x0A\x11FinalBackupConfig\x12\x14\x0A\x07enabled\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1B\x0A\x0Eretention_days\x18\x03 \x01(\x05H\x01\x88\x01\x01B\x0A\x0A\x08_enabledB\x11\x0A\x0F_retention_days\"\x9D\x1B\x0A\x08Settings\x125\x0A\x10settings_version\x18\x01 \x01(\x0B2\x1B.google.protobuf.Int64Value\x12'\x0A\x1Bauthorized_gae_applications\x18\x02 \x03(\x09B\x02\x18\x01\x12\x0C\x0A\x04tier\x18\x03 \x01(\x09\x12\x0C\x0A\x04kind\x18\x04 \x01(\x09\x12B\x0A\x0Buser_labels\x18\x05 \x03(\x0B2-.google.cloud.sql.v1.Settings.UserLabelsEntry\x12C\x0A\x11availability_type\x18\x06 \x01(\x0E2(.google.cloud.sql.v1.SqlAvailabilityType\x129\x0A\x0Cpricing_plan\x18\x07 \x01(\x0E2#.google.cloud.sql.v1.SqlPricingPlan\x12E\x0A\x10replication_type\x18\x08 \x01(\x0E2'.google.cloud.sql.v1.SqlReplicationTypeB\x02\x18\x01\x12>\x0A\x19storage_auto_resize_limit\x18\x09 \x01(\x0B2\x1B.google.protobuf.Int64Value\x12L\x0A\x11activation_policy\x18\x0A \x01(\x0E21.google.cloud.sql.v1.Settings.SqlActivationPolicy\x12>\x0A\x10ip_configuration\x18\x0B \x01(\x0B2\$.google.cloud.sql.v1.IpConfiguration\x127\x0A\x13storage_auto_resize\x18\x0C \x01(\x0B2\x1A.google.protobuf.BoolValue\x12D\x0A\x13location_preference\x18\x0D \x01(\x0B2'.google.cloud.sql.v1.LocationPreference\x12:\x0A\x0Edatabase_flags\x18\x0E \x03(\x0B2\".google.cloud.sql.v1.DatabaseFlags\x12<\x0A\x0Edata_disk_type\x18\x0F \x01(\x0E2\$.google.cloud.sql.v1.SqlDataDiskType\x12B\x0A\x12maintenance_window\x18\x10 \x01(\x0B2&.google.cloud.sql.v1.MaintenanceWindow\x12F\x0A\x14backup_configuration\x18\x11 \x01(\x0B2(.google.cloud.sql.v1.BackupConfiguration\x12@\x0A\x1Cdatabase_replication_enabled\x18\x12 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12F\x0A\x1Ecrash_safe_replication_enabled\x18\x13 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x02\x18\x01\x126\x0A\x11data_disk_size_gb\x18\x14 \x01(\x0B2\x1B.google.protobuf.Int64Value\x12N\x0A\x17active_directory_config\x18\x16 \x01(\x0B2-.google.cloud.sql.v1.SqlActiveDirectoryConfig\x12\x11\x0A\x09collation\x18\x17 \x01(\x09\x12L\x0A\x18deny_maintenance_periods\x18\x18 \x03(\x0B2*.google.cloud.sql.v1.DenyMaintenancePeriod\x12<\x0A\x0Finsights_config\x18\x19 \x01(\x0B2#.google.cloud.sql.v1.InsightsConfig\x12Q\x0A\x1Apassword_validation_policy\x18\x1B \x01(\x0B2-.google.cloud.sql.v1.PasswordValidationPolicy\x12J\x0A\x17sql_server_audit_config\x18\x1D \x01(\x0B2).google.cloud.sql.v1.SqlServerAuditConfig\x12;\x0A\x07edition\x18& \x01(\x0E2%.google.cloud.sql.v1.Settings.EditionB\x03\xE0A\x01\x12Q\x0A\x15connector_enforcement\x18 \x01(\x0E22.google.cloud.sql.v1.Settings.ConnectorEnforcement\x12?\x0A\x1Bdeletion_protection_enabled\x18! \x01(\x0B2\x1A.google.protobuf.BoolValue\x12\x11\x0A\x09time_zone\x18\" \x01(\x09\x12O\x0A\x19advanced_machine_features\x18# \x01(\x0B2,.google.cloud.sql.v1.AdvancedMachineFeatures\x12?\x0A\x11data_cache_config\x18% \x01(\x0B2\$.google.cloud.sql.v1.DataCacheConfig\x12E\x0A\x1Breplication_lag_max_seconds\x18' \x01(\x0B2\x1B.google.protobuf.Int32ValueB\x03\xE0A\x01\x12E\x0A\x1Cenable_google_ml_integration\x18( \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x12D\x0A\x1Benable_dataplex_integration\x18) \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x12A\x0A\x18retain_backups_on_delete\x18* \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x12,\x0A\x1Adata_disk_provisioned_iops\x18+ \x01(\x03B\x03\xE0A\x01H\x00\x88\x01\x01\x122\x0A data_disk_provisioned_throughput\x18, \x01(\x03B\x03\xE0A\x01H\x01\x88\x01\x01\x12S\x0A\x16connection_pool_config\x18- \x01(\x0B2).google.cloud.sql.v1.ConnectionPoolConfigB\x03\xE0A\x01H\x02\x88\x01\x01\x12M\x0A\x13final_backup_config\x18/ \x01(\x0B2&.google.cloud.sql.v1.FinalBackupConfigB\x03\xE0A\x01H\x03\x88\x01\x01\x12[\x0A\x1Bread_pool_auto_scale_config\x180 \x01(\x0B2,.google.cloud.sql.v1.ReadPoolAutoScaleConfigB\x03\xE0A\x01H\x04\x88\x01\x01\x12&\x0A\x14auto_upgrade_enabled\x182 \x01(\x08B\x03\xE0A\x01H\x05\x88\x01\x01\x12H\x0A\x0Eentraid_config\x184 \x01(\x0B2+.google.cloud.sql.v1.SqlServerEntraIdConfigB\x03\xE0A\x01\x12I\x0A\x0Fdata_api_access\x185 \x01(\x0E2+.google.cloud.sql.v1.Settings.DataApiAccessH\x06\x88\x01\x01\x12V\x0A\x1Aperformance_capture_config\x186 \x01(\x0B2-.google.cloud.sql.v1.PerformanceCaptureConfigB\x03\xE0A\x01\x1A1\x0A\x0FUserLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"f\x0A\x13SqlActivationPolicy\x12%\x0A!SQL_ACTIVATION_POLICY_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06ALWAYS\x10\x01\x12\x09\x0A\x05NEVER\x10\x02\x12\x11\x0A\x09ON_DEMAND\x10\x03\x1A\x02\x08\x01\"G\x0A\x07Edition\x12\x17\x0A\x13EDITION_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0AENTERPRISE\x10\x02\x12\x13\x0A\x0FENTERPRISE_PLUS\x10\x03\"]\x0A\x14ConnectorEnforcement\x12%\x0A!CONNECTOR_ENFORCEMENT_UNSPECIFIED\x10\x00\x12\x10\x0A\x0CNOT_REQUIRED\x10\x01\x12\x0C\x0A\x08REQUIRED\x10\x02\"[\x0A\x0DDataApiAccess\x12\x1F\x0A\x1BDATA_API_ACCESS_UNSPECIFIED\x10\x00\x12\x15\x0A\x11DISALLOW_DATA_API\x10\x01\x12\x12\x0A\x0EALLOW_DATA_API\x10\x02B\x1D\x0A\x1B_data_disk_provisioned_iopsB#\x0A!_data_disk_provisioned_throughputB\x19\x0A\x17_connection_pool_configB\x16\x0A\x14_final_backup_configB\x1E\x0A\x1C_read_pool_auto_scale_configB\x17\x0A\x15_auto_upgrade_enabledB\x12\x0A\x10_data_api_access\"\xB8\x03\x0A\x18PerformanceCaptureConfig\x12\x19\x0A\x07enabled\x18\x01 \x01(\x08B\x03\xE0A\x01H\x00\x88\x01\x01\x12*\x0A\x18probing_interval_seconds\x18\x02 \x01(\x05B\x03\xE0A\x01H\x01\x88\x01\x01\x12!\x0A\x0Fprobe_threshold\x18\x03 \x01(\x05B\x03\xE0A\x01H\x02\x88\x01\x01\x12+\x0A\x19running_threads_threshold\x18\x04 \x01(\x05B\x03\xE0A\x01H\x03\x88\x01\x01\x121\x0A\x1Fseconds_behind_source_threshold\x18\x05 \x01(\x05B\x03\xE0A\x01H\x04\x88\x01\x01\x120\x0A\x1Etransaction_duration_threshold\x18\x08 \x01(\x05B\x03\xE0A\x01H\x05\x88\x01\x01B\x0A\x0A\x08_enabledB\x1B\x0A\x19_probing_interval_secondsB\x12\x0A\x10_probe_thresholdB\x1C\x0A\x1A_running_threads_thresholdB\"\x0A _seconds_behind_source_thresholdB!\x0A\x1F_transaction_duration_threshold\"<\x0A\x13ConnectionPoolFlags\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x12\x0A\x05value\x18\x02 \x01(\x09B\x03\xE0A\x02\"\xCD\x01\x0A\x14ConnectionPoolConfig\x12'\x0A\x1Aconnection_pooling_enabled\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12<\x0A\x05flags\x18\x08 \x03(\x0B2(.google.cloud.sql.v1.ConnectionPoolFlagsB\x03\xE0A\x01\x12\x1E\x0A\x0Cpooler_count\x18\x09 \x01(\x05B\x03\xE0A\x03H\x01\x88\x01\x01B\x1D\x0A\x1B_connection_pooling_enabledB\x0F\x0A\x0D_pooler_count\"\x91\x04\x0A\x17ReadPoolAutoScaleConfig\x12\x14\x0A\x07enabled\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1B\x0A\x0Emin_node_count\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x1B\x0A\x0Emax_node_count\x18\x03 \x01(\x05H\x02\x88\x01\x01\x12V\x0A\x0Etarget_metrics\x18\x04 \x03(\x0B29.google.cloud.sql.v1.ReadPoolAutoScaleConfig.TargetMetricB\x03\xE0A\x01\x12\x1D\x0A\x10disable_scale_in\x18\x05 \x01(\x08H\x03\x88\x01\x01\x12&\x0A\x19scale_in_cooldown_seconds\x18\x06 \x01(\x05H\x04\x88\x01\x01\x12'\x0A\x1Ascale_out_cooldown_seconds\x18\x07 \x01(\x05H\x05\x88\x01\x01\x1AZ\x0A\x0CTargetMetric\x12\x13\x0A\x06metric\x18\x01 \x01(\x09H\x00\x88\x01\x01\x12\x19\x0A\x0Ctarget_value\x18\x02 \x01(\x02H\x01\x88\x01\x01B\x09\x0A\x07_metricB\x0F\x0A\x0D_target_valueB\x0A\x0A\x08_enabledB\x11\x0A\x0F_min_node_countB\x11\x0A\x0F_max_node_countB\x13\x0A\x11_disable_scale_inB\x1C\x0A\x1A_scale_in_cooldown_secondsB\x1D\x0A\x1B_scale_out_cooldown_seconds\"3\x0A\x17AdvancedMachineFeatures\x12\x18\x0A\x10threads_per_core\x18\x01 \x01(\x05\"\xFB\x01\x0A\x07SslCert\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x1A\x0A\x12cert_serial_number\x18\x02 \x01(\x09\x12\x0C\x0A\x04cert\x18\x03 \x01(\x09\x12/\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x13\x0A\x0Bcommon_name\x18\x05 \x01(\x09\x123\x0A\x0Fexpiration_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x18\x0A\x10sha1_fingerprint\x18\x07 \x01(\x09\x12\x10\x0A\x08instance\x18\x08 \x01(\x09\x12\x11\x0A\x09self_link\x18\x09 \x01(\x09\"Z\x0A\x0DSslCertDetail\x12/\x0A\x09cert_info\x18\x01 \x01(\x0B2\x1C.google.cloud.sql.v1.SslCert\x12\x18\x0A\x10cert_private_key\x18\x02 \x01(\x09\"\xA8\x03\x0A\x18SqlActiveDirectoryConfig\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x0E\x0A\x06domain\x18\x02 \x01(\x09\x12T\x0A\x04mode\x18\x03 \x01(\x0E2A.google.cloud.sql.v1.SqlActiveDirectoryConfig.ActiveDirectoryModeB\x03\xE0A\x01\x12 \x0A\x0Bdns_servers\x18\x04 \x03(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x02\x12)\x0A\x1Cadmin_credential_secret_name\x18\x05 \x01(\x09B\x03\xE0A\x01\x12 \x0A\x13organizational_unit\x18\x06 \x01(\x09B\x03\xE0A\x01\"\xA8\x01\x0A\x13ActiveDirectoryMode\x12%\x0A!ACTIVE_DIRECTORY_MODE_UNSPECIFIED\x10\x00\x12\x1C\x0A\x18MANAGED_ACTIVE_DIRECTORY\x10\x01\x12%\x0A\x1DSELF_MANAGED_ACTIVE_DIRECTORY\x10\x02\x1A\x02\x08\x01\x12%\x0A!CUSTOMER_MANAGED_ACTIVE_DIRECTORY\x10\x03\"\x9F\x01\x0A\x14SqlServerAuditConfig\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x0E\x0A\x06bucket\x18\x02 \x01(\x09\x125\x0A\x12retention_interval\x18\x03 \x01(\x0B2\x19.google.protobuf.Duration\x122\x0A\x0Fupload_interval\x18\x04 \x01(\x0B2\x19.google.protobuf.Duration\"`\x0A\x16SqlServerEntraIdConfig\x12\x11\x0A\x04kind\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x16\x0A\x09tenant_id\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x1B\x0A\x0Eapplication_id\x18\x03 \x01(\x09B\x03\xE0A\x01\"\xE2\x01\x0A\x17AcquireSsrsLeaseContext\x12\x18\x0A\x0Bsetup_login\x18\x01 \x01(\x09H\x00\x88\x01\x01\x12\x1A\x0A\x0Dservice_login\x18\x02 \x01(\x09H\x01\x88\x01\x01\x12\x1C\x0A\x0Freport_database\x18\x03 \x01(\x09H\x02\x88\x01\x01\x120\x0A\x08duration\x18\x04 \x01(\x0B2\x19.google.protobuf.DurationH\x03\x88\x01\x01B\x0E\x0A\x0C_setup_loginB\x10\x0A\x0E_service_loginB\x12\x0A\x10_report_databaseB\x0B\x0A\x09_duration\"\x9F\x04\x0A\x0EDnsNameMapping\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12P\x0A\x0Fconnection_type\x18\x02 \x01(\x0E22.google.cloud.sql.v1.DnsNameMapping.ConnectionTypeB\x03\xE0A\x03\x12D\x0A\x09dns_scope\x18\x03 \x01(\x0E2,.google.cloud.sql.v1.DnsNameMapping.DnsScopeB\x03\xE0A\x03\x12N\x0A\x0Erecord_manager\x18\x04 \x01(\x0E21.google.cloud.sql.v1.DnsNameMapping.RecordManagerB\x03\xE0A\x03\"w\x0A\x0EConnectionType\x12\x1F\x0A\x1BCONNECTION_TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06PUBLIC\x10\x01\x12\x1B\x0A\x17PRIVATE_SERVICES_ACCESS\x10\x02\x12\x1B\x0A\x17PRIVATE_SERVICE_CONNECT\x10\x03\"@\x0A\x08DnsScope\x12\x19\x0A\x15DNS_SCOPE_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08INSTANCE\x10\x01\x12\x0B\x0A\x07CLUSTER\x10\x02\"W\x0A\x0DRecordManager\x12\x1E\x0A\x1ARECORD_MANAGER_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08CUSTOMER\x10\x01\x12\x18\x0A\x14CLOUD_SQL_AUTOMATION\x10\x02*P\x0A\x0BSqlFileType\x12\x1D\x0A\x19SQL_FILE_TYPE_UNSPECIFIED\x10\x00\x12\x07\x0A\x03SQL\x10\x01\x12\x07\x0A\x03CSV\x10\x02\x12\x07\x0A\x03BAK\x10\x04\x12\x07\x0A\x03TDE\x10\x08*A\x0A\x07BakType\x12\x18\x0A\x14BAK_TYPE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04FULL\x10\x01\x12\x08\x0A\x04DIFF\x10\x02\x12\x08\x0A\x04TLOG\x10\x03*\xCC\x01\x0A\x12SqlMaintenanceType\x12\$\x0A SQL_MAINTENANCE_TYPE_UNSPECIFIED\x10\x00\x12\x18\x0A\x14INSTANCE_MAINTENANCE\x10\x01\x12 \x0A\x1CREPLICA_INCLUDED_MAINTENANCE\x10\x02\x12%\x0A!INSTANCE_SELF_SERVICE_MAINTENANCE\x10\x03\x12-\x0A)REPLICA_INCLUDED_SELF_SERVICE_MAINTENANCE\x10\x04*c\x0A\x0ESqlBackendType\x12 \x0A\x1CSQL_BACKEND_TYPE_UNSPECIFIED\x10\x00\x12\x11\x0A\x09FIRST_GEN\x10\x01\x1A\x02\x08\x01\x12\x0E\x0A\x0ASECOND_GEN\x10\x02\x12\x0C\x0A\x08EXTERNAL\x10\x03*u\x0A\x10SqlIpAddressType\x12#\x0A\x1FSQL_IP_ADDRESS_TYPE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PRIMARY\x10\x01\x12\x0C\x0A\x08OUTGOING\x10\x02\x12\x0B\x0A\x07PRIVATE\x10\x03\x12\x14\x0A\x10MIGRATED_1ST_GEN\x10\x04*\xC0\x08\x0A\x12SqlDatabaseVersion\x12\$\x0A SQL_DATABASE_VERSION_UNSPECIFIED\x10\x00\x12\x11\x0A\x09MYSQL_5_1\x10\x02\x1A\x02\x08\x01\x12\x11\x0A\x09MYSQL_5_5\x10\x03\x1A\x02\x08\x01\x12\x0D\x0A\x09MYSQL_5_6\x10\x05\x12\x0D\x0A\x09MYSQL_5_7\x10\x06\x12\x0D\x0A\x09MYSQL_8_0\x10\x14\x12\x10\x0A\x0CMYSQL_8_0_18\x10)\x12\x10\x0A\x0CMYSQL_8_0_26\x10U\x12\x10\x0A\x0CMYSQL_8_0_27\x10o\x12\x11\x0A\x0CMYSQL_8_0_28\x10\x84\x01\x12\x15\x0A\x0CMYSQL_8_0_29\x10\x94\x01\x1A\x02\x08\x01\x12\x11\x0A\x0CMYSQL_8_0_30\x10\xAE\x01\x12\x11\x0A\x0CMYSQL_8_0_31\x10\xC5\x01\x12\x11\x0A\x0CMYSQL_8_0_32\x10\xD5\x01\x12\x11\x0A\x0CMYSQL_8_0_33\x10\xEE\x01\x12\x11\x0A\x0CMYSQL_8_0_34\x10\xEF\x01\x12\x11\x0A\x0CMYSQL_8_0_35\x10\xF0\x01\x12\x11\x0A\x0CMYSQL_8_0_36\x10\xF1\x01\x12\x11\x0A\x0CMYSQL_8_0_37\x10\xE3\x02\x12\x11\x0A\x0CMYSQL_8_0_39\x10\xE5\x02\x12\x11\x0A\x0CMYSQL_8_0_40\x10\xE6\x02\x12\x11\x0A\x0CMYSQL_8_0_41\x10\xE8\x03\x12\x11\x0A\x0CMYSQL_8_0_42\x10\xE9\x03\x12\x11\x0A\x0CMYSQL_8_0_43\x10\xA9\x04\x12\x11\x0A\x0CMYSQL_8_0_44\x10\xAA\x04\x12\x11\x0A\x0CMYSQL_8_0_45\x10\xAB\x04\x12\x11\x0A\x0CMYSQL_8_0_46\x10\xAC\x04\x12\x0E\x0A\x09MYSQL_8_4\x10\x8E\x03\x12\x0E\x0A\x09MYSQL_9_7\x10\x8E\x05\x12\x1B\x0A\x17SQLSERVER_2017_STANDARD\x10\x0B\x12\x1D\x0A\x19SQLSERVER_2017_ENTERPRISE\x10\x0E\x12\x1A\x0A\x16SQLSERVER_2017_EXPRESS\x10\x0F\x12\x16\x0A\x12SQLSERVER_2017_WEB\x10\x10\x12\x10\x0A\x0CPOSTGRES_9_6\x10\x09\x12\x0F\x0A\x0BPOSTGRES_10\x10\x12\x12\x0F\x0A\x0BPOSTGRES_11\x10\x0A\x12\x0F\x0A\x0BPOSTGRES_12\x10\x13\x12\x0F\x0A\x0BPOSTGRES_13\x10\x17\x12\x0F\x0A\x0BPOSTGRES_14\x10n\x12\x10\x0A\x0BPOSTGRES_15\x10\xAC\x01\x12\x10\x0A\x0BPOSTGRES_16\x10\x90\x02\x12\x10\x0A\x0BPOSTGRES_17\x10\x98\x03\x12\x10\x0A\x0BPOSTGRES_18\x10\xAD\x04\x12\x1B\x0A\x17SQLSERVER_2019_STANDARD\x10\x1A\x12\x1D\x0A\x19SQLSERVER_2019_ENTERPRISE\x10\x1B\x12\x1A\x0A\x16SQLSERVER_2019_EXPRESS\x10\x1C\x12\x16\x0A\x12SQLSERVER_2019_WEB\x10\x1D\x12\x1C\x0A\x17SQLSERVER_2022_STANDARD\x10\xC7\x01\x12\x1E\x0A\x19SQLSERVER_2022_ENTERPRISE\x10\xC8\x01\x12\x1B\x0A\x16SQLSERVER_2022_EXPRESS\x10\xC9\x01\x12\x17\x0A\x12SQLSERVER_2022_WEB\x10\xCA\x01*L\x0A\x0ESqlPricingPlan\x12 \x0A\x1CSQL_PRICING_PLAN_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PACKAGE\x10\x01\x12\x0B\x0A\x07PER_USE\x10\x02*]\x0A\x12SqlReplicationType\x12\$\x0A SQL_REPLICATION_TYPE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BSYNCHRONOUS\x10\x01\x12\x10\x0A\x0CASYNCHRONOUS\x10\x02*\x81\x01\x0A\x0FSqlDataDiskType\x12\"\x0A\x1ESQL_DATA_DISK_TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06PD_SSD\x10\x01\x12\x0A\x0A\x06PD_HDD\x10\x02\x12\x1A\x0A\x12OBSOLETE_LOCAL_SSD\x10\x03\x1A\x02\x08\x01\x12\x16\x0A\x12HYPERDISK_BALANCED\x10\x04*U\x0A\x13SqlAvailabilityType\x12%\x0A!SQL_AVAILABILITY_TYPE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05ZONAL\x10\x01\x12\x0C\x0A\x08REGIONAL\x10\x02*U\x0A\x0ESqlUpdateTrack\x12 \x0A\x1CSQL_UPDATE_TRACK_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06canary\x10\x01\x12\x0A\x0A\x06stable\x10\x02\x12\x09\x0A\x05week5\x10\x03B^\x0A\x17com.google.cloud.sql.v1B\x16CloudSqlResourcesProtoP\x01Z)cloud.google.com/go/sql/apiv1/sqlpb;sqlpbb\x06proto3" + "\x0A\xA4\xAC\x01\x0A-google/cloud/sql/v1/cloud_sql_resources.proto\x12\x13google.cloud.sql.v1\x1A\x1Bgoogle/api/field_info.proto\x1A\x19google/api/resource.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x1Egoogle/protobuf/wrappers.proto\"o\x0A\x08AclEntry\x12\x0D\x0A\x05value\x18\x01 \x01(\x09\x123\x0A\x0Fexpiration_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x11\x0A\x04name\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x0C\x0A\x04kind\x18\x04 \x01(\x09\"\x9A\x02\x0A\x0AApiWarning\x12?\x0A\x04code\x18\x01 \x01(\x0E21.google.cloud.sql.v1.ApiWarning.SqlApiWarningCode\x12\x0F\x0A\x07message\x18\x02 \x01(\x09\x12\x0E\x0A\x06region\x18\x03 \x01(\x09\"\xA9\x01\x0A\x11SqlApiWarningCode\x12\$\x0A SQL_API_WARNING_CODE_UNSPECIFIED\x10\x00\x12\x16\x0A\x12REGION_UNREACHABLE\x10\x01\x12\x1D\x0A\x19MAX_RESULTS_EXCEEDS_LIMIT\x10\x02\x12\x1B\x0A\x17COMPROMISED_CREDENTIALS\x10\x03\x12\x1A\x0A\x16INTERNAL_STATE_FAILURE\x10\x04\"\xE0\x01\x0A\x17BackupRetentionSettings\x12R\x0A\x0Eretention_unit\x18\x01 \x01(\x0E2:.google.cloud.sql.v1.BackupRetentionSettings.RetentionUnit\x125\x0A\x10retained_backups\x18\x02 \x01(\x0B2\x1B.google.protobuf.Int32Value\":\x0A\x0DRetentionUnit\x12\x1E\x0A\x1ARETENTION_UNIT_UNSPECIFIED\x10\x00\x12\x09\x0A\x05COUNT\x10\x01\"\xD8\x07\x0A\x13BackupConfiguration\x12\x12\x0A\x0Astart_time\x18\x01 \x01(\x09\x12+\x0A\x07enabled\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12\x0C\x0A\x04kind\x18\x03 \x01(\x09\x126\x0A\x12binary_log_enabled\x18\x04 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12E\x0A!replication_log_archiving_enabled\x18\x05 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12\x10\x0A\x08location\x18\x06 \x01(\x09\x12B\x0A\x1Epoint_in_time_recovery_enabled\x18\x07 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12O\x0A\x19backup_retention_settings\x18\x08 \x01(\x0B2,.google.cloud.sql.v1.BackupRetentionSettings\x12C\x0A\x1Etransaction_log_retention_days\x18\x09 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12x\x0A\x1Ftransactional_log_storage_state\x18\x0A \x01(\x0E2E.google.cloud.sql.v1.BackupConfiguration.TransactionalLogStorageStateB\x03\xE0A\x03H\x00\x88\x01\x01\x12R\x0A\x0Bbackup_tier\x18\x0B \x01(\x0E23.google.cloud.sql.v1.BackupConfiguration.BackupTierB\x03\xE0A\x03H\x01\x88\x01\x01\"\xAB\x01\x0A\x1CTransactionalLogStorageState\x12/\x0A+TRANSACTIONAL_LOG_STORAGE_STATE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04DISK\x10\x01\x12\x1E\x0A\x1ASWITCHING_TO_CLOUD_STORAGE\x10\x02\x12\x1D\x0A\x19SWITCHED_TO_CLOUD_STORAGE\x10\x03\x12\x11\x0A\x0DCLOUD_STORAGE\x10\x04\"W\x0A\x0ABackupTier\x12\x1B\x0A\x17BACKUP_TIER_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08STANDARD\x10\x01\x12\x10\x0A\x08ADVANCED\x10\x02\x1A\x02\x08\x01\x12\x0C\x0A\x08ENHANCED\x10\x03B\"\x0A _transactional_log_storage_stateB\x0E\x0A\x0C_backup_tier\"2\x0A\x18PerformDiskShrinkContext\x12\x16\x0A\x0Etarget_size_gb\x18\x01 \x01(\x03\"\xFC\x01\x0A\x10PreCheckResponse\x12\x14\x0A\x07message\x18\x02 \x01(\x09H\x00\x88\x01\x01\x12L\x0A\x0Cmessage_type\x18\x03 \x01(\x0E21.google.cloud.sql.v1.PreCheckResponse.MessageTypeH\x01\x88\x01\x01\x12\x18\x0A\x10actions_required\x18\x04 \x03(\x09\"M\x0A\x0BMessageType\x12\x1C\x0A\x18MESSAGE_TYPE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04INFO\x10\x01\x12\x0B\x0A\x07WARNING\x10\x02\x12\x09\x0A\x05ERROR\x10\x03B\x0A\x0A\x08_messageB\x0F\x0A\x0D_message_type\"\xCE\x01\x0A\"PreCheckMajorVersionUpgradeContext\x12M\x0A\x17target_database_version\x18\x01 \x01(\x0E2'.google.cloud.sql.v1.SqlDatabaseVersionB\x03\xE0A\x02\x12F\x0A\x12pre_check_response\x18\x02 \x03(\x0B2%.google.cloud.sql.v1.PreCheckResponseB\x03\xE0A\x03\x12\x11\x0A\x04kind\x18\x03 \x01(\x09B\x03\xE0A\x01\">\x0A\x0DBackupContext\x12\x11\x0A\x09backup_id\x18\x01 \x01(\x03\x12\x0C\x0A\x04kind\x18\x02 \x01(\x09\x12\x0C\x0A\x04name\x18\x03 \x01(\x09\"\xF7\x01\x0A\x08Database\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x0F\x0A\x07charset\x18\x02 \x01(\x09\x12\x11\x0A\x09collation\x18\x03 \x01(\x09\x12\x0C\x0A\x04etag\x18\x04 \x01(\x09\x12\x0C\x0A\x04name\x18\x05 \x01(\x09\x12\x10\x0A\x08instance\x18\x06 \x01(\x09\x12\x11\x0A\x09self_link\x18\x07 \x01(\x09\x12\x0F\x0A\x07project\x18\x08 \x01(\x09\x12S\x0A\x1Asqlserver_database_details\x18\x09 \x01(\x0B2-.google.cloud.sql.v1.SqlServerDatabaseDetailsH\x00B\x12\x0A\x10database_details\"O\x0A\x18SqlServerDatabaseDetails\x12\x1B\x0A\x13compatibility_level\x18\x01 \x01(\x05\x12\x16\x0A\x0Erecovery_model\x18\x02 \x01(\x09\",\x0A\x0DDatabaseFlags\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09\"M\x0A\x0FMySqlSyncConfig\x12:\x0A\x12initial_sync_flags\x18\x01 \x03(\x0B2\x1E.google.cloud.sql.v1.SyncFlags\"(\x0A\x09SyncFlags\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09\"B\x0A\x11InstanceReference\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x0E\x0A\x06region\x18\x02 \x01(\x09\x12\x0F\x0A\x07project\x18\x03 \x01(\x09\"\x8A\x01\x0A\x19DemoteMasterConfiguration\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12_\x0A\x1Bmysql_replica_configuration\x18\x02 \x01(\x0B2:.google.cloud.sql.v1.DemoteMasterMySqlReplicaConfiguration\"\xA1\x01\x0A%DemoteMasterMySqlReplicaConfiguration\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x10\x0A\x08username\x18\x02 \x01(\x09\x12\x10\x0A\x08password\x18\x03 \x01(\x09\x12\x12\x0A\x0Aclient_key\x18\x04 \x01(\x09\x12\x1A\x0A\x12client_certificate\x18\x05 \x01(\x09\x12\x16\x0A\x0Eca_certificate\x18\x06 \x01(\x09\"\x81\x0E\x0A\x0DExportContext\x12\x0B\x0A\x03uri\x18\x01 \x01(\x09\x12\x11\x0A\x09databases\x18\x02 \x03(\x09\x12\x0C\x0A\x04kind\x18\x03 \x01(\x09\x12O\x0A\x12sql_export_options\x18\x04 \x01(\x0B23.google.cloud.sql.v1.ExportContext.SqlExportOptions\x12R\x0A\x12csv_export_options\x18\x05 \x01(\x0B26.google.cloud.sql.v1.ExportContext.SqlCsvExportOptions\x123\x0A\x09file_type\x18\x06 \x01(\x0E2 .google.cloud.sql.v1.SqlFileType\x12+\x0A\x07offload\x18\x08 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12R\x0A\x12bak_export_options\x18\x09 \x01(\x0B26.google.cloud.sql.v1.ExportContext.SqlBakExportOptions\x12W\x0A\x12tde_export_options\x18\x0A \x01(\x0B26.google.cloud.sql.v1.ExportContext.SqlTdeExportOptionsB\x03\xE0A\x01\x1A\x99\x01\x0A\x13SqlCsvExportOptions\x12\x14\x0A\x0Cselect_query\x18\x01 \x01(\x09\x12\x18\x0A\x10escape_character\x18\x02 \x01(\x09\x12\x17\x0A\x0Fquote_character\x18\x03 \x01(\x09\x12\x1C\x0A\x14fields_terminated_by\x18\x04 \x01(\x09\x12\x1B\x0A\x13lines_terminated_by\x18\x06 \x01(\x09\x1A\xD5\x04\x0A\x10SqlExportOptions\x12\x0E\x0A\x06tables\x18\x01 \x03(\x09\x12/\x0A\x0Bschema_only\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12d\x0A\x14mysql_export_options\x18\x03 \x01(\x0B2F.google.cloud.sql.v1.ExportContext.SqlExportOptions.MysqlExportOptions\x121\x0A\x07threads\x18\x04 \x01(\x0B2\x1B.google.protobuf.Int32ValueB\x03\xE0A\x01\x121\x0A\x08parallel\x18\x05 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x12o\x0A\x17postgres_export_options\x18\x06 \x01(\x0B2I.google.cloud.sql.v1.ExportContext.SqlExportOptions.PostgresExportOptionsB\x03\xE0A\x01\x1AF\x0A\x12MysqlExportOptions\x120\x0A\x0Bmaster_data\x18\x01 \x01(\x0B2\x1B.google.protobuf.Int32Value\x1A{\x0A\x15PostgresExportOptions\x12.\x0A\x05clean\x18\x01 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x122\x0A\x09if_exists\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x1A\x8D\x03\x0A\x13SqlBakExportOptions\x12+\x0A\x07striped\x18\x01 \x01(\x0B2\x1A.google.protobuf.BoolValue\x121\x0A\x0Cstripe_count\x18\x02 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12.\x0A\x08bak_type\x18\x04 \x01(\x0E2\x1C.google.cloud.sql.v1.BakType\x121\x0A\x09copy_only\x18\x05 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x02\x18\x01\x125\x0A\x11differential_base\x18\x06 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12>\x0A\x15export_log_start_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x12<\x0A\x13export_log_end_time\x18\x08 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x1A\x89\x01\x0A\x13SqlTdeExportOptions\x12\x1D\x0A\x10certificate_path\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x1D\x0A\x10private_key_path\x18\x02 \x01(\x09B\x03\xE0A\x02\x12!\x0A\x14private_key_password\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x11\x0A\x04name\x18\x05 \x01(\x09B\x03\xE0A\x02\"\x8E\x0D\x0A\x0DImportContext\x12\x0B\x0A\x03uri\x18\x01 \x01(\x09\x12\x10\x0A\x08database\x18\x02 \x01(\x09\x12\x0C\x0A\x04kind\x18\x03 \x01(\x09\x123\x0A\x09file_type\x18\x04 \x01(\x0E2 .google.cloud.sql.v1.SqlFileType\x12R\x0A\x12csv_import_options\x18\x05 \x01(\x0B26.google.cloud.sql.v1.ImportContext.SqlCsvImportOptions\x12\x13\x0A\x0Bimport_user\x18\x06 \x01(\x09\x12R\x0A\x12bak_import_options\x18\x07 \x01(\x0B26.google.cloud.sql.v1.ImportContext.SqlBakImportOptions\x12T\x0A\x12sql_import_options\x18\x08 \x01(\x0B23.google.cloud.sql.v1.ImportContext.SqlImportOptionsB\x03\xE0A\x01\x12W\x0A\x12tde_import_options\x18\x09 \x01(\x0B26.google.cloud.sql.v1.ImportContext.SqlTdeImportOptionsB\x03\xE0A\x01\x1A\xE6\x02\x0A\x10SqlImportOptions\x121\x0A\x07threads\x18\x01 \x01(\x0B2\x1B.google.protobuf.Int32ValueB\x03\xE0A\x01\x121\x0A\x08parallel\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x12o\x0A\x17postgres_import_options\x18\x03 \x01(\x0B2I.google.cloud.sql.v1.ImportContext.SqlImportOptions.PostgresImportOptionsB\x03\xE0A\x01\x1A{\x0A\x15PostgresImportOptions\x12.\x0A\x05clean\x18\x01 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x122\x0A\x09if_exists\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x1A\xA3\x01\x0A\x13SqlCsvImportOptions\x12\x0D\x0A\x05table\x18\x01 \x01(\x09\x12\x0F\x0A\x07columns\x18\x02 \x03(\x09\x12\x18\x0A\x10escape_character\x18\x04 \x01(\x09\x12\x17\x0A\x0Fquote_character\x18\x05 \x01(\x09\x12\x1C\x0A\x14fields_terminated_by\x18\x06 \x01(\x09\x12\x1B\x0A\x13lines_terminated_by\x18\x08 \x01(\x09\x1A\x93\x04\x0A\x13SqlBakImportOptions\x12d\x0A\x12encryption_options\x18\x01 \x01(\x0B2H.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.EncryptionOptions\x12+\x0A\x07striped\x18\x02 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12/\x0A\x0Bno_recovery\x18\x04 \x01(\x0B2\x1A.google.protobuf.BoolValue\x121\x0A\x0Drecovery_only\x18\x05 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12.\x0A\x08bak_type\x18\x06 \x01(\x0E2\x1C.google.cloud.sql.v1.BakType\x120\x0A\x07stop_at\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x01\x12\x19\x0A\x0Cstop_at_mark\x18\x08 \x01(\x09B\x03\xE0A\x01\x1A\x87\x01\x0A\x11EncryptionOptions\x12\x11\x0A\x09cert_path\x18\x01 \x01(\x09\x12\x10\x0A\x08pvk_path\x18\x02 \x01(\x09\x12\x14\x0A\x0Cpvk_password\x18\x03 \x01(\x09\x127\x0A\x0Ekeep_encrypted\x18\x05 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x1A\x89\x01\x0A\x13SqlTdeImportOptions\x12\x1D\x0A\x10certificate_path\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x1D\x0A\x10private_key_path\x18\x02 \x01(\x09B\x03\xE0A\x02\x12!\x0A\x14private_key_password\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x11\x0A\x04name\x18\x05 \x01(\x09B\x03\xE0A\x02\"\xBB\x09\x0A\x0FIpConfiguration\x120\x0A\x0Cipv4_enabled\x18\x01 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12\x17\x0A\x0Fprivate_network\x18\x02 \x01(\x09\x12/\x0A\x0Brequire_ssl\x18\x03 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12:\x0A\x13authorized_networks\x18\x04 \x03(\x0B2\x1D.google.cloud.sql.v1.AclEntry\x12\x1A\x0A\x12allocated_ip_range\x18\x06 \x01(\x09\x12Q\x0A-enable_private_path_for_google_cloud_services\x18\x07 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12>\x0A\x08ssl_mode\x18\x08 \x01(\x0E2,.google.cloud.sql.v1.IpConfiguration.SslMode\x127\x0A\x0Apsc_config\x18\x09 \x01(\x0B2\x1E.google.cloud.sql.v1.PscConfigH\x00\x88\x01\x01\x12H\x0A\x0Eserver_ca_mode\x18\x0A \x01(\x0E2+.google.cloud.sql.v1.IpConfiguration.CaModeH\x01\x88\x01\x01\x12-\x0A custom_subject_alternative_names\x18\x0B \x03(\x09B\x03\xE0A\x01\x12 \x0A\x0Eserver_ca_pool\x18\x0C \x01(\x09B\x03\xE0A\x01H\x02\x88\x01\x01\x12v\x0A server_certificate_rotation_mode\x18\x10 \x01(\x0E2B.google.cloud.sql.v1.IpConfiguration.ServerCertificateRotationModeB\x03\xE0A\x01H\x03\x88\x01\x01\"\x85\x01\x0A\x07SslMode\x12\x18\x0A\x14SSL_MODE_UNSPECIFIED\x10\x00\x12#\x0A\x1FALLOW_UNENCRYPTED_AND_ENCRYPTED\x10\x01\x12\x12\x0A\x0EENCRYPTED_ONLY\x10\x02\x12'\x0A#TRUSTED_CLIENT_CERTIFICATE_REQUIRED\x10\x03\"y\x0A\x06CaMode\x12\x17\x0A\x13CA_MODE_UNSPECIFIED\x10\x00\x12\x1E\x0A\x1AGOOGLE_MANAGED_INTERNAL_CA\x10\x01\x12\x19\x0A\x15GOOGLE_MANAGED_CAS_CA\x10\x02\x12\x1B\x0A\x17CUSTOMER_MANAGED_CAS_CA\x10\x03\"\x97\x01\x0A\x1DServerCertificateRotationMode\x120\x0A,SERVER_CERTIFICATE_ROTATION_MODE_UNSPECIFIED\x10\x00\x12\x19\x0A\x15NO_AUTOMATIC_ROTATION\x10\x01\x12)\x0A%AUTOMATIC_ROTATION_DURING_MAINTENANCE\x10\x02B\x0D\x0A\x0B_psc_configB\x11\x0A\x0F_server_ca_modeB\x11\x0A\x0F_server_ca_poolB#\x0A!_server_certificate_rotation_mode\"\xE9\x02\x0A\x09PscConfig\x12\x18\x0A\x0Bpsc_enabled\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12&\x0A\x19allowed_consumer_projects\x18\x02 \x03(\x09B\x03\xE0A\x01\x12O\x0A\x14psc_auto_connections\x18\x03 \x03(\x0B2,.google.cloud.sql.v1.PscAutoConnectionConfigB\x03\xE0A\x01\x12#\x0A\x16network_attachment_uri\x18\x04 \x01(\x09B\x03\xE0A\x01\x12&\x0A\x14psc_auto_dns_enabled\x18\x05 \x01(\x08B\x03\xE0A\x01H\x01\x88\x01\x01\x120\x0A\x1Epsc_write_endpoint_dns_enabled\x18\x06 \x01(\x08B\x03\xE0A\x01H\x02\x88\x01\x01B\x0E\x0A\x0C_psc_enabledB\x17\x0A\x15_psc_auto_dns_enabledB!\x0A\x1F_psc_write_endpoint_dns_enabled\"\xEB\x01\x0A\x17PscAutoConnectionConfig\x12\x1D\x0A\x10consumer_project\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x1D\x0A\x10consumer_network\x18\x02 \x01(\x09B\x03\xE0A\x01\x12!\x0A\x0Aip_address\x18\x03 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04H\x00\x88\x01\x01\x12\x13\x0A\x06status\x18\x04 \x01(\x09H\x01\x88\x01\x01\x12\$\x0A\x17consumer_network_status\x18\x05 \x01(\x09H\x02\x88\x01\x01B\x0D\x0A\x0B_ip_addressB\x09\x0A\x07_statusB\x1A\x0A\x18_consumer_network_status\"l\x0A\x12LocationPreference\x12\"\x0A\x16follow_gae_application\x18\x01 \x01(\x09B\x02\x18\x01\x12\x0C\x0A\x04zone\x18\x02 \x01(\x09\x12\x16\x0A\x0Esecondary_zone\x18\x04 \x01(\x09\x12\x0C\x0A\x04kind\x18\x03 \x01(\x09\"\xB1\x01\x0A\x11MaintenanceWindow\x12)\x0A\x04hour\x18\x01 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12(\x0A\x03day\x18\x02 \x01(\x0B2\x1B.google.protobuf.Int32Value\x129\x0A\x0Cupdate_track\x18\x03 \x01(\x0E2#.google.cloud.sql.v1.SqlUpdateTrack\x12\x0C\x0A\x04kind\x18\x04 \x01(\x09\"K\x0A\x15DenyMaintenancePeriod\x12\x12\x0A\x0Astart_date\x18\x01 \x01(\x09\x12\x10\x0A\x08end_date\x18\x02 \x01(\x09\x12\x0C\x0A\x04time\x18\x03 \x01(\x09\"\xB1\x02\x0A\x0EInsightsConfig\x12\x1E\x0A\x16query_insights_enabled\x18\x01 \x01(\x08\x12\x1D\x0A\x15record_client_address\x18\x02 \x01(\x08\x12\x1F\x0A\x17record_application_tags\x18\x03 \x01(\x08\x128\x0A\x13query_string_length\x18\x04 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12;\x0A\x16query_plans_per_minute\x18\x05 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12H\x0A\x1Fenhanced_query_insights_enabled\x18\x08 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\"\xFB\x02\x0A\x19MySqlReplicaConfiguration\x12\x16\x0A\x0Edump_file_path\x18\x01 \x01(\x09\x12\x10\x0A\x08username\x18\x02 \x01(\x09\x12\x10\x0A\x08password\x18\x03 \x01(\x09\x12;\x0A\x16connect_retry_interval\x18\x04 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12<\x0A\x17master_heartbeat_period\x18\x05 \x01(\x0B2\x1B.google.protobuf.Int64Value\x12\x16\x0A\x0Eca_certificate\x18\x06 \x01(\x09\x12\x1A\x0A\x12client_certificate\x18\x07 \x01(\x09\x12\x12\x0A\x0Aclient_key\x18\x08 \x01(\x09\x12\x12\x0A\x0Assl_cipher\x18\x09 \x01(\x09\x12=\x0A\x19verify_server_certificate\x18\x0A \x01(\x0B2\x1A.google.protobuf.BoolValue\x12\x0C\x0A\x04kind\x18\x0B \x01(\x09\"A\x0A\x1BDiskEncryptionConfiguration\x12\x14\x0A\x0Ckms_key_name\x18\x01 \x01(\x09\x12\x0C\x0A\x04kind\x18\x02 \x01(\x09\"B\x0A\x14DiskEncryptionStatus\x12\x1C\x0A\x14kms_key_version_name\x18\x01 \x01(\x09\x12\x0C\x0A\x04kind\x18\x02 \x01(\x09\"\x88\x01\x0A\x09IpMapping\x123\x0A\x04type\x18\x01 \x01(\x0E2%.google.cloud.sql.v1.SqlIpAddressType\x12\x12\x0A\x0Aip_address\x18\x02 \x01(\x09\x122\x0A\x0Etime_to_retire\x18\x03 \x01(\x0B2\x1A.google.protobuf.Timestamp\"s\x0A\x13SqlSubOperationType\x12C\x0A\x10maintenance_type\x18\x01 \x01(\x0E2'.google.cloud.sql.v1.SqlMaintenanceTypeH\x00B\x17\x0A\x15sub_operation_details\"\xFA\x10\x0A\x09Operation\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x13\x0A\x0Btarget_link\x18\x02 \x01(\x09\x12A\x0A\x06status\x18\x03 \x01(\x0E21.google.cloud.sql.v1.Operation.SqlOperationStatus\x12\x0C\x0A\x04user\x18\x04 \x01(\x09\x12/\x0A\x0Binsert_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12.\x0A\x0Astart_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12,\x0A\x08end_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.Timestamp\x123\x0A\x05error\x18\x08 \x01(\x0B2\$.google.cloud.sql.v1.OperationErrors\x124\x0A\x0Bapi_warning\x18\x13 \x01(\x0B2\x1F.google.cloud.sql.v1.ApiWarning\x12G\x0A\x0Eoperation_type\x18\x09 \x01(\x0E2/.google.cloud.sql.v1.Operation.SqlOperationType\x12:\x0A\x0Eimport_context\x18\x0A \x01(\x0B2\".google.cloud.sql.v1.ImportContext\x12:\x0A\x0Eexport_context\x18\x0B \x01(\x0B2\".google.cloud.sql.v1.ExportContext\x12:\x0A\x0Ebackup_context\x18\x11 \x01(\x0B2\".google.cloud.sql.v1.BackupContext\x12h\x0A'pre_check_major_version_upgrade_context\x182 \x01(\x0B27.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext\x12\x0C\x0A\x04name\x18\x0C \x01(\x09\x12\x11\x0A\x09target_id\x18\x0D \x01(\x09\x12\x11\x0A\x09self_link\x18\x0E \x01(\x09\x12\x16\x0A\x0Etarget_project\x18\x0F \x01(\x09\x12P\x0A\x1Aacquire_ssrs_lease_context\x18\x14 \x01(\x0B2,.google.cloud.sql.v1.AcquireSsrsLeaseContext\x12I\x0A\x12sub_operation_type\x180 \x01(\x0B2(.google.cloud.sql.v1.SqlSubOperationTypeB\x03\xE0A\x01\"\xCE\x08\x0A\x10SqlOperationType\x12\"\x0A\x1ESQL_OPERATION_TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06IMPORT\x10\x01\x12\x0A\x0A\x06EXPORT\x10\x02\x12\x0A\x0A\x06CREATE\x10\x03\x12\x0A\x0A\x06UPDATE\x10\x04\x12\x0A\x0A\x06DELETE\x10\x05\x12\x0B\x0A\x07RESTART\x10\x06\x12\x0E\x0A\x06BACKUP\x10\x07\x1A\x02\x08\x01\x12\x10\x0A\x08SNAPSHOT\x10\x08\x1A\x02\x08\x01\x12\x11\x0A\x0DBACKUP_VOLUME\x10\x09\x12\x11\x0A\x0DDELETE_VOLUME\x10\x0A\x12\x12\x0A\x0ERESTORE_VOLUME\x10\x0B\x12\x0F\x0A\x0BINJECT_USER\x10\x0C\x12\x09\x0A\x05CLONE\x10\x0E\x12\x10\x0A\x0CSTOP_REPLICA\x10\x0F\x12\x11\x0A\x0DSTART_REPLICA\x10\x10\x12\x13\x0A\x0FPROMOTE_REPLICA\x10\x11\x12\x12\x0A\x0ECREATE_REPLICA\x10\x12\x12\x0F\x0A\x0BCREATE_USER\x10\x13\x12\x0F\x0A\x0BDELETE_USER\x10\x14\x12\x0F\x0A\x0BUPDATE_USER\x10\x15\x12\x13\x0A\x0FCREATE_DATABASE\x10\x16\x12\x13\x0A\x0FDELETE_DATABASE\x10\x17\x12\x13\x0A\x0FUPDATE_DATABASE\x10\x18\x12\x0C\x0A\x08FAILOVER\x10\x19\x12\x11\x0A\x0DDELETE_BACKUP\x10\x1A\x12\x14\x0A\x10RECREATE_REPLICA\x10\x1B\x12\x10\x0A\x0CTRUNCATE_LOG\x10\x1C\x12\x11\x0A\x0DDEMOTE_MASTER\x10\x1D\x12\x0F\x0A\x0BMAINTENANCE\x10\x1E\x12\x19\x0A\x11ENABLE_PRIVATE_IP\x10\x1F\x1A\x02\x08\x01\x12\x19\x0A\x11DEFER_MAINTENANCE\x10 \x1A\x02\x08\x01\x12\x14\x0A\x0CCREATE_CLONE\x10!\x1A\x02\x08\x01\x12\x1A\x0A\x16RESCHEDULE_MAINTENANCE\x10\"\x12\x17\x0A\x13START_EXTERNAL_SYNC\x10#\x12\x0F\x0A\x0BLOG_CLEANUP\x10\$\x12\x10\x0A\x0CAUTO_RESTART\x10%\x12\x0D\x0A\x09REENCRYPT\x10&\x12\x0E\x0A\x0ASWITCHOVER\x10'\x12\x11\x0A\x0DUPDATE_BACKUP\x10(\x12\x16\x0A\x12ACQUIRE_SSRS_LEASE\x10*\x12\x16\x0A\x12RELEASE_SSRS_LEASE\x10+\x12\x1B\x0A\x17RECONFIGURE_OLD_PRIMARY\x10,\x12\x1B\x0A\x13CLUSTER_MAINTENANCE\x10-\x1A\x02\x08\x01\x12 \x0A\x18SELF_SERVICE_MAINTENANCE\x10.\x1A\x02\x08\x01\x12\x19\x0A\x15SWITCHOVER_TO_REPLICA\x10/\x12\x19\x0A\x15MAJOR_VERSION_UPGRADE\x100\x12\x17\x0A\x0FADVANCED_BACKUP\x101\x1A\x02\x08\x01\x12\x11\x0A\x0DMANAGE_BACKUP\x102\x12\x13\x0A\x0FENHANCED_BACKUP\x103\x12\x14\x0A\x10REPAIR_READ_POOL\x104\x12\x14\x0A\x10CREATE_READ_POOL\x105\x12#\x0A\x1FPRE_CHECK_MAJOR_VERSION_UPGRADE\x106\"^\x0A\x12SqlOperationStatus\x12\$\x0A SQL_OPERATION_STATUS_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PENDING\x10\x01\x12\x0B\x0A\x07RUNNING\x10\x02\x12\x08\x0A\x04DONE\x10\x03\"=\x0A\x0EOperationError\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x0C\x0A\x04code\x18\x02 \x01(\x09\x12\x0F\x0A\x07message\x18\x03 \x01(\x09\"T\x0A\x0FOperationErrors\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x123\x0A\x06errors\x18\x02 \x03(\x0B2#.google.cloud.sql.v1.OperationError\"\x94\x04\x0A\x18PasswordValidationPolicy\x12/\x0A\x0Amin_length\x18\x01 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12L\x0A\x0Acomplexity\x18\x02 \x01(\x0E28.google.cloud.sql.v1.PasswordValidationPolicy.Complexity\x123\x0A\x0Ereuse_interval\x18\x03 \x01(\x0B2\x1B.google.protobuf.Int32Value\x12?\x0A\x1Bdisallow_username_substring\x18\x04 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12;\x0A\x18password_change_interval\x18\x05 \x01(\x0B2\x19.google.protobuf.Duration\x12:\x0A\x16enable_password_policy\x18\x06 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12H\x0A disallow_compromised_credentials\x18\x07 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x02\x18\x01\"@\x0A\x0AComplexity\x12\x1A\x0A\x16COMPLEXITY_UNSPECIFIED\x10\x00\x12\x16\x0A\x12COMPLEXITY_DEFAULT\x10\x01\"-\x0A\x0FDataCacheConfig\x12\x1A\x0A\x12data_cache_enabled\x18\x01 \x01(\x08\"e\x0A\x11FinalBackupConfig\x12\x14\x0A\x07enabled\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1B\x0A\x0Eretention_days\x18\x03 \x01(\x05H\x01\x88\x01\x01B\x0A\x0A\x08_enabledB\x11\x0A\x0F_retention_days\"\xE0\x1B\x0A\x08Settings\x125\x0A\x10settings_version\x18\x01 \x01(\x0B2\x1B.google.protobuf.Int64Value\x12'\x0A\x1Bauthorized_gae_applications\x18\x02 \x03(\x09B\x02\x18\x01\x12\x0C\x0A\x04tier\x18\x03 \x01(\x09\x12\x0C\x0A\x04kind\x18\x04 \x01(\x09\x12B\x0A\x0Buser_labels\x18\x05 \x03(\x0B2-.google.cloud.sql.v1.Settings.UserLabelsEntry\x12C\x0A\x11availability_type\x18\x06 \x01(\x0E2(.google.cloud.sql.v1.SqlAvailabilityType\x129\x0A\x0Cpricing_plan\x18\x07 \x01(\x0E2#.google.cloud.sql.v1.SqlPricingPlan\x12E\x0A\x10replication_type\x18\x08 \x01(\x0E2'.google.cloud.sql.v1.SqlReplicationTypeB\x02\x18\x01\x12>\x0A\x19storage_auto_resize_limit\x18\x09 \x01(\x0B2\x1B.google.protobuf.Int64Value\x12L\x0A\x11activation_policy\x18\x0A \x01(\x0E21.google.cloud.sql.v1.Settings.SqlActivationPolicy\x12>\x0A\x10ip_configuration\x18\x0B \x01(\x0B2\$.google.cloud.sql.v1.IpConfiguration\x127\x0A\x13storage_auto_resize\x18\x0C \x01(\x0B2\x1A.google.protobuf.BoolValue\x12D\x0A\x13location_preference\x18\x0D \x01(\x0B2'.google.cloud.sql.v1.LocationPreference\x12:\x0A\x0Edatabase_flags\x18\x0E \x03(\x0B2\".google.cloud.sql.v1.DatabaseFlags\x12<\x0A\x0Edata_disk_type\x18\x0F \x01(\x0E2\$.google.cloud.sql.v1.SqlDataDiskType\x12B\x0A\x12maintenance_window\x18\x10 \x01(\x0B2&.google.cloud.sql.v1.MaintenanceWindow\x12F\x0A\x14backup_configuration\x18\x11 \x01(\x0B2(.google.cloud.sql.v1.BackupConfiguration\x12@\x0A\x1Cdatabase_replication_enabled\x18\x12 \x01(\x0B2\x1A.google.protobuf.BoolValue\x12F\x0A\x1Ecrash_safe_replication_enabled\x18\x13 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x02\x18\x01\x126\x0A\x11data_disk_size_gb\x18\x14 \x01(\x0B2\x1B.google.protobuf.Int64Value\x12N\x0A\x17active_directory_config\x18\x16 \x01(\x0B2-.google.cloud.sql.v1.SqlActiveDirectoryConfig\x12\x11\x0A\x09collation\x18\x17 \x01(\x09\x12L\x0A\x18deny_maintenance_periods\x18\x18 \x03(\x0B2*.google.cloud.sql.v1.DenyMaintenancePeriod\x12<\x0A\x0Finsights_config\x18\x19 \x01(\x0B2#.google.cloud.sql.v1.InsightsConfig\x12Q\x0A\x1Apassword_validation_policy\x18\x1B \x01(\x0B2-.google.cloud.sql.v1.PasswordValidationPolicy\x12J\x0A\x17sql_server_audit_config\x18\x1D \x01(\x0B2).google.cloud.sql.v1.SqlServerAuditConfig\x12;\x0A\x07edition\x18& \x01(\x0E2%.google.cloud.sql.v1.Settings.EditionB\x03\xE0A\x01\x12Q\x0A\x15connector_enforcement\x18 \x01(\x0E22.google.cloud.sql.v1.Settings.ConnectorEnforcement\x12?\x0A\x1Bdeletion_protection_enabled\x18! \x01(\x0B2\x1A.google.protobuf.BoolValue\x12\x11\x0A\x09time_zone\x18\" \x01(\x09\x12O\x0A\x19advanced_machine_features\x18# \x01(\x0B2,.google.cloud.sql.v1.AdvancedMachineFeatures\x12?\x0A\x11data_cache_config\x18% \x01(\x0B2\$.google.cloud.sql.v1.DataCacheConfig\x12E\x0A\x1Breplication_lag_max_seconds\x18' \x01(\x0B2\x1B.google.protobuf.Int32ValueB\x03\xE0A\x01\x12E\x0A\x1Cenable_google_ml_integration\x18( \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x12D\x0A\x1Benable_dataplex_integration\x18) \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x12A\x0A\x18retain_backups_on_delete\x18* \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x12,\x0A\x1Adata_disk_provisioned_iops\x18+ \x01(\x03B\x03\xE0A\x01H\x00\x88\x01\x01\x122\x0A data_disk_provisioned_throughput\x18, \x01(\x03B\x03\xE0A\x01H\x01\x88\x01\x01\x12S\x0A\x16connection_pool_config\x18- \x01(\x0B2).google.cloud.sql.v1.ConnectionPoolConfigB\x03\xE0A\x01H\x02\x88\x01\x01\x12M\x0A\x13final_backup_config\x18/ \x01(\x0B2&.google.cloud.sql.v1.FinalBackupConfigB\x03\xE0A\x01H\x03\x88\x01\x01\x12[\x0A\x1Bread_pool_auto_scale_config\x180 \x01(\x0B2,.google.cloud.sql.v1.ReadPoolAutoScaleConfigB\x03\xE0A\x01H\x04\x88\x01\x01\x12A\x0A\x18accelerated_replica_mode\x181 \x01(\x0B2\x1A.google.protobuf.BoolValueB\x03\xE0A\x01\x12&\x0A\x14auto_upgrade_enabled\x182 \x01(\x08B\x03\xE0A\x01H\x05\x88\x01\x01\x12H\x0A\x0Eentraid_config\x184 \x01(\x0B2+.google.cloud.sql.v1.SqlServerEntraIdConfigB\x03\xE0A\x01\x12I\x0A\x0Fdata_api_access\x185 \x01(\x0E2+.google.cloud.sql.v1.Settings.DataApiAccessH\x06\x88\x01\x01\x12V\x0A\x1Aperformance_capture_config\x186 \x01(\x0B2-.google.cloud.sql.v1.PerformanceCaptureConfigB\x03\xE0A\x01\x1A1\x0A\x0FUserLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"f\x0A\x13SqlActivationPolicy\x12%\x0A!SQL_ACTIVATION_POLICY_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06ALWAYS\x10\x01\x12\x09\x0A\x05NEVER\x10\x02\x12\x11\x0A\x09ON_DEMAND\x10\x03\x1A\x02\x08\x01\"G\x0A\x07Edition\x12\x17\x0A\x13EDITION_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0AENTERPRISE\x10\x02\x12\x13\x0A\x0FENTERPRISE_PLUS\x10\x03\"]\x0A\x14ConnectorEnforcement\x12%\x0A!CONNECTOR_ENFORCEMENT_UNSPECIFIED\x10\x00\x12\x10\x0A\x0CNOT_REQUIRED\x10\x01\x12\x0C\x0A\x08REQUIRED\x10\x02\"[\x0A\x0DDataApiAccess\x12\x1F\x0A\x1BDATA_API_ACCESS_UNSPECIFIED\x10\x00\x12\x15\x0A\x11DISALLOW_DATA_API\x10\x01\x12\x12\x0A\x0EALLOW_DATA_API\x10\x02B\x1D\x0A\x1B_data_disk_provisioned_iopsB#\x0A!_data_disk_provisioned_throughputB\x19\x0A\x17_connection_pool_configB\x16\x0A\x14_final_backup_configB\x1E\x0A\x1C_read_pool_auto_scale_configB\x17\x0A\x15_auto_upgrade_enabledB\x12\x0A\x10_data_api_access\"\xB8\x03\x0A\x18PerformanceCaptureConfig\x12\x19\x0A\x07enabled\x18\x01 \x01(\x08B\x03\xE0A\x01H\x00\x88\x01\x01\x12*\x0A\x18probing_interval_seconds\x18\x02 \x01(\x05B\x03\xE0A\x01H\x01\x88\x01\x01\x12!\x0A\x0Fprobe_threshold\x18\x03 \x01(\x05B\x03\xE0A\x01H\x02\x88\x01\x01\x12+\x0A\x19running_threads_threshold\x18\x04 \x01(\x05B\x03\xE0A\x01H\x03\x88\x01\x01\x121\x0A\x1Fseconds_behind_source_threshold\x18\x05 \x01(\x05B\x03\xE0A\x01H\x04\x88\x01\x01\x120\x0A\x1Etransaction_duration_threshold\x18\x08 \x01(\x05B\x03\xE0A\x01H\x05\x88\x01\x01B\x0A\x0A\x08_enabledB\x1B\x0A\x19_probing_interval_secondsB\x12\x0A\x10_probe_thresholdB\x1C\x0A\x1A_running_threads_thresholdB\"\x0A _seconds_behind_source_thresholdB!\x0A\x1F_transaction_duration_threshold\"<\x0A\x13ConnectionPoolFlags\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x12\x0A\x05value\x18\x02 \x01(\x09B\x03\xE0A\x02\"\xCD\x01\x0A\x14ConnectionPoolConfig\x12'\x0A\x1Aconnection_pooling_enabled\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12<\x0A\x05flags\x18\x08 \x03(\x0B2(.google.cloud.sql.v1.ConnectionPoolFlagsB\x03\xE0A\x01\x12\x1E\x0A\x0Cpooler_count\x18\x09 \x01(\x05B\x03\xE0A\x03H\x01\x88\x01\x01B\x1D\x0A\x1B_connection_pooling_enabledB\x0F\x0A\x0D_pooler_count\"\x91\x04\x0A\x17ReadPoolAutoScaleConfig\x12\x14\x0A\x07enabled\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1B\x0A\x0Emin_node_count\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x1B\x0A\x0Emax_node_count\x18\x03 \x01(\x05H\x02\x88\x01\x01\x12V\x0A\x0Etarget_metrics\x18\x04 \x03(\x0B29.google.cloud.sql.v1.ReadPoolAutoScaleConfig.TargetMetricB\x03\xE0A\x01\x12\x1D\x0A\x10disable_scale_in\x18\x05 \x01(\x08H\x03\x88\x01\x01\x12&\x0A\x19scale_in_cooldown_seconds\x18\x06 \x01(\x05H\x04\x88\x01\x01\x12'\x0A\x1Ascale_out_cooldown_seconds\x18\x07 \x01(\x05H\x05\x88\x01\x01\x1AZ\x0A\x0CTargetMetric\x12\x13\x0A\x06metric\x18\x01 \x01(\x09H\x00\x88\x01\x01\x12\x19\x0A\x0Ctarget_value\x18\x02 \x01(\x02H\x01\x88\x01\x01B\x09\x0A\x07_metricB\x0F\x0A\x0D_target_valueB\x0A\x0A\x08_enabledB\x11\x0A\x0F_min_node_countB\x11\x0A\x0F_max_node_countB\x13\x0A\x11_disable_scale_inB\x1C\x0A\x1A_scale_in_cooldown_secondsB\x1D\x0A\x1B_scale_out_cooldown_seconds\"3\x0A\x17AdvancedMachineFeatures\x12\x18\x0A\x10threads_per_core\x18\x01 \x01(\x05\"\xFB\x01\x0A\x07SslCert\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x1A\x0A\x12cert_serial_number\x18\x02 \x01(\x09\x12\x0C\x0A\x04cert\x18\x03 \x01(\x09\x12/\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x13\x0A\x0Bcommon_name\x18\x05 \x01(\x09\x123\x0A\x0Fexpiration_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x18\x0A\x10sha1_fingerprint\x18\x07 \x01(\x09\x12\x10\x0A\x08instance\x18\x08 \x01(\x09\x12\x11\x0A\x09self_link\x18\x09 \x01(\x09\"Z\x0A\x0DSslCertDetail\x12/\x0A\x09cert_info\x18\x01 \x01(\x0B2\x1C.google.cloud.sql.v1.SslCert\x12\x18\x0A\x10cert_private_key\x18\x02 \x01(\x09\"\xA8\x03\x0A\x18SqlActiveDirectoryConfig\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x0E\x0A\x06domain\x18\x02 \x01(\x09\x12T\x0A\x04mode\x18\x03 \x01(\x0E2A.google.cloud.sql.v1.SqlActiveDirectoryConfig.ActiveDirectoryModeB\x03\xE0A\x01\x12 \x0A\x0Bdns_servers\x18\x04 \x03(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x02\x12)\x0A\x1Cadmin_credential_secret_name\x18\x05 \x01(\x09B\x03\xE0A\x01\x12 \x0A\x13organizational_unit\x18\x06 \x01(\x09B\x03\xE0A\x01\"\xA8\x01\x0A\x13ActiveDirectoryMode\x12%\x0A!ACTIVE_DIRECTORY_MODE_UNSPECIFIED\x10\x00\x12\x1C\x0A\x18MANAGED_ACTIVE_DIRECTORY\x10\x01\x12%\x0A\x1DSELF_MANAGED_ACTIVE_DIRECTORY\x10\x02\x1A\x02\x08\x01\x12%\x0A!CUSTOMER_MANAGED_ACTIVE_DIRECTORY\x10\x03\"\x9F\x01\x0A\x14SqlServerAuditConfig\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x0E\x0A\x06bucket\x18\x02 \x01(\x09\x125\x0A\x12retention_interval\x18\x03 \x01(\x0B2\x19.google.protobuf.Duration\x122\x0A\x0Fupload_interval\x18\x04 \x01(\x0B2\x19.google.protobuf.Duration\"`\x0A\x16SqlServerEntraIdConfig\x12\x11\x0A\x04kind\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x16\x0A\x09tenant_id\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x1B\x0A\x0Eapplication_id\x18\x03 \x01(\x09B\x03\xE0A\x01\"\xE2\x01\x0A\x17AcquireSsrsLeaseContext\x12\x18\x0A\x0Bsetup_login\x18\x01 \x01(\x09H\x00\x88\x01\x01\x12\x1A\x0A\x0Dservice_login\x18\x02 \x01(\x09H\x01\x88\x01\x01\x12\x1C\x0A\x0Freport_database\x18\x03 \x01(\x09H\x02\x88\x01\x01\x120\x0A\x08duration\x18\x04 \x01(\x0B2\x19.google.protobuf.DurationH\x03\x88\x01\x01B\x0E\x0A\x0C_setup_loginB\x10\x0A\x0E_service_loginB\x12\x0A\x10_report_databaseB\x0B\x0A\x09_duration\"\x9F\x04\x0A\x0EDnsNameMapping\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12P\x0A\x0Fconnection_type\x18\x02 \x01(\x0E22.google.cloud.sql.v1.DnsNameMapping.ConnectionTypeB\x03\xE0A\x03\x12D\x0A\x09dns_scope\x18\x03 \x01(\x0E2,.google.cloud.sql.v1.DnsNameMapping.DnsScopeB\x03\xE0A\x03\x12N\x0A\x0Erecord_manager\x18\x04 \x01(\x0E21.google.cloud.sql.v1.DnsNameMapping.RecordManagerB\x03\xE0A\x03\"w\x0A\x0EConnectionType\x12\x1F\x0A\x1BCONNECTION_TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06PUBLIC\x10\x01\x12\x1B\x0A\x17PRIVATE_SERVICES_ACCESS\x10\x02\x12\x1B\x0A\x17PRIVATE_SERVICE_CONNECT\x10\x03\"@\x0A\x08DnsScope\x12\x19\x0A\x15DNS_SCOPE_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08INSTANCE\x10\x01\x12\x0B\x0A\x07CLUSTER\x10\x02\"W\x0A\x0DRecordManager\x12\x1E\x0A\x1ARECORD_MANAGER_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08CUSTOMER\x10\x01\x12\x18\x0A\x14CLOUD_SQL_AUTOMATION\x10\x02*P\x0A\x0BSqlFileType\x12\x1D\x0A\x19SQL_FILE_TYPE_UNSPECIFIED\x10\x00\x12\x07\x0A\x03SQL\x10\x01\x12\x07\x0A\x03CSV\x10\x02\x12\x07\x0A\x03BAK\x10\x04\x12\x07\x0A\x03TDE\x10\x08*A\x0A\x07BakType\x12\x18\x0A\x14BAK_TYPE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04FULL\x10\x01\x12\x08\x0A\x04DIFF\x10\x02\x12\x08\x0A\x04TLOG\x10\x03*\xCC\x01\x0A\x12SqlMaintenanceType\x12\$\x0A SQL_MAINTENANCE_TYPE_UNSPECIFIED\x10\x00\x12\x18\x0A\x14INSTANCE_MAINTENANCE\x10\x01\x12 \x0A\x1CREPLICA_INCLUDED_MAINTENANCE\x10\x02\x12%\x0A!INSTANCE_SELF_SERVICE_MAINTENANCE\x10\x03\x12-\x0A)REPLICA_INCLUDED_SELF_SERVICE_MAINTENANCE\x10\x04*c\x0A\x0ESqlBackendType\x12 \x0A\x1CSQL_BACKEND_TYPE_UNSPECIFIED\x10\x00\x12\x11\x0A\x09FIRST_GEN\x10\x01\x1A\x02\x08\x01\x12\x0E\x0A\x0ASECOND_GEN\x10\x02\x12\x0C\x0A\x08EXTERNAL\x10\x03*u\x0A\x10SqlIpAddressType\x12#\x0A\x1FSQL_IP_ADDRESS_TYPE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PRIMARY\x10\x01\x12\x0C\x0A\x08OUTGOING\x10\x02\x12\x0B\x0A\x07PRIVATE\x10\x03\x12\x14\x0A\x10MIGRATED_1ST_GEN\x10\x04*\xAD\x09\x0A\x12SqlDatabaseVersion\x12\$\x0A SQL_DATABASE_VERSION_UNSPECIFIED\x10\x00\x12\x11\x0A\x09MYSQL_5_1\x10\x02\x1A\x02\x08\x01\x12\x11\x0A\x09MYSQL_5_5\x10\x03\x1A\x02\x08\x01\x12\x0D\x0A\x09MYSQL_5_6\x10\x05\x12\x0D\x0A\x09MYSQL_5_7\x10\x06\x12\x0D\x0A\x09MYSQL_8_0\x10\x14\x12\x10\x0A\x0CMYSQL_8_0_18\x10)\x12\x10\x0A\x0CMYSQL_8_0_26\x10U\x12\x10\x0A\x0CMYSQL_8_0_27\x10o\x12\x11\x0A\x0CMYSQL_8_0_28\x10\x84\x01\x12\x15\x0A\x0CMYSQL_8_0_29\x10\x94\x01\x1A\x02\x08\x01\x12\x11\x0A\x0CMYSQL_8_0_30\x10\xAE\x01\x12\x11\x0A\x0CMYSQL_8_0_31\x10\xC5\x01\x12\x11\x0A\x0CMYSQL_8_0_32\x10\xD5\x01\x12\x11\x0A\x0CMYSQL_8_0_33\x10\xEE\x01\x12\x11\x0A\x0CMYSQL_8_0_34\x10\xEF\x01\x12\x11\x0A\x0CMYSQL_8_0_35\x10\xF0\x01\x12\x11\x0A\x0CMYSQL_8_0_36\x10\xF1\x01\x12\x11\x0A\x0CMYSQL_8_0_37\x10\xE3\x02\x12\x11\x0A\x0CMYSQL_8_0_39\x10\xE5\x02\x12\x11\x0A\x0CMYSQL_8_0_40\x10\xE6\x02\x12\x11\x0A\x0CMYSQL_8_0_41\x10\xE8\x03\x12\x11\x0A\x0CMYSQL_8_0_42\x10\xE9\x03\x12\x11\x0A\x0CMYSQL_8_0_43\x10\xA9\x04\x12\x11\x0A\x0CMYSQL_8_0_44\x10\xAA\x04\x12\x11\x0A\x0CMYSQL_8_0_45\x10\xAB\x04\x12\x11\x0A\x0CMYSQL_8_0_46\x10\xAC\x04\x12\x0E\x0A\x09MYSQL_8_4\x10\x8E\x03\x12\x0E\x0A\x09MYSQL_9_7\x10\x8E\x05\x12\x1B\x0A\x17SQLSERVER_2017_STANDARD\x10\x0B\x12\x1D\x0A\x19SQLSERVER_2017_ENTERPRISE\x10\x0E\x12\x1A\x0A\x16SQLSERVER_2017_EXPRESS\x10\x0F\x12\x16\x0A\x12SQLSERVER_2017_WEB\x10\x10\x12\x10\x0A\x0CPOSTGRES_9_6\x10\x09\x12\x0F\x0A\x0BPOSTGRES_10\x10\x12\x12\x0F\x0A\x0BPOSTGRES_11\x10\x0A\x12\x0F\x0A\x0BPOSTGRES_12\x10\x13\x12\x0F\x0A\x0BPOSTGRES_13\x10\x17\x12\x0F\x0A\x0BPOSTGRES_14\x10n\x12\x10\x0A\x0BPOSTGRES_15\x10\xAC\x01\x12\x10\x0A\x0BPOSTGRES_16\x10\x90\x02\x12\x10\x0A\x0BPOSTGRES_17\x10\x98\x03\x12\x10\x0A\x0BPOSTGRES_18\x10\xAD\x04\x12\x10\x0A\x0BPOSTGRES_19\x10\xAC\x05\x12\x1B\x0A\x17SQLSERVER_2019_STANDARD\x10\x1A\x12\x1D\x0A\x19SQLSERVER_2019_ENTERPRISE\x10\x1B\x12\x1A\x0A\x16SQLSERVER_2019_EXPRESS\x10\x1C\x12\x16\x0A\x12SQLSERVER_2019_WEB\x10\x1D\x12\x1C\x0A\x17SQLSERVER_2022_STANDARD\x10\xC7\x01\x12\x1E\x0A\x19SQLSERVER_2022_ENTERPRISE\x10\xC8\x01\x12\x1B\x0A\x16SQLSERVER_2022_EXPRESS\x10\xC9\x01\x12\x17\x0A\x12SQLSERVER_2022_WEB\x10\xCA\x01\x12\x1C\x0A\x17SQLSERVER_2025_STANDARD\x10\xA5\x04\x12\x1E\x0A\x19SQLSERVER_2025_ENTERPRISE\x10\xA6\x04\x12\x1B\x0A\x16SQLSERVER_2025_EXPRESS\x10\xA7\x04*L\x0A\x0ESqlPricingPlan\x12 \x0A\x1CSQL_PRICING_PLAN_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PACKAGE\x10\x01\x12\x0B\x0A\x07PER_USE\x10\x02*]\x0A\x12SqlReplicationType\x12\$\x0A SQL_REPLICATION_TYPE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BSYNCHRONOUS\x10\x01\x12\x10\x0A\x0CASYNCHRONOUS\x10\x02*\x81\x01\x0A\x0FSqlDataDiskType\x12\"\x0A\x1ESQL_DATA_DISK_TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06PD_SSD\x10\x01\x12\x0A\x0A\x06PD_HDD\x10\x02\x12\x1A\x0A\x12OBSOLETE_LOCAL_SSD\x10\x03\x1A\x02\x08\x01\x12\x16\x0A\x12HYPERDISK_BALANCED\x10\x04*U\x0A\x13SqlAvailabilityType\x12%\x0A!SQL_AVAILABILITY_TYPE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05ZONAL\x10\x01\x12\x0C\x0A\x08REGIONAL\x10\x02*U\x0A\x0ESqlUpdateTrack\x12 \x0A\x1CSQL_UPDATE_TRACK_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06canary\x10\x01\x12\x0A\x0A\x06stable\x10\x02\x12\x09\x0A\x05week5\x10\x03B^\x0A\x17com.google.cloud.sql.v1B\x16CloudSqlResourcesProtoP\x01Z)cloud.google.com/go/sql/apiv1/sqlpb;sqlpbb\x06proto3" , true); static::$is_initialized = true; diff --git a/SqlAdmin/metadata/V1/CloudSqlUsers.php b/SqlAdmin/metadata/V1/CloudSqlUsers.php index 522b9b967e72..9ad7e11265e6 100644 --- a/SqlAdmin/metadata/V1/CloudSqlUsers.php +++ b/SqlAdmin/metadata/V1/CloudSqlUsers.php @@ -17,11 +17,12 @@ public static function initOnce() { \GPBMetadata\Google\Api\Annotations::initOnce(); \GPBMetadata\Google\Api\Client::initOnce(); \GPBMetadata\Google\Api\FieldBehavior::initOnce(); + \GPBMetadata\Google\Api\Resource::initOnce(); \GPBMetadata\Google\Cloud\Sql\V1\CloudSqlResources::initOnce(); \GPBMetadata\Google\Protobuf\Duration::initOnce(); \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xC3\x19\x0A)google/cloud/sql/v1/cloud_sql_users.proto\x12\x13google.cloud.sql.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A-google/cloud/sql/v1/cloud_sql_resources.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"V\x0A\x15SqlUsersDeleteRequest\x12\x0C\x0A\x04host\x18\x01 \x01(\x09\x12\x10\x0A\x08instance\x18\x02 \x01(\x09\x12\x0C\x0A\x04name\x18\x03 \x01(\x09\x12\x0F\x0A\x07project\x18\x04 \x01(\x09\"S\x0A\x12SqlUsersGetRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0C\x0A\x04name\x18\x02 \x01(\x09\x12\x0F\x0A\x07project\x18\x03 \x01(\x09\x12\x0C\x0A\x04host\x18\x04 \x01(\x09\"c\x0A\x15SqlUsersInsertRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12'\x0A\x04body\x18d \x01(\x0B2\x19.google.cloud.sql.v1.User\"8\x0A\x13SqlUsersListRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"\xE4\x01\x0A\x15SqlUsersUpdateRequest\x12\x11\x0A\x04host\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x10\x0A\x08instance\x18\x02 \x01(\x09\x12\x0C\x0A\x04name\x18\x03 \x01(\x09\x12\x0F\x0A\x07project\x18\x04 \x01(\x09\x12\x1B\x0A\x0Edatabase_roles\x18\x05 \x03(\x09B\x03\xE0A\x01\x12'\x0A\x15revoke_existing_roles\x18\x06 \x01(\x08B\x03\xE0A\x01H\x00\x88\x01\x01\x12'\x0A\x04body\x18d \x01(\x0B2\x19.google.cloud.sql.v1.UserB\x18\x0A\x16_revoke_existing_roles\"\x86\x02\x0A\x1CUserPasswordValidationPolicy\x12\x1F\x0A\x17allowed_failed_attempts\x18\x01 \x01(\x05\x12?\x0A\x1Cpassword_expiration_duration\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x12\$\x0A\x1Cenable_failed_attempts_check\x18\x03 \x01(\x08\x128\x0A\x06status\x18\x04 \x01(\x0B2#.google.cloud.sql.v1.PasswordStatusB\x03\xE0A\x03\x12\$\x0A\x1Cenable_password_verification\x18\x05 \x01(\x08\"^\x0A\x0EPasswordStatus\x12\x0E\x0A\x06locked\x18\x01 \x01(\x08\x12<\x0A\x18password_expiration_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.Timestamp\"\xB4\x07\x0A\x04User\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x10\x0A\x08password\x18\x02 \x01(\x09\x12\x0C\x0A\x04etag\x18\x03 \x01(\x09\x12\x0C\x0A\x04name\x18\x04 \x01(\x09\x12\x11\x0A\x04host\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x10\x0A\x08instance\x18\x06 \x01(\x09\x12\x0F\x0A\x07project\x18\x07 \x01(\x09\x123\x0A\x04type\x18\x08 \x01(\x0E2%.google.cloud.sql.v1.User.SqlUserType\x12K\x0A\x16sqlserver_user_details\x18\x09 \x01(\x0B2).google.cloud.sql.v1.SqlServerUserDetailsH\x00\x12\x16\x0A\x09iam_email\x18\x0B \x01(\x09B\x03\xE0A\x01\x12J\x0A\x0Fpassword_policy\x18\x0C \x01(\x0B21.google.cloud.sql.v1.UserPasswordValidationPolicy\x12K\x0A\x12dual_password_type\x18\x0D \x01(\x0E2*.google.cloud.sql.v1.User.DualPasswordTypeH\x01\x88\x01\x01\x12<\x0A\x0Aiam_status\x18\x0E \x01(\x0E2#.google.cloud.sql.v1.User.IamStatusH\x02\x88\x01\x01\x12\x1B\x0A\x0Edatabase_roles\x18\x0F \x03(\x09B\x03\xE0A\x01\"\xB4\x01\x0A\x0BSqlUserType\x12\x0C\x0A\x08BUILT_IN\x10\x00\x12\x12\x0A\x0ECLOUD_IAM_USER\x10\x01\x12\x1D\x0A\x19CLOUD_IAM_SERVICE_ACCOUNT\x10\x02\x12\x13\x0A\x0FCLOUD_IAM_GROUP\x10\x03\x12\x18\x0A\x14CLOUD_IAM_GROUP_USER\x10\x04\x12#\x0A\x1FCLOUD_IAM_GROUP_SERVICE_ACCOUNT\x10\x05\x12\x10\x0A\x0CENTRAID_USER\x10\x07\"|\x0A\x10DualPasswordType\x12\"\x0A\x1EDUAL_PASSWORD_TYPE_UNSPECIFIED\x10\x00\x12\x1B\x0A\x17NO_MODIFY_DUAL_PASSWORD\x10\x01\x12\x14\x0A\x10NO_DUAL_PASSWORD\x10\x02\x12\x11\x0A\x0DDUAL_PASSWORD\x10\x03\"A\x0A\x09IamStatus\x12\x1A\x0A\x16IAM_STATUS_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08INACTIVE\x10\x01\x12\x0A\x0A\x06ACTIVE\x10\x02B\x0E\x0A\x0Cuser_detailsB\x15\x0A\x13_dual_password_typeB\x0D\x0A\x0B_iam_status\">\x0A\x14SqlServerUserDetails\x12\x10\x0A\x08disabled\x18\x01 \x01(\x08\x12\x14\x0A\x0Cserver_roles\x18\x02 \x03(\x09\"h\x0A\x11UsersListResponse\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12(\x0A\x05items\x18\x02 \x03(\x0B2\x19.google.cloud.sql.v1.User\x12\x1B\x0A\x0Fnext_page_token\x18\x03 \x01(\x09B\x02\x18\x012\xF5\x06\x0A\x0FSqlUsersService\x12\x8F\x01\x0A\x06Delete\x12*.google.cloud.sql.v1.SqlUsersDeleteRequest\x1A\x1E.google.cloud.sql.v1.Operation\"9\x82\xD3\xE4\x93\x023*1/v1/projects/{project}/instances/{instance}/users\x12\x8B\x01\x0A\x03Get\x12'.google.cloud.sql.v1.SqlUsersGetRequest\x1A\x19.google.cloud.sql.v1.User\"@\x82\xD3\xE4\x93\x02:\x128/v1/projects/{project}/instances/{instance}/users/{name}\x12\x95\x01\x0A\x06Insert\x12*.google.cloud.sql.v1.SqlUsersInsertRequest\x1A\x1E.google.cloud.sql.v1.Operation\"?\x82\xD3\xE4\x93\x029\"1/v1/projects/{project}/instances/{instance}/users:\x04body\x12\x93\x01\x0A\x04List\x12(.google.cloud.sql.v1.SqlUsersListRequest\x1A&.google.cloud.sql.v1.UsersListResponse\"9\x82\xD3\xE4\x93\x023\x121/v1/projects/{project}/instances/{instance}/users\x12\x95\x01\x0A\x06Update\x12*.google.cloud.sql.v1.SqlUsersUpdateRequest\x1A\x1E.google.cloud.sql.v1.Operation\"?\x82\xD3\xE4\x93\x029\x1A1/v1/projects/{project}/instances/{instance}/users:\x04body\x1A|\xCAA\x17sqladmin.googleapis.com\xD2A_https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/sqlservice.adminBZ\x0A\x17com.google.cloud.sql.v1B\x12CloudSqlUsersProtoP\x01Z)cloud.google.com/go/sql/apiv1/sqlpb;sqlpbb\x06proto3" + "\x0A\xDE\x19\x0A)google/cloud/sql/v1/cloud_sql_users.proto\x12\x13google.cloud.sql.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A-google/cloud/sql/v1/cloud_sql_resources.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"V\x0A\x15SqlUsersDeleteRequest\x12\x0C\x0A\x04host\x18\x01 \x01(\x09\x12\x10\x0A\x08instance\x18\x02 \x01(\x09\x12\x0C\x0A\x04name\x18\x03 \x01(\x09\x12\x0F\x0A\x07project\x18\x04 \x01(\x09\"S\x0A\x12SqlUsersGetRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0C\x0A\x04name\x18\x02 \x01(\x09\x12\x0F\x0A\x07project\x18\x03 \x01(\x09\x12\x0C\x0A\x04host\x18\x04 \x01(\x09\"c\x0A\x15SqlUsersInsertRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\x12'\x0A\x04body\x18d \x01(\x0B2\x19.google.cloud.sql.v1.User\"8\x0A\x13SqlUsersListRequest\x12\x10\x0A\x08instance\x18\x01 \x01(\x09\x12\x0F\x0A\x07project\x18\x02 \x01(\x09\"\xE4\x01\x0A\x15SqlUsersUpdateRequest\x12\x11\x0A\x04host\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x10\x0A\x08instance\x18\x02 \x01(\x09\x12\x0C\x0A\x04name\x18\x03 \x01(\x09\x12\x0F\x0A\x07project\x18\x04 \x01(\x09\x12\x1B\x0A\x0Edatabase_roles\x18\x05 \x03(\x09B\x03\xE0A\x01\x12'\x0A\x15revoke_existing_roles\x18\x06 \x01(\x08B\x03\xE0A\x01H\x00\x88\x01\x01\x12'\x0A\x04body\x18d \x01(\x0B2\x19.google.cloud.sql.v1.UserB\x18\x0A\x16_revoke_existing_roles\"\x86\x02\x0A\x1CUserPasswordValidationPolicy\x12\x1F\x0A\x17allowed_failed_attempts\x18\x01 \x01(\x05\x12?\x0A\x1Cpassword_expiration_duration\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x12\$\x0A\x1Cenable_failed_attempts_check\x18\x03 \x01(\x08\x128\x0A\x06status\x18\x04 \x01(\x0B2#.google.cloud.sql.v1.PasswordStatusB\x03\xE0A\x03\x12\$\x0A\x1Cenable_password_verification\x18\x05 \x01(\x08\"^\x0A\x0EPasswordStatus\x12\x0E\x0A\x06locked\x18\x01 \x01(\x08\x12<\x0A\x18password_expiration_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.Timestamp\"\xB4\x07\x0A\x04User\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12\x10\x0A\x08password\x18\x02 \x01(\x09\x12\x0C\x0A\x04etag\x18\x03 \x01(\x09\x12\x0C\x0A\x04name\x18\x04 \x01(\x09\x12\x11\x0A\x04host\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x10\x0A\x08instance\x18\x06 \x01(\x09\x12\x0F\x0A\x07project\x18\x07 \x01(\x09\x123\x0A\x04type\x18\x08 \x01(\x0E2%.google.cloud.sql.v1.User.SqlUserType\x12K\x0A\x16sqlserver_user_details\x18\x09 \x01(\x0B2).google.cloud.sql.v1.SqlServerUserDetailsH\x00\x12\x16\x0A\x09iam_email\x18\x0B \x01(\x09B\x03\xE0A\x01\x12J\x0A\x0Fpassword_policy\x18\x0C \x01(\x0B21.google.cloud.sql.v1.UserPasswordValidationPolicy\x12K\x0A\x12dual_password_type\x18\x0D \x01(\x0E2*.google.cloud.sql.v1.User.DualPasswordTypeH\x01\x88\x01\x01\x12<\x0A\x0Aiam_status\x18\x0E \x01(\x0E2#.google.cloud.sql.v1.User.IamStatusH\x02\x88\x01\x01\x12\x1B\x0A\x0Edatabase_roles\x18\x0F \x03(\x09B\x03\xE0A\x01\"\xB4\x01\x0A\x0BSqlUserType\x12\x0C\x0A\x08BUILT_IN\x10\x00\x12\x12\x0A\x0ECLOUD_IAM_USER\x10\x01\x12\x1D\x0A\x19CLOUD_IAM_SERVICE_ACCOUNT\x10\x02\x12\x13\x0A\x0FCLOUD_IAM_GROUP\x10\x03\x12\x18\x0A\x14CLOUD_IAM_GROUP_USER\x10\x04\x12#\x0A\x1FCLOUD_IAM_GROUP_SERVICE_ACCOUNT\x10\x05\x12\x10\x0A\x0CENTRAID_USER\x10\x07\"|\x0A\x10DualPasswordType\x12\"\x0A\x1EDUAL_PASSWORD_TYPE_UNSPECIFIED\x10\x00\x12\x1B\x0A\x17NO_MODIFY_DUAL_PASSWORD\x10\x01\x12\x14\x0A\x10NO_DUAL_PASSWORD\x10\x02\x12\x11\x0A\x0DDUAL_PASSWORD\x10\x03\"A\x0A\x09IamStatus\x12\x1A\x0A\x16IAM_STATUS_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08INACTIVE\x10\x01\x12\x0A\x0A\x06ACTIVE\x10\x02B\x0E\x0A\x0Cuser_detailsB\x15\x0A\x13_dual_password_typeB\x0D\x0A\x0B_iam_status\">\x0A\x14SqlServerUserDetails\x12\x10\x0A\x08disabled\x18\x01 \x01(\x08\x12\x14\x0A\x0Cserver_roles\x18\x02 \x03(\x09\"h\x0A\x11UsersListResponse\x12\x0C\x0A\x04kind\x18\x01 \x01(\x09\x12(\x0A\x05items\x18\x02 \x03(\x0B2\x19.google.cloud.sql.v1.User\x12\x1B\x0A\x0Fnext_page_token\x18\x03 \x01(\x09B\x02\x18\x012\xF5\x06\x0A\x0FSqlUsersService\x12\x8F\x01\x0A\x06Delete\x12*.google.cloud.sql.v1.SqlUsersDeleteRequest\x1A\x1E.google.cloud.sql.v1.Operation\"9\x82\xD3\xE4\x93\x023*1/v1/projects/{project}/instances/{instance}/users\x12\x8B\x01\x0A\x03Get\x12'.google.cloud.sql.v1.SqlUsersGetRequest\x1A\x19.google.cloud.sql.v1.User\"@\x82\xD3\xE4\x93\x02:\x128/v1/projects/{project}/instances/{instance}/users/{name}\x12\x95\x01\x0A\x06Insert\x12*.google.cloud.sql.v1.SqlUsersInsertRequest\x1A\x1E.google.cloud.sql.v1.Operation\"?\x82\xD3\xE4\x93\x029\"1/v1/projects/{project}/instances/{instance}/users:\x04body\x12\x93\x01\x0A\x04List\x12(.google.cloud.sql.v1.SqlUsersListRequest\x1A&.google.cloud.sql.v1.UsersListResponse\"9\x82\xD3\xE4\x93\x023\x121/v1/projects/{project}/instances/{instance}/users\x12\x95\x01\x0A\x06Update\x12*.google.cloud.sql.v1.SqlUsersUpdateRequest\x1A\x1E.google.cloud.sql.v1.Operation\"?\x82\xD3\xE4\x93\x029\x1A1/v1/projects/{project}/instances/{instance}/users:\x04body\x1A|\xCAA\x17sqladmin.googleapis.com\xD2A_https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/sqlservice.adminBZ\x0A\x17com.google.cloud.sql.v1B\x12CloudSqlUsersProtoP\x01Z)cloud.google.com/go/sql/apiv1/sqlpb;sqlpbb\x06proto3" , true); static::$is_initialized = true; diff --git a/SqlAdmin/samples/V1/SqlInstancesServiceClient/clone.php b/SqlAdmin/samples/V1/SqlInstancesServiceClient/clone.php index c21aff164b7a..c50666c9cffa 100644 --- a/SqlAdmin/samples/V1/SqlInstancesServiceClient/clone.php +++ b/SqlAdmin/samples/V1/SqlInstancesServiceClient/clone.php @@ -36,7 +36,7 @@ * * @param string $instance The ID of the Cloud SQL instance to be cloned (source). This does * not include the project ID. - * @param string $project Project ID of the source as well as the clone Cloud SQL instance. + * @param string $project Project ID of the source Cloud SQL instance. * @param string $bodyCloneContextDestinationInstanceName Name of the Cloud SQL instance to be created as a clone. */ function clone_sample( diff --git a/SqlAdmin/src/V1/ExecuteSqlPayload.php b/SqlAdmin/src/V1/ExecuteSqlPayload.php index 2b63fb4e98db..081f882a1679 100644 --- a/SqlAdmin/src/V1/ExecuteSqlPayload.php +++ b/SqlAdmin/src/V1/ExecuteSqlPayload.php @@ -76,7 +76,7 @@ class ExecuteSqlPayload extends \Google\Protobuf\Internal\Message * @type string $database * Optional. Name of the database on which the statement will be executed. * @type bool $auto_iam_authn - * Optional. When set to true, the API caller identity associated with the + * Optional. When set to `true`, the API caller identity associated with the * request is used for database authentication. The API caller must be an * IAM user in the database. * @type int|string $row_limit @@ -181,7 +181,7 @@ public function setDatabase($var) } /** - * Optional. When set to true, the API caller identity associated with the + * Optional. When set to `true`, the API caller identity associated with the * request is used for database authentication. The API caller must be an * IAM user in the database. * @@ -199,7 +199,7 @@ public function hasAutoIamAuthn() } /** - * Optional. When set to true, the API caller identity associated with the + * Optional. When set to `true`, the API caller identity associated with the * request is used for database authentication. The API caller must be an * IAM user in the database. * diff --git a/SqlAdmin/src/V1/Operation/SqlOperationType.php b/SqlAdmin/src/V1/Operation/SqlOperationType.php index 416f4c07a7ed..37d70a4ca98b 100644 --- a/SqlAdmin/src/V1/Operation/SqlOperationType.php +++ b/SqlAdmin/src/V1/Operation/SqlOperationType.php @@ -336,6 +336,12 @@ class SqlOperationType * Generated from protobuf enum CREATE_READ_POOL = 53; */ const CREATE_READ_POOL = 53; + /** + * Pre-checks the major version upgrade operation. + * + * Generated from protobuf enum PRE_CHECK_MAJOR_VERSION_UPGRADE = 54; + */ + const PRE_CHECK_MAJOR_VERSION_UPGRADE = 54; private static $valueToName = [ self::SQL_OPERATION_TYPE_UNSPECIFIED => 'SQL_OPERATION_TYPE_UNSPECIFIED', @@ -390,6 +396,7 @@ class SqlOperationType self::ENHANCED_BACKUP => 'ENHANCED_BACKUP', self::REPAIR_READ_POOL => 'REPAIR_READ_POOL', self::CREATE_READ_POOL => 'CREATE_READ_POOL', + self::PRE_CHECK_MAJOR_VERSION_UPGRADE => 'PRE_CHECK_MAJOR_VERSION_UPGRADE', ]; public static function name($value) diff --git a/SqlAdmin/src/V1/PerformanceCaptureConfig.php b/SqlAdmin/src/V1/PerformanceCaptureConfig.php index 0795063d5c38..f6a83454caad 100644 --- a/SqlAdmin/src/V1/PerformanceCaptureConfig.php +++ b/SqlAdmin/src/V1/PerformanceCaptureConfig.php @@ -9,48 +9,49 @@ use Google\Protobuf\RepeatedField; /** - * Performance Capture configuration. + * Performance capture configuration. * * Generated from protobuf message google.cloud.sql.v1.PerformanceCaptureConfig */ class PerformanceCaptureConfig extends \Google\Protobuf\Internal\Message { /** - * Optional. Enable or disable the Performance Capture feature. + * Optional. Enables or disables the performance capture feature. * * Generated from protobuf field optional bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; */ protected $enabled = null; /** - * Optional. The time interval in seconds between any two probes. + * Optional. Specifies the interval in seconds between consecutive probes that + * check if any trigger condition thresholds have been reached. * * Generated from protobuf field optional int32 probing_interval_seconds = 2 [(.google.api.field_behavior) = OPTIONAL]; */ protected $probing_interval_seconds = null; /** - * Optional. The minimum number of consecutive readings above threshold that - * triggers instance state capture. + * Optional. Specifies the minimum number of consecutive probe threshold that + * triggers performance capture. * * Generated from protobuf field optional int32 probe_threshold = 3 [(.google.api.field_behavior) = OPTIONAL]; */ protected $probe_threshold = null; /** - * Optional. The minimum number of server threads running to trigger the - * capture on primary. + * Optional. Specifies the minimum number of MySQL `Threads_running` to + * trigger the performance capture on the primary instance. * * Generated from protobuf field optional int32 running_threads_threshold = 4 [(.google.api.field_behavior) = OPTIONAL]; */ protected $running_threads_threshold = null; /** - * Optional. The minimum number of seconds replica must be lagging behind - * primary to trigger capture on replica. + * Optional. Specifies the minimum number of seconds replica must be lagging + * behind primary instance to trigger the performance capture on replica. * * Generated from protobuf field optional int32 seconds_behind_source_threshold = 5 [(.google.api.field_behavior) = OPTIONAL]; */ protected $seconds_behind_source_threshold = null; /** - * Optional. The amount of time in seconds that a transaction needs to have - * been open before the watcher starts recording it. + * Optional. Specifies the amount of time in seconds that a transaction needs + * to have been open before the watcher starts recording it. * * Generated from protobuf field optional int32 transaction_duration_threshold = 8 [(.google.api.field_behavior) = OPTIONAL]; */ @@ -63,21 +64,22 @@ class PerformanceCaptureConfig extends \Google\Protobuf\Internal\Message * Optional. Data for populating the Message object. * * @type bool $enabled - * Optional. Enable or disable the Performance Capture feature. + * Optional. Enables or disables the performance capture feature. * @type int $probing_interval_seconds - * Optional. The time interval in seconds between any two probes. + * Optional. Specifies the interval in seconds between consecutive probes that + * check if any trigger condition thresholds have been reached. * @type int $probe_threshold - * Optional. The minimum number of consecutive readings above threshold that - * triggers instance state capture. + * Optional. Specifies the minimum number of consecutive probe threshold that + * triggers performance capture. * @type int $running_threads_threshold - * Optional. The minimum number of server threads running to trigger the - * capture on primary. + * Optional. Specifies the minimum number of MySQL `Threads_running` to + * trigger the performance capture on the primary instance. * @type int $seconds_behind_source_threshold - * Optional. The minimum number of seconds replica must be lagging behind - * primary to trigger capture on replica. + * Optional. Specifies the minimum number of seconds replica must be lagging + * behind primary instance to trigger the performance capture on replica. * @type int $transaction_duration_threshold - * Optional. The amount of time in seconds that a transaction needs to have - * been open before the watcher starts recording it. + * Optional. Specifies the amount of time in seconds that a transaction needs + * to have been open before the watcher starts recording it. * } */ public function __construct($data = NULL) { @@ -86,7 +88,7 @@ public function __construct($data = NULL) { } /** - * Optional. Enable or disable the Performance Capture feature. + * Optional. Enables or disables the performance capture feature. * * Generated from protobuf field optional bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; * @return bool @@ -107,7 +109,7 @@ public function clearEnabled() } /** - * Optional. Enable or disable the Performance Capture feature. + * Optional. Enables or disables the performance capture feature. * * Generated from protobuf field optional bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; * @param bool $var @@ -122,7 +124,8 @@ public function setEnabled($var) } /** - * Optional. The time interval in seconds between any two probes. + * Optional. Specifies the interval in seconds between consecutive probes that + * check if any trigger condition thresholds have been reached. * * Generated from protobuf field optional int32 probing_interval_seconds = 2 [(.google.api.field_behavior) = OPTIONAL]; * @return int @@ -143,7 +146,8 @@ public function clearProbingIntervalSeconds() } /** - * Optional. The time interval in seconds between any two probes. + * Optional. Specifies the interval in seconds between consecutive probes that + * check if any trigger condition thresholds have been reached. * * Generated from protobuf field optional int32 probing_interval_seconds = 2 [(.google.api.field_behavior) = OPTIONAL]; * @param int $var @@ -158,8 +162,8 @@ public function setProbingIntervalSeconds($var) } /** - * Optional. The minimum number of consecutive readings above threshold that - * triggers instance state capture. + * Optional. Specifies the minimum number of consecutive probe threshold that + * triggers performance capture. * * Generated from protobuf field optional int32 probe_threshold = 3 [(.google.api.field_behavior) = OPTIONAL]; * @return int @@ -180,8 +184,8 @@ public function clearProbeThreshold() } /** - * Optional. The minimum number of consecutive readings above threshold that - * triggers instance state capture. + * Optional. Specifies the minimum number of consecutive probe threshold that + * triggers performance capture. * * Generated from protobuf field optional int32 probe_threshold = 3 [(.google.api.field_behavior) = OPTIONAL]; * @param int $var @@ -196,8 +200,8 @@ public function setProbeThreshold($var) } /** - * Optional. The minimum number of server threads running to trigger the - * capture on primary. + * Optional. Specifies the minimum number of MySQL `Threads_running` to + * trigger the performance capture on the primary instance. * * Generated from protobuf field optional int32 running_threads_threshold = 4 [(.google.api.field_behavior) = OPTIONAL]; * @return int @@ -218,8 +222,8 @@ public function clearRunningThreadsThreshold() } /** - * Optional. The minimum number of server threads running to trigger the - * capture on primary. + * Optional. Specifies the minimum number of MySQL `Threads_running` to + * trigger the performance capture on the primary instance. * * Generated from protobuf field optional int32 running_threads_threshold = 4 [(.google.api.field_behavior) = OPTIONAL]; * @param int $var @@ -234,8 +238,8 @@ public function setRunningThreadsThreshold($var) } /** - * Optional. The minimum number of seconds replica must be lagging behind - * primary to trigger capture on replica. + * Optional. Specifies the minimum number of seconds replica must be lagging + * behind primary instance to trigger the performance capture on replica. * * Generated from protobuf field optional int32 seconds_behind_source_threshold = 5 [(.google.api.field_behavior) = OPTIONAL]; * @return int @@ -256,8 +260,8 @@ public function clearSecondsBehindSourceThreshold() } /** - * Optional. The minimum number of seconds replica must be lagging behind - * primary to trigger capture on replica. + * Optional. Specifies the minimum number of seconds replica must be lagging + * behind primary instance to trigger the performance capture on replica. * * Generated from protobuf field optional int32 seconds_behind_source_threshold = 5 [(.google.api.field_behavior) = OPTIONAL]; * @param int $var @@ -272,8 +276,8 @@ public function setSecondsBehindSourceThreshold($var) } /** - * Optional. The amount of time in seconds that a transaction needs to have - * been open before the watcher starts recording it. + * Optional. Specifies the amount of time in seconds that a transaction needs + * to have been open before the watcher starts recording it. * * Generated from protobuf field optional int32 transaction_duration_threshold = 8 [(.google.api.field_behavior) = OPTIONAL]; * @return int @@ -294,8 +298,8 @@ public function clearTransactionDurationThreshold() } /** - * Optional. The amount of time in seconds that a transaction needs to have - * been open before the watcher starts recording it. + * Optional. Specifies the amount of time in seconds that a transaction needs + * to have been open before the watcher starts recording it. * * Generated from protobuf field optional int32 transaction_duration_threshold = 8 [(.google.api.field_behavior) = OPTIONAL]; * @param int $var diff --git a/SqlAdmin/src/V1/PointInTimeRestoreContext.php b/SqlAdmin/src/V1/PointInTimeRestoreContext.php index 10b5d24ccecc..6ff6bc1ccd29 100644 --- a/SqlAdmin/src/V1/PointInTimeRestoreContext.php +++ b/SqlAdmin/src/V1/PointInTimeRestoreContext.php @@ -72,6 +72,27 @@ class PointInTimeRestoreContext extends \Google\Protobuf\Internal\Message * Generated from protobuf field optional string preferred_secondary_zone = 9 [(.google.api.field_behavior) = OPTIONAL]; */ protected $preferred_secondary_zone = null; + /** + * Optional. Specifies the instance settings that will be overridden from the + * source instance. This field is only applicable for cross project PITRs. + * + * Generated from protobuf field .google.cloud.sql.v1.DatabaseInstance target_instance_settings = 11 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $target_instance_settings = null; + /** + * Optional. Specifies the instance settings that will be cleared from the + * source instance. This field is only applicable for cross project PITRs. + * + * Generated from protobuf field repeated string target_instance_clear_settings_field_names = 12 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $target_instance_clear_settings_field_names; + /** + * Optional. The region of the target instance where the datasource will be + * restored. For example: "us-central1". + * + * Generated from protobuf field optional string region = 13 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $region = null; /** * Constructor. @@ -107,6 +128,15 @@ class PointInTimeRestoreContext extends \Google\Protobuf\Internal\Message * Optional. Point-in-time recovery of a regional instance in the specified * zones. If not specified, clone to the same secondary zone as the source * instance. This value cannot be the same as the preferred_zone field. + * @type \Google\Cloud\Sql\V1\DatabaseInstance $target_instance_settings + * Optional. Specifies the instance settings that will be overridden from the + * source instance. This field is only applicable for cross project PITRs. + * @type string[] $target_instance_clear_settings_field_names + * Optional. Specifies the instance settings that will be cleared from the + * source instance. This field is only applicable for cross project PITRs. + * @type string $region + * Optional. The region of the target instance where the datasource will be + * restored. For example: "us-central1". * } */ public function __construct($data = NULL) { @@ -394,5 +424,109 @@ public function setPreferredSecondaryZone($var) return $this; } + /** + * Optional. Specifies the instance settings that will be overridden from the + * source instance. This field is only applicable for cross project PITRs. + * + * Generated from protobuf field .google.cloud.sql.v1.DatabaseInstance target_instance_settings = 11 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Sql\V1\DatabaseInstance|null + */ + public function getTargetInstanceSettings() + { + return $this->target_instance_settings; + } + + public function hasTargetInstanceSettings() + { + return isset($this->target_instance_settings); + } + + public function clearTargetInstanceSettings() + { + unset($this->target_instance_settings); + } + + /** + * Optional. Specifies the instance settings that will be overridden from the + * source instance. This field is only applicable for cross project PITRs. + * + * Generated from protobuf field .google.cloud.sql.v1.DatabaseInstance target_instance_settings = 11 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Sql\V1\DatabaseInstance $var + * @return $this + */ + public function setTargetInstanceSettings($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Sql\V1\DatabaseInstance::class); + $this->target_instance_settings = $var; + + return $this; + } + + /** + * Optional. Specifies the instance settings that will be cleared from the + * source instance. This field is only applicable for cross project PITRs. + * + * Generated from protobuf field repeated string target_instance_clear_settings_field_names = 12 [(.google.api.field_behavior) = OPTIONAL]; + * @return RepeatedField + */ + public function getTargetInstanceClearSettingsFieldNames() + { + return $this->target_instance_clear_settings_field_names; + } + + /** + * Optional. Specifies the instance settings that will be cleared from the + * source instance. This field is only applicable for cross project PITRs. + * + * Generated from protobuf field repeated string target_instance_clear_settings_field_names = 12 [(.google.api.field_behavior) = OPTIONAL]; + * @param string[] $var + * @return $this + */ + public function setTargetInstanceClearSettingsFieldNames($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->target_instance_clear_settings_field_names = $arr; + + return $this; + } + + /** + * Optional. The region of the target instance where the datasource will be + * restored. For example: "us-central1". + * + * Generated from protobuf field optional string region = 13 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getRegion() + { + return isset($this->region) ? $this->region : ''; + } + + public function hasRegion() + { + return isset($this->region); + } + + public function clearRegion() + { + unset($this->region); + } + + /** + * Optional. The region of the target instance where the datasource will be + * restored. For example: "us-central1". + * + * Generated from protobuf field optional string region = 13 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setRegion($var) + { + GPBUtil::checkString($var, True); + $this->region = $var; + + return $this; + } + } diff --git a/SqlAdmin/src/V1/PscAutoConnectionConfig.php b/SqlAdmin/src/V1/PscAutoConnectionConfig.php index bab3a5ff4290..48358e7416f7 100644 --- a/SqlAdmin/src/V1/PscAutoConnectionConfig.php +++ b/SqlAdmin/src/V1/PscAutoConnectionConfig.php @@ -19,7 +19,7 @@ class PscAutoConnectionConfig extends \Google\Protobuf\Internal\Message /** * Optional. This is the project ID of consumer service project of this * consumer endpoint. - * Optional. This is only applicable if consumer_network is a shared vpc + * This is only applicable if `consumer_network` is a shared VPC * network. * * Generated from protobuf field string consumer_project = 1 [(.google.api.field_behavior) = OPTIONAL]; @@ -63,7 +63,7 @@ class PscAutoConnectionConfig extends \Google\Protobuf\Internal\Message * @type string $consumer_project * Optional. This is the project ID of consumer service project of this * consumer endpoint. - * Optional. This is only applicable if consumer_network is a shared vpc + * This is only applicable if `consumer_network` is a shared VPC * network. * @type string $consumer_network * Optional. The consumer network of this consumer endpoint. This must be a @@ -87,7 +87,7 @@ public function __construct($data = NULL) { /** * Optional. This is the project ID of consumer service project of this * consumer endpoint. - * Optional. This is only applicable if consumer_network is a shared vpc + * This is only applicable if `consumer_network` is a shared VPC * network. * * Generated from protobuf field string consumer_project = 1 [(.google.api.field_behavior) = OPTIONAL]; @@ -101,7 +101,7 @@ public function getConsumerProject() /** * Optional. This is the project ID of consumer service project of this * consumer endpoint. - * Optional. This is only applicable if consumer_network is a shared vpc + * This is only applicable if `consumer_network` is a shared VPC * network. * * Generated from protobuf field string consumer_project = 1 [(.google.api.field_behavior) = OPTIONAL]; diff --git a/SqlAdmin/src/V1/PscConfig.php b/SqlAdmin/src/V1/PscConfig.php index b0f7395e4a56..bd9ff6248c35 100644 --- a/SqlAdmin/src/V1/PscConfig.php +++ b/SqlAdmin/src/V1/PscConfig.php @@ -47,6 +47,28 @@ class PscConfig extends \Google\Protobuf\Internal\Message * Generated from protobuf field string network_attachment_uri = 4 [(.google.api.field_behavior) = OPTIONAL]; */ protected $network_attachment_uri = ''; + /** + * Optional. Indicates whether PSC DNS automation is enabled for this + * instance. When enabled, Cloud SQL provisions a universal DNS record across + * all networks configured with Private Service Connect (PSC) + * auto-connections. This will default to true for new instances when Private + * Service Connect is enabled. + * + * Generated from protobuf field optional bool psc_auto_dns_enabled = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $psc_auto_dns_enabled = null; + /** + * Optional. Indicates whether PSC write endpoint DNS automation is enabled + * for this instance. When enabled, Cloud SQL provisions a universal global + * DNS record across all networks configured with Private Service Connect + * (PSC) auto-connections that always points to the cluster primary instance. + * This feature is only supported for Enterprise Plus edition. + * This will default to true for new Enterprise Plus instances when + * `psc_auto_dns_enabled` is enabled. + * + * Generated from protobuf field optional bool psc_write_endpoint_dns_enabled = 6 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $psc_write_endpoint_dns_enabled = null; /** * Constructor. @@ -70,6 +92,20 @@ class PscConfig extends \Google\Protobuf\Internal\Message * Private Service Connect enabled Cloud SQL instance is * authorized to connect via PSC interface. * format: projects/PROJECT/regions/REGION/networkAttachments/ID + * @type bool $psc_auto_dns_enabled + * Optional. Indicates whether PSC DNS automation is enabled for this + * instance. When enabled, Cloud SQL provisions a universal DNS record across + * all networks configured with Private Service Connect (PSC) + * auto-connections. This will default to true for new instances when Private + * Service Connect is enabled. + * @type bool $psc_write_endpoint_dns_enabled + * Optional. Indicates whether PSC write endpoint DNS automation is enabled + * for this instance. When enabled, Cloud SQL provisions a universal global + * DNS record across all networks configured with Private Service Connect + * (PSC) auto-connections that always points to the cluster primary instance. + * This feature is only supported for Enterprise Plus edition. + * This will default to true for new Enterprise Plus instances when + * `psc_auto_dns_enabled` is enabled. * } */ public function __construct($data = NULL) { @@ -207,5 +243,97 @@ public function setNetworkAttachmentUri($var) return $this; } + /** + * Optional. Indicates whether PSC DNS automation is enabled for this + * instance. When enabled, Cloud SQL provisions a universal DNS record across + * all networks configured with Private Service Connect (PSC) + * auto-connections. This will default to true for new instances when Private + * Service Connect is enabled. + * + * Generated from protobuf field optional bool psc_auto_dns_enabled = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getPscAutoDnsEnabled() + { + return isset($this->psc_auto_dns_enabled) ? $this->psc_auto_dns_enabled : false; + } + + public function hasPscAutoDnsEnabled() + { + return isset($this->psc_auto_dns_enabled); + } + + public function clearPscAutoDnsEnabled() + { + unset($this->psc_auto_dns_enabled); + } + + /** + * Optional. Indicates whether PSC DNS automation is enabled for this + * instance. When enabled, Cloud SQL provisions a universal DNS record across + * all networks configured with Private Service Connect (PSC) + * auto-connections. This will default to true for new instances when Private + * Service Connect is enabled. + * + * Generated from protobuf field optional bool psc_auto_dns_enabled = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setPscAutoDnsEnabled($var) + { + GPBUtil::checkBool($var); + $this->psc_auto_dns_enabled = $var; + + return $this; + } + + /** + * Optional. Indicates whether PSC write endpoint DNS automation is enabled + * for this instance. When enabled, Cloud SQL provisions a universal global + * DNS record across all networks configured with Private Service Connect + * (PSC) auto-connections that always points to the cluster primary instance. + * This feature is only supported for Enterprise Plus edition. + * This will default to true for new Enterprise Plus instances when + * `psc_auto_dns_enabled` is enabled. + * + * Generated from protobuf field optional bool psc_write_endpoint_dns_enabled = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getPscWriteEndpointDnsEnabled() + { + return isset($this->psc_write_endpoint_dns_enabled) ? $this->psc_write_endpoint_dns_enabled : false; + } + + public function hasPscWriteEndpointDnsEnabled() + { + return isset($this->psc_write_endpoint_dns_enabled); + } + + public function clearPscWriteEndpointDnsEnabled() + { + unset($this->psc_write_endpoint_dns_enabled); + } + + /** + * Optional. Indicates whether PSC write endpoint DNS automation is enabled + * for this instance. When enabled, Cloud SQL provisions a universal global + * DNS record across all networks configured with Private Service Connect + * (PSC) auto-connections that always points to the cluster primary instance. + * This feature is only supported for Enterprise Plus edition. + * This will default to true for new Enterprise Plus instances when + * `psc_auto_dns_enabled` is enabled. + * + * Generated from protobuf field optional bool psc_write_endpoint_dns_enabled = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setPscWriteEndpointDnsEnabled($var) + { + GPBUtil::checkBool($var); + $this->psc_write_endpoint_dns_enabled = $var; + + return $this; + } + } diff --git a/SqlAdmin/src/V1/Settings.php b/SqlAdmin/src/V1/Settings.php index 66269d782782..9ed0ed4a616d 100644 --- a/SqlAdmin/src/V1/Settings.php +++ b/SqlAdmin/src/V1/Settings.php @@ -317,6 +317,13 @@ class Settings extends \Google\Protobuf\Internal\Message * Generated from protobuf field optional .google.cloud.sql.v1.ReadPoolAutoScaleConfig read_pool_auto_scale_config = 48 [(.google.api.field_behavior) = OPTIONAL]; */ protected $read_pool_auto_scale_config = null; + /** + * Optional. Whether the replica is in accelerated mode. This feature is in + * private preview and requires allowlisting to take effect. + * + * Generated from protobuf field .google.protobuf.BoolValue accelerated_replica_mode = 49 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $accelerated_replica_mode = null; /** * Optional. Cloud SQL for MySQL auto-upgrade configuration. When this * parameter is set to true, auto-upgrade is enabled for MySQL 8.0 minor @@ -487,6 +494,9 @@ class Settings extends \Google\Protobuf\Internal\Message * Optional. The final backup configuration for the instance. * @type \Google\Cloud\Sql\V1\ReadPoolAutoScaleConfig $read_pool_auto_scale_config * Optional. The read pool auto-scale configuration for the instance. + * @type \Google\Protobuf\BoolValue $accelerated_replica_mode + * Optional. Whether the replica is in accelerated mode. This feature is in + * private preview and requires allowlisting to take effect. * @type bool $auto_upgrade_enabled * Optional. Cloud SQL for MySQL auto-upgrade configuration. When this * parameter is set to true, auto-upgrade is enabled for MySQL 8.0 minor @@ -2298,6 +2308,73 @@ public function setReadPoolAutoScaleConfig($var) return $this; } + /** + * Optional. Whether the replica is in accelerated mode. This feature is in + * private preview and requires allowlisting to take effect. + * + * Generated from protobuf field .google.protobuf.BoolValue accelerated_replica_mode = 49 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\BoolValue|null + */ + public function getAcceleratedReplicaMode() + { + return $this->accelerated_replica_mode; + } + + public function hasAcceleratedReplicaMode() + { + return isset($this->accelerated_replica_mode); + } + + public function clearAcceleratedReplicaMode() + { + unset($this->accelerated_replica_mode); + } + + /** + * Returns the unboxed value from getAcceleratedReplicaMode() + + * Optional. Whether the replica is in accelerated mode. This feature is in + * private preview and requires allowlisting to take effect. + * + * Generated from protobuf field .google.protobuf.BoolValue accelerated_replica_mode = 49 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool|null + */ + public function getAcceleratedReplicaModeUnwrapped() + { + return $this->readWrapperValue("accelerated_replica_mode"); + } + + /** + * Optional. Whether the replica is in accelerated mode. This feature is in + * private preview and requires allowlisting to take effect. + * + * Generated from protobuf field .google.protobuf.BoolValue accelerated_replica_mode = 49 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Protobuf\BoolValue $var + * @return $this + */ + public function setAcceleratedReplicaMode($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class); + $this->accelerated_replica_mode = $var; + + return $this; + } + + /** + * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object. + + * Optional. Whether the replica is in accelerated mode. This feature is in + * private preview and requires allowlisting to take effect. + * + * Generated from protobuf field .google.protobuf.BoolValue accelerated_replica_mode = 49 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool|null $var + * @return $this + */ + public function setAcceleratedReplicaModeUnwrapped($var) + { + $this->writeWrapperValue("accelerated_replica_mode", $var); + return $this;} + /** * Optional. Cloud SQL for MySQL auto-upgrade configuration. When this * parameter is set to true, auto-upgrade is enabled for MySQL 8.0 minor diff --git a/SqlAdmin/src/V1/SqlDatabaseVersion.php b/SqlAdmin/src/V1/SqlDatabaseVersion.php index b84965cb26a7..5e3d8cb46824 100644 --- a/SqlAdmin/src/V1/SqlDatabaseVersion.php +++ b/SqlAdmin/src/V1/SqlDatabaseVersion.php @@ -271,6 +271,12 @@ class SqlDatabaseVersion * Generated from protobuf enum POSTGRES_18 = 557; */ const POSTGRES_18 = 557; + /** + * The database version is PostgreSQL 19. + * + * Generated from protobuf enum POSTGRES_19 = 684; + */ + const POSTGRES_19 = 684; /** * The database version is SQL Server 2019 Standard. * @@ -319,6 +325,24 @@ class SqlDatabaseVersion * Generated from protobuf enum SQLSERVER_2022_WEB = 202; */ const SQLSERVER_2022_WEB = 202; + /** + * The database version is SQL Server 2025 Standard. + * + * Generated from protobuf enum SQLSERVER_2025_STANDARD = 549; + */ + const SQLSERVER_2025_STANDARD = 549; + /** + * The database version is SQL Server 2025 Enterprise. + * + * Generated from protobuf enum SQLSERVER_2025_ENTERPRISE = 550; + */ + const SQLSERVER_2025_ENTERPRISE = 550; + /** + * The database version is SQL Server 2025 Express. + * + * Generated from protobuf enum SQLSERVER_2025_EXPRESS = 551; + */ + const SQLSERVER_2025_EXPRESS = 551; private static $valueToName = [ self::SQL_DATABASE_VERSION_UNSPECIFIED => 'SQL_DATABASE_VERSION_UNSPECIFIED', @@ -364,6 +388,7 @@ class SqlDatabaseVersion self::POSTGRES_16 => 'POSTGRES_16', self::POSTGRES_17 => 'POSTGRES_17', self::POSTGRES_18 => 'POSTGRES_18', + self::POSTGRES_19 => 'POSTGRES_19', self::SQLSERVER_2019_STANDARD => 'SQLSERVER_2019_STANDARD', self::SQLSERVER_2019_ENTERPRISE => 'SQLSERVER_2019_ENTERPRISE', self::SQLSERVER_2019_EXPRESS => 'SQLSERVER_2019_EXPRESS', @@ -372,6 +397,9 @@ class SqlDatabaseVersion self::SQLSERVER_2022_ENTERPRISE => 'SQLSERVER_2022_ENTERPRISE', self::SQLSERVER_2022_EXPRESS => 'SQLSERVER_2022_EXPRESS', self::SQLSERVER_2022_WEB => 'SQLSERVER_2022_WEB', + self::SQLSERVER_2025_STANDARD => 'SQLSERVER_2025_STANDARD', + self::SQLSERVER_2025_ENTERPRISE => 'SQLSERVER_2025_ENTERPRISE', + self::SQLSERVER_2025_EXPRESS => 'SQLSERVER_2025_EXPRESS', ]; public static function name($value) diff --git a/SqlAdmin/src/V1/SqlInstancesCloneRequest.php b/SqlAdmin/src/V1/SqlInstancesCloneRequest.php index 26f0a367cc62..15cde29ac1c4 100644 --- a/SqlAdmin/src/V1/SqlInstancesCloneRequest.php +++ b/SqlAdmin/src/V1/SqlInstancesCloneRequest.php @@ -23,7 +23,7 @@ class SqlInstancesCloneRequest extends \Google\Protobuf\Internal\Message */ protected $instance = ''; /** - * Required. Project ID of the source as well as the clone Cloud SQL instance. + * Required. Project ID of the source Cloud SQL instance. * * Generated from protobuf field string project = 2 [(.google.api.field_behavior) = REQUIRED]; */ @@ -43,7 +43,7 @@ class SqlInstancesCloneRequest extends \Google\Protobuf\Internal\Message * Required. The ID of the Cloud SQL instance to be cloned (source). This does * not include the project ID. * @type string $project - * Required. Project ID of the source as well as the clone Cloud SQL instance. + * Required. Project ID of the source Cloud SQL instance. * @type \Google\Cloud\Sql\V1\InstancesCloneRequest $body * } */ @@ -81,7 +81,7 @@ public function setInstance($var) } /** - * Required. Project ID of the source as well as the clone Cloud SQL instance. + * Required. Project ID of the source Cloud SQL instance. * * Generated from protobuf field string project = 2 [(.google.api.field_behavior) = REQUIRED]; * @return string @@ -92,7 +92,7 @@ public function getProject() } /** - * Required. Project ID of the source as well as the clone Cloud SQL instance. + * Required. Project ID of the source Cloud SQL instance. * * Generated from protobuf field string project = 2 [(.google.api.field_behavior) = REQUIRED]; * @param string $var diff --git a/SqlAdmin/src/V1/SqlSuspensionReason.php b/SqlAdmin/src/V1/SqlSuspensionReason.php index b7fa989e32e0..7249c4aaec8a 100644 --- a/SqlAdmin/src/V1/SqlSuspensionReason.php +++ b/SqlAdmin/src/V1/SqlSuspensionReason.php @@ -46,6 +46,12 @@ class SqlSuspensionReason * Generated from protobuf enum KMS_KEY_ISSUE = 5; */ const KMS_KEY_ISSUE = 5; + /** + * The project is suspended due to abuse detected by Ares. + * + * Generated from protobuf enum PROJECT_ABUSE = 8; + */ + const PROJECT_ABUSE = 8; private static $valueToName = [ self::SQL_SUSPENSION_REASON_UNSPECIFIED => 'SQL_SUSPENSION_REASON_UNSPECIFIED', @@ -53,6 +59,7 @@ class SqlSuspensionReason self::LEGAL_ISSUE => 'LEGAL_ISSUE', self::OPERATIONAL_ISSUE => 'OPERATIONAL_ISSUE', self::KMS_KEY_ISSUE => 'KMS_KEY_ISSUE', + self::PROJECT_ABUSE => 'PROJECT_ABUSE', ]; public static function name($value) diff --git a/Storage/src/Bucket.php b/Storage/src/Bucket.php index 887cffd4f84d..c15b50d07b32 100644 --- a/Storage/src/Bucket.php +++ b/Storage/src/Bucket.php @@ -1145,6 +1145,8 @@ public function update(array $options = []) * matches the given value. * @type string $ifMetagenerationMatch Makes the operation conditional on whether the object's current * metageneration matches the given value. + * @type bool $deleteSourceObjects If true, the source objects will be + * deleted after a successful compose operation. * } * @return StorageObject * @throws \InvalidArgumentException diff --git a/Storage/src/Connection/ConnectionInterface.php b/Storage/src/Connection/ConnectionInterface.php index 5173b21c07bd..f0cae4ff6c1c 100644 --- a/Storage/src/Connection/ConnectionInterface.php +++ b/Storage/src/Connection/ConnectionInterface.php @@ -130,6 +130,12 @@ public function composeObject(array $args = []); */ public function getObject(array $args = []); + /** + * @param array $args + * @return array + */ + public function headObject(array $args = []): array; + /** * @param array $args */ diff --git a/Storage/src/Connection/Rest.php b/Storage/src/Connection/Rest.php index b240f580d941..a5bfd005f284 100644 --- a/Storage/src/Connection/Rest.php +++ b/Storage/src/Connection/Rest.php @@ -306,6 +306,49 @@ public function getObject(array $args = []) return $this->send('objects', 'get', $args); } + /** + * @param array $args + * @return array + */ + public function headObject(array $args = []): array + { + $args += [ + 'prettyPrint' => false, + ]; + + $args['restRetryFunction'] = $this->restRetryFunction ?? $this->getRestRetryFunction( + 'objects', + 'get', + $args + ); + + $args += array_filter([ + 'retryStrategy' => $this->retryStrategy, + 'restDelayFunction' => $this->restDelayFunction, + 'restCalcDelayFunction' => $this->restCalcDelayFunction, + 'restRetryListener' => $this->restRetryListener, + ]); + + $args = $this->addRetryHeaderLogic($args); + + $requestOptions = $this->pluckArray([ + 'restOptions', + 'retries', + 'retryHeaders', + 'requestTimeout', + 'restRetryFunction', + 'restRetryListener', + 'restDelayFunction', + 'restCalcDelayFunction', + ], $args); + + $request = $this->requestBuilder->build('objects', 'get', $args); + $request = $request->withMethod('HEAD'); + + $response = $this->requestWrapper->send($request, $requestOptions); + return $response->getHeaders(); + } + /** * @param array $args */ diff --git a/Storage/src/Connection/ServiceDefinition/storage-v1.json b/Storage/src/Connection/ServiceDefinition/storage-v1.json index dcce6fbecb50..55ebe63e52ba 100644 --- a/Storage/src/Connection/ServiceDefinition/storage-v1.json +++ b/Storage/src/Connection/ServiceDefinition/storage-v1.json @@ -897,6 +897,10 @@ "$ref": "Object", "description": "Properties of the resulting object." }, + "deleteSourceObjects": { + "type": "boolean", + "description": "If true, the source objects will be deleted after a successful compose operation." + }, "kind": { "type": "string", "description": "The kind of item this is.", diff --git a/Storage/src/StorageObject.php b/Storage/src/StorageObject.php index 376c494904aa..d3c3288dd041 100644 --- a/Storage/src/StorageObject.php +++ b/Storage/src/StorageObject.php @@ -146,7 +146,7 @@ public function acl() public function exists(array $options = []) { try { - $this->connection->getObject($this->identity + $options + ['fields' => 'name']); + $this->connection->headObject($this->identity + $options); } catch (NotFoundException $ex) { return false; } diff --git a/Storage/tests/Snippet/StorageObjectTest.php b/Storage/tests/Snippet/StorageObjectTest.php index 8a0e84833f2e..296bcf84b847 100644 --- a/Storage/tests/Snippet/StorageObjectTest.php +++ b/Storage/tests/Snippet/StorageObjectTest.php @@ -81,7 +81,7 @@ public function testExists() $snippet = $this->snippetFromMethod(StorageObject::class, 'exists'); $snippet->addLocal('object', $this->object); - $this->connection->getObject(Argument::any()) + $this->connection->headObject(Argument::any()) ->shouldBeCalled() ->willReturn([]); diff --git a/Storage/tests/System/ManageObjectsTest.php b/Storage/tests/System/ManageObjectsTest.php index 847ad64cc0be..abdca16cfbe3 100644 --- a/Storage/tests/System/ManageObjectsTest.php +++ b/Storage/tests/System/ManageObjectsTest.php @@ -597,6 +597,84 @@ public function testComposeObjects($object) return $composedObject; } + public function testComposeObjectsWithDeleteSourceObjects() + { + $source1 = self::$bucket->upload('content1', ['name' => uniqid(self::TESTING_PREFIX) . '-s1.txt']); + $source2 = self::$bucket->upload('content2', ['name' => uniqid(self::TESTING_PREFIX) . '-s2.txt']); + + $this->assertTrue($source1->exists()); + $this->assertTrue($source2->exists()); + + $name = uniqid(self::TESTING_PREFIX) . '-composed.txt'; + $composedObject = self::$bucket->compose( + [$source1, $source2], + $name, + ['deleteSourceObjects' => true] + ); + + $this->assertEquals($name, $composedObject->name()); + $this->assertEquals('content1content2', $composedObject->downloadAsString()); + + $this->assertFalse($source1->exists()); + $this->assertFalse($source2->exists()); + + $composedObject->delete(); + } + + public function testComposeObjectsWithDeleteSourceObjectsFalse() + { + $source1 = self::$bucket->upload('content1', ['name' => uniqid(self::TESTING_PREFIX) . '-s1.txt']); + $source2 = self::$bucket->upload('content2', ['name' => uniqid(self::TESTING_PREFIX) . '-s2.txt']); + + $this->assertTrue($source1->exists()); + $this->assertTrue($source2->exists()); + + $name = uniqid(self::TESTING_PREFIX) . '-composed.txt'; + $composedObject = self::$bucket->compose( + [$source1, $source2], + $name, + ['deleteSourceObjects' => false] + ); + + $this->assertEquals($name, $composedObject->name()); + $this->assertEquals('content1content2', $composedObject->downloadAsString()); + + // Source objects should still exist because deleteSourceObjects is false + $this->assertTrue($source1->exists()); + $this->assertTrue($source2->exists()); + + $source1->delete(); + $source2->delete(); + $composedObject->delete(); + } + + public function testComposeObjectsWithDeleteSourceObjectsNull() + { + $source1 = self::$bucket->upload('content1', ['name' => uniqid(self::TESTING_PREFIX) . '-s1.txt']); + $source2 = self::$bucket->upload('content2', ['name' => uniqid(self::TESTING_PREFIX) . '-s2.txt']); + + $this->assertTrue($source1->exists()); + $this->assertTrue($source2->exists()); + + $name = uniqid(self::TESTING_PREFIX) . '-composed.txt'; + $composedObject = self::$bucket->compose( + [$source1, $source2], + $name, + ['deleteSourceObjects' => null] + ); + + $this->assertEquals($name, $composedObject->name()); + $this->assertEquals('content1content2', $composedObject->downloadAsString()); + + // Source objects should still exist because deleteSourceObjects is null + $this->assertTrue($source1->exists()); + $this->assertTrue($source2->exists()); + + $source1->delete(); + $source2->delete(); + $composedObject->delete(); + } + public function testSoftDeleteObject() { $softDeleteBucketName = "soft-delete-bucket-" . uniqid(); diff --git a/Storage/tests/Unit/BucketTest.php b/Storage/tests/Unit/BucketTest.php index 23618a7c68d8..4f70471fdb21 100644 --- a/Storage/tests/Unit/BucketTest.php +++ b/Storage/tests/Unit/BucketTest.php @@ -419,6 +419,86 @@ public function testComposesObjects( $this->assertEquals($destinationObject, $object->name()); } + public function testComposeWithDeleteSourceObjects() + { + $acl = 'private'; + $destinationObject = 'combined-files.txt'; + $this->connection->composeObject([ + 'destinationBucket' => self::BUCKET_NAME, + 'destinationObject' => $destinationObject, + 'destinationPredefinedAcl' => $acl, + 'destination' => ['contentType' => 'text/plain'], + 'sourceObjects' => [['name' => 'file1.txt'], ['name' => 'file2.txt']], + 'deleteSourceObjects' => true, + ]) + ->willReturn([ + 'name' => $destinationObject, + 'generation' => 1 + ]) + ->shouldBeCalledTimes(1); + + $bucket = $this->getBucket(); + + $object = $bucket->compose(['file1.txt', 'file2.txt'], $destinationObject, [ + 'predefinedAcl' => $acl, + 'deleteSourceObjects' => true + ]); + + $this->assertEquals($destinationObject, $object->name()); + } + + public function testComposeWithDeleteSourceObjectsFalse() + { + $acl = 'private'; + $destinationObject = 'combined-files.txt'; + $this->connection->composeObject([ + 'destinationBucket' => self::BUCKET_NAME, + 'destinationObject' => $destinationObject, + 'destinationPredefinedAcl' => $acl, + 'destination' => ['contentType' => 'text/plain'], + 'sourceObjects' => [['name' => 'file1.txt'], ['name' => 'file2.txt']], + ]) + ->willReturn([ + 'name' => $destinationObject, + 'generation' => 1 + ]) + ->shouldBeCalledTimes(1); + $bucket = $this->getBucket(); + + $object = $bucket->compose(['file1.txt', 'file2.txt'], $destinationObject, [ + 'predefinedAcl' => $acl, + 'deleteSourceObjects' => false + ]); + + $this->assertEquals($destinationObject, $object->name()); + } + + public function testComposeWithDeleteSourceObjectsNull() + { + $acl = 'private'; + $destinationObject = 'combined-files.txt'; + $this->connection->composeObject([ + 'destinationBucket' => self::BUCKET_NAME, + 'destinationObject' => $destinationObject, + 'destinationPredefinedAcl' => $acl, + 'destination' => ['contentType' => 'text/plain'], + 'sourceObjects' => [['name' => 'file1.txt'], ['name' => 'file2.txt']], + ]) + ->willReturn([ + 'name' => $destinationObject, + 'generation' => 1 + ]) + ->shouldBeCalledTimes(1); + $bucket = $this->getBucket(); + + $object = $bucket->compose(['file1.txt', 'file2.txt'], $destinationObject, [ + 'predefinedAcl' => $acl, + 'deleteSourceObjects' => null + ]); + + $this->assertEquals($destinationObject, $object->name()); + } + public function composeProvider() { $object1 = $this->prophesize(StorageObject::class); diff --git a/Storage/tests/Unit/StorageObjectTest.php b/Storage/tests/Unit/StorageObjectTest.php index b6eec4336f2d..3595fe3ef83b 100644 --- a/Storage/tests/Unit/StorageObjectTest.php +++ b/Storage/tests/Unit/StorageObjectTest.php @@ -82,7 +82,7 @@ public function testGetAcl() public function testDoesExistTrue() { - $this->connection->getObject(Argument::any())->willReturn(['name' => self::OBJECT]); + $this->connection->headObject(Argument::any())->willReturn([]); $object = new StorageObject($this->connection->reveal(), self::OBJECT, self::BUCKET); $this->assertTrue($object->exists()); @@ -90,7 +90,7 @@ public function testDoesExistTrue() public function testDoesExistFalse() { - $this->connection->getObject(Argument::any())->willThrow(new NotFoundException(null)); + $this->connection->headObject(Argument::any())->willThrow(new NotFoundException(null)); $object = new StorageObject($this->connection->reveal(), self::OBJECT, self::BUCKET); $this->assertFalse($object->exists()); diff --git a/StorageControl/metadata/V2/StorageControl.php b/StorageControl/metadata/V2/StorageControl.php index 93fc3e37a005..67592ef0b934 100644 --- a/StorageControl/metadata/V2/StorageControl.php +++ b/StorageControl/metadata/V2/StorageControl.php @@ -27,8 +27,10 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\GPBEmpty::initOnce(); \GPBMetadata\Google\Protobuf\FieldMask::initOnce(); \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); + \GPBMetadata\Google\Rpc\Status::initOnce(); + \GPBMetadata\Google\Type\Interval::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xFB}\x0A/google/storage/control/v2/storage_control.proto\x12\x19google.storage.control.v2\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x1Bgoogle/api/field_info.proto\x1A\x19google/api/resource.proto\x1A\x18google/api/routing.proto\x1A\x1Egoogle/iam/v1/iam_policy.proto\x1A\x1Agoogle/iam/v1/policy.proto\x1A#google/longrunning/operations.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"+\x0A\x11PendingRenameInfo\x12\x16\x0A\x09operation\x18\x01 \x01(\x09B\x03\xE0A\x03\"\xE2\x02\x0A\x06Folder\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1B\x0A\x0Emetageneration\x18\x03 \x01(\x03B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12N\x0A\x13pending_rename_info\x18\x07 \x01(\x0B2,.google.storage.control.v2.PendingRenameInfoB\x03\xE0A\x03:l\xEAAi\x0A\x1Dstorage.googleapis.com/Folder\x127projects/{project}/buckets/{bucket}/folders/{folder=**}*\x07folders2\x06folder\"\xF4\x01\x0A\x10GetFolderRequest\x123\x0A\x04name\x18\x06 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\xD5\x01\x0A\x13CreateFolderRequest\x125\x0A\x06parent\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x12\x1Dstorage.googleapis.com/Folder\x126\x0A\x06folder\x18\x02 \x01(\x0B2!.google.storage.control.v2.FolderB\x03\xE0A\x02\x12\x16\x0A\x09folder_id\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x16\x0A\x09recursive\x18\x04 \x01(\x08B\x03\xE0A\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xF7\x01\x0A\x13DeleteFolderRequest\x123\x0A\x04name\x18\x06 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\x8C\x02\x0A\x12ListFoldersRequest\x125\x0A\x06parent\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x12\x1Dstorage.googleapis.com/Folder\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06prefix\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09delimiter\x18\x08 \x01(\x09B\x03\xE0A\x01\x12 \x0A\x13lexicographic_start\x18\x06 \x01(\x09B\x03\xE0A\x01\x12\x1E\x0A\x11lexicographic_end\x18\x07 \x01(\x09B\x03\xE0A\x01\x12\x1F\x0A\x0Arequest_id\x18\x09 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"b\x0A\x13ListFoldersResponse\x122\x0A\x07folders\x18\x01 \x03(\x0B2!.google.storage.control.v2.Folder\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x9B\x02\x0A\x13RenameFolderRequest\x123\x0A\x04name\x18\x07 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12\"\x0A\x15destination_folder_id\x18\x08 \x01(\x09B\x03\xE0A\x02\x12\$\x0A\x17if_metageneration_match\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x05 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x06 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\x8A\x02\x0A\x1CDeleteFolderRecursiveRequest\x123\x0A\x04name\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12)\x0A\x17if_metageneration_match\x18\x02 \x01(\x03B\x03\xE0A\x01H\x00\x88\x01\x01\x12-\x0A\x1Bif_metageneration_not_match\x18\x03 \x01(\x03B\x03\xE0A\x01H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\x9A\x02\x0A\"CommonLongRunningOperationMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x11\x0A\x04type\x18\x04 \x01(\x09B\x03\xE0A\x03\x12#\x0A\x16requested_cancellation\x18\x05 \x01(\x08B\x03\xE0A\x03\x12\x1D\x0A\x10progress_percent\x18\x06 \x01(\x05B\x03\xE0A\x03\"\xA7\x01\x0A\x14RenameFolderMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x18\x0A\x10source_folder_id\x18\x02 \x01(\x09\x12\x1D\x0A\x15destination_folder_id\x18\x03 \x01(\x09\"\x8A\x01\x0A\x1DDeleteFolderRecursiveMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x11\x0A\x09folder_id\x18\x02 \x01(\x09\"\xF8\x03\x0A\x0DStorageLayout\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x15\x0A\x08location\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x1A\x0A\x0Dlocation_type\x18\x03 \x01(\x09B\x03\xE0A\x03\x12d\x0A\x17custom_placement_config\x18\x04 \x01(\x0B2>.google.storage.control.v2.StorageLayout.CustomPlacementConfigB\x03\xE0A\x03\x12c\x0A\x16hierarchical_namespace\x18\x05 \x01(\x0B2>.google.storage.control.v2.StorageLayout.HierarchicalNamespaceB\x03\xE0A\x03\x1A/\x0A\x15CustomPlacementConfig\x12\x16\x0A\x0Edata_locations\x18\x01 \x03(\x09\x1A(\x0A\x15HierarchicalNamespace\x12\x0F\x0A\x07enabled\x18\x01 \x01(\x08:{\xEAAx\x0A\$storage.googleapis.com/StorageLayout\x121projects/{project}/buckets/{bucket}/storageLayout*\x0EstorageLayouts2\x0DstorageLayout\"\x86\x01\x0A\x17GetStorageLayoutRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/StorageLayout\x12\x0E\x0A\x06prefix\x18\x02 \x01(\x09\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xBF\x02\x0A\x0DManagedFolder\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1B\x0A\x0Emetageneration\x18\x03 \x01(\x03B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03:\x91\x01\xEAA\x8D\x01\x0A\$storage.googleapis.com/ManagedFolder\x12Fprojects/{project}/buckets/{bucket}/managedFolders/{managed_folder=**}*\x0EmanagedFolders2\x0DmanagedFolder\"\x82\x02\x0A\x17GetManagedFolderRequest\x12:\x0A\x04name\x18\x06 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/ManagedFolder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\xE2\x01\x0A\x1ACreateManagedFolderRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/ManagedFolder\x12E\x0A\x0Emanaged_folder\x18\x02 \x01(\x0B2(.google.storage.control.v2.ManagedFolderB\x03\xE0A\x02\x12\x1E\x0A\x11managed_folder_id\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\x9E\x02\x0A\x1ADeleteManagedFolderRequest\x12:\x0A\x04name\x18\x07 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/ManagedFolder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x17\x0A\x0Fallow_non_empty\x18\x05 \x01(\x08\x12\x1F\x0A\x0Arequest_id\x18\x06 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\xC0\x01\x0A\x19ListManagedFoldersRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/ManagedFolder\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06prefix\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"x\x0A\x1AListManagedFoldersResponse\x12A\x0A\x0Fmanaged_folders\x18\x01 \x03(\x0B2(.google.storage.control.v2.ManagedFolder\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xB0\x02\x0A\x1BCreateAnywhereCacheMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1E\x0A\x11anywhere_cache_id\x18\x02 \x01(\x09H\x00\x88\x01\x01\x12\x11\x0A\x04zone\x18\x06 \x01(\x09H\x01\x88\x01\x01\x12+\x0A\x03ttl\x18\x03 \x01(\x0B2\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\x1D\x0A\x10admission_policy\x18\x05 \x01(\x09H\x03\x88\x01\x01B\x14\x0A\x12_anywhere_cache_idB\x07\x0A\x05_zoneB\x06\x0A\x04_ttlB\x13\x0A\x11_admission_policy\"\xB0\x02\x0A\x1BUpdateAnywhereCacheMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1E\x0A\x11anywhere_cache_id\x18\x02 \x01(\x09H\x00\x88\x01\x01\x12\x11\x0A\x04zone\x18\x05 \x01(\x09H\x01\x88\x01\x01\x12+\x0A\x03ttl\x18\x03 \x01(\x0B2\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\x1D\x0A\x10admission_policy\x18\x04 \x01(\x09H\x03\x88\x01\x01B\x14\x0A\x12_anywhere_cache_idB\x07\x0A\x05_zoneB\x06\x0A\x04_ttlB\x13\x0A\x11_admission_policy\"\xA5\x03\x0A\x0DAnywhereCache\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x05\x12\x11\x0A\x04zone\x18\x0A \x01(\x09B\x03\xE0A\x05\x12&\x0A\x03ttl\x18\x03 \x01(\x0B2\x19.google.protobuf.Duration\x12\x18\x0A\x10admission_policy\x18\x09 \x01(\x09\x12\x12\x0A\x05state\x18\x05 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1B\x0A\x0Epending_update\x18\x08 \x01(\x08B\x03\xE0A\x03:\x8E\x01\xEAA\x8A\x01\x0A\$storage.googleapis.com/AnywhereCache\x12Cprojects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}*\x0EanywhereCaches2\x0DanywhereCache\"\xC2\x01\x0A\x1ACreateAnywhereCacheRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/AnywhereCache\x12E\x0A\x0Eanywhere_cache\x18\x03 \x01(\x0B2(.google.storage.control.v2.AnywhereCacheB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xBA\x01\x0A\x1AUpdateAnywhereCacheRequest\x12E\x0A\x0Eanywhere_cache\x18\x01 \x01(\x0B2(.google.storage.control.v2.AnywhereCacheB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"z\x0A\x1BDisableAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"x\x0A\x19PauseAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"y\x0A\x1AResumeAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"v\x0A\x17GetAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xA1\x01\x0A\x19ListAnywhereCachesRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/AnywhereCache\x12\x11\x0A\x09page_size\x18\x02 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"x\x0A\x1AListAnywhereCachesResponse\x12A\x0A\x0Fanywhere_caches\x18\x01 \x03(\x0B2(.google.storage.control.v2.AnywhereCache\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x8E\x0E\x0A\x12IntelligenceConfig\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12X\x0A\x0Eedition_config\x18\x02 \x01(\x0E2;.google.storage.control.v2.IntelligenceConfig.EditionConfigB\x03\xE0A\x01\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12I\x0A\x06filter\x18\x04 \x01(\x0B24.google.storage.control.v2.IntelligenceConfig.FilterB\x03\xE0A\x01\x12u\x0A\x1Deffective_intelligence_config\x18\x05 \x01(\x0B2I.google.storage.control.v2.IntelligenceConfig.EffectiveIntelligenceConfigB\x03\xE0A\x03\x12O\x0A\x0Ctrial_config\x18\x07 \x01(\x0B29.google.storage.control.v2.IntelligenceConfig.TrialConfig\x1A\xFC\x04\x0A\x06Filter\x12v\x0A included_cloud_storage_locations\x18\x01 \x01(\x0B2J.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageLocationsH\x00\x12v\x0A excluded_cloud_storage_locations\x18\x02 \x01(\x0B2J.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageLocationsH\x00\x12r\x0A\x1Eincluded_cloud_storage_buckets\x18\x03 \x01(\x0B2H.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageBucketsH\x01\x12r\x0A\x1Eexcluded_cloud_storage_buckets\x18\x04 \x01(\x0B2H.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageBucketsH\x01\x1A/\x0A\x15CloudStorageLocations\x12\x16\x0A\x09locations\x18\x01 \x03(\x09B\x03\xE0A\x01\x1A5\x0A\x13CloudStorageBuckets\x12\x1E\x0A\x11bucket_id_regexes\x18\x01 \x03(\x09B\x03\xE0A\x01B\x19\x0A\x17cloud_storage_locationsB\x17\x0A\x15cloud_storage_buckets\x1A\x8A\x02\x0A\x1BEffectiveIntelligenceConfig\x12z\x0A\x11effective_edition\x18\x01 \x01(\x0E2Z.google.storage.control.v2.IntelligenceConfig.EffectiveIntelligenceConfig.EffectiveEditionB\x03\xE0A\x03\x12 \x0A\x13intelligence_config\x18\x02 \x01(\x09B\x03\xE0A\x03\"M\x0A\x10EffectiveEdition\x12!\x0A\x1DEFFECTIVE_EDITION_UNSPECIFIED\x10\x00\x12\x08\x0A\x04NONE\x10\x01\x12\x0C\x0A\x08STANDARD\x10\x02\x1AC\x0A\x0BTrialConfig\x124\x0A\x0Bexpire_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\"c\x0A\x0DEditionConfig\x12\x1E\x0A\x1AEDITION_CONFIG_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07INHERIT\x10\x01\x12\x0C\x0A\x08DISABLED\x10\x02\x12\x0C\x0A\x08STANDARD\x10\x03\x12\x09\x0A\x05TRIAL\x10\x05:\x8B\x02\xEAA\x87\x02\x0A)storage.googleapis.com/IntelligenceConfig\x128folders/{folder}/locations/{location}/intelligenceConfig\x12;organizations/{org}/locations/{location}/intelligenceConfig\x12:projects/{project}/locations/{location}/intelligenceConfig*\x13intelligenceConfigs2\x12intelligenceConfig\"\xD5\x01\x0A+UpdateOrganizationIntelligenceConfigRequest\x12O\x0A\x13intelligence_config\x18\x01 \x01(\x0B2-.google.storage.control.v2.IntelligenceConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xCF\x01\x0A%UpdateFolderIntelligenceConfigRequest\x12O\x0A\x13intelligence_config\x18\x01 \x01(\x0B2-.google.storage.control.v2.IntelligenceConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xD0\x01\x0A&UpdateProjectIntelligenceConfigRequest\x12O\x0A\x13intelligence_config\x18\x01 \x01(\x0B2-.google.storage.control.v2.IntelligenceConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"k\x0A(GetOrganizationIntelligenceConfigRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)storage.googleapis.com/IntelligenceConfig\"e\x0A\"GetFolderIntelligenceConfigRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)storage.googleapis.com/IntelligenceConfig\"f\x0A#GetProjectIntelligenceConfigRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)storage.googleapis.com/IntelligenceConfig2\xD2,\x0A\x0EStorageControl\x12\x9A\x01\x0A\x0CCreateFolder\x12..google.storage.control.v2.CreateFolderRequest\x1A!.google.storage.control.v2.Folder\"7\xDAA\x17parent,folder,folder_id\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\x8F\x01\x0A\x0CDeleteFolder\x12..google.storage.control.v2.DeleteFolderRequest\x1A\x16.google.protobuf.Empty\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\x94\x01\x0A\x09GetFolder\x12+.google.storage.control.v2.GetFolderRequest\x1A!.google.storage.control.v2.Folder\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\x94\x01\x0A\x0BListFolders\x12-.google.storage.control.v2.ListFoldersRequest\x1A..google.storage.control.v2.ListFoldersResponse\"&\xDAA\x06parent\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xCD\x01\x0A\x0CRenameFolder\x12..google.storage.control.v2.RenameFolderRequest\x1A\x1D.google.longrunning.Operation\"n\xCAA\x1E\x0A\x06Folder\x12\x14RenameFolderMetadata\xDAA\x1Aname,destination_folder_id\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xE1\x01\x0A\x15DeleteFolderRecursive\x127.google.storage.control.v2.DeleteFolderRecursiveRequest\x1A\x1D.google.longrunning.Operation\"p\xCAA6\x0A\x15google.protobuf.Empty\x12\x1DDeleteFolderRecursiveMetadata\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x10GetStorageLayout\x122.google.storage.control.v2.GetStorageLayoutRequest\x1A(.google.storage.control.v2.StorageLayout\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xBF\x01\x0A\x13CreateManagedFolder\x125.google.storage.control.v2.CreateManagedFolderRequest\x1A(.google.storage.control.v2.ManagedFolder\"G\xDAA'parent,managed_folder,managed_folder_id\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\x9D\x01\x0A\x13DeleteManagedFolder\x125.google.storage.control.v2.DeleteManagedFolderRequest\x1A\x16.google.protobuf.Empty\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x10GetManagedFolder\x122.google.storage.control.v2.GetManagedFolderRequest\x1A(.google.storage.control.v2.ManagedFolder\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x12ListManagedFolders\x124.google.storage.control.v2.ListManagedFoldersRequest\x1A5.google.storage.control.v2.ListManagedFoldersResponse\"&\xDAA\x06parent\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xD1\x01\x0A\x13CreateAnywhereCache\x125.google.storage.control.v2.CreateAnywhereCacheRequest\x1A\x1D.google.longrunning.Operation\"d\xCAA,\x0A\x0DAnywhereCache\x12\x1BCreateAnywhereCacheMetadata\xDAA\x15parent,anywhere_cache\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xF9\x01\x0A\x13UpdateAnywhereCache\x125.google.storage.control.v2.UpdateAnywhereCacheRequest\x1A\x1D.google.longrunning.Operation\"\x8B\x01\xCAA,\x0A\x0DAnywhereCache\x12\x1BUpdateAnywhereCacheMetadata\xDAA\x1Aanywhere_cache,update_mask\x8A\xD3\xE4\x93\x029\x127\x0A\x13anywhere_cache.name\x12 {bucket=projects/*/buckets/*}/**\x12\xB1\x01\x0A\x14DisableAnywhereCache\x126.google.storage.control.v2.DisableAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xAD\x01\x0A\x12PauseAnywhereCache\x124.google.storage.control.v2.PauseAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xAF\x01\x0A\x13ResumeAnywhereCache\x125.google.storage.control.v2.ResumeAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x10GetAnywhereCache\x122.google.storage.control.v2.GetAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x12ListAnywhereCaches\x124.google.storage.control.v2.ListAnywhereCachesRequest\x1A5.google.storage.control.v2.ListAnywhereCachesResponse\"&\xDAA\x06parent\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xD2\x01\x0A\x1CGetProjectIntelligenceConfig\x12>.google.storage.control.v2.GetProjectIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"C\xDAA\x04name\x82\xD3\xE4\x93\x026\x124/v2/{name=projects/*/locations/*/intelligenceConfig}\x12\x9D\x02\x0A\x1FUpdateProjectIntelligenceConfig\x12A.google.storage.control.v2.UpdateProjectIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"\x87\x01\xDAA\x1Fintelligence_config,update_mask\x82\xD3\xE4\x93\x02_2H/v2/{intelligence_config.name=projects/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xCF\x01\x0A\x1BGetFolderIntelligenceConfig\x12=.google.storage.control.v2.GetFolderIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"B\xDAA\x04name\x82\xD3\xE4\x93\x025\x123/v2/{name=folders/*/locations/*/intelligenceConfig}\x12\x9A\x02\x0A\x1EUpdateFolderIntelligenceConfig\x12@.google.storage.control.v2.UpdateFolderIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"\x86\x01\xDAA\x1Fintelligence_config,update_mask\x82\xD3\xE4\x93\x02^2G/v2/{intelligence_config.name=folders/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xE1\x01\x0A!GetOrganizationIntelligenceConfig\x12C.google.storage.control.v2.GetOrganizationIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"H\xDAA\x04name\x82\xD3\xE4\x93\x02;\x129/v2/{name=organizations/*/locations/*/intelligenceConfig}\x12\xAC\x02\x0A\$UpdateOrganizationIntelligenceConfig\x12F.google.storage.control.v2.UpdateOrganizationIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"\x8C\x01\xDAA\x1Fintelligence_config,update_mask\x82\xD3\xE4\x93\x02d2M/v2/{intelligence_config.name=organizations/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xA3\x01\x0A\x0CGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1A\x15.google.iam.v1.Policy\"X\xDAA\x08resource\x8A\xD3\xE4\x93\x02G\x12\x17\x0A\x08resource\x12\x0B{bucket=**}\x12,\x0A\x08resource\x12 {bucket=projects/*/buckets/*}/**\x12\xAA\x01\x0A\x0CSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1A\x15.google.iam.v1.Policy\"_\xDAA\x0Fresource,policy\x8A\xD3\xE4\x93\x02G\x12\x17\x0A\x08resource\x12\x0B{bucket=**}\x12,\x0A\x08resource\x12 {bucket=projects/*/buckets/*}/**\x12\x96\x02\x0A\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1A).google.iam.v1.TestIamPermissionsResponse\"\xAA\x01\xDAA\x14resource,permissions\x8A\xD3\xE4\x93\x02\x8C\x01\x12\x17\x0A\x08resource\x12\x0B{bucket=**}\x124\x0A\x08resource\x12({bucket=projects/*/buckets/*}/objects/**\x12;\x0A\x08resource\x12/{bucket=projects/*/buckets/*}/managedFolders/**\x1A\xA7\x02\xCAA\x16storage.googleapis.com\xD2A\x8A\x02https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/devstorage.full_control,https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/devstorage.read_writeB\xA6\x02\x0A\x1Dcom.google.storage.control.v2B\x13StorageControlProtoP\x01Z=cloud.google.com/go/storage/control/apiv2/controlpb;controlpb\xAA\x02\x1FGoogle.Cloud.Storage.Control.V2\xCA\x02\x1FGoogle\\Cloud\\Storage\\Control\\V2\xEA\x02#Google::Cloud::Storage::Control::V2\xEAAD\x0A\x1Dstorage.googleapis.com/Bucket\x12#projects/{project}/buckets/{bucket}b\x06proto3" + "\x0A\xDB\xBF\x01\x0A/google/storage/control/v2/storage_control.proto\x12\x19google.storage.control.v2\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x1Bgoogle/api/field_info.proto\x1A\x19google/api/resource.proto\x1A\x18google/api/routing.proto\x1A\x1Egoogle/iam/v1/iam_policy.proto\x1A\x1Agoogle/iam/v1/policy.proto\x1A#google/longrunning/operations.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x17google/rpc/status.proto\x1A\x1Agoogle/type/interval.proto\"+\x0A\x11PendingRenameInfo\x12\x16\x0A\x09operation\x18\x01 \x01(\x09B\x03\xE0A\x03\"\xE2\x02\x0A\x06Folder\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1B\x0A\x0Emetageneration\x18\x03 \x01(\x03B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12N\x0A\x13pending_rename_info\x18\x07 \x01(\x0B2,.google.storage.control.v2.PendingRenameInfoB\x03\xE0A\x03:l\xEAAi\x0A\x1Dstorage.googleapis.com/Folder\x127projects/{project}/buckets/{bucket}/folders/{folder=**}*\x07folders2\x06folder\"\xF4\x01\x0A\x10GetFolderRequest\x123\x0A\x04name\x18\x06 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\xD5\x01\x0A\x13CreateFolderRequest\x125\x0A\x06parent\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x12\x1Dstorage.googleapis.com/Folder\x126\x0A\x06folder\x18\x02 \x01(\x0B2!.google.storage.control.v2.FolderB\x03\xE0A\x02\x12\x16\x0A\x09folder_id\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x16\x0A\x09recursive\x18\x04 \x01(\x08B\x03\xE0A\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xF7\x01\x0A\x13DeleteFolderRequest\x123\x0A\x04name\x18\x06 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\x8C\x02\x0A\x12ListFoldersRequest\x125\x0A\x06parent\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x12\x1Dstorage.googleapis.com/Folder\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06prefix\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09delimiter\x18\x08 \x01(\x09B\x03\xE0A\x01\x12 \x0A\x13lexicographic_start\x18\x06 \x01(\x09B\x03\xE0A\x01\x12\x1E\x0A\x11lexicographic_end\x18\x07 \x01(\x09B\x03\xE0A\x01\x12\x1F\x0A\x0Arequest_id\x18\x09 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"b\x0A\x13ListFoldersResponse\x122\x0A\x07folders\x18\x01 \x03(\x0B2!.google.storage.control.v2.Folder\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x9B\x02\x0A\x13RenameFolderRequest\x123\x0A\x04name\x18\x07 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12\"\x0A\x15destination_folder_id\x18\x08 \x01(\x09B\x03\xE0A\x02\x12\$\x0A\x17if_metageneration_match\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x05 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x06 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\x8A\x02\x0A\x1CDeleteFolderRecursiveRequest\x123\x0A\x04name\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12)\x0A\x17if_metageneration_match\x18\x02 \x01(\x03B\x03\xE0A\x01H\x00\x88\x01\x01\x12-\x0A\x1Bif_metageneration_not_match\x18\x03 \x01(\x03B\x03\xE0A\x01H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\x9A\x02\x0A\"CommonLongRunningOperationMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x11\x0A\x04type\x18\x04 \x01(\x09B\x03\xE0A\x03\x12#\x0A\x16requested_cancellation\x18\x05 \x01(\x08B\x03\xE0A\x03\x12\x1D\x0A\x10progress_percent\x18\x06 \x01(\x05B\x03\xE0A\x03\"\xA7\x01\x0A\x14RenameFolderMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x18\x0A\x10source_folder_id\x18\x02 \x01(\x09\x12\x1D\x0A\x15destination_folder_id\x18\x03 \x01(\x09\"\x8A\x01\x0A\x1DDeleteFolderRecursiveMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x11\x0A\x09folder_id\x18\x02 \x01(\x09\"\xF8\x03\x0A\x0DStorageLayout\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x15\x0A\x08location\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x1A\x0A\x0Dlocation_type\x18\x03 \x01(\x09B\x03\xE0A\x03\x12d\x0A\x17custom_placement_config\x18\x04 \x01(\x0B2>.google.storage.control.v2.StorageLayout.CustomPlacementConfigB\x03\xE0A\x03\x12c\x0A\x16hierarchical_namespace\x18\x05 \x01(\x0B2>.google.storage.control.v2.StorageLayout.HierarchicalNamespaceB\x03\xE0A\x03\x1A/\x0A\x15CustomPlacementConfig\x12\x16\x0A\x0Edata_locations\x18\x01 \x03(\x09\x1A(\x0A\x15HierarchicalNamespace\x12\x0F\x0A\x07enabled\x18\x01 \x01(\x08:{\xEAAx\x0A\$storage.googleapis.com/StorageLayout\x121projects/{project}/buckets/{bucket}/storageLayout*\x0EstorageLayouts2\x0DstorageLayout\"\x86\x01\x0A\x17GetStorageLayoutRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/StorageLayout\x12\x0E\x0A\x06prefix\x18\x02 \x01(\x09\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xBF\x02\x0A\x0DManagedFolder\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1B\x0A\x0Emetageneration\x18\x03 \x01(\x03B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03:\x91\x01\xEAA\x8D\x01\x0A\$storage.googleapis.com/ManagedFolder\x12Fprojects/{project}/buckets/{bucket}/managedFolders/{managed_folder=**}*\x0EmanagedFolders2\x0DmanagedFolder\"\x82\x02\x0A\x17GetManagedFolderRequest\x12:\x0A\x04name\x18\x06 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/ManagedFolder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\xE2\x01\x0A\x1ACreateManagedFolderRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/ManagedFolder\x12E\x0A\x0Emanaged_folder\x18\x02 \x01(\x0B2(.google.storage.control.v2.ManagedFolderB\x03\xE0A\x02\x12\x1E\x0A\x11managed_folder_id\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\x9E\x02\x0A\x1ADeleteManagedFolderRequest\x12:\x0A\x04name\x18\x07 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/ManagedFolder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x17\x0A\x0Fallow_non_empty\x18\x05 \x01(\x08\x12\x1F\x0A\x0Arequest_id\x18\x06 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\xC0\x01\x0A\x19ListManagedFoldersRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/ManagedFolder\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06prefix\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"x\x0A\x1AListManagedFoldersResponse\x12A\x0A\x0Fmanaged_folders\x18\x01 \x03(\x0B2(.google.storage.control.v2.ManagedFolder\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xB0\x02\x0A\x1BCreateAnywhereCacheMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1E\x0A\x11anywhere_cache_id\x18\x02 \x01(\x09H\x00\x88\x01\x01\x12\x11\x0A\x04zone\x18\x06 \x01(\x09H\x01\x88\x01\x01\x12+\x0A\x03ttl\x18\x03 \x01(\x0B2\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\x1D\x0A\x10admission_policy\x18\x05 \x01(\x09H\x03\x88\x01\x01B\x14\x0A\x12_anywhere_cache_idB\x07\x0A\x05_zoneB\x06\x0A\x04_ttlB\x13\x0A\x11_admission_policy\"\xB0\x02\x0A\x1BUpdateAnywhereCacheMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1E\x0A\x11anywhere_cache_id\x18\x02 \x01(\x09H\x00\x88\x01\x01\x12\x11\x0A\x04zone\x18\x05 \x01(\x09H\x01\x88\x01\x01\x12+\x0A\x03ttl\x18\x03 \x01(\x0B2\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\x1D\x0A\x10admission_policy\x18\x04 \x01(\x09H\x03\x88\x01\x01B\x14\x0A\x12_anywhere_cache_idB\x07\x0A\x05_zoneB\x06\x0A\x04_ttlB\x13\x0A\x11_admission_policy\"\xA5\x03\x0A\x0DAnywhereCache\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x05\x12\x11\x0A\x04zone\x18\x0A \x01(\x09B\x03\xE0A\x05\x12&\x0A\x03ttl\x18\x03 \x01(\x0B2\x19.google.protobuf.Duration\x12\x18\x0A\x10admission_policy\x18\x09 \x01(\x09\x12\x12\x0A\x05state\x18\x05 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1B\x0A\x0Epending_update\x18\x08 \x01(\x08B\x03\xE0A\x03:\x8E\x01\xEAA\x8A\x01\x0A\$storage.googleapis.com/AnywhereCache\x12Cprojects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}*\x0EanywhereCaches2\x0DanywhereCache\"\xC2\x01\x0A\x1ACreateAnywhereCacheRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/AnywhereCache\x12E\x0A\x0Eanywhere_cache\x18\x03 \x01(\x0B2(.google.storage.control.v2.AnywhereCacheB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xBA\x01\x0A\x1AUpdateAnywhereCacheRequest\x12E\x0A\x0Eanywhere_cache\x18\x01 \x01(\x0B2(.google.storage.control.v2.AnywhereCacheB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"z\x0A\x1BDisableAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"x\x0A\x19PauseAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"y\x0A\x1AResumeAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"v\x0A\x17GetAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xA1\x01\x0A\x19ListAnywhereCachesRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/AnywhereCache\x12\x11\x0A\x09page_size\x18\x02 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"x\x0A\x1AListAnywhereCachesResponse\x12A\x0A\x0Fanywhere_caches\x18\x01 \x03(\x0B2(.google.storage.control.v2.AnywhereCache\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x8E\x0E\x0A\x12IntelligenceConfig\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12X\x0A\x0Eedition_config\x18\x02 \x01(\x0E2;.google.storage.control.v2.IntelligenceConfig.EditionConfigB\x03\xE0A\x01\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12I\x0A\x06filter\x18\x04 \x01(\x0B24.google.storage.control.v2.IntelligenceConfig.FilterB\x03\xE0A\x01\x12u\x0A\x1Deffective_intelligence_config\x18\x05 \x01(\x0B2I.google.storage.control.v2.IntelligenceConfig.EffectiveIntelligenceConfigB\x03\xE0A\x03\x12O\x0A\x0Ctrial_config\x18\x07 \x01(\x0B29.google.storage.control.v2.IntelligenceConfig.TrialConfig\x1A\xFC\x04\x0A\x06Filter\x12v\x0A included_cloud_storage_locations\x18\x01 \x01(\x0B2J.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageLocationsH\x00\x12v\x0A excluded_cloud_storage_locations\x18\x02 \x01(\x0B2J.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageLocationsH\x00\x12r\x0A\x1Eincluded_cloud_storage_buckets\x18\x03 \x01(\x0B2H.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageBucketsH\x01\x12r\x0A\x1Eexcluded_cloud_storage_buckets\x18\x04 \x01(\x0B2H.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageBucketsH\x01\x1A/\x0A\x15CloudStorageLocations\x12\x16\x0A\x09locations\x18\x01 \x03(\x09B\x03\xE0A\x01\x1A5\x0A\x13CloudStorageBuckets\x12\x1E\x0A\x11bucket_id_regexes\x18\x01 \x03(\x09B\x03\xE0A\x01B\x19\x0A\x17cloud_storage_locationsB\x17\x0A\x15cloud_storage_buckets\x1A\x8A\x02\x0A\x1BEffectiveIntelligenceConfig\x12z\x0A\x11effective_edition\x18\x01 \x01(\x0E2Z.google.storage.control.v2.IntelligenceConfig.EffectiveIntelligenceConfig.EffectiveEditionB\x03\xE0A\x03\x12 \x0A\x13intelligence_config\x18\x02 \x01(\x09B\x03\xE0A\x03\"M\x0A\x10EffectiveEdition\x12!\x0A\x1DEFFECTIVE_EDITION_UNSPECIFIED\x10\x00\x12\x08\x0A\x04NONE\x10\x01\x12\x0C\x0A\x08STANDARD\x10\x02\x1AC\x0A\x0BTrialConfig\x124\x0A\x0Bexpire_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\"c\x0A\x0DEditionConfig\x12\x1E\x0A\x1AEDITION_CONFIG_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07INHERIT\x10\x01\x12\x0C\x0A\x08DISABLED\x10\x02\x12\x0C\x0A\x08STANDARD\x10\x03\x12\x09\x0A\x05TRIAL\x10\x05:\x8B\x02\xEAA\x87\x02\x0A)storage.googleapis.com/IntelligenceConfig\x128folders/{folder}/locations/{location}/intelligenceConfig\x12;organizations/{org}/locations/{location}/intelligenceConfig\x12:projects/{project}/locations/{location}/intelligenceConfig*\x13intelligenceConfigs2\x12intelligenceConfig\"\xD5\x01\x0A+UpdateOrganizationIntelligenceConfigRequest\x12O\x0A\x13intelligence_config\x18\x01 \x01(\x0B2-.google.storage.control.v2.IntelligenceConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xCF\x01\x0A%UpdateFolderIntelligenceConfigRequest\x12O\x0A\x13intelligence_config\x18\x01 \x01(\x0B2-.google.storage.control.v2.IntelligenceConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xD0\x01\x0A&UpdateProjectIntelligenceConfigRequest\x12O\x0A\x13intelligence_config\x18\x01 \x01(\x0B2-.google.storage.control.v2.IntelligenceConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"k\x0A(GetOrganizationIntelligenceConfigRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)storage.googleapis.com/IntelligenceConfig\"e\x0A\"GetFolderIntelligenceConfigRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)storage.googleapis.com/IntelligenceConfig\"f\x0A#GetProjectIntelligenceConfigRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)storage.googleapis.com/IntelligenceConfig\"\xBE \x0A\x13IntelligenceFinding\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x18\x0A\x0Bdescription\x18\x02 \x01(\x09B\x03\xE0A\x03\x129\x0A\x04type\x18\x03 \x01(\x0E2&.google.storage.control.v2.FindingTypeB\x03\xE0A\x03\x12A\x0A\x08category\x18\x04 \x01(\x0E2*.google.storage.control.v2.FindingCategoryB\x03\xE0A\x03\x12A\x0A\x08severity\x18\x05 \x01(\x0E2*.google.storage.control.v2.FindingSeverityB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1C\x0A\x0Ftarget_resource\x18\x08 \x01(\x09B\x03\xE0A\x03\x12!\x0A\x14associated_resources\x18\x09 \x03(\x09B\x03\xE0A\x03\x126\x0A\x12observation_period\x18\x0A \x01(\x0B2\x15.google.type.IntervalB\x03\xE0A\x03\x12\x97\x01\x0A.coldline_and_archival_storage_operations_spike\x18\x0B \x01(\x0B2X.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpikeB\x03\xE0A\x03H\x00\x12m\x0A\x18throttled_requests_spike\x18\x0C \x01(\x0B2D.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpikeB\x03\xE0A\x03H\x00\x12o\x0A\x19cross_region_egress_spike\x18\x0D \x01(\x0B2E.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpikeB\x03\xE0A\x03H\x00\x12q\x0A\x1Astorage_growth_above_trend\x18\x0E \x01(\x0B2F.google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrendB\x03\xE0A\x03H\x00\x1A\x89\x07\x0A)ColdlineAndArchivalStorageOperationsSpike\x12 \x0A\x13percentage_increase\x18\x01 \x01(\x01B\x03\xE0A\x03\x12#\x0A\x16total_operations_count\x18\x02 \x01(\x03B\x03\xE0A\x03\x12\x85\x01\x0A\x0Btop_buckets\x18\x03 \x03(\x0B2k.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContributionB\x03\xE0A\x03\x1A\x8C\x05\x0A\x12BucketContribution\x125\x0A\x06bucket\x18\x01 \x01(\x09B%\xE0A\x03\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Bucket\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12#\x0A\x16total_operations_count\x18\x03 \x01(\x03B\x03\xE0A\x03\x12\x95\x01\x0A\x0Ccontribution\x18\x04 \x01(\x0B2x.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.ContributionB\x03\xE0A\x03H\x00\x12(\x0A\x05error\x18\x05 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03H\x00\x1A\xAA\x02\x0A\x0CContribution\x12\xA7\x01\x0A\x0Ctop_prefixes\x18\x01 \x03(\x0B2\x8B\x01.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.Contribution.PrefixContributionB\x03\xE0A\x03\x1Ap\x0A\x12PrefixContribution\x12\x13\x0A\x06prefix\x18\x01 \x01(\x09B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12#\x0A\x16total_operations_count\x18\x03 \x01(\x03B\x03\xE0A\x03B\x09\x0A\x07details\x1A\xAF\x06\x0A\x16CrossRegionEgressSpike\x12\x1F\x0A\x12total_egress_bytes\x18\x01 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12r\x0A\x0Btop_buckets\x18\x03 \x03(\x0B2X.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContributionB\x03\xE0A\x03\x1A\xDD\x04\x0A\x12BucketContribution\x125\x0A\x06bucket\x18\x01 \x01(\x09B%\xE0A\x03\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Bucket\x12\x1F\x0A\x12total_egress_bytes\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03\x12\x82\x01\x0A\x0Ccontribution\x18\x04 \x01(\x0B2e.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.ContributionB\x03\xE0A\x03H\x00\x12(\x0A\x05error\x18\x05 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03H\x00\x1A\x92\x02\x0A\x0CContribution\x12\x93\x01\x0A\x0Ctop_prefixes\x18\x01 \x03(\x0B2x.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.Contribution.PrefixContributionB\x03\xE0A\x03\x1Al\x0A\x12PrefixContribution\x12\x13\x0A\x06prefix\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x1F\x0A\x12total_egress_bytes\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03B\x09\x0A\x07details\x1A\xAB\x06\x0A\x15ThrottledRequestSpike\x12\x1F\x0A\x12throttled_requests\x18\x01 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12q\x0A\x0Btop_buckets\x18\x03 \x03(\x0B2W.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContributionB\x03\xE0A\x03\x1A\xDB\x04\x0A\x12BucketContribution\x125\x0A\x06bucket\x18\x01 \x01(\x09B%\xE0A\x03\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Bucket\x12\x1F\x0A\x12throttled_requests\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03\x12\x81\x01\x0A\x0Ccontribution\x18\x04 \x01(\x0B2d.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.ContributionB\x03\xE0A\x03H\x00\x12(\x0A\x05error\x18\x05 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03H\x00\x1A\x91\x02\x0A\x0CContribution\x12\x92\x01\x0A\x0Ctop_prefixes\x18\x01 \x03(\x0B2w.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.Contribution.PrefixContributionB\x03\xE0A\x03\x1Al\x0A\x12PrefixContribution\x12\x13\x0A\x06prefix\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x1F\x0A\x12throttled_requests\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03B\x09\x0A\x07details\x1A\xA7\x03\x0A\x17StorageGrowthAboveTrend\x12'\x0A\x1Atotal_storage_growth_bytes\x18\x01 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12s\x0A\x0Btop_buckets\x18\x03 \x03(\x0B2Y.google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrend.BucketContributionB\x03\xE0A\x03\x1A\xCB\x01\x0A\x12BucketContribution\x125\x0A\x06bucket\x18\x01 \x01(\x09B%\xE0A\x03\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Bucket\x12'\x0A\x1Atotal_storage_growth_bytes\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03\x12(\x0A\x05error\x18\x05 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03H\x00B\x09\x0A\x07details:\xB0\x01\xEAA\xAC\x01\x0A*storage.googleapis.com/IntelligenceFinding\x12Sprojects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}*\x14intelligenceFindings2\x13intelligenceFindingB\x1E\x0A\x1Cintelligence_finding_details\"\x8D\x03\x0A\x1BIntelligenceFindingRevision\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12E\x0A\x08snapshot\x18\x02 \x01(\x0B2..google.storage.control.v2.IntelligenceFindingB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03:\xDD\x01\xEAA\xD9\x01\x0A2storage.googleapis.com/IntelligenceFindingRevision\x12hprojects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}*\x1CintelligenceFindingRevisions2\x1BintelligenceFindingRevision\"a\x0A\x1DGetIntelligenceFindingRequest\x12@\x0A\x04name\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*storage.googleapis.com/IntelligenceFinding\"\xAB\x01\x0A\x1FListIntelligenceFindingsRequest\x12B\x0A\x06parent\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x12*storage.googleapis.com/IntelligenceFinding\x12\x13\x0A\x06filter\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x03 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x04 \x01(\x09B\x03\xE0A\x01\"\x8A\x01\x0A ListIntelligenceFindingsResponse\x12M\x0A\x15intelligence_findings\x18\x01 \x03(\x0B2..google.storage.control.v2.IntelligenceFinding\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xB7\x02\x0A\$SummarizeIntelligenceFindingsRequest\x12\x13\x0A\x06parent\x18\x01 \x01(\x09B\x03\xE0A\x02\x12j\x0A\x0Eresource_scope\x18\x02 \x01(\x0E2M.google.storage.control.v2.SummarizeIntelligenceFindingsRequest.ResourceScopeB\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x04 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x05 \x01(\x09B\x03\xE0A\x01\"H\x0A\x0DResourceScope\x12\x1E\x0A\x1ARESOURCE_SCOPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06PARENT\x10\x01\x12\x0B\x0A\x07PROJECT\x10\x02\"\x86\x01\x0A%SummarizeIntelligenceFindingsResponse\x12D\x0A\x11finding_summaries\x18\x01 \x03(\x0B2).google.storage.control.v2.FindingSummary\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"q\x0A%GetIntelligenceFindingRevisionRequest\x12H\x0A\x04name\x18\x01 \x01(\x09B:\xE0A\x02\xFAA4\x0A2storage.googleapis.com/IntelligenceFindingRevision\"\xA6\x01\x0A'ListIntelligenceFindingRevisionsRequest\x12J\x0A\x06parent\x18\x01 \x01(\x09B:\xE0A\x02\xFAA4\x122storage.googleapis.com/IntelligenceFindingRevision\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"\xA3\x01\x0A(ListIntelligenceFindingRevisionsResponse\x12^\x0A\x1Eintelligence_finding_revisions\x18\x01 \x03(\x0B26.google.storage.control.v2.IntelligenceFindingRevision\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xBF\x05\x0A\x0EFindingSummary\x129\x0A\x04type\x18\x01 \x01(\x0E2&.google.storage.control.v2.FindingTypeB\x03\xE0A\x03\x12A\x0A\x08category\x18\x02 \x01(\x0E2*.google.storage.control.v2.FindingCategoryB\x03\xE0A\x03\x12\x1C\x0A\x0Ftarget_resource\x18\x04 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12A\x0A\x08severity\x18\x07 \x01(\x0E2*.google.storage.control.v2.FindingSeverityB\x03\xE0A\x03\x12V\x0A\x0Fsummary_details\x18\x08 \x03(\x0B28.google.storage.control.v2.FindingSummary.SummaryDetailsB\x03\xE0A\x03\x1A\x89\x02\x0A\x0ESummaryDetails\x12\x0F\x0A\x05count\x18\x01 \x01(\x03H\x00\x12\x14\x0A\x0Apercentage\x18\x02 \x01(\x02H\x00\x12a\x0A\x0Dresource_type\x18\x03 \x01(\x0E2E.google.storage.control.v2.FindingSummary.SummaryDetails.ResourceTypeB\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x04 \x01(\x09B\x03\xE0A\x03\"F\x0A\x0CResourceType\x12\x1D\x0A\x19RESOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PROJECT\x10\x01\x12\x0A\x0A\x06BUCKET\x10\x02B\x0B\x0A\x09magnitude*\xEF\x01\x0A\x0BFindingType\x12\x1C\x0A\x18FINDING_TYPE_UNSPECIFIED\x10\x00\x12?\x0A;FINDING_TYPE_COLDLINE_AND_ARCHIVAL_STORAGE_OPERATIONS_SPIKE\x10\x01\x12(\x0A\$FINDING_TYPE_THROTTLED_REQUEST_SPIKE\x10\x02\x12*\x0A&FINDING_TYPE_CROSS_REGION_EGRESS_SPIKE\x10\x03\x12+\x0A'FINDING_TYPE_STORAGE_GROWTH_ABOVE_TREND\x10\x04*{\x0A\x0FFindingCategory\x12 \x0A\x1CFINDING_CATEGORY_UNSPECIFIED\x10\x00\x12\$\x0A FINDING_CATEGORY_DATA_MANAGEMENT\x10\x01\x12 \x0A\x1CFINDING_CATEGORY_PERFORMANCE\x10\x02*R\x0A\x0FFindingSeverity\x12 \x0A\x1CFINDING_SEVERITY_UNSPECIFIED\x10\x00\x12\x1D\x0A\x19FINDING_SEVERITY_CRITICAL\x10\x012\x847\x0A\x0EStorageControl\x12\x9A\x01\x0A\x0CCreateFolder\x12..google.storage.control.v2.CreateFolderRequest\x1A!.google.storage.control.v2.Folder\"7\xDAA\x17parent,folder,folder_id\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\x8F\x01\x0A\x0CDeleteFolder\x12..google.storage.control.v2.DeleteFolderRequest\x1A\x16.google.protobuf.Empty\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\x94\x01\x0A\x09GetFolder\x12+.google.storage.control.v2.GetFolderRequest\x1A!.google.storage.control.v2.Folder\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\x94\x01\x0A\x0BListFolders\x12-.google.storage.control.v2.ListFoldersRequest\x1A..google.storage.control.v2.ListFoldersResponse\"&\xDAA\x06parent\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xCD\x01\x0A\x0CRenameFolder\x12..google.storage.control.v2.RenameFolderRequest\x1A\x1D.google.longrunning.Operation\"n\xCAA\x1E\x0A\x06Folder\x12\x14RenameFolderMetadata\xDAA\x1Aname,destination_folder_id\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xE1\x01\x0A\x15DeleteFolderRecursive\x127.google.storage.control.v2.DeleteFolderRecursiveRequest\x1A\x1D.google.longrunning.Operation\"p\xCAA6\x0A\x15google.protobuf.Empty\x12\x1DDeleteFolderRecursiveMetadata\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x10GetStorageLayout\x122.google.storage.control.v2.GetStorageLayoutRequest\x1A(.google.storage.control.v2.StorageLayout\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xBF\x01\x0A\x13CreateManagedFolder\x125.google.storage.control.v2.CreateManagedFolderRequest\x1A(.google.storage.control.v2.ManagedFolder\"G\xDAA'parent,managed_folder,managed_folder_id\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\x9D\x01\x0A\x13DeleteManagedFolder\x125.google.storage.control.v2.DeleteManagedFolderRequest\x1A\x16.google.protobuf.Empty\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x10GetManagedFolder\x122.google.storage.control.v2.GetManagedFolderRequest\x1A(.google.storage.control.v2.ManagedFolder\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x12ListManagedFolders\x124.google.storage.control.v2.ListManagedFoldersRequest\x1A5.google.storage.control.v2.ListManagedFoldersResponse\"&\xDAA\x06parent\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xD1\x01\x0A\x13CreateAnywhereCache\x125.google.storage.control.v2.CreateAnywhereCacheRequest\x1A\x1D.google.longrunning.Operation\"d\xCAA,\x0A\x0DAnywhereCache\x12\x1BCreateAnywhereCacheMetadata\xDAA\x15parent,anywhere_cache\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xF9\x01\x0A\x13UpdateAnywhereCache\x125.google.storage.control.v2.UpdateAnywhereCacheRequest\x1A\x1D.google.longrunning.Operation\"\x8B\x01\xCAA,\x0A\x0DAnywhereCache\x12\x1BUpdateAnywhereCacheMetadata\xDAA\x1Aanywhere_cache,update_mask\x8A\xD3\xE4\x93\x029\x127\x0A\x13anywhere_cache.name\x12 {bucket=projects/*/buckets/*}/**\x12\xB1\x01\x0A\x14DisableAnywhereCache\x126.google.storage.control.v2.DisableAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xAD\x01\x0A\x12PauseAnywhereCache\x124.google.storage.control.v2.PauseAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xAF\x01\x0A\x13ResumeAnywhereCache\x125.google.storage.control.v2.ResumeAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x10GetAnywhereCache\x122.google.storage.control.v2.GetAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x12ListAnywhereCaches\x124.google.storage.control.v2.ListAnywhereCachesRequest\x1A5.google.storage.control.v2.ListAnywhereCachesResponse\"&\xDAA\x06parent\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xD2\x01\x0A\x1CGetProjectIntelligenceConfig\x12>.google.storage.control.v2.GetProjectIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"C\xDAA\x04name\x82\xD3\xE4\x93\x026\x124/v2/{name=projects/*/locations/*/intelligenceConfig}\x12\x9D\x02\x0A\x1FUpdateProjectIntelligenceConfig\x12A.google.storage.control.v2.UpdateProjectIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"\x87\x01\xDAA\x1Fintelligence_config,update_mask\x82\xD3\xE4\x93\x02_2H/v2/{intelligence_config.name=projects/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xCF\x01\x0A\x1BGetFolderIntelligenceConfig\x12=.google.storage.control.v2.GetFolderIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"B\xDAA\x04name\x82\xD3\xE4\x93\x025\x123/v2/{name=folders/*/locations/*/intelligenceConfig}\x12\x9A\x02\x0A\x1EUpdateFolderIntelligenceConfig\x12@.google.storage.control.v2.UpdateFolderIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"\x86\x01\xDAA\x1Fintelligence_config,update_mask\x82\xD3\xE4\x93\x02^2G/v2/{intelligence_config.name=folders/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xE1\x01\x0A!GetOrganizationIntelligenceConfig\x12C.google.storage.control.v2.GetOrganizationIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"H\xDAA\x04name\x82\xD3\xE4\x93\x02;\x129/v2/{name=organizations/*/locations/*/intelligenceConfig}\x12\xAC\x02\x0A\$UpdateOrganizationIntelligenceConfig\x12F.google.storage.control.v2.UpdateOrganizationIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"\x8C\x01\xDAA\x1Fintelligence_config,update_mask\x82\xD3\xE4\x93\x02d2M/v2/{intelligence_config.name=organizations/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xA3\x01\x0A\x0CGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1A\x15.google.iam.v1.Policy\"X\xDAA\x08resource\x8A\xD3\xE4\x93\x02G\x12\x17\x0A\x08resource\x12\x0B{bucket=**}\x12,\x0A\x08resource\x12 {bucket=projects/*/buckets/*}/**\x12\xAA\x01\x0A\x0CSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1A\x15.google.iam.v1.Policy\"_\xDAA\x0Fresource,policy\x8A\xD3\xE4\x93\x02G\x12\x17\x0A\x08resource\x12\x0B{bucket=**}\x12,\x0A\x08resource\x12 {bucket=projects/*/buckets/*}/**\x12\x96\x02\x0A\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1A).google.iam.v1.TestIamPermissionsResponse\"\xAA\x01\xDAA\x14resource,permissions\x8A\xD3\xE4\x93\x02\x8C\x01\x12\x17\x0A\x08resource\x12\x0B{bucket=**}\x124\x0A\x08resource\x12({bucket=projects/*/buckets/*}/objects/**\x12;\x0A\x08resource\x12/{bucket=projects/*/buckets/*}/managedFolders/**\x12\xCB\x01\x0A\x16GetIntelligenceFinding\x128.google.storage.control.v2.GetIntelligenceFindingRequest\x1A..google.storage.control.v2.IntelligenceFinding\"G\xDAA\x04name\x82\xD3\xE4\x93\x02:\x128/v2/{name=projects/*/locations/*/intelligenceFindings/*}\x12\xDE\x01\x0A\x18ListIntelligenceFindings\x12:.google.storage.control.v2.ListIntelligenceFindingsRequest\x1A;.google.storage.control.v2.ListIntelligenceFindingsResponse\"I\xDAA\x06parent\x82\xD3\xE4\x93\x02:\x128/v2/{parent=projects/*/locations/*}/intelligenceFindings\x12\x89\x03\x0A\x1DSummarizeIntelligenceFindings\x12?.google.storage.control.v2.SummarizeIntelligenceFindingsRequest\x1A@.google.storage.control.v2.SummarizeIntelligenceFindingsResponse\"\xE4\x01\xDAA\x06parent\x82\xD3\xE4\x93\x02\xD4\x01\x12B/v2/{parent=projects/*/locations/*}/intelligenceFindings:summarizeZC\x12A/v2/{parent=folders/*/locations/*}/intelligenceFindings:summarizeZI\x12G/v2/{parent=organizations/*/locations/*}/intelligenceFindings:summarize\x12\xEF\x01\x0A\x1EGetIntelligenceFindingRevision\x12@.google.storage.control.v2.GetIntelligenceFindingRevisionRequest\x1A6.google.storage.control.v2.IntelligenceFindingRevision\"S\xDAA\x04name\x82\xD3\xE4\x93\x02F\x12D/v2/{name=projects/*/locations/*/intelligenceFindings/*/revisions/*}\x12\x82\x02\x0A ListIntelligenceFindingRevisions\x12B.google.storage.control.v2.ListIntelligenceFindingRevisionsRequest\x1AC.google.storage.control.v2.ListIntelligenceFindingRevisionsResponse\"U\xDAA\x06parent\x82\xD3\xE4\x93\x02F\x12D/v2/{parent=projects/*/locations/*/intelligenceFindings/*}/revisions\x1A\xA7\x02\xCAA\x16storage.googleapis.com\xD2A\x8A\x02https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/devstorage.full_control,https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/devstorage.read_writeB\xA6\x02\x0A\x1Dcom.google.storage.control.v2B\x13StorageControlProtoP\x01Z=cloud.google.com/go/storage/control/apiv2/controlpb;controlpb\xAA\x02\x1FGoogle.Cloud.Storage.Control.V2\xCA\x02\x1FGoogle\\Cloud\\Storage\\Control\\V2\xEA\x02#Google::Cloud::Storage::Control::V2\xEAAD\x0A\x1Dstorage.googleapis.com/Bucket\x12#projects/{project}/buckets/{bucket}b\x06proto3" , true); static::$is_initialized = true; diff --git a/StorageControl/samples/V2/StorageControlClient/get_intelligence_finding.php b/StorageControl/samples/V2/StorageControlClient/get_intelligence_finding.php new file mode 100644 index 000000000000..a84e412b4c49 --- /dev/null +++ b/StorageControl/samples/V2/StorageControlClient/get_intelligence_finding.php @@ -0,0 +1,78 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var IntelligenceFinding $response */ + $response = $storageControlClient->getIntelligenceFinding($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = StorageControlClient::intelligenceFindingName( + '[PROJECT]', + '[LOCATION]', + '[INTELLIGENCE_FINDING]' + ); + + get_intelligence_finding_sample($formattedName); +} +// [END storage_v2_generated_StorageControl_GetIntelligenceFinding_sync] diff --git a/StorageControl/samples/V2/StorageControlClient/get_intelligence_finding_revision.php b/StorageControl/samples/V2/StorageControlClient/get_intelligence_finding_revision.php new file mode 100644 index 000000000000..f30d3ee03a24 --- /dev/null +++ b/StorageControl/samples/V2/StorageControlClient/get_intelligence_finding_revision.php @@ -0,0 +1,79 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var IntelligenceFindingRevision $response */ + $response = $storageControlClient->getIntelligenceFindingRevision($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = StorageControlClient::intelligenceFindingRevisionName( + '[PROJECT]', + '[LOCATION]', + '[INTELLIGENCE_FINDING]', + '[REVISION]' + ); + + get_intelligence_finding_revision_sample($formattedName); +} +// [END storage_v2_generated_StorageControl_GetIntelligenceFindingRevision_sync] diff --git a/StorageControl/samples/V2/StorageControlClient/list_intelligence_finding_revisions.php b/StorageControl/samples/V2/StorageControlClient/list_intelligence_finding_revisions.php new file mode 100644 index 000000000000..6f49c5f48f3e --- /dev/null +++ b/StorageControl/samples/V2/StorageControlClient/list_intelligence_finding_revisions.php @@ -0,0 +1,83 @@ +setParent($formattedParent); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $storageControlClient->listIntelligenceFindingRevisions($request); + + /** @var IntelligenceFindingRevision $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = StorageControlClient::intelligenceFindingName( + '[PROJECT]', + '[LOCATION]', + '[INTELLIGENCE_FINDING]' + ); + + list_intelligence_finding_revisions_sample($formattedParent); +} +// [END storage_v2_generated_StorageControl_ListIntelligenceFindingRevisions_sync] diff --git a/StorageControl/samples/V2/StorageControlClient/list_intelligence_findings.php b/StorageControl/samples/V2/StorageControlClient/list_intelligence_findings.php new file mode 100644 index 000000000000..e6b1689b980a --- /dev/null +++ b/StorageControl/samples/V2/StorageControlClient/list_intelligence_findings.php @@ -0,0 +1,78 @@ +setParent($formattedParent); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $storageControlClient->listIntelligenceFindings($request); + + /** @var IntelligenceFinding $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = StorageControlClient::locationName('[PROJECT]', '[LOCATION]'); + + list_intelligence_findings_sample($formattedParent); +} +// [END storage_v2_generated_StorageControl_ListIntelligenceFindings_sync] diff --git a/StorageControl/samples/V2/StorageControlClient/summarize_intelligence_findings.php b/StorageControl/samples/V2/StorageControlClient/summarize_intelligence_findings.php new file mode 100644 index 000000000000..3acd1dd6de21 --- /dev/null +++ b/StorageControl/samples/V2/StorageControlClient/summarize_intelligence_findings.php @@ -0,0 +1,80 @@ +setParent($parent); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $storageControlClient->summarizeIntelligenceFindings($request); + + /** @var FindingSummary $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $parent = '[PARENT]'; + + summarize_intelligence_findings_sample($parent); +} +// [END storage_v2_generated_StorageControl_SummarizeIntelligenceFindings_sync] diff --git a/StorageControl/src/V2/Client/StorageControlClient.php b/StorageControl/src/V2/Client/StorageControlClient.php index 523b35f2033b..ad58f8a5045c 100644 --- a/StorageControl/src/V2/Client/StorageControlClient.php +++ b/StorageControl/src/V2/Client/StorageControlClient.php @@ -52,19 +52,26 @@ use Google\Cloud\Storage\Control\V2\GetAnywhereCacheRequest; use Google\Cloud\Storage\Control\V2\GetFolderIntelligenceConfigRequest; use Google\Cloud\Storage\Control\V2\GetFolderRequest; +use Google\Cloud\Storage\Control\V2\GetIntelligenceFindingRequest; +use Google\Cloud\Storage\Control\V2\GetIntelligenceFindingRevisionRequest; use Google\Cloud\Storage\Control\V2\GetManagedFolderRequest; use Google\Cloud\Storage\Control\V2\GetOrganizationIntelligenceConfigRequest; use Google\Cloud\Storage\Control\V2\GetProjectIntelligenceConfigRequest; use Google\Cloud\Storage\Control\V2\GetStorageLayoutRequest; use Google\Cloud\Storage\Control\V2\IntelligenceConfig; +use Google\Cloud\Storage\Control\V2\IntelligenceFinding; +use Google\Cloud\Storage\Control\V2\IntelligenceFindingRevision; use Google\Cloud\Storage\Control\V2\ListAnywhereCachesRequest; use Google\Cloud\Storage\Control\V2\ListFoldersRequest; +use Google\Cloud\Storage\Control\V2\ListIntelligenceFindingRevisionsRequest; +use Google\Cloud\Storage\Control\V2\ListIntelligenceFindingsRequest; use Google\Cloud\Storage\Control\V2\ListManagedFoldersRequest; use Google\Cloud\Storage\Control\V2\ManagedFolder; use Google\Cloud\Storage\Control\V2\PauseAnywhereCacheRequest; use Google\Cloud\Storage\Control\V2\RenameFolderRequest; use Google\Cloud\Storage\Control\V2\ResumeAnywhereCacheRequest; use Google\Cloud\Storage\Control\V2\StorageLayout; +use Google\Cloud\Storage\Control\V2\SummarizeIntelligenceFindingsRequest; use Google\Cloud\Storage\Control\V2\UpdateAnywhereCacheRequest; use Google\Cloud\Storage\Control\V2\UpdateFolderIntelligenceConfigRequest; use Google\Cloud\Storage\Control\V2\UpdateOrganizationIntelligenceConfigRequest; @@ -96,17 +103,22 @@ * @method PromiseInterface getFolderAsync(GetFolderRequest $request, array $optionalArgs = []) * @method PromiseInterface getFolderIntelligenceConfigAsync(GetFolderIntelligenceConfigRequest $request, array $optionalArgs = []) * @method PromiseInterface getIamPolicyAsync(GetIamPolicyRequest $request, array $optionalArgs = []) + * @method PromiseInterface getIntelligenceFindingAsync(GetIntelligenceFindingRequest $request, array $optionalArgs = []) + * @method PromiseInterface getIntelligenceFindingRevisionAsync(GetIntelligenceFindingRevisionRequest $request, array $optionalArgs = []) * @method PromiseInterface getManagedFolderAsync(GetManagedFolderRequest $request, array $optionalArgs = []) * @method PromiseInterface getOrganizationIntelligenceConfigAsync(GetOrganizationIntelligenceConfigRequest $request, array $optionalArgs = []) * @method PromiseInterface getProjectIntelligenceConfigAsync(GetProjectIntelligenceConfigRequest $request, array $optionalArgs = []) * @method PromiseInterface getStorageLayoutAsync(GetStorageLayoutRequest $request, array $optionalArgs = []) * @method PromiseInterface listAnywhereCachesAsync(ListAnywhereCachesRequest $request, array $optionalArgs = []) * @method PromiseInterface listFoldersAsync(ListFoldersRequest $request, array $optionalArgs = []) + * @method PromiseInterface listIntelligenceFindingRevisionsAsync(ListIntelligenceFindingRevisionsRequest $request, array $optionalArgs = []) + * @method PromiseInterface listIntelligenceFindingsAsync(ListIntelligenceFindingsRequest $request, array $optionalArgs = []) * @method PromiseInterface listManagedFoldersAsync(ListManagedFoldersRequest $request, array $optionalArgs = []) * @method PromiseInterface pauseAnywhereCacheAsync(PauseAnywhereCacheRequest $request, array $optionalArgs = []) * @method PromiseInterface renameFolderAsync(RenameFolderRequest $request, array $optionalArgs = []) * @method PromiseInterface resumeAnywhereCacheAsync(ResumeAnywhereCacheRequest $request, array $optionalArgs = []) * @method PromiseInterface setIamPolicyAsync(SetIamPolicyRequest $request, array $optionalArgs = []) + * @method PromiseInterface summarizeIntelligenceFindingsAsync(SummarizeIntelligenceFindingsRequest $request, array $optionalArgs = []) * @method PromiseInterface testIamPermissionsAsync(TestIamPermissionsRequest $request, array $optionalArgs = []) * @method PromiseInterface updateAnywhereCacheAsync(UpdateAnywhereCacheRequest $request, array $optionalArgs = []) * @method PromiseInterface updateFolderIntelligenceConfigAsync(UpdateFolderIntelligenceConfigRequest $request, array $optionalArgs = []) @@ -304,6 +316,70 @@ public static function intelligenceConfigName(string $folder, string $location): ]); } + /** + * Formats a string containing the fully-qualified path to represent a + * intelligence_finding resource. + * + * @param string $project + * @param string $location + * @param string $intelligenceFinding + * + * @return string The formatted intelligence_finding resource. + */ + public static function intelligenceFindingName( + string $project, + string $location, + string $intelligenceFinding + ): string { + return self::getPathTemplate('intelligenceFinding')->render([ + 'project' => $project, + 'location' => $location, + 'intelligence_finding' => $intelligenceFinding, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * intelligence_finding_revision resource. + * + * @param string $project + * @param string $location + * @param string $intelligenceFinding + * @param string $revision + * + * @return string The formatted intelligence_finding_revision resource. + */ + public static function intelligenceFindingRevisionName( + string $project, + string $location, + string $intelligenceFinding, + string $revision + ): string { + return self::getPathTemplate('intelligenceFindingRevision')->render([ + 'project' => $project, + 'location' => $location, + 'intelligence_finding' => $intelligenceFinding, + 'revision' => $revision, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a location + * resource. + * + * @param string $project + * @param string $location + * + * @return string The formatted location resource. + */ + public static function locationName(string $project, string $location): string + { + return self::getPathTemplate('location')->render([ + 'project' => $project, + 'location' => $location, + ]); + } + /** * Formats a string containing the fully-qualified path to represent a * managed_folder resource. @@ -383,6 +459,9 @@ public static function storageLayoutName(string $project, string $bucket): strin * - folder: projects/{project}/buckets/{bucket}/folders/{folder=**} * - folderLocationIntelligenceConfig: folders/{folder}/locations/{location}/intelligenceConfig * - intelligenceConfig: folders/{folder}/locations/{location}/intelligenceConfig + * - intelligenceFinding: projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding} + * - intelligenceFindingRevision: projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision} + * - location: projects/{project}/locations/{location} * - managedFolder: projects/{project}/buckets/{bucket}/managedFolders/{managed_folder=**} * - orgLocationIntelligenceConfig: organizations/{org}/locations/{location}/intelligenceConfig * - projectLocationIntelligenceConfig: projects/{project}/locations/{location}/intelligenceConfig @@ -790,6 +869,64 @@ public function getIamPolicy(GetIamPolicyRequest $request, array $callOptions = return $this->startApiCall('GetIamPolicy', $request, $callOptions)->wait(); } + /** + * Gets the `IntelligenceFinding` for a project. + * + * The async variant is {@see StorageControlClient::getIntelligenceFindingAsync()} + * . + * + * @example samples/V2/StorageControlClient/get_intelligence_finding.php + * + * @param GetIntelligenceFindingRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return IntelligenceFinding + * + * @throws ApiException Thrown if the API call fails. + */ + public function getIntelligenceFinding( + GetIntelligenceFindingRequest $request, + array $callOptions = [] + ): IntelligenceFinding { + return $this->startApiCall('GetIntelligenceFinding', $request, $callOptions)->wait(); + } + + /** + * Gets the `IntelligenceFindingRevision` resource. + * + * The async variant is + * {@see StorageControlClient::getIntelligenceFindingRevisionAsync()} . + * + * @example samples/V2/StorageControlClient/get_intelligence_finding_revision.php + * + * @param GetIntelligenceFindingRevisionRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return IntelligenceFindingRevision + * + * @throws ApiException Thrown if the API call fails. + */ + public function getIntelligenceFindingRevision( + GetIntelligenceFindingRevisionRequest $request, + array $callOptions = [] + ): IntelligenceFindingRevision { + return $this->startApiCall('GetIntelligenceFindingRevision', $request, $callOptions)->wait(); + } + /** * Returns metadata for the specified managed folder. * @@ -953,6 +1090,64 @@ public function listFolders(ListFoldersRequest $request, array $callOptions = [] return $this->startApiCall('ListFolders', $request, $callOptions); } + /** + * Lists all the revisions of an `IntelligenceFinding` resource. + * + * The async variant is + * {@see StorageControlClient::listIntelligenceFindingRevisionsAsync()} . + * + * @example samples/V2/StorageControlClient/list_intelligence_finding_revisions.php + * + * @param ListIntelligenceFindingRevisionsRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function listIntelligenceFindingRevisions( + ListIntelligenceFindingRevisionsRequest $request, + array $callOptions = [] + ): PagedListResponse { + return $this->startApiCall('ListIntelligenceFindingRevisions', $request, $callOptions); + } + + /** + * Lists the `IntelligenceFinding` resources for the specified project. + * + * The async variant is + * {@see StorageControlClient::listIntelligenceFindingsAsync()} . + * + * @example samples/V2/StorageControlClient/list_intelligence_findings.php + * + * @param ListIntelligenceFindingsRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function listIntelligenceFindings( + ListIntelligenceFindingsRequest $request, + array $callOptions = [] + ): PagedListResponse { + return $this->startApiCall('ListIntelligenceFindings', $request, $callOptions); + } + /** * Retrieves a list of managed folders for a given bucket. * @@ -1090,6 +1285,36 @@ public function setIamPolicy(SetIamPolicyRequest $request, array $callOptions = return $this->startApiCall('SetIamPolicy', $request, $callOptions)->wait(); } + /** + * Summarize the intelligence findings for the specified scope(org, folder or + * project). + * + * The async variant is + * {@see StorageControlClient::summarizeIntelligenceFindingsAsync()} . + * + * @example samples/V2/StorageControlClient/summarize_intelligence_findings.php + * + * @param SummarizeIntelligenceFindingsRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function summarizeIntelligenceFindings( + SummarizeIntelligenceFindingsRequest $request, + array $callOptions = [] + ): PagedListResponse { + return $this->startApiCall('SummarizeIntelligenceFindings', $request, $callOptions); + } + /** * Tests a set of permissions on the given bucket, object, or managed folder * to see which, if any, are held by the caller. diff --git a/StorageControl/src/V2/FindingCategory.php b/StorageControl/src/V2/FindingCategory.php new file mode 100644 index 000000000000..352db1f0b22f --- /dev/null +++ b/StorageControl/src/V2/FindingCategory.php @@ -0,0 +1,61 @@ +google.storage.control.v2.FindingCategory + */ +class FindingCategory +{ + /** + * Category is unspecified. + * + * Generated from protobuf enum FINDING_CATEGORY_UNSPECIFIED = 0; + */ + const FINDING_CATEGORY_UNSPECIFIED = 0; + /** + * Category is 'Data Management'. + * + * Generated from protobuf enum FINDING_CATEGORY_DATA_MANAGEMENT = 1; + */ + const FINDING_CATEGORY_DATA_MANAGEMENT = 1; + /** + * Category is 'Performance'. + * + * Generated from protobuf enum FINDING_CATEGORY_PERFORMANCE = 2; + */ + const FINDING_CATEGORY_PERFORMANCE = 2; + + private static $valueToName = [ + self::FINDING_CATEGORY_UNSPECIFIED => 'FINDING_CATEGORY_UNSPECIFIED', + self::FINDING_CATEGORY_DATA_MANAGEMENT => 'FINDING_CATEGORY_DATA_MANAGEMENT', + self::FINDING_CATEGORY_PERFORMANCE => 'FINDING_CATEGORY_PERFORMANCE', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/StorageControl/src/V2/FindingSeverity.php b/StorageControl/src/V2/FindingSeverity.php new file mode 100644 index 000000000000..f2f2d2d3d3fe --- /dev/null +++ b/StorageControl/src/V2/FindingSeverity.php @@ -0,0 +1,54 @@ +google.storage.control.v2.FindingSeverity + */ +class FindingSeverity +{ + /** + * Severity is unspecified. + * + * Generated from protobuf enum FINDING_SEVERITY_UNSPECIFIED = 0; + */ + const FINDING_SEVERITY_UNSPECIFIED = 0; + /** + * Severity is critical. + * + * Generated from protobuf enum FINDING_SEVERITY_CRITICAL = 1; + */ + const FINDING_SEVERITY_CRITICAL = 1; + + private static $valueToName = [ + self::FINDING_SEVERITY_UNSPECIFIED => 'FINDING_SEVERITY_UNSPECIFIED', + self::FINDING_SEVERITY_CRITICAL => 'FINDING_SEVERITY_CRITICAL', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/StorageControl/src/V2/FindingSummary.php b/StorageControl/src/V2/FindingSummary.php new file mode 100644 index 000000000000..712fef9f4f2b --- /dev/null +++ b/StorageControl/src/V2/FindingSummary.php @@ -0,0 +1,307 @@ +google.storage.control.v2.FindingSummary + */ +class FindingSummary extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The type of the finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingType type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $type = 0; + /** + * Output only. The category of finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingCategory category = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $category = 0; + /** + * Output only. The fully qualified Cloud resource name for which this + * summary was generated. + * eg: `//cloudresourcemanager.googleapis.com/projects/p1` + * + * Generated from protobuf field string target_resource = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $target_resource = ''; + /** + * Output only. The creation time of the earliest finding that this summary is + * based on. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $create_time = null; + /** + * Output only. The time of the most recent update among all the findings that + * this summary is based on. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $update_time = null; + /** + * Severity of the finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingSeverity severity = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $severity = 0; + /** + * Output only. List of `SummaryDetails`. + * + * Generated from protobuf field repeated .google.storage.control.v2.FindingSummary.SummaryDetails summary_details = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $summary_details; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $type + * Output only. The type of the finding. + * @type int $category + * Output only. The category of finding. + * @type string $target_resource + * Output only. The fully qualified Cloud resource name for which this + * summary was generated. + * eg: `//cloudresourcemanager.googleapis.com/projects/p1` + * @type \Google\Protobuf\Timestamp $create_time + * Output only. The creation time of the earliest finding that this summary is + * based on. + * @type \Google\Protobuf\Timestamp $update_time + * Output only. The time of the most recent update among all the findings that + * this summary is based on. + * @type int $severity + * Severity of the finding. + * @type \Google\Cloud\Storage\Control\V2\FindingSummary\SummaryDetails[] $summary_details + * Output only. List of `SummaryDetails`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The type of the finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingType type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getType() + { + return $this->type; + } + + /** + * Output only. The type of the finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingType type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setType($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Storage\Control\V2\FindingType::class); + $this->type = $var; + + return $this; + } + + /** + * Output only. The category of finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingCategory category = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getCategory() + { + return $this->category; + } + + /** + * Output only. The category of finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingCategory category = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setCategory($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Storage\Control\V2\FindingCategory::class); + $this->category = $var; + + return $this; + } + + /** + * Output only. The fully qualified Cloud resource name for which this + * summary was generated. + * eg: `//cloudresourcemanager.googleapis.com/projects/p1` + * + * Generated from protobuf field string target_resource = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getTargetResource() + { + return $this->target_resource; + } + + /** + * Output only. The fully qualified Cloud resource name for which this + * summary was generated. + * eg: `//cloudresourcemanager.googleapis.com/projects/p1` + * + * Generated from protobuf field string target_resource = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setTargetResource($var) + { + GPBUtil::checkString($var, True); + $this->target_resource = $var; + + return $this; + } + + /** + * Output only. The creation time of the earliest finding that this summary is + * based on. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCreateTime() + { + return $this->create_time; + } + + public function hasCreateTime() + { + return isset($this->create_time); + } + + public function clearCreateTime() + { + unset($this->create_time); + } + + /** + * Output only. The creation time of the earliest finding that this summary is + * based on. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCreateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->create_time = $var; + + return $this; + } + + /** + * Output only. The time of the most recent update among all the findings that + * this summary is based on. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getUpdateTime() + { + return $this->update_time; + } + + public function hasUpdateTime() + { + return isset($this->update_time); + } + + public function clearUpdateTime() + { + unset($this->update_time); + } + + /** + * Output only. The time of the most recent update among all the findings that + * this summary is based on. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setUpdateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->update_time = $var; + + return $this; + } + + /** + * Severity of the finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingSeverity severity = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getSeverity() + { + return $this->severity; + } + + /** + * Severity of the finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingSeverity severity = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setSeverity($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Storage\Control\V2\FindingSeverity::class); + $this->severity = $var; + + return $this; + } + + /** + * Output only. List of `SummaryDetails`. + * + * Generated from protobuf field repeated .google.storage.control.v2.FindingSummary.SummaryDetails summary_details = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField<\Google\Cloud\Storage\Control\V2\FindingSummary\SummaryDetails> + */ + public function getSummaryDetails() + { + return $this->summary_details; + } + + /** + * Output only. List of `SummaryDetails`. + * + * Generated from protobuf field repeated .google.storage.control.v2.FindingSummary.SummaryDetails summary_details = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\FindingSummary\SummaryDetails[] $var + * @return $this + */ + public function setSummaryDetails($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Storage\Control\V2\FindingSummary\SummaryDetails::class); + $this->summary_details = $arr; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/FindingSummary/SummaryDetails.php b/StorageControl/src/V2/FindingSummary/SummaryDetails.php new file mode 100644 index 000000000000..eb7124be783f --- /dev/null +++ b/StorageControl/src/V2/FindingSummary/SummaryDetails.php @@ -0,0 +1,176 @@ +google.storage.control.v2.FindingSummary.SummaryDetails + */ +class SummaryDetails extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The type of Cloud resource this summary detail applies to. + * + * Generated from protobuf field .google.storage.control.v2.FindingSummary.SummaryDetails.ResourceType resource_type = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $resource_type = 0; + /** + * Output only. A short description about the FindingSummary + * + * Generated from protobuf field string description = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $description = ''; + protected $magnitude; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $count + * The count of impacted resources. + * @type float $percentage + * The percentage of impacted resources. + * @type int $resource_type + * Output only. The type of Cloud resource this summary detail applies to. + * @type string $description + * Output only. A short description about the FindingSummary + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * The count of impacted resources. + * + * Generated from protobuf field int64 count = 1; + * @return int|string + */ + public function getCount() + { + return $this->readOneof(1); + } + + public function hasCount() + { + return $this->hasOneof(1); + } + + /** + * The count of impacted resources. + * + * Generated from protobuf field int64 count = 1; + * @param int|string $var + * @return $this + */ + public function setCount($var) + { + GPBUtil::checkInt64($var); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * The percentage of impacted resources. + * + * Generated from protobuf field float percentage = 2; + * @return float + */ + public function getPercentage() + { + return $this->readOneof(2); + } + + public function hasPercentage() + { + return $this->hasOneof(2); + } + + /** + * The percentage of impacted resources. + * + * Generated from protobuf field float percentage = 2; + * @param float $var + * @return $this + */ + public function setPercentage($var) + { + GPBUtil::checkFloat($var); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * Output only. The type of Cloud resource this summary detail applies to. + * + * Generated from protobuf field .google.storage.control.v2.FindingSummary.SummaryDetails.ResourceType resource_type = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getResourceType() + { + return $this->resource_type; + } + + /** + * Output only. The type of Cloud resource this summary detail applies to. + * + * Generated from protobuf field .google.storage.control.v2.FindingSummary.SummaryDetails.ResourceType resource_type = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setResourceType($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Storage\Control\V2\FindingSummary\SummaryDetails\ResourceType::class); + $this->resource_type = $var; + + return $this; + } + + /** + * Output only. A short description about the FindingSummary + * + * Generated from protobuf field string description = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * Output only. A short description about the FindingSummary + * + * Generated from protobuf field string description = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setDescription($var) + { + GPBUtil::checkString($var, True); + $this->description = $var; + + return $this; + } + + /** + * @return string + */ + public function getMagnitude() + { + return $this->whichOneof("magnitude"); + } + +} + diff --git a/StorageControl/src/V2/FindingSummary/SummaryDetails/ResourceType.php b/StorageControl/src/V2/FindingSummary/SummaryDetails/ResourceType.php new file mode 100644 index 000000000000..24e36f96bf19 --- /dev/null +++ b/StorageControl/src/V2/FindingSummary/SummaryDetails/ResourceType.php @@ -0,0 +1,61 @@ +google.storage.control.v2.FindingSummary.SummaryDetails.ResourceType + */ +class ResourceType +{ + /** + * Resource type is unspecified. + * + * Generated from protobuf enum RESOURCE_TYPE_UNSPECIFIED = 0; + */ + const RESOURCE_TYPE_UNSPECIFIED = 0; + /** + * Resource type is project. + * + * Generated from protobuf enum PROJECT = 1; + */ + const PROJECT = 1; + /** + * Resource type is bucket. + * + * Generated from protobuf enum BUCKET = 2; + */ + const BUCKET = 2; + + private static $valueToName = [ + self::RESOURCE_TYPE_UNSPECIFIED => 'RESOURCE_TYPE_UNSPECIFIED', + self::PROJECT => 'PROJECT', + self::BUCKET => 'BUCKET', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/StorageControl/src/V2/FindingType.php b/StorageControl/src/V2/FindingType.php new file mode 100644 index 000000000000..d4a885894359 --- /dev/null +++ b/StorageControl/src/V2/FindingType.php @@ -0,0 +1,77 @@ +google.storage.control.v2.FindingType + */ +class FindingType +{ + /** + * Finding type is unspecified. + * + * Generated from protobuf enum FINDING_TYPE_UNSPECIFIED = 0; + */ + const FINDING_TYPE_UNSPECIFIED = 0; + /** + * Finding is about a spike in Class A/B operations on Coldline or Archive + * Cloud Storage objects. + * + * Generated from protobuf enum FINDING_TYPE_COLDLINE_AND_ARCHIVAL_STORAGE_OPERATIONS_SPIKE = 1; + */ + const FINDING_TYPE_COLDLINE_AND_ARCHIVAL_STORAGE_OPERATIONS_SPIKE = 1; + /** + * Finding is about a spike in throttled requests (429 errors) within a + * project. + * + * Generated from protobuf enum FINDING_TYPE_THROTTLED_REQUEST_SPIKE = 2; + */ + const FINDING_TYPE_THROTTLED_REQUEST_SPIKE = 2; + /** + * Finding is about a spike in cross region egress in Cloud Storage. + * + * Generated from protobuf enum FINDING_TYPE_CROSS_REGION_EGRESS_SPIKE = 3; + */ + const FINDING_TYPE_CROSS_REGION_EGRESS_SPIKE = 3; + /** + * Finding is about growth in storage above the expected trend. + * + * Generated from protobuf enum FINDING_TYPE_STORAGE_GROWTH_ABOVE_TREND = 4; + */ + const FINDING_TYPE_STORAGE_GROWTH_ABOVE_TREND = 4; + + private static $valueToName = [ + self::FINDING_TYPE_UNSPECIFIED => 'FINDING_TYPE_UNSPECIFIED', + self::FINDING_TYPE_COLDLINE_AND_ARCHIVAL_STORAGE_OPERATIONS_SPIKE => 'FINDING_TYPE_COLDLINE_AND_ARCHIVAL_STORAGE_OPERATIONS_SPIKE', + self::FINDING_TYPE_THROTTLED_REQUEST_SPIKE => 'FINDING_TYPE_THROTTLED_REQUEST_SPIKE', + self::FINDING_TYPE_CROSS_REGION_EGRESS_SPIKE => 'FINDING_TYPE_CROSS_REGION_EGRESS_SPIKE', + self::FINDING_TYPE_STORAGE_GROWTH_ABOVE_TREND => 'FINDING_TYPE_STORAGE_GROWTH_ABOVE_TREND', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/StorageControl/src/V2/GetIntelligenceFindingRequest.php b/StorageControl/src/V2/GetIntelligenceFindingRequest.php new file mode 100644 index 000000000000..f787ace6a22e --- /dev/null +++ b/StorageControl/src/V2/GetIntelligenceFindingRequest.php @@ -0,0 +1,93 @@ +google.storage.control.v2.GetIntelligenceFindingRequest + */ +class GetIntelligenceFindingRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The name of the `IntelligenceFinding` resource. + * Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + + /** + * @param string $name Required. The name of the `IntelligenceFinding` resource. + * + * Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}` + * Please see {@see StorageControlClient::intelligenceFindingName()} for help formatting this field. + * + * @return \Google\Cloud\Storage\Control\V2\GetIntelligenceFindingRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The name of the `IntelligenceFinding` resource. + * Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Required. The name of the `IntelligenceFinding` resource. + * Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. The name of the `IntelligenceFinding` resource. + * Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/GetIntelligenceFindingRevisionRequest.php b/StorageControl/src/V2/GetIntelligenceFindingRevisionRequest.php new file mode 100644 index 000000000000..4224dc9017be --- /dev/null +++ b/StorageControl/src/V2/GetIntelligenceFindingRevisionRequest.php @@ -0,0 +1,93 @@ +google.storage.control.v2.GetIntelligenceFindingRevisionRequest + */ +class GetIntelligenceFindingRevisionRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The name of the `IntelligenceFindingRevision` resource. + * ## Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + + /** + * @param string $name Required. The name of the `IntelligenceFindingRevision` resource. + * ## Format: + * + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}` + * Please see {@see StorageControlClient::intelligenceFindingRevisionName()} for help formatting this field. + * + * @return \Google\Cloud\Storage\Control\V2\GetIntelligenceFindingRevisionRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The name of the `IntelligenceFindingRevision` resource. + * ## Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Required. The name of the `IntelligenceFindingRevision` resource. + * ## Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. The name of the `IntelligenceFindingRevision` resource. + * ## Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding.php b/StorageControl/src/V2/IntelligenceFinding.php new file mode 100644 index 000000000000..b5cd9a1768ec --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding.php @@ -0,0 +1,594 @@ +google.storage.control.v2.IntelligenceFinding + */ +class IntelligenceFinding extends \Google\Protobuf\Internal\Message +{ + /** + * Identifier. The resource name of `IntelligenceFinding`. + * Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + */ + protected $name = ''; + /** + * Output only. A short description about the finding. + * + * Generated from protobuf field string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $description = ''; + /** + * Output only. Type of this finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingType type = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $type = 0; + /** + * Output only. Category of this finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingCategory category = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $category = 0; + /** + * Output only. Severity of the finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingSeverity severity = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $severity = 0; + /** + * Output only. The time at which the finding was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $create_time = null; + /** + * Output only. The time at which the finding was last updated. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $update_time = null; + /** + * Output only. The fully qualified resource name of the resource that this + * `IntelligenceFinding` applies to. eg: + * - `storage.googleapis.com/projects/_/buckets/b1` + * - `cloudresourecemanager.googleapis.com/projects/p1` + * + * Generated from protobuf field string target_resource = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $target_resource = ''; + /** + * Output only. Contains GCP resource names that are + * relevant to this `IntelligenceFinding`. The `target_resource` is also added + * as part of `associated_resources`. eg: + * - `storage.googleapis.com/projects/_/buckets/b1` + * - `cloudresourecemanager.googleapis.com/projects/p1` + * + * Generated from protobuf field repeated string associated_resources = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $associated_resources; + /** + * Output only. The time interval during which the underlying data was used to + * generate this `IntelligenceFinding`. + * + * Generated from protobuf field .google.type.Interval observation_period = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $observation_period = null; + protected $intelligence_finding_details; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Identifier. The resource name of `IntelligenceFinding`. + * Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}` + * @type string $description + * Output only. A short description about the finding. + * @type int $type + * Output only. Type of this finding. + * @type int $category + * Output only. Category of this finding. + * @type int $severity + * Output only. Severity of the finding. + * @type \Google\Protobuf\Timestamp $create_time + * Output only. The time at which the finding was created. + * @type \Google\Protobuf\Timestamp $update_time + * Output only. The time at which the finding was last updated. + * @type string $target_resource + * Output only. The fully qualified resource name of the resource that this + * `IntelligenceFinding` applies to. eg: + * - `storage.googleapis.com/projects/_/buckets/b1` + * - `cloudresourecemanager.googleapis.com/projects/p1` + * @type string[] $associated_resources + * Output only. Contains GCP resource names that are + * relevant to this `IntelligenceFinding`. The `target_resource` is also added + * as part of `associated_resources`. eg: + * - `storage.googleapis.com/projects/_/buckets/b1` + * - `cloudresourecemanager.googleapis.com/projects/p1` + * @type \Google\Type\Interval $observation_period + * Output only. The time interval during which the underlying data was used to + * generate this `IntelligenceFinding`. + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike $coldline_and_archival_storage_operations_spike + * Output only. `IntelligenceFinding` about a spike in Class A/B operations + * on Coldline or Archive Cloud Storage objects. + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike $throttled_requests_spike + * Output only. `IntelligenceFinding` about a spike in throttled requests + * (429 errors) within a project. + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike $cross_region_egress_spike + * Output only. `IntelligenceFinding` about a spike in cross-region egress. + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding\StorageGrowthAboveTrend $storage_growth_above_trend + * Output only. `IntelligenceFinding` about growth in storage above the + * expected trend. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Identifier. The resource name of `IntelligenceFinding`. + * Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Identifier. The resource name of `IntelligenceFinding`. + * Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Output only. A short description about the finding. + * + * Generated from protobuf field string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * Output only. A short description about the finding. + * + * Generated from protobuf field string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setDescription($var) + { + GPBUtil::checkString($var, True); + $this->description = $var; + + return $this; + } + + /** + * Output only. Type of this finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingType type = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getType() + { + return $this->type; + } + + /** + * Output only. Type of this finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingType type = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setType($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Storage\Control\V2\FindingType::class); + $this->type = $var; + + return $this; + } + + /** + * Output only. Category of this finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingCategory category = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getCategory() + { + return $this->category; + } + + /** + * Output only. Category of this finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingCategory category = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setCategory($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Storage\Control\V2\FindingCategory::class); + $this->category = $var; + + return $this; + } + + /** + * Output only. Severity of the finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingSeverity severity = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getSeverity() + { + return $this->severity; + } + + /** + * Output only. Severity of the finding. + * + * Generated from protobuf field .google.storage.control.v2.FindingSeverity severity = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setSeverity($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Storage\Control\V2\FindingSeverity::class); + $this->severity = $var; + + return $this; + } + + /** + * Output only. The time at which the finding was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCreateTime() + { + return $this->create_time; + } + + public function hasCreateTime() + { + return isset($this->create_time); + } + + public function clearCreateTime() + { + unset($this->create_time); + } + + /** + * Output only. The time at which the finding was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCreateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->create_time = $var; + + return $this; + } + + /** + * Output only. The time at which the finding was last updated. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getUpdateTime() + { + return $this->update_time; + } + + public function hasUpdateTime() + { + return isset($this->update_time); + } + + public function clearUpdateTime() + { + unset($this->update_time); + } + + /** + * Output only. The time at which the finding was last updated. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setUpdateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->update_time = $var; + + return $this; + } + + /** + * Output only. The fully qualified resource name of the resource that this + * `IntelligenceFinding` applies to. eg: + * - `storage.googleapis.com/projects/_/buckets/b1` + * - `cloudresourecemanager.googleapis.com/projects/p1` + * + * Generated from protobuf field string target_resource = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getTargetResource() + { + return $this->target_resource; + } + + /** + * Output only. The fully qualified resource name of the resource that this + * `IntelligenceFinding` applies to. eg: + * - `storage.googleapis.com/projects/_/buckets/b1` + * - `cloudresourecemanager.googleapis.com/projects/p1` + * + * Generated from protobuf field string target_resource = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setTargetResource($var) + { + GPBUtil::checkString($var, True); + $this->target_resource = $var; + + return $this; + } + + /** + * Output only. Contains GCP resource names that are + * relevant to this `IntelligenceFinding`. The `target_resource` is also added + * as part of `associated_resources`. eg: + * - `storage.googleapis.com/projects/_/buckets/b1` + * - `cloudresourecemanager.googleapis.com/projects/p1` + * + * Generated from protobuf field repeated string associated_resources = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField + */ + public function getAssociatedResources() + { + return $this->associated_resources; + } + + /** + * Output only. Contains GCP resource names that are + * relevant to this `IntelligenceFinding`. The `target_resource` is also added + * as part of `associated_resources`. eg: + * - `storage.googleapis.com/projects/_/buckets/b1` + * - `cloudresourecemanager.googleapis.com/projects/p1` + * + * Generated from protobuf field repeated string associated_resources = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string[] $var + * @return $this + */ + public function setAssociatedResources($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->associated_resources = $arr; + + return $this; + } + + /** + * Output only. The time interval during which the underlying data was used to + * generate this `IntelligenceFinding`. + * + * Generated from protobuf field .google.type.Interval observation_period = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Type\Interval|null + */ + public function getObservationPeriod() + { + return $this->observation_period; + } + + public function hasObservationPeriod() + { + return isset($this->observation_period); + } + + public function clearObservationPeriod() + { + unset($this->observation_period); + } + + /** + * Output only. The time interval during which the underlying data was used to + * generate this `IntelligenceFinding`. + * + * Generated from protobuf field .google.type.Interval observation_period = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Type\Interval $var + * @return $this + */ + public function setObservationPeriod($var) + { + GPBUtil::checkMessage($var, \Google\Type\Interval::class); + $this->observation_period = $var; + + return $this; + } + + /** + * Output only. `IntelligenceFinding` about a spike in Class A/B operations + * on Coldline or Archive Cloud Storage objects. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike coldline_and_archival_storage_operations_spike = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike|null + */ + public function getColdlineAndArchivalStorageOperationsSpike() + { + return $this->readOneof(11); + } + + public function hasColdlineAndArchivalStorageOperationsSpike() + { + return $this->hasOneof(11); + } + + /** + * Output only. `IntelligenceFinding` about a spike in Class A/B operations + * on Coldline or Archive Cloud Storage objects. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike coldline_and_archival_storage_operations_spike = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike $var + * @return $this + */ + public function setColdlineAndArchivalStorageOperationsSpike($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike::class); + $this->writeOneof(11, $var); + + return $this; + } + + /** + * Output only. `IntelligenceFinding` about a spike in throttled requests + * (429 errors) within a project. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike throttled_requests_spike = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike|null + */ + public function getThrottledRequestsSpike() + { + return $this->readOneof(12); + } + + public function hasThrottledRequestsSpike() + { + return $this->hasOneof(12); + } + + /** + * Output only. `IntelligenceFinding` about a spike in throttled requests + * (429 errors) within a project. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike throttled_requests_spike = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike $var + * @return $this + */ + public function setThrottledRequestsSpike($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike::class); + $this->writeOneof(12, $var); + + return $this; + } + + /** + * Output only. `IntelligenceFinding` about a spike in cross-region egress. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike cross_region_egress_spike = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike|null + */ + public function getCrossRegionEgressSpike() + { + return $this->readOneof(13); + } + + public function hasCrossRegionEgressSpike() + { + return $this->hasOneof(13); + } + + /** + * Output only. `IntelligenceFinding` about a spike in cross-region egress. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike cross_region_egress_spike = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike $var + * @return $this + */ + public function setCrossRegionEgressSpike($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike::class); + $this->writeOneof(13, $var); + + return $this; + } + + /** + * Output only. `IntelligenceFinding` about growth in storage above the + * expected trend. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrend storage_growth_above_trend = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Storage\Control\V2\IntelligenceFinding\StorageGrowthAboveTrend|null + */ + public function getStorageGrowthAboveTrend() + { + return $this->readOneof(14); + } + + public function hasStorageGrowthAboveTrend() + { + return $this->hasOneof(14); + } + + /** + * Output only. `IntelligenceFinding` about growth in storage above the + * expected trend. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrend storage_growth_above_trend = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding\StorageGrowthAboveTrend $var + * @return $this + */ + public function setStorageGrowthAboveTrend($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Storage\Control\V2\IntelligenceFinding\StorageGrowthAboveTrend::class); + $this->writeOneof(14, $var); + + return $this; + } + + /** + * @return string + */ + public function getIntelligenceFindingDetails() + { + return $this->whichOneof("intelligence_finding_details"); + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding/ColdlineAndArchivalStorageOperationsSpike.php b/StorageControl/src/V2/IntelligenceFinding/ColdlineAndArchivalStorageOperationsSpike.php new file mode 100644 index 000000000000..e14c8e9f9f6b --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding/ColdlineAndArchivalStorageOperationsSpike.php @@ -0,0 +1,142 @@ +google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike + */ +class ColdlineAndArchivalStorageOperationsSpike extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The percentage increase in operations across the project. + * + * Generated from protobuf field double percentage_increase = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $percentage_increase = 0.0; + /** + * Output only. The total count of operations across the project. + * + * Generated from protobuf field int64 total_operations_count = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $total_operations_count = 0; + /** + * Output only. A list of the top buckets driving the increase in + * operations. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution top_buckets = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $top_buckets; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type float $percentage_increase + * Output only. The percentage increase in operations across the project. + * @type int|string $total_operations_count + * Output only. The total count of operations across the project. + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike\BucketContribution[] $top_buckets + * Output only. A list of the top buckets driving the increase in + * operations. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The percentage increase in operations across the project. + * + * Generated from protobuf field double percentage_increase = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return float + */ + public function getPercentageIncrease() + { + return $this->percentage_increase; + } + + /** + * Output only. The percentage increase in operations across the project. + * + * Generated from protobuf field double percentage_increase = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param float $var + * @return $this + */ + public function setPercentageIncrease($var) + { + GPBUtil::checkDouble($var); + $this->percentage_increase = $var; + + return $this; + } + + /** + * Output only. The total count of operations across the project. + * + * Generated from protobuf field int64 total_operations_count = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getTotalOperationsCount() + { + return $this->total_operations_count; + } + + /** + * Output only. The total count of operations across the project. + * + * Generated from protobuf field int64 total_operations_count = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setTotalOperationsCount($var) + { + GPBUtil::checkInt64($var); + $this->total_operations_count = $var; + + return $this; + } + + /** + * Output only. A list of the top buckets driving the increase in + * operations. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution top_buckets = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField<\Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike\BucketContribution> + */ + public function getTopBuckets() + { + return $this->top_buckets; + } + + /** + * Output only. A list of the top buckets driving the increase in + * operations. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution top_buckets = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike\BucketContribution[] $var + * @return $this + */ + public function setTopBuckets($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike\BucketContribution::class); + $this->top_buckets = $arr; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding/ColdlineAndArchivalStorageOperationsSpike/BucketContribution.php b/StorageControl/src/V2/IntelligenceFinding/ColdlineAndArchivalStorageOperationsSpike/BucketContribution.php new file mode 100644 index 000000000000..2e764b7601cb --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding/ColdlineAndArchivalStorageOperationsSpike/BucketContribution.php @@ -0,0 +1,213 @@ +google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution + */ +class BucketContribution extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The name of the bucket. + * + * Generated from protobuf field string bucket = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + */ + protected $bucket = ''; + /** + * Output only. The percentage increase in operations for the bucket. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $percentage_increase = 0.0; + /** + * Output only. The total count of operations for the bucket. + * + * Generated from protobuf field int64 total_operations_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $total_operations_count = 0; + protected $details; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $bucket + * Output only. The name of the bucket. + * @type float $percentage_increase + * Output only. The percentage increase in operations for the bucket. + * @type int|string $total_operations_count + * Output only. The total count of operations for the bucket. + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike\BucketContribution\Contribution $contribution + * Output only. The details about the contribution of the bucket. + * @type \Google\Rpc\Status $error + * Output only. The error related to accessing the details about the + * contribution of the bucket. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The name of the bucket. + * + * Generated from protobuf field string bucket = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @return string + */ + public function getBucket() + { + return $this->bucket; + } + + /** + * Output only. The name of the bucket. + * + * Generated from protobuf field string bucket = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setBucket($var) + { + GPBUtil::checkString($var, True); + $this->bucket = $var; + + return $this; + } + + /** + * Output only. The percentage increase in operations for the bucket. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return float + */ + public function getPercentageIncrease() + { + return $this->percentage_increase; + } + + /** + * Output only. The percentage increase in operations for the bucket. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param float $var + * @return $this + */ + public function setPercentageIncrease($var) + { + GPBUtil::checkDouble($var); + $this->percentage_increase = $var; + + return $this; + } + + /** + * Output only. The total count of operations for the bucket. + * + * Generated from protobuf field int64 total_operations_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getTotalOperationsCount() + { + return $this->total_operations_count; + } + + /** + * Output only. The total count of operations for the bucket. + * + * Generated from protobuf field int64 total_operations_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setTotalOperationsCount($var) + { + GPBUtil::checkInt64($var); + $this->total_operations_count = $var; + + return $this; + } + + /** + * Output only. The details about the contribution of the bucket. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.Contribution contribution = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike\BucketContribution\Contribution|null + */ + public function getContribution() + { + return $this->readOneof(4); + } + + public function hasContribution() + { + return $this->hasOneof(4); + } + + /** + * Output only. The details about the contribution of the bucket. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.Contribution contribution = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike\BucketContribution\Contribution $var + * @return $this + */ + public function setContribution($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike\BucketContribution\Contribution::class); + $this->writeOneof(4, $var); + + return $this; + } + + /** + * Output only. The error related to accessing the details about the + * contribution of the bucket. + * + * Generated from protobuf field .google.rpc.Status error = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Rpc\Status|null + */ + public function getError() + { + return $this->readOneof(5); + } + + public function hasError() + { + return $this->hasOneof(5); + } + + /** + * Output only. The error related to accessing the details about the + * contribution of the bucket. + * + * Generated from protobuf field .google.rpc.Status error = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Rpc\Status $var + * @return $this + */ + public function setError($var) + { + GPBUtil::checkMessage($var, \Google\Rpc\Status::class); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * @return string + */ + public function getDetails() + { + return $this->whichOneof("details"); + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding/ColdlineAndArchivalStorageOperationsSpike/BucketContribution/Contribution.php b/StorageControl/src/V2/IntelligenceFinding/ColdlineAndArchivalStorageOperationsSpike/BucketContribution/Contribution.php new file mode 100644 index 000000000000..654bb2cc72ea --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding/ColdlineAndArchivalStorageOperationsSpike/BucketContribution/Contribution.php @@ -0,0 +1,72 @@ +google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.Contribution + */ +class Contribution extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. A list of the top object prefixes driving the increase + * in operations. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.Contribution.PrefixContribution top_prefixes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $top_prefixes; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike\BucketContribution\Contribution\PrefixContribution[] $top_prefixes + * Output only. A list of the top object prefixes driving the increase + * in operations. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. A list of the top object prefixes driving the increase + * in operations. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.Contribution.PrefixContribution top_prefixes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField<\Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike\BucketContribution\Contribution\PrefixContribution> + */ + public function getTopPrefixes() + { + return $this->top_prefixes; + } + + /** + * Output only. A list of the top object prefixes driving the increase + * in operations. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.Contribution.PrefixContribution top_prefixes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike\BucketContribution\Contribution\PrefixContribution[] $var + * @return $this + */ + public function setTopPrefixes($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ColdlineAndArchivalStorageOperationsSpike\BucketContribution\Contribution\PrefixContribution::class); + $this->top_prefixes = $arr; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding/ColdlineAndArchivalStorageOperationsSpike/BucketContribution/Contribution/PrefixContribution.php b/StorageControl/src/V2/IntelligenceFinding/ColdlineAndArchivalStorageOperationsSpike/BucketContribution/Contribution/PrefixContribution.php new file mode 100644 index 000000000000..c6d5205647fe --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding/ColdlineAndArchivalStorageOperationsSpike/BucketContribution/Contribution/PrefixContribution.php @@ -0,0 +1,143 @@ +google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.Contribution.PrefixContribution + */ +class PrefixContribution extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The object prefix. + * Format: `a/b/c`, 'a/b/d', etc. + * + * Generated from protobuf field string prefix = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $prefix = ''; + /** + * Output only. The percentage increase in operations for the object + * prefix. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $percentage_increase = 0.0; + /** + * Output only. The total count of operations for the object prefix. + * + * Generated from protobuf field int64 total_operations_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $total_operations_count = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $prefix + * Output only. The object prefix. + * Format: `a/b/c`, 'a/b/d', etc. + * @type float $percentage_increase + * Output only. The percentage increase in operations for the object + * prefix. + * @type int|string $total_operations_count + * Output only. The total count of operations for the object prefix. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The object prefix. + * Format: `a/b/c`, 'a/b/d', etc. + * + * Generated from protobuf field string prefix = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getPrefix() + { + return $this->prefix; + } + + /** + * Output only. The object prefix. + * Format: `a/b/c`, 'a/b/d', etc. + * + * Generated from protobuf field string prefix = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setPrefix($var) + { + GPBUtil::checkString($var, True); + $this->prefix = $var; + + return $this; + } + + /** + * Output only. The percentage increase in operations for the object + * prefix. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return float + */ + public function getPercentageIncrease() + { + return $this->percentage_increase; + } + + /** + * Output only. The percentage increase in operations for the object + * prefix. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param float $var + * @return $this + */ + public function setPercentageIncrease($var) + { + GPBUtil::checkDouble($var); + $this->percentage_increase = $var; + + return $this; + } + + /** + * Output only. The total count of operations for the object prefix. + * + * Generated from protobuf field int64 total_operations_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getTotalOperationsCount() + { + return $this->total_operations_count; + } + + /** + * Output only. The total count of operations for the object prefix. + * + * Generated from protobuf field int64 total_operations_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setTotalOperationsCount($var) + { + GPBUtil::checkInt64($var); + $this->total_operations_count = $var; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding/CrossRegionEgressSpike.php b/StorageControl/src/V2/IntelligenceFinding/CrossRegionEgressSpike.php new file mode 100644 index 000000000000..2fdffc786f54 --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding/CrossRegionEgressSpike.php @@ -0,0 +1,149 @@ +google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike + */ +class CrossRegionEgressSpike extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The total cross-region egress volume in bytes across the + * project. + * + * Generated from protobuf field int64 total_egress_bytes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $total_egress_bytes = 0; + /** + * Output only. The percentage increase in cross-region egress across the + * project. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $percentage_increase = 0.0; + /** + * Output only. A list of top buckets driving the increase in cross-region + * egress. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution top_buckets = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $top_buckets; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $total_egress_bytes + * Output only. The total cross-region egress volume in bytes across the + * project. + * @type float $percentage_increase + * Output only. The percentage increase in cross-region egress across the + * project. + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike\BucketContribution[] $top_buckets + * Output only. A list of top buckets driving the increase in cross-region + * egress. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The total cross-region egress volume in bytes across the + * project. + * + * Generated from protobuf field int64 total_egress_bytes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getTotalEgressBytes() + { + return $this->total_egress_bytes; + } + + /** + * Output only. The total cross-region egress volume in bytes across the + * project. + * + * Generated from protobuf field int64 total_egress_bytes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setTotalEgressBytes($var) + { + GPBUtil::checkInt64($var); + $this->total_egress_bytes = $var; + + return $this; + } + + /** + * Output only. The percentage increase in cross-region egress across the + * project. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return float + */ + public function getPercentageIncrease() + { + return $this->percentage_increase; + } + + /** + * Output only. The percentage increase in cross-region egress across the + * project. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param float $var + * @return $this + */ + public function setPercentageIncrease($var) + { + GPBUtil::checkDouble($var); + $this->percentage_increase = $var; + + return $this; + } + + /** + * Output only. A list of top buckets driving the increase in cross-region + * egress. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution top_buckets = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField<\Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike\BucketContribution> + */ + public function getTopBuckets() + { + return $this->top_buckets; + } + + /** + * Output only. A list of top buckets driving the increase in cross-region + * egress. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution top_buckets = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike\BucketContribution[] $var + * @return $this + */ + public function setTopBuckets($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike\BucketContribution::class); + $this->top_buckets = $arr; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding/CrossRegionEgressSpike/BucketContribution.php b/StorageControl/src/V2/IntelligenceFinding/CrossRegionEgressSpike/BucketContribution.php new file mode 100644 index 000000000000..fe0b3f5af9e5 --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding/CrossRegionEgressSpike/BucketContribution.php @@ -0,0 +1,221 @@ +google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution + */ +class BucketContribution extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The name of the bucket. + * + * Generated from protobuf field string bucket = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + */ + protected $bucket = ''; + /** + * Output only. The total cross-region egress volume in bytes for the + * bucket. + * + * Generated from protobuf field int64 total_egress_bytes = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $total_egress_bytes = 0; + /** + * Output only. The percentage increase in cross-region egress for the + * bucket. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $percentage_increase = 0.0; + protected $details; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $bucket + * Output only. The name of the bucket. + * @type int|string $total_egress_bytes + * Output only. The total cross-region egress volume in bytes for the + * bucket. + * @type float $percentage_increase + * Output only. The percentage increase in cross-region egress for the + * bucket. + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike\BucketContribution\Contribution $contribution + * Output only. The details about the contribution of the bucket. + * @type \Google\Rpc\Status $error + * Output only. The error related to accessing the details about the + * contribution of the bucket. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The name of the bucket. + * + * Generated from protobuf field string bucket = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @return string + */ + public function getBucket() + { + return $this->bucket; + } + + /** + * Output only. The name of the bucket. + * + * Generated from protobuf field string bucket = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setBucket($var) + { + GPBUtil::checkString($var, True); + $this->bucket = $var; + + return $this; + } + + /** + * Output only. The total cross-region egress volume in bytes for the + * bucket. + * + * Generated from protobuf field int64 total_egress_bytes = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getTotalEgressBytes() + { + return $this->total_egress_bytes; + } + + /** + * Output only. The total cross-region egress volume in bytes for the + * bucket. + * + * Generated from protobuf field int64 total_egress_bytes = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setTotalEgressBytes($var) + { + GPBUtil::checkInt64($var); + $this->total_egress_bytes = $var; + + return $this; + } + + /** + * Output only. The percentage increase in cross-region egress for the + * bucket. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return float + */ + public function getPercentageIncrease() + { + return $this->percentage_increase; + } + + /** + * Output only. The percentage increase in cross-region egress for the + * bucket. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param float $var + * @return $this + */ + public function setPercentageIncrease($var) + { + GPBUtil::checkDouble($var); + $this->percentage_increase = $var; + + return $this; + } + + /** + * Output only. The details about the contribution of the bucket. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.Contribution contribution = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike\BucketContribution\Contribution|null + */ + public function getContribution() + { + return $this->readOneof(4); + } + + public function hasContribution() + { + return $this->hasOneof(4); + } + + /** + * Output only. The details about the contribution of the bucket. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.Contribution contribution = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike\BucketContribution\Contribution $var + * @return $this + */ + public function setContribution($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike\BucketContribution\Contribution::class); + $this->writeOneof(4, $var); + + return $this; + } + + /** + * Output only. The error related to accessing the details about the + * contribution of the bucket. + * + * Generated from protobuf field .google.rpc.Status error = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Rpc\Status|null + */ + public function getError() + { + return $this->readOneof(5); + } + + public function hasError() + { + return $this->hasOneof(5); + } + + /** + * Output only. The error related to accessing the details about the + * contribution of the bucket. + * + * Generated from protobuf field .google.rpc.Status error = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Rpc\Status $var + * @return $this + */ + public function setError($var) + { + GPBUtil::checkMessage($var, \Google\Rpc\Status::class); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * @return string + */ + public function getDetails() + { + return $this->whichOneof("details"); + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding/CrossRegionEgressSpike/BucketContribution/Contribution.php b/StorageControl/src/V2/IntelligenceFinding/CrossRegionEgressSpike/BucketContribution/Contribution.php new file mode 100644 index 000000000000..c1171fae3f6b --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding/CrossRegionEgressSpike/BucketContribution/Contribution.php @@ -0,0 +1,72 @@ +google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.Contribution + */ +class Contribution extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. A list of the top object prefixes driving the increase + * in cross-region egress. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.Contribution.PrefixContribution top_prefixes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $top_prefixes; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike\BucketContribution\Contribution\PrefixContribution[] $top_prefixes + * Output only. A list of the top object prefixes driving the increase + * in cross-region egress. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. A list of the top object prefixes driving the increase + * in cross-region egress. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.Contribution.PrefixContribution top_prefixes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField<\Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike\BucketContribution\Contribution\PrefixContribution> + */ + public function getTopPrefixes() + { + return $this->top_prefixes; + } + + /** + * Output only. A list of the top object prefixes driving the increase + * in cross-region egress. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.Contribution.PrefixContribution top_prefixes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike\BucketContribution\Contribution\PrefixContribution[] $var + * @return $this + */ + public function setTopPrefixes($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Storage\Control\V2\IntelligenceFinding\CrossRegionEgressSpike\BucketContribution\Contribution\PrefixContribution::class); + $this->top_prefixes = $arr; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding/CrossRegionEgressSpike/BucketContribution/Contribution/PrefixContribution.php b/StorageControl/src/V2/IntelligenceFinding/CrossRegionEgressSpike/BucketContribution/Contribution/PrefixContribution.php new file mode 100644 index 000000000000..0f3fb5daa146 --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding/CrossRegionEgressSpike/BucketContribution/Contribution/PrefixContribution.php @@ -0,0 +1,148 @@ +google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.Contribution.PrefixContribution + */ +class PrefixContribution extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The object prefix. + * Format: `a/b/c`, 'a/b/d', etc. + * + * Generated from protobuf field string prefix = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $prefix = ''; + /** + * Output only. The total cross-region egress volume in bytes from the + * object prefix. + * + * Generated from protobuf field int64 total_egress_bytes = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $total_egress_bytes = 0; + /** + * Output only. The percentage increase in cross-region egress for the + * object prefix. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $percentage_increase = 0.0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $prefix + * Output only. The object prefix. + * Format: `a/b/c`, 'a/b/d', etc. + * @type int|string $total_egress_bytes + * Output only. The total cross-region egress volume in bytes from the + * object prefix. + * @type float $percentage_increase + * Output only. The percentage increase in cross-region egress for the + * object prefix. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The object prefix. + * Format: `a/b/c`, 'a/b/d', etc. + * + * Generated from protobuf field string prefix = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getPrefix() + { + return $this->prefix; + } + + /** + * Output only. The object prefix. + * Format: `a/b/c`, 'a/b/d', etc. + * + * Generated from protobuf field string prefix = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setPrefix($var) + { + GPBUtil::checkString($var, True); + $this->prefix = $var; + + return $this; + } + + /** + * Output only. The total cross-region egress volume in bytes from the + * object prefix. + * + * Generated from protobuf field int64 total_egress_bytes = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getTotalEgressBytes() + { + return $this->total_egress_bytes; + } + + /** + * Output only. The total cross-region egress volume in bytes from the + * object prefix. + * + * Generated from protobuf field int64 total_egress_bytes = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setTotalEgressBytes($var) + { + GPBUtil::checkInt64($var); + $this->total_egress_bytes = $var; + + return $this; + } + + /** + * Output only. The percentage increase in cross-region egress for the + * object prefix. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return float + */ + public function getPercentageIncrease() + { + return $this->percentage_increase; + } + + /** + * Output only. The percentage increase in cross-region egress for the + * object prefix. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param float $var + * @return $this + */ + public function setPercentageIncrease($var) + { + GPBUtil::checkDouble($var); + $this->percentage_increase = $var; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding/StorageGrowthAboveTrend.php b/StorageControl/src/V2/IntelligenceFinding/StorageGrowthAboveTrend.php new file mode 100644 index 000000000000..beb651194f74 --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding/StorageGrowthAboveTrend.php @@ -0,0 +1,140 @@ +google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrend + */ +class StorageGrowthAboveTrend extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The total storage growth in bytes. + * + * Generated from protobuf field int64 total_storage_growth_bytes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $total_storage_growth_bytes = 0; + /** + * Output only. The percentage increase in storage growth. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $percentage_increase = 0.0; + /** + * Output only. A list of top buckets driving the increase in storage + * growth. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrend.BucketContribution top_buckets = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $top_buckets; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $total_storage_growth_bytes + * Output only. The total storage growth in bytes. + * @type float $percentage_increase + * Output only. The percentage increase in storage growth. + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding\StorageGrowthAboveTrend\BucketContribution[] $top_buckets + * Output only. A list of top buckets driving the increase in storage + * growth. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The total storage growth in bytes. + * + * Generated from protobuf field int64 total_storage_growth_bytes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getTotalStorageGrowthBytes() + { + return $this->total_storage_growth_bytes; + } + + /** + * Output only. The total storage growth in bytes. + * + * Generated from protobuf field int64 total_storage_growth_bytes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setTotalStorageGrowthBytes($var) + { + GPBUtil::checkInt64($var); + $this->total_storage_growth_bytes = $var; + + return $this; + } + + /** + * Output only. The percentage increase in storage growth. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return float + */ + public function getPercentageIncrease() + { + return $this->percentage_increase; + } + + /** + * Output only. The percentage increase in storage growth. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param float $var + * @return $this + */ + public function setPercentageIncrease($var) + { + GPBUtil::checkDouble($var); + $this->percentage_increase = $var; + + return $this; + } + + /** + * Output only. A list of top buckets driving the increase in storage + * growth. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrend.BucketContribution top_buckets = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField<\Google\Cloud\Storage\Control\V2\IntelligenceFinding\StorageGrowthAboveTrend\BucketContribution> + */ + public function getTopBuckets() + { + return $this->top_buckets; + } + + /** + * Output only. A list of top buckets driving the increase in storage + * growth. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrend.BucketContribution top_buckets = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding\StorageGrowthAboveTrend\BucketContribution[] $var + * @return $this + */ + public function setTopBuckets($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Storage\Control\V2\IntelligenceFinding\StorageGrowthAboveTrend\BucketContribution::class); + $this->top_buckets = $arr; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding/StorageGrowthAboveTrend/BucketContribution.php b/StorageControl/src/V2/IntelligenceFinding/StorageGrowthAboveTrend/BucketContribution.php new file mode 100644 index 000000000000..35aa541e0bba --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding/StorageGrowthAboveTrend/BucketContribution.php @@ -0,0 +1,180 @@ +google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrend.BucketContribution + */ +class BucketContribution extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The name of the bucket. + * + * Generated from protobuf field string bucket = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + */ + protected $bucket = ''; + /** + * Output only. The total storage growth in bytes for the bucket. + * + * Generated from protobuf field int64 total_storage_growth_bytes = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $total_storage_growth_bytes = 0; + /** + * Output only. The percentage increase in storage growth for the bucket. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $percentage_increase = 0.0; + protected $details; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $bucket + * Output only. The name of the bucket. + * @type int|string $total_storage_growth_bytes + * Output only. The total storage growth in bytes for the bucket. + * @type float $percentage_increase + * Output only. The percentage increase in storage growth for the bucket. + * @type \Google\Rpc\Status $error + * Output only. The error related to accessing the details about the + * contribution of the bucket. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The name of the bucket. + * + * Generated from protobuf field string bucket = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @return string + */ + public function getBucket() + { + return $this->bucket; + } + + /** + * Output only. The name of the bucket. + * + * Generated from protobuf field string bucket = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setBucket($var) + { + GPBUtil::checkString($var, True); + $this->bucket = $var; + + return $this; + } + + /** + * Output only. The total storage growth in bytes for the bucket. + * + * Generated from protobuf field int64 total_storage_growth_bytes = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getTotalStorageGrowthBytes() + { + return $this->total_storage_growth_bytes; + } + + /** + * Output only. The total storage growth in bytes for the bucket. + * + * Generated from protobuf field int64 total_storage_growth_bytes = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setTotalStorageGrowthBytes($var) + { + GPBUtil::checkInt64($var); + $this->total_storage_growth_bytes = $var; + + return $this; + } + + /** + * Output only. The percentage increase in storage growth for the bucket. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return float + */ + public function getPercentageIncrease() + { + return $this->percentage_increase; + } + + /** + * Output only. The percentage increase in storage growth for the bucket. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param float $var + * @return $this + */ + public function setPercentageIncrease($var) + { + GPBUtil::checkDouble($var); + $this->percentage_increase = $var; + + return $this; + } + + /** + * Output only. The error related to accessing the details about the + * contribution of the bucket. + * + * Generated from protobuf field .google.rpc.Status error = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Rpc\Status|null + */ + public function getError() + { + return $this->readOneof(5); + } + + public function hasError() + { + return $this->hasOneof(5); + } + + /** + * Output only. The error related to accessing the details about the + * contribution of the bucket. + * + * Generated from protobuf field .google.rpc.Status error = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Rpc\Status $var + * @return $this + */ + public function setError($var) + { + GPBUtil::checkMessage($var, \Google\Rpc\Status::class); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * @return string + */ + public function getDetails() + { + return $this->whichOneof("details"); + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding/ThrottledRequestSpike.php b/StorageControl/src/V2/IntelligenceFinding/ThrottledRequestSpike.php new file mode 100644 index 000000000000..a030088c5041 --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding/ThrottledRequestSpike.php @@ -0,0 +1,145 @@ +google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike + */ +class ThrottledRequestSpike extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The count of throttled requests across the project. + * + * Generated from protobuf field int64 throttled_requests = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $throttled_requests = 0; + /** + * Output only. The percentage increase in throttled requests across the + * project. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $percentage_increase = 0.0; + /** + * Output only. A list of top buckets driving the increase in throttled + * requests. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution top_buckets = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $top_buckets; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $throttled_requests + * Output only. The count of throttled requests across the project. + * @type float $percentage_increase + * Output only. The percentage increase in throttled requests across the + * project. + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike\BucketContribution[] $top_buckets + * Output only. A list of top buckets driving the increase in throttled + * requests. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The count of throttled requests across the project. + * + * Generated from protobuf field int64 throttled_requests = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getThrottledRequests() + { + return $this->throttled_requests; + } + + /** + * Output only. The count of throttled requests across the project. + * + * Generated from protobuf field int64 throttled_requests = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setThrottledRequests($var) + { + GPBUtil::checkInt64($var); + $this->throttled_requests = $var; + + return $this; + } + + /** + * Output only. The percentage increase in throttled requests across the + * project. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return float + */ + public function getPercentageIncrease() + { + return $this->percentage_increase; + } + + /** + * Output only. The percentage increase in throttled requests across the + * project. + * + * Generated from protobuf field double percentage_increase = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param float $var + * @return $this + */ + public function setPercentageIncrease($var) + { + GPBUtil::checkDouble($var); + $this->percentage_increase = $var; + + return $this; + } + + /** + * Output only. A list of top buckets driving the increase in throttled + * requests. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution top_buckets = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField<\Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike\BucketContribution> + */ + public function getTopBuckets() + { + return $this->top_buckets; + } + + /** + * Output only. A list of top buckets driving the increase in throttled + * requests. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution top_buckets = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike\BucketContribution[] $var + * @return $this + */ + public function setTopBuckets($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike\BucketContribution::class); + $this->top_buckets = $arr; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding/ThrottledRequestSpike/BucketContribution.php b/StorageControl/src/V2/IntelligenceFinding/ThrottledRequestSpike/BucketContribution.php new file mode 100644 index 000000000000..5852e349655d --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding/ThrottledRequestSpike/BucketContribution.php @@ -0,0 +1,217 @@ +google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution + */ +class BucketContribution extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The name of the bucket. + * + * Generated from protobuf field string bucket = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + */ + protected $bucket = ''; + /** + * Output only. The count of throttled requests for the bucket. + * + * Generated from protobuf field int64 throttled_requests = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $throttled_requests = 0; + /** + * Output only. The percentage increase in throttled requests for the + * bucket. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $percentage_increase = 0.0; + protected $details; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $bucket + * Output only. The name of the bucket. + * @type int|string $throttled_requests + * Output only. The count of throttled requests for the bucket. + * @type float $percentage_increase + * Output only. The percentage increase in throttled requests for the + * bucket. + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike\BucketContribution\Contribution $contribution + * Output only. The details about the contribution of the bucket. + * @type \Google\Rpc\Status $error + * Output only. The error related to accessing the details about the + * contribution of the bucket. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The name of the bucket. + * + * Generated from protobuf field string bucket = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @return string + */ + public function getBucket() + { + return $this->bucket; + } + + /** + * Output only. The name of the bucket. + * + * Generated from protobuf field string bucket = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setBucket($var) + { + GPBUtil::checkString($var, True); + $this->bucket = $var; + + return $this; + } + + /** + * Output only. The count of throttled requests for the bucket. + * + * Generated from protobuf field int64 throttled_requests = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getThrottledRequests() + { + return $this->throttled_requests; + } + + /** + * Output only. The count of throttled requests for the bucket. + * + * Generated from protobuf field int64 throttled_requests = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setThrottledRequests($var) + { + GPBUtil::checkInt64($var); + $this->throttled_requests = $var; + + return $this; + } + + /** + * Output only. The percentage increase in throttled requests for the + * bucket. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return float + */ + public function getPercentageIncrease() + { + return $this->percentage_increase; + } + + /** + * Output only. The percentage increase in throttled requests for the + * bucket. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param float $var + * @return $this + */ + public function setPercentageIncrease($var) + { + GPBUtil::checkDouble($var); + $this->percentage_increase = $var; + + return $this; + } + + /** + * Output only. The details about the contribution of the bucket. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.Contribution contribution = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike\BucketContribution\Contribution|null + */ + public function getContribution() + { + return $this->readOneof(4); + } + + public function hasContribution() + { + return $this->hasOneof(4); + } + + /** + * Output only. The details about the contribution of the bucket. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.Contribution contribution = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike\BucketContribution\Contribution $var + * @return $this + */ + public function setContribution($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike\BucketContribution\Contribution::class); + $this->writeOneof(4, $var); + + return $this; + } + + /** + * Output only. The error related to accessing the details about the + * contribution of the bucket. + * + * Generated from protobuf field .google.rpc.Status error = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Rpc\Status|null + */ + public function getError() + { + return $this->readOneof(5); + } + + public function hasError() + { + return $this->hasOneof(5); + } + + /** + * Output only. The error related to accessing the details about the + * contribution of the bucket. + * + * Generated from protobuf field .google.rpc.Status error = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Rpc\Status $var + * @return $this + */ + public function setError($var) + { + GPBUtil::checkMessage($var, \Google\Rpc\Status::class); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * @return string + */ + public function getDetails() + { + return $this->whichOneof("details"); + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding/ThrottledRequestSpike/BucketContribution/Contribution.php b/StorageControl/src/V2/IntelligenceFinding/ThrottledRequestSpike/BucketContribution/Contribution.php new file mode 100644 index 000000000000..bcc955077a85 --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding/ThrottledRequestSpike/BucketContribution/Contribution.php @@ -0,0 +1,72 @@ +google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.Contribution + */ +class Contribution extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. A list of top object prefixes driving the increase in + * throttled requests. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.Contribution.PrefixContribution top_prefixes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $top_prefixes; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike\BucketContribution\Contribution\PrefixContribution[] $top_prefixes + * Output only. A list of top object prefixes driving the increase in + * throttled requests. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. A list of top object prefixes driving the increase in + * throttled requests. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.Contribution.PrefixContribution top_prefixes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField<\Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike\BucketContribution\Contribution\PrefixContribution> + */ + public function getTopPrefixes() + { + return $this->top_prefixes; + } + + /** + * Output only. A list of top object prefixes driving the increase in + * throttled requests. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.Contribution.PrefixContribution top_prefixes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike\BucketContribution\Contribution\PrefixContribution[] $var + * @return $this + */ + public function setTopPrefixes($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Storage\Control\V2\IntelligenceFinding\ThrottledRequestSpike\BucketContribution\Contribution\PrefixContribution::class); + $this->top_prefixes = $arr; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFinding/ThrottledRequestSpike/BucketContribution/Contribution/PrefixContribution.php b/StorageControl/src/V2/IntelligenceFinding/ThrottledRequestSpike/BucketContribution/Contribution/PrefixContribution.php new file mode 100644 index 000000000000..ca9457f418c1 --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFinding/ThrottledRequestSpike/BucketContribution/Contribution/PrefixContribution.php @@ -0,0 +1,143 @@ +google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.Contribution.PrefixContribution + */ +class PrefixContribution extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The object prefix. + * Format: `a/b/c`, 'a/b/d', etc. + * + * Generated from protobuf field string prefix = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $prefix = ''; + /** + * Output only. The count of throttled requests for the object prefix. + * + * Generated from protobuf field int64 throttled_requests = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $throttled_requests = 0; + /** + * Output only. The percentage increase in throttled requests for the + * object prefix. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $percentage_increase = 0.0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $prefix + * Output only. The object prefix. + * Format: `a/b/c`, 'a/b/d', etc. + * @type int|string $throttled_requests + * Output only. The count of throttled requests for the object prefix. + * @type float $percentage_increase + * Output only. The percentage increase in throttled requests for the + * object prefix. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The object prefix. + * Format: `a/b/c`, 'a/b/d', etc. + * + * Generated from protobuf field string prefix = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getPrefix() + { + return $this->prefix; + } + + /** + * Output only. The object prefix. + * Format: `a/b/c`, 'a/b/d', etc. + * + * Generated from protobuf field string prefix = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setPrefix($var) + { + GPBUtil::checkString($var, True); + $this->prefix = $var; + + return $this; + } + + /** + * Output only. The count of throttled requests for the object prefix. + * + * Generated from protobuf field int64 throttled_requests = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getThrottledRequests() + { + return $this->throttled_requests; + } + + /** + * Output only. The count of throttled requests for the object prefix. + * + * Generated from protobuf field int64 throttled_requests = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setThrottledRequests($var) + { + GPBUtil::checkInt64($var); + $this->throttled_requests = $var; + + return $this; + } + + /** + * Output only. The percentage increase in throttled requests for the + * object prefix. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return float + */ + public function getPercentageIncrease() + { + return $this->percentage_increase; + } + + /** + * Output only. The percentage increase in throttled requests for the + * object prefix. + * + * Generated from protobuf field double percentage_increase = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param float $var + * @return $this + */ + public function setPercentageIncrease($var) + { + GPBUtil::checkDouble($var); + $this->percentage_increase = $var; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/IntelligenceFindingRevision.php b/StorageControl/src/V2/IntelligenceFindingRevision.php new file mode 100644 index 000000000000..c2aab16b1cfb --- /dev/null +++ b/StorageControl/src/V2/IntelligenceFindingRevision.php @@ -0,0 +1,172 @@ +google.storage.control.v2.IntelligenceFindingRevision + */ +class IntelligenceFindingRevision extends \Google\Protobuf\Internal\Message +{ + /** + * Identifier. The resource name of `IntelligenceFindingRevision`. + * Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + */ + protected $name = ''; + /** + * Output only. The snapshot of the `IntelligenceFinding` at the time the + * revision was created. This field contains the full finding details as they + * existed for the revision. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding snapshot = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $snapshot = null; + /** + * Output only. The timestamp when the revision was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $create_time = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Identifier. The resource name of `IntelligenceFindingRevision`. + * Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}` + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding $snapshot + * Output only. The snapshot of the `IntelligenceFinding` at the time the + * revision was created. This field contains the full finding details as they + * existed for the revision. + * @type \Google\Protobuf\Timestamp $create_time + * Output only. The timestamp when the revision was created. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Identifier. The resource name of `IntelligenceFindingRevision`. + * Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Identifier. The resource name of `IntelligenceFindingRevision`. + * Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Output only. The snapshot of the `IntelligenceFinding` at the time the + * revision was created. This field contains the full finding details as they + * existed for the revision. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding snapshot = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Storage\Control\V2\IntelligenceFinding|null + */ + public function getSnapshot() + { + return $this->snapshot; + } + + public function hasSnapshot() + { + return isset($this->snapshot); + } + + public function clearSnapshot() + { + unset($this->snapshot); + } + + /** + * Output only. The snapshot of the `IntelligenceFinding` at the time the + * revision was created. This field contains the full finding details as they + * existed for the revision. + * + * Generated from protobuf field .google.storage.control.v2.IntelligenceFinding snapshot = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding $var + * @return $this + */ + public function setSnapshot($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Storage\Control\V2\IntelligenceFinding::class); + $this->snapshot = $var; + + return $this; + } + + /** + * Output only. The timestamp when the revision was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCreateTime() + { + return $this->create_time; + } + + public function hasCreateTime() + { + return isset($this->create_time); + } + + public function clearCreateTime() + { + unset($this->create_time); + } + + /** + * Output only. The timestamp when the revision was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCreateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->create_time = $var; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/ListIntelligenceFindingRevisionsRequest.php b/StorageControl/src/V2/ListIntelligenceFindingRevisionsRequest.php new file mode 100644 index 000000000000..46d060ee666c --- /dev/null +++ b/StorageControl/src/V2/ListIntelligenceFindingRevisionsRequest.php @@ -0,0 +1,181 @@ +google.storage.control.v2.ListIntelligenceFindingRevisionsRequest + */ +class ListIntelligenceFindingRevisionsRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The parent of the `IntelligenceFindingRevision` resource. + * ## Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Optional. The maximum number of `IntelligenceFindingRevision` resources to + * return. + * The maximum value is `100`; values above `100` will be coerced to `100`. + * The default value is `100`. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. A page token, received from a previous + * `ListIntelligenceFindingRevisions` call. Provide this to retrieve the + * subsequent page. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + + /** + * @param string $parent Required. The parent of the `IntelligenceFindingRevision` resource. + * ## Format: + * + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}` + * Please see {@see StorageControlClient::intelligenceFindingName()} for help formatting this field. + * + * @return \Google\Cloud\Storage\Control\V2\ListIntelligenceFindingRevisionsRequest + * + * @experimental + */ + public static function build(string $parent): self + { + return (new self()) + ->setParent($parent); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The parent of the `IntelligenceFindingRevision` resource. + * ## Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}` + * @type int $page_size + * Optional. The maximum number of `IntelligenceFindingRevision` resources to + * return. + * The maximum value is `100`; values above `100` will be coerced to `100`. + * The default value is `100`. + * @type string $page_token + * Optional. A page token, received from a previous + * `ListIntelligenceFindingRevisions` call. Provide this to retrieve the + * subsequent page. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Required. The parent of the `IntelligenceFindingRevision` resource. + * ## Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. The parent of the `IntelligenceFindingRevision` resource. + * ## Format: + * `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Optional. The maximum number of `IntelligenceFindingRevision` resources to + * return. + * The maximum value is `100`; values above `100` will be coerced to `100`. + * The default value is `100`. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. The maximum number of `IntelligenceFindingRevision` resources to + * return. + * The maximum value is `100`; values above `100` will be coerced to `100`. + * The default value is `100`. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. A page token, received from a previous + * `ListIntelligenceFindingRevisions` call. Provide this to retrieve the + * subsequent page. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. A page token, received from a previous + * `ListIntelligenceFindingRevisions` call. Provide this to retrieve the + * subsequent page. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/ListIntelligenceFindingRevisionsResponse.php b/StorageControl/src/V2/ListIntelligenceFindingRevisionsResponse.php new file mode 100644 index 000000000000..a4405f4afe74 --- /dev/null +++ b/StorageControl/src/V2/ListIntelligenceFindingRevisionsResponse.php @@ -0,0 +1,102 @@ +google.storage.control.v2.ListIntelligenceFindingRevisionsResponse + */ +class ListIntelligenceFindingRevisionsResponse extends \Google\Protobuf\Internal\Message +{ + /** + * The `IntelligenceFindingRevision` resources from the specified project. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFindingRevision intelligence_finding_revisions = 1; + */ + private $intelligence_finding_revisions; + /** + * A token that can be sent as `page_token` to retrieve the next page. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFindingRevision[] $intelligence_finding_revisions + * The `IntelligenceFindingRevision` resources from the specified project. + * @type string $next_page_token + * A token that can be sent as `page_token` to retrieve the next page. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * The `IntelligenceFindingRevision` resources from the specified project. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFindingRevision intelligence_finding_revisions = 1; + * @return RepeatedField<\Google\Cloud\Storage\Control\V2\IntelligenceFindingRevision> + */ + public function getIntelligenceFindingRevisions() + { + return $this->intelligence_finding_revisions; + } + + /** + * The `IntelligenceFindingRevision` resources from the specified project. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFindingRevision intelligence_finding_revisions = 1; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFindingRevision[] $var + * @return $this + */ + public function setIntelligenceFindingRevisions($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Storage\Control\V2\IntelligenceFindingRevision::class); + $this->intelligence_finding_revisions = $arr; + + return $this; + } + + /** + * A token that can be sent as `page_token` to retrieve the next page. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token that can be sent as `page_token` to retrieve the next page. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/ListIntelligenceFindingsRequest.php b/StorageControl/src/V2/ListIntelligenceFindingsRequest.php new file mode 100644 index 000000000000..09e43da2db45 --- /dev/null +++ b/StorageControl/src/V2/ListIntelligenceFindingsRequest.php @@ -0,0 +1,218 @@ +google.storage.control.v2.ListIntelligenceFindingsRequest + */ +class ListIntelligenceFindingsRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The parent of the `IntelligenceFinding` resource. + * Format: `projects/{project}/locations/{location}` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Optional. The filter expression to be applied. + * Supports filtering by `type` and `associated_resources`. + * + * Generated from protobuf field string filter = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $filter = ''; + /** + * Optional. The maximum number of `IntelligenceFinding` resources to return. + * The maximum value is `100`; values above `100` will be coerced to `100`. + * The default value is `100`. + * + * Generated from protobuf field int32 page_size = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. A page token, received from a previous `ListIntelligenceFindings` + * call. Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `ListIntelligenceFindings` must match the call that provided the page + * token. + * + * Generated from protobuf field string page_token = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + + /** + * @param string $parent Required. The parent of the `IntelligenceFinding` resource. + * + * Format: `projects/{project}/locations/{location}` + * Please see {@see StorageControlClient::locationName()} for help formatting this field. + * + * @return \Google\Cloud\Storage\Control\V2\ListIntelligenceFindingsRequest + * + * @experimental + */ + public static function build(string $parent): self + { + return (new self()) + ->setParent($parent); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The parent of the `IntelligenceFinding` resource. + * Format: `projects/{project}/locations/{location}` + * @type string $filter + * Optional. The filter expression to be applied. + * Supports filtering by `type` and `associated_resources`. + * @type int $page_size + * Optional. The maximum number of `IntelligenceFinding` resources to return. + * The maximum value is `100`; values above `100` will be coerced to `100`. + * The default value is `100`. + * @type string $page_token + * Optional. A page token, received from a previous `ListIntelligenceFindings` + * call. Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `ListIntelligenceFindings` must match the call that provided the page + * token. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Required. The parent of the `IntelligenceFinding` resource. + * Format: `projects/{project}/locations/{location}` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. The parent of the `IntelligenceFinding` resource. + * Format: `projects/{project}/locations/{location}` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Optional. The filter expression to be applied. + * Supports filtering by `type` and `associated_resources`. + * + * Generated from protobuf field string filter = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getFilter() + { + return $this->filter; + } + + /** + * Optional. The filter expression to be applied. + * Supports filtering by `type` and `associated_resources`. + * + * Generated from protobuf field string filter = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setFilter($var) + { + GPBUtil::checkString($var, True); + $this->filter = $var; + + return $this; + } + + /** + * Optional. The maximum number of `IntelligenceFinding` resources to return. + * The maximum value is `100`; values above `100` will be coerced to `100`. + * The default value is `100`. + * + * Generated from protobuf field int32 page_size = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. The maximum number of `IntelligenceFinding` resources to return. + * The maximum value is `100`; values above `100` will be coerced to `100`. + * The default value is `100`. + * + * Generated from protobuf field int32 page_size = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. A page token, received from a previous `ListIntelligenceFindings` + * call. Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `ListIntelligenceFindings` must match the call that provided the page + * token. + * + * Generated from protobuf field string page_token = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. A page token, received from a previous `ListIntelligenceFindings` + * call. Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `ListIntelligenceFindings` must match the call that provided the page + * token. + * + * Generated from protobuf field string page_token = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/ListIntelligenceFindingsResponse.php b/StorageControl/src/V2/ListIntelligenceFindingsResponse.php new file mode 100644 index 000000000000..b429795edbc4 --- /dev/null +++ b/StorageControl/src/V2/ListIntelligenceFindingsResponse.php @@ -0,0 +1,106 @@ +google.storage.control.v2.ListIntelligenceFindingsResponse + */ +class ListIntelligenceFindingsResponse extends \Google\Protobuf\Internal\Message +{ + /** + * The `IntelligenceFinding` resources from the specified project. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding intelligence_findings = 1; + */ + private $intelligence_findings; + /** + * A token to retrieve the next page of results. + * Pass this value in the `page_token` field in the subsequent call. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding[] $intelligence_findings + * The `IntelligenceFinding` resources from the specified project. + * @type string $next_page_token + * A token to retrieve the next page of results. + * Pass this value in the `page_token` field in the subsequent call. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * The `IntelligenceFinding` resources from the specified project. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding intelligence_findings = 1; + * @return RepeatedField<\Google\Cloud\Storage\Control\V2\IntelligenceFinding> + */ + public function getIntelligenceFindings() + { + return $this->intelligence_findings; + } + + /** + * The `IntelligenceFinding` resources from the specified project. + * + * Generated from protobuf field repeated .google.storage.control.v2.IntelligenceFinding intelligence_findings = 1; + * @param \Google\Cloud\Storage\Control\V2\IntelligenceFinding[] $var + * @return $this + */ + public function setIntelligenceFindings($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Storage\Control\V2\IntelligenceFinding::class); + $this->intelligence_findings = $arr; + + return $this; + } + + /** + * A token to retrieve the next page of results. + * Pass this value in the `page_token` field in the subsequent call. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token to retrieve the next page of results. + * Pass this value in the `page_token` field in the subsequent call. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/SummarizeIntelligenceFindingsRequest.php b/StorageControl/src/V2/SummarizeIntelligenceFindingsRequest.php new file mode 100644 index 000000000000..7b670ac9a5dc --- /dev/null +++ b/StorageControl/src/V2/SummarizeIntelligenceFindingsRequest.php @@ -0,0 +1,301 @@ +google.storage.control.v2.SummarizeIntelligenceFindingsRequest + */ +class SummarizeIntelligenceFindingsRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The scope to summarize the findings for. + * Format: + * - `organizations/{organization}/locations/{location}` + * - `folders/{folder}/locations/{location}` + * - `projects/{project}/locations/{location}` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $parent = ''; + /** + * Optional. Determines the granularity of the findings + * when the `parent` is an organization or folder. + * - `PARENT` (or not set): A single summary is + * returned for each insight type, aggregated across the entire `parent` + * scope. + * - `PROJECT`: A separate summary is returned for each + * insight type for every project within the `parent` scope. + * The only supported values are `PARENT` and `PROJECT`. + * If no value is specified, the API behaviour defaults to the `PARENT`. + * + * Generated from protobuf field .google.storage.control.v2.SummarizeIntelligenceFindingsRequest.ResourceScope resource_scope = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $resource_scope = 0; + /** + * Optional. The filter expression, following AIP-160. + * Supports filtering by FindingType. + * + * Generated from protobuf field string filter = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $filter = ''; + /** + * Optional. The maximum number of findings to return. + * The maximum value is `100`; values above `100` will be coerced to `100`. + * The default value is `100`. + * + * Generated from protobuf field int32 page_size = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. A page token, received from a previous + * `SummarizeIntelligenceFindings` call. Provide this to retrieve the + * subsequent page. + * When paginating, all other parameters provided to + * `SummarizeIntelligenceFindings` must match the call that provided the page + * token. + * + * Generated from protobuf field string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + + /** + * @param string $parent Required. The scope to summarize the findings for. + * Format: + * - `organizations/{organization}/locations/{location}` + * - `folders/{folder}/locations/{location}` + * - `projects/{project}/locations/{location}` + * + * @return \Google\Cloud\Storage\Control\V2\SummarizeIntelligenceFindingsRequest + * + * @experimental + */ + public static function build(string $parent): self + { + return (new self()) + ->setParent($parent); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The scope to summarize the findings for. + * Format: + * - `organizations/{organization}/locations/{location}` + * - `folders/{folder}/locations/{location}` + * - `projects/{project}/locations/{location}` + * @type int $resource_scope + * Optional. Determines the granularity of the findings + * when the `parent` is an organization or folder. + * - `PARENT` (or not set): A single summary is + * returned for each insight type, aggregated across the entire `parent` + * scope. + * - `PROJECT`: A separate summary is returned for each + * insight type for every project within the `parent` scope. + * The only supported values are `PARENT` and `PROJECT`. + * If no value is specified, the API behaviour defaults to the `PARENT`. + * @type string $filter + * Optional. The filter expression, following AIP-160. + * Supports filtering by FindingType. + * @type int $page_size + * Optional. The maximum number of findings to return. + * The maximum value is `100`; values above `100` will be coerced to `100`. + * The default value is `100`. + * @type string $page_token + * Optional. A page token, received from a previous + * `SummarizeIntelligenceFindings` call. Provide this to retrieve the + * subsequent page. + * When paginating, all other parameters provided to + * `SummarizeIntelligenceFindings` must match the call that provided the page + * token. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * Required. The scope to summarize the findings for. + * Format: + * - `organizations/{organization}/locations/{location}` + * - `folders/{folder}/locations/{location}` + * - `projects/{project}/locations/{location}` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. The scope to summarize the findings for. + * Format: + * - `organizations/{organization}/locations/{location}` + * - `folders/{folder}/locations/{location}` + * - `projects/{project}/locations/{location}` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Optional. Determines the granularity of the findings + * when the `parent` is an organization or folder. + * - `PARENT` (or not set): A single summary is + * returned for each insight type, aggregated across the entire `parent` + * scope. + * - `PROJECT`: A separate summary is returned for each + * insight type for every project within the `parent` scope. + * The only supported values are `PARENT` and `PROJECT`. + * If no value is specified, the API behaviour defaults to the `PARENT`. + * + * Generated from protobuf field .google.storage.control.v2.SummarizeIntelligenceFindingsRequest.ResourceScope resource_scope = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getResourceScope() + { + return $this->resource_scope; + } + + /** + * Optional. Determines the granularity of the findings + * when the `parent` is an organization or folder. + * - `PARENT` (or not set): A single summary is + * returned for each insight type, aggregated across the entire `parent` + * scope. + * - `PROJECT`: A separate summary is returned for each + * insight type for every project within the `parent` scope. + * The only supported values are `PARENT` and `PROJECT`. + * If no value is specified, the API behaviour defaults to the `PARENT`. + * + * Generated from protobuf field .google.storage.control.v2.SummarizeIntelligenceFindingsRequest.ResourceScope resource_scope = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setResourceScope($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Storage\Control\V2\SummarizeIntelligenceFindingsRequest\ResourceScope::class); + $this->resource_scope = $var; + + return $this; + } + + /** + * Optional. The filter expression, following AIP-160. + * Supports filtering by FindingType. + * + * Generated from protobuf field string filter = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getFilter() + { + return $this->filter; + } + + /** + * Optional. The filter expression, following AIP-160. + * Supports filtering by FindingType. + * + * Generated from protobuf field string filter = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setFilter($var) + { + GPBUtil::checkString($var, True); + $this->filter = $var; + + return $this; + } + + /** + * Optional. The maximum number of findings to return. + * The maximum value is `100`; values above `100` will be coerced to `100`. + * The default value is `100`. + * + * Generated from protobuf field int32 page_size = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. The maximum number of findings to return. + * The maximum value is `100`; values above `100` will be coerced to `100`. + * The default value is `100`. + * + * Generated from protobuf field int32 page_size = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. A page token, received from a previous + * `SummarizeIntelligenceFindings` call. Provide this to retrieve the + * subsequent page. + * When paginating, all other parameters provided to + * `SummarizeIntelligenceFindings` must match the call that provided the page + * token. + * + * Generated from protobuf field string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. A page token, received from a previous + * `SummarizeIntelligenceFindings` call. Provide this to retrieve the + * subsequent page. + * When paginating, all other parameters provided to + * `SummarizeIntelligenceFindings` must match the call that provided the page + * token. + * + * Generated from protobuf field string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/SummarizeIntelligenceFindingsRequest/ResourceScope.php b/StorageControl/src/V2/SummarizeIntelligenceFindingsRequest/ResourceScope.php new file mode 100644 index 000000000000..e3b93d42af34 --- /dev/null +++ b/StorageControl/src/V2/SummarizeIntelligenceFindingsRequest/ResourceScope.php @@ -0,0 +1,61 @@ +google.storage.control.v2.SummarizeIntelligenceFindingsRequest.ResourceScope + */ +class ResourceScope +{ + /** + * The default behavior. Falls back to PARENT behaviour + * + * Generated from protobuf enum RESOURCE_SCOPE_UNSPECIFIED = 0; + */ + const RESOURCE_SCOPE_UNSPECIFIED = 0; + /** + * Summaries are aggregated at the level of the `parent` resource. + * + * Generated from protobuf enum PARENT = 1; + */ + const PARENT = 1; + /** + * Summaries are broken down by each project within the `parent` scope. + * + * Generated from protobuf enum PROJECT = 2; + */ + const PROJECT = 2; + + private static $valueToName = [ + self::RESOURCE_SCOPE_UNSPECIFIED => 'RESOURCE_SCOPE_UNSPECIFIED', + self::PARENT => 'PARENT', + self::PROJECT => 'PROJECT', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/StorageControl/src/V2/SummarizeIntelligenceFindingsResponse.php b/StorageControl/src/V2/SummarizeIntelligenceFindingsResponse.php new file mode 100644 index 000000000000..8a4680a28d1b --- /dev/null +++ b/StorageControl/src/V2/SummarizeIntelligenceFindingsResponse.php @@ -0,0 +1,110 @@ +google.storage.control.v2.SummarizeIntelligenceFindingsResponse + */ +class SummarizeIntelligenceFindingsResponse extends \Google\Protobuf\Internal\Message +{ + /** + * The list of `FindingSummary` summaries. + * + * Generated from protobuf field repeated .google.storage.control.v2.FindingSummary finding_summaries = 1; + */ + private $finding_summaries; + /** + * A token to retrieve the next page of results. + * Pass this value in the `page_token` field in the subsequent call to + * `SummarizeIntelligenceFindings` to retrieve the next page of results. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Storage\Control\V2\FindingSummary[] $finding_summaries + * The list of `FindingSummary` summaries. + * @type string $next_page_token + * A token to retrieve the next page of results. + * Pass this value in the `page_token` field in the subsequent call to + * `SummarizeIntelligenceFindings` to retrieve the next page of results. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce(); + parent::__construct($data); + } + + /** + * The list of `FindingSummary` summaries. + * + * Generated from protobuf field repeated .google.storage.control.v2.FindingSummary finding_summaries = 1; + * @return RepeatedField<\Google\Cloud\Storage\Control\V2\FindingSummary> + */ + public function getFindingSummaries() + { + return $this->finding_summaries; + } + + /** + * The list of `FindingSummary` summaries. + * + * Generated from protobuf field repeated .google.storage.control.v2.FindingSummary finding_summaries = 1; + * @param \Google\Cloud\Storage\Control\V2\FindingSummary[] $var + * @return $this + */ + public function setFindingSummaries($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Storage\Control\V2\FindingSummary::class); + $this->finding_summaries = $arr; + + return $this; + } + + /** + * A token to retrieve the next page of results. + * Pass this value in the `page_token` field in the subsequent call to + * `SummarizeIntelligenceFindings` to retrieve the next page of results. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token to retrieve the next page of results. + * Pass this value in the `page_token` field in the subsequent call to + * `SummarizeIntelligenceFindings` to retrieve the next page of results. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + +} + diff --git a/StorageControl/src/V2/gapic_metadata.json b/StorageControl/src/V2/gapic_metadata.json index 86b444f90e16..356973e231f7 100644 --- a/StorageControl/src/V2/gapic_metadata.json +++ b/StorageControl/src/V2/gapic_metadata.json @@ -65,6 +65,16 @@ "getIamPolicy" ] }, + "GetIntelligenceFinding": { + "methods": [ + "getIntelligenceFinding" + ] + }, + "GetIntelligenceFindingRevision": { + "methods": [ + "getIntelligenceFindingRevision" + ] + }, "GetManagedFolder": { "methods": [ "getManagedFolder" @@ -95,6 +105,16 @@ "listFolders" ] }, + "ListIntelligenceFindingRevisions": { + "methods": [ + "listIntelligenceFindingRevisions" + ] + }, + "ListIntelligenceFindings": { + "methods": [ + "listIntelligenceFindings" + ] + }, "ListManagedFolders": { "methods": [ "listManagedFolders" @@ -120,6 +140,11 @@ "setIamPolicy" ] }, + "SummarizeIntelligenceFindings": { + "methods": [ + "summarizeIntelligenceFindings" + ] + }, "TestIamPermissions": { "methods": [ "testIamPermissions" diff --git a/StorageControl/src/V2/resources/storage_control_client_config.json b/StorageControl/src/V2/resources/storage_control_client_config.json index 93b69f4f75bf..48fba696916d 100644 --- a/StorageControl/src/V2/resources/storage_control_client_config.json +++ b/StorageControl/src/V2/resources/storage_control_client_config.json @@ -97,6 +97,16 @@ "retry_codes_name": "no_retry_1_codes", "retry_params_name": "no_retry_1_params" }, + "GetIntelligenceFinding": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "GetIntelligenceFindingRevision": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, "GetManagedFolder": { "timeout_millis": 60000, "retry_codes_name": "retry_policy_1_codes", @@ -127,6 +137,16 @@ "retry_codes_name": "retry_policy_1_codes", "retry_params_name": "retry_policy_1_params" }, + "ListIntelligenceFindingRevisions": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "ListIntelligenceFindings": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, "ListManagedFolders": { "timeout_millis": 60000, "retry_codes_name": "retry_policy_1_codes", @@ -152,6 +172,11 @@ "retry_codes_name": "no_retry_1_codes", "retry_params_name": "no_retry_1_params" }, + "SummarizeIntelligenceFindings": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, "TestIamPermissions": { "timeout_millis": 60000, "retry_codes_name": "no_retry_1_codes", diff --git a/StorageControl/src/V2/resources/storage_control_descriptor_config.php b/StorageControl/src/V2/resources/storage_control_descriptor_config.php index 68d8f4d8702d..ab0db6c210d8 100644 --- a/StorageControl/src/V2/resources/storage_control_descriptor_config.php +++ b/StorageControl/src/V2/resources/storage_control_descriptor_config.php @@ -268,6 +268,30 @@ ], ], ], + 'GetIntelligenceFinding' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Storage\Control\V2\IntelligenceFinding', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'GetIntelligenceFindingRevision' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Storage\Control\V2\IntelligenceFindingRevision', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], 'GetManagedFolder' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Cloud\Storage\Control\V2\ManagedFolder', @@ -371,6 +395,46 @@ ], ], ], + 'ListIntelligenceFindingRevisions' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getIntelligenceFindingRevisions', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Storage\Control\V2\ListIntelligenceFindingRevisionsResponse', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], + 'ListIntelligenceFindings' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getIntelligenceFindings', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Storage\Control\V2\ListIntelligenceFindingsResponse', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], 'ListManagedFolders' => [ 'pageStreaming' => [ 'requestPageTokenGetMethod' => 'getPageToken', @@ -445,6 +509,26 @@ ], ], ], + 'SummarizeIntelligenceFindings' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getFindingSummaries', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Storage\Control\V2\SummarizeIntelligenceFindingsResponse', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], 'TestIamPermissions' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Cloud\Iam\V1\TestIamPermissionsResponse', @@ -506,6 +590,9 @@ 'folder' => 'projects/{project}/buckets/{bucket}/folders/{folder=**}', 'folderLocationIntelligenceConfig' => 'folders/{folder}/locations/{location}/intelligenceConfig', 'intelligenceConfig' => 'folders/{folder}/locations/{location}/intelligenceConfig', + 'intelligenceFinding' => 'projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}', + 'intelligenceFindingRevision' => 'projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}', + 'location' => 'projects/{project}/locations/{location}', 'managedFolder' => 'projects/{project}/buckets/{bucket}/managedFolders/{managed_folder=**}', 'orgLocationIntelligenceConfig' => 'organizations/{org}/locations/{location}/intelligenceConfig', 'projectLocationIntelligenceConfig' => 'projects/{project}/locations/{location}/intelligenceConfig', diff --git a/StorageControl/src/V2/resources/storage_control_rest_client_config.php b/StorageControl/src/V2/resources/storage_control_rest_client_config.php index 1795c3b4f3c1..2fa484ed082d 100644 --- a/StorageControl/src/V2/resources/storage_control_rest_client_config.php +++ b/StorageControl/src/V2/resources/storage_control_rest_client_config.php @@ -34,6 +34,28 @@ ], ], ], + 'GetIntelligenceFinding' => [ + 'method' => 'get', + 'uriTemplate' => '/v2/{name=projects/*/locations/*/intelligenceFindings/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetIntelligenceFindingRevision' => [ + 'method' => 'get', + 'uriTemplate' => '/v2/{name=projects/*/locations/*/intelligenceFindings/*/revisions/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], 'GetOrganizationIntelligenceConfig' => [ 'method' => 'get', 'uriTemplate' => '/v2/{name=organizations/*/locations/*/intelligenceConfig}', @@ -56,6 +78,49 @@ ], ], ], + 'ListIntelligenceFindingRevisions' => [ + 'method' => 'get', + 'uriTemplate' => '/v2/{parent=projects/*/locations/*/intelligenceFindings/*}/revisions', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'ListIntelligenceFindings' => [ + 'method' => 'get', + 'uriTemplate' => '/v2/{parent=projects/*/locations/*}/intelligenceFindings', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'SummarizeIntelligenceFindings' => [ + 'method' => 'get', + 'uriTemplate' => '/v2/{parent=projects/*/locations/*}/intelligenceFindings:summarize', + 'additionalBindings' => [ + [ + 'method' => 'get', + 'uriTemplate' => '/v2/{parent=folders/*/locations/*}/intelligenceFindings:summarize', + ], + [ + 'method' => 'get', + 'uriTemplate' => '/v2/{parent=organizations/*/locations/*}/intelligenceFindings:summarize', + ], + ], + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], 'UpdateFolderIntelligenceConfig' => [ 'method' => 'patch', 'uriTemplate' => '/v2/{intelligence_config.name=folders/*/locations/*/intelligenceConfig}', diff --git a/StorageControl/tests/Unit/V2/Client/StorageControlClientTest.php b/StorageControl/tests/Unit/V2/Client/StorageControlClientTest.php index 6e6b375e8195..ef7a02a8e0a3 100644 --- a/StorageControl/tests/Unit/V2/Client/StorageControlClientTest.php +++ b/StorageControl/tests/Unit/V2/Client/StorageControlClientTest.php @@ -40,19 +40,28 @@ use Google\Cloud\Storage\Control\V2\DeleteFolderRequest; use Google\Cloud\Storage\Control\V2\DeleteManagedFolderRequest; use Google\Cloud\Storage\Control\V2\DisableAnywhereCacheRequest; +use Google\Cloud\Storage\Control\V2\FindingSummary; use Google\Cloud\Storage\Control\V2\Folder; use Google\Cloud\Storage\Control\V2\GetAnywhereCacheRequest; use Google\Cloud\Storage\Control\V2\GetFolderIntelligenceConfigRequest; use Google\Cloud\Storage\Control\V2\GetFolderRequest; +use Google\Cloud\Storage\Control\V2\GetIntelligenceFindingRequest; +use Google\Cloud\Storage\Control\V2\GetIntelligenceFindingRevisionRequest; use Google\Cloud\Storage\Control\V2\GetManagedFolderRequest; use Google\Cloud\Storage\Control\V2\GetOrganizationIntelligenceConfigRequest; use Google\Cloud\Storage\Control\V2\GetProjectIntelligenceConfigRequest; use Google\Cloud\Storage\Control\V2\GetStorageLayoutRequest; use Google\Cloud\Storage\Control\V2\IntelligenceConfig; +use Google\Cloud\Storage\Control\V2\IntelligenceFinding; +use Google\Cloud\Storage\Control\V2\IntelligenceFindingRevision; use Google\Cloud\Storage\Control\V2\ListAnywhereCachesRequest; use Google\Cloud\Storage\Control\V2\ListAnywhereCachesResponse; use Google\Cloud\Storage\Control\V2\ListFoldersRequest; use Google\Cloud\Storage\Control\V2\ListFoldersResponse; +use Google\Cloud\Storage\Control\V2\ListIntelligenceFindingRevisionsRequest; +use Google\Cloud\Storage\Control\V2\ListIntelligenceFindingRevisionsResponse; +use Google\Cloud\Storage\Control\V2\ListIntelligenceFindingsRequest; +use Google\Cloud\Storage\Control\V2\ListIntelligenceFindingsResponse; use Google\Cloud\Storage\Control\V2\ListManagedFoldersRequest; use Google\Cloud\Storage\Control\V2\ListManagedFoldersResponse; use Google\Cloud\Storage\Control\V2\ManagedFolder; @@ -60,6 +69,8 @@ use Google\Cloud\Storage\Control\V2\RenameFolderRequest; use Google\Cloud\Storage\Control\V2\ResumeAnywhereCacheRequest; use Google\Cloud\Storage\Control\V2\StorageLayout; +use Google\Cloud\Storage\Control\V2\SummarizeIntelligenceFindingsRequest; +use Google\Cloud\Storage\Control\V2\SummarizeIntelligenceFindingsResponse; use Google\Cloud\Storage\Control\V2\UpdateAnywhereCacheRequest; use Google\Cloud\Storage\Control\V2\UpdateFolderIntelligenceConfigRequest; use Google\Cloud\Storage\Control\V2\UpdateOrganizationIntelligenceConfigRequest; @@ -992,6 +1003,150 @@ public function getIamPolicyExceptionTest() $this->assertTrue($transport->isExhausted()); } + /** @test */ + public function getIntelligenceFindingTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $description = 'description-1724546052'; + $targetResource = 'targetResource-69552388'; + $expectedResponse = new IntelligenceFinding(); + $expectedResponse->setName($name2); + $expectedResponse->setDescription($description); + $expectedResponse->setTargetResource($targetResource); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->intelligenceFindingName('[PROJECT]', '[LOCATION]', '[INTELLIGENCE_FINDING]'); + $request = (new GetIntelligenceFindingRequest())->setName($formattedName); + $response = $gapicClient->getIntelligenceFinding($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.storage.control.v2.StorageControl/GetIntelligenceFinding', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getIntelligenceFindingExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->intelligenceFindingName('[PROJECT]', '[LOCATION]', '[INTELLIGENCE_FINDING]'); + $request = (new GetIntelligenceFindingRequest())->setName($formattedName); + try { + $gapicClient->getIntelligenceFinding($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getIntelligenceFindingRevisionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $expectedResponse = new IntelligenceFindingRevision(); + $expectedResponse->setName($name2); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->intelligenceFindingRevisionName( + '[PROJECT]', + '[LOCATION]', + '[INTELLIGENCE_FINDING]', + '[REVISION]' + ); + $request = (new GetIntelligenceFindingRevisionRequest())->setName($formattedName); + $response = $gapicClient->getIntelligenceFindingRevision($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.storage.control.v2.StorageControl/GetIntelligenceFindingRevision', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getIntelligenceFindingRevisionExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->intelligenceFindingRevisionName( + '[PROJECT]', + '[LOCATION]', + '[INTELLIGENCE_FINDING]', + '[REVISION]' + ); + $request = (new GetIntelligenceFindingRevisionRequest())->setName($formattedName); + try { + $gapicClient->getIntelligenceFindingRevision($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + /** @test */ public function getManagedFolderTest() { @@ -1403,6 +1558,151 @@ public function listFoldersExceptionTest() $this->assertTrue($transport->isExhausted()); } + /** @test */ + public function listIntelligenceFindingRevisionsTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $intelligenceFindingRevisionsElement = new IntelligenceFindingRevision(); + $intelligenceFindingRevisions = [$intelligenceFindingRevisionsElement]; + $expectedResponse = new ListIntelligenceFindingRevisionsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setIntelligenceFindingRevisions($intelligenceFindingRevisions); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->intelligenceFindingName('[PROJECT]', '[LOCATION]', '[INTELLIGENCE_FINDING]'); + $request = (new ListIntelligenceFindingRevisionsRequest())->setParent($formattedParent); + $response = $gapicClient->listIntelligenceFindingRevisions($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getIntelligenceFindingRevisions()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.storage.control.v2.StorageControl/ListIntelligenceFindingRevisions', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listIntelligenceFindingRevisionsExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->intelligenceFindingName('[PROJECT]', '[LOCATION]', '[INTELLIGENCE_FINDING]'); + $request = (new ListIntelligenceFindingRevisionsRequest())->setParent($formattedParent); + try { + $gapicClient->listIntelligenceFindingRevisions($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listIntelligenceFindingsTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $intelligenceFindingsElement = new IntelligenceFinding(); + $intelligenceFindings = [$intelligenceFindingsElement]; + $expectedResponse = new ListIntelligenceFindingsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setIntelligenceFindings($intelligenceFindings); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new ListIntelligenceFindingsRequest())->setParent($formattedParent); + $response = $gapicClient->listIntelligenceFindings($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getIntelligenceFindings()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.storage.control.v2.StorageControl/ListIntelligenceFindings', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listIntelligenceFindingsExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new ListIntelligenceFindingsRequest())->setParent($formattedParent); + try { + $gapicClient->listIntelligenceFindings($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + /** @test */ public function listManagedFoldersTest() { @@ -1821,6 +2121,77 @@ public function setIamPolicyExceptionTest() $this->assertTrue($transport->isExhausted()); } + /** @test */ + public function summarizeIntelligenceFindingsTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $findingSummariesElement = new FindingSummary(); + $findingSummaries = [$findingSummariesElement]; + $expectedResponse = new SummarizeIntelligenceFindingsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setFindingSummaries($findingSummaries); + $transport->addResponse($expectedResponse); + // Mock request + $parent = 'parent-995424086'; + $request = (new SummarizeIntelligenceFindingsRequest())->setParent($parent); + $response = $gapicClient->summarizeIntelligenceFindings($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getFindingSummaries()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.storage.control.v2.StorageControl/SummarizeIntelligenceFindings', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($parent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function summarizeIntelligenceFindingsExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $parent = 'parent-995424086'; + $request = (new SummarizeIntelligenceFindingsRequest())->setParent($parent); + try { + $gapicClient->summarizeIntelligenceFindings($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + /** @test */ public function testIamPermissionsTest() {