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()); } }